Запити 1С
як ілюстрація:
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
Остатки.Касса <> ЗНАЧЕНИЕ(Справочник.Кассы.ПустаяСсылка)
завдяки наявності Такий запит користувачі можуть перед міграцією знайти документи, які є собою в базі, але не впливають на обліковий облік.; {
КОГДА Документ.СуммаДокумента > 100000
Документ.Дата,
як ілюстрація, залишок по товару має змогу бути правильний загалом, але неправильний по серіях.; Остатки.КоличествоОстаток КАК Количество
ВЫБРАТЬ
Приклад:
Номенклатура.Родитель КАК Группа
Сортування
Інакше інформаційні дані різних юридичних осіб можуть змішатися.; Ознака
УПОРЯДОЧИТЬ ПО И Документ.Организация = &Организация Типові умови: Приклад звернення до віртуальної таблиці залишків: Цены.Номенклатура, РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков) КАК Остатки ВЫБРАТЬРеализация.Номер
У конкретній конфігурації назви табличних частин можуть відрізнятися.; # Завантажити тестово в [[K2 ERP]].; Документ.РеализацияТоваровУслуг КАК Реализация
ВЫБРАТЬ
ИЗ
<syntaxhighlight lang="sql">
Документ.РеализацияТоваровУслуг КАК Реализация
[[Категорія:Міграція з 1С]]
<syntaxhighlight lang="xml">
== Запит для актуальних цін номенклатури ==
Такі запити використовуються для:
== Як правильно працювати із запитами перед міграцією ==
Контрагенты.Наименование КАК Наименование
Під час міграції потрібно контролювати:
ГДЕ
ГДЕ
!; Це сприяє аудитувати міграцію.; | Так.; Різниця
!; Остатки.КоличествоОстаток,
000002;CHARGER-20W;Зарядний пристрій 20W;Зарядні пристрої;true
ГДЕ
== Запити і продуктивність ==
ПО Реализация.Контрагент = Контрагенты.Ссылка
Параметри дозволяють передавати значення в запит із коду.; SQL
Реализация.Ссылка КАК Документ,
ВЫБРАТЬ
ФизическиеЛица.ИНН <> ""
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
Контрагенты.Ссылка КАК НайденныйКонтрагент
ВЫБОР
Реализация.Контрагент;
Документ.Номер,
ВЫБРАТЬ
{| class="wikitable" style="width:100%;"
[[Категорія:JSON]]
'''Простими словами.''' Запит [[1С]] — це спосіб сказати системі: “дай мені ось ці інформаційні дані, з такими умовами, у такому вигляді”.; # інформаційні дані завантажуються в [[K2 ERP]].;
як ілюстрація, реалізація має рядки товарів.; як ілюстрація, знайти документи, у яких контрагент не знайдений або пошкоджений:
Товары.Номенклатура КАК Номенклатура,
* отримати свої інформаційні дані;
* проаналізувати якість даних;
* знайти дублікати;
* підготувати міграцію;
* сформувати залишки;
* вивантажити історію;
* перевірити контрольні суми;
* перейти на українську [[ERP]];
* зменшити залежність від [[1С]] і [[BAS]].;[[Категорія:K2 ERP]]
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
Запити використовуються в багатьох місцях:
РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &ДатаКонца) КАК ХозрасчетныйОбороты
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
ГДЕ
Реализация.Номер КАК Номер,
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
Запити допомагають знайти:
ИЗ
Реализация.Ссылка,
ИЗ
|-
| ТОВ “замовник”
| 120 000 грн
|-
| ТОВ “Ромашка”
| 80 000 грн
|}
ПО Товары.Ссылка = Реализация.Ссылка
Поширена помилка — брати всі документи без перевірки проведення.; Мова запитів [[1С]] схожа на [[SQL]], але має свої особливості.; ИЗ
Обороты.КоличествоПриход,
'''Головне.''' Запит [[1С]] — це інструмент для отримання потрібних даних із бази: вибрати товари, знайти непроведені документи, отримати залишки, згрупувати продажі та реалізація, перевірити дублікати, підготувати інформаційні дані для міграції або сформувати звіт.; Документ.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
Реализация.Контрагент КАК Контрагент,
- персональні інформаційні дані;
- зарплата;
- собівартість;
- закупівельні ціни;
- маржа;
- банківські реквізити;
- паспортні інформаційні дані;
- податкові інформаційні дані.; Реализация.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
ВЫБРАТЬ
- які товари є собою в довіднику;
- які документи проведені;
- які документи непроведені;
- які контрагенти мають дублікати;
- які товари мають залишки;
- які серії прострочені;
- які ціни актуальні;
- які каси мають залишки;
- які фізичні особи мають відкриті підзвітні суми;
- які документи треба перенести в K2 ERP;
- які інформаційні дані неякісні або неповні.; Запрос.Текст = ТекстЗапроса;
Вступ
- обмежувати період;
- вибирати тільки потрібні поля;
- не тягнути зайві табличні частини;
- використовувати параметри;
- робити попередні відбори;
- використовувати тимчасові таблиці;
- уникати запитів у циклі;
- перевіряти план виконання, якщо можливо;
- тестувати на копії бази;
- окремо перевіряти великі регістри.; Відповідь
Ризики:
- імпорту довідників;
- імпорту документів;
- імпорту залишків;
- імпорту цін;
- імпорту курсів валют;
- імпорту касових залишків;
- імпорту фізичних осіб;
- імпорту табеля;
- імпорту собівартості;
- контрольних звірок;
- BI-аналітики;
- архівування старої історії.; Окремі продукти 1С і BAS внесені до відкритих переліків програмного забезпечення, забороненого до використання для окремих категорій організацій.; Приклад пошуку дублів за ЄДРПОУ:
Запити 1С не є собою звичайним SQL у чистому вигляді.; | Це механізм отримання даних із довідників, документів, регістрів та інших об’єктів бази.; |-
| Чи можна через запити підготувати інформаційні дані для K2 ERP?; # Описати джерела даних у 1С.; # Контрольний запит звіряє кількість і суму.; ГДЕ
</syntaxhighlight> Запити і міграція з 1С</syntaxhighlight> Документ.РеализацияТоваровУслуг КАК Реализация Документ.Дата МЕЖДУ &ДатаНачала И &ДатаКонца |
; Найчастіші помилки:
Условие ВЫБРАТЬ НЕ Номенклатура.ПометкаУдаления Документ.РеализацияТоваровУслуг КАК Реализация СГРУППИРОВАТЬ ПО як ілюстрація, документ реалізації без табличної частини не дає повної картини: Документ.Проведен ВЫБРАТЬ Справочник.ФизическиеЛица КАК ФизическиеЛица ХозрасчетныйОбороты.СчетДт, Конструкція `ГДЕ` застосовують, коли потрібно для фільтрації.; Для міграції потрібно тестувати запити на реальному або близькому до реального обсязі даних.;[[Категорія:Автоматизація бізнесу]]
== Запит для пошуку дублікатів контрагентів ==
У [[1С]] майже всі інформаційні дані зберігаються в об’єктах:
Правильний порядок: Цены.Валюта <Номенклатура> } Якщо вибирати тільки заголовок документа, можна втратити рядки.; Обороты.Номенклатура, Погані підходи: Для складського обліку істотно не втратити деталізацію.; |- |
Що істотно враховувати в міграційних запитах?; Табель.Ссылка КАК Документ,
ГДЕ </syntaxhighlight> КОНЕЦ КАК Категория ГДЕ Що таке запит у 1СИЗ ИЗ
Документ.РеализацияТоваровУслуг КАК Документ КОЛИЧЕСТВО(ФизическиеЛица.Ссылка) КАК Количество У практиці переходу з 1С на K2 ERP запити мають особливе значення, з цієї причини що саме через них часто вивантажують довідники, документи, залишки, проводки, регістри, ціни, серії, курси валют, касові операції, податкові накладні, фізичних осіб, табелі та собівартість для подальшого аналізу, очищення і перенесення.; Запити застосовуються у звітах, обробках, друкованих формах, інтеграціях, міграціях, перевірках даних, пошуку помилок і побудові управлінської аналітики.;== Запит для пошуку непроведених документів == |
; # Артикули нормалізуються.; Реализация.Контрагент КАК Контрагент,
</syntaxhighlight> |
; Функція
Запити часто поєднують кілька таблиць.; * які товари продано;
ГДЕ Потрібно: </syntaxhighlight> ВЫБРАТЬ СУММА(Реализация.СуммаДокумента) КАК СуммаПродаж
Запит і SQL
Работники.Сотрудник КАК Сотрудник, {{SEO |
;
Помилка: не враховано проведення</syntaxhighlight> Реализация.Дата КАК Дата, Приклад: Товары.Количество ИЗ Запити до регістрів накопиченняБагато документів мають табличні частини.;<Артикул>USB-C-1M-BLK</Артикул> Приклад логіки: Реализация.Проведен </syntaxhighlight> ГДЕ Такий запит має змогу використовуватися для експорту товарів у K2 ERP.; Контрагент ИЗ Реализация.СуммаДокумента Остатки.СуммаОстаток Запит для табеля робочого часу</syntaxhighlight> И НЕ Реализация.ПометкаУдаления Запити можуть бути джерелом даних для формування XML.; Приклад CSV-структури для вивантаження номенклатури: Документи з поміткою видалення зазвичай не переносять без окремого рішення для бізнесу.;== З’єднання таблиць == Такий запит сприяє очистити довідники перед перенесенням у K2 ERP.; Реализация.Дата, ] У запитах можна використовувати агрегатні функції.; # Перевірити табличні частини.; | Вона має вибірки, умови, групування, з’єднання і сортування, але функціонує через об’єктну модель 1С.; Рядків у 1С Запити і права доступуПриклад: Приклад для отримання рядків табеля: як ілюстрація: Див.; додатковоПО Реализация.Контрагент = Контрагенты.Ссылка </syntaxhighlight> Приклад залежить від конфігурації, але загальна ідея така: <syntaxhighlight lang="sql">
И НЕ Контрагенты.ПометкаУдаления
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
<Код>000001</Код>
{
У запитах можна використовувати умовну логіку.; "products": [
Краще:
Документ.ТабельУчетаРабочегоВремени.Работники КАК Работники
[[Категорія:Довідники 1С]]
Тимчасові таблиці допомагають:
ВЫБРАТЬ
<syntaxhighlight lang="sql">
Документ.РеализацияТоваровУслуг КАК Документ Поле2, |
- | функціонує напряму з таблицями БД | Так | Не завжди, часто через метадані 1С |
|---|---|---|---|---|---|---|---|---|---|
| Знає об’єкти конфігурації | Ні | Так | |||||||
| має змогу звертатися до довідників і документів | Через фізичні таблиці | Через об’єктну модель 1С | |||||||
| Має специфічні віртуальні таблиці | Залежить від СУБД | Так, як ілюстрація залишки й обороти регістрів | |||||||
| застосовується в звітах і обробках | Так | Так |
Запити до регістрів бухгалтерії
ИЗ
- звітах;
- зовнішніх обробках;
- друкованих формах;
- інтеграціях;
- обмінах;
- регламентних завданнях;
- перевірках даних;
- міграційних обробках;
- пошуку дублікатів;
- контролі залишків;
- розрахунку аналітики;
- формуванні файлів XML, CSV, JSON;
- підготовці даних для BI.; |-
| Чим мова запитів 1С схожа на SQL?; ВЫБРАТЬ
Реализация.Дата КАК Дата,
== Запит для залишків каси ==
|-
| Номенклатура
| Кількість активних позицій
|-
| Контрагенти
| Кількість активних і архівних
|-
| Документи
| Кількість проведених за період
|-
| Залишки
| Кількість і сума
|-
| Собівартість
| Вартість залишків
|-
| Каса
| Залишки по касах
|-
| Валюта
| Курси й валютні залишки
|}
[[Категорія:Заміна BAS]]
!; Приклад вибірки проводок:
<syntaxhighlight lang="sql">
[[Категорія:Деколонізація обліку]]
Контрагенты.Ссылка КАК Контрагент,
НЕ Контрагенты.ПометкаУдаления
ИМЕЮЩИЕ
Работники.Часов КАК Часов
Остатки.Валюта,
ИЗ
ГДЕ
[[Категорія:Мова запитів 1С]]
ВЫБРАТЬ
РегистрСведений.КурсыВалют КАК Курсы
И НЕ Реализация.ПометкаУдаления
== Помилка: не враховано табличні частини ==
Обороты.складський облік,
Бухгалтерські інформаційні дані часто отримуються з регістрів бухгалтерії.; # інформаційні дані очищаються від дублів.; # Тестувати запити на копії бази.; Вони дозволяють отримувати довідники, документи, табличні частини, залишки, обороти, проводки, ціни, курси валют, касові операції, фізичних осіб, табелі, собівартість і контрольні показники.; ИЗ
'''[[K2 ERP]]''' у цьому процесі має змогу стати новою платформою для контрольованого обліку, якісних довідників, документів, інтеграцій, [[API]], [[BI]]-аналітики, прав доступу, логіювання і подальшого розвитку автоматизації бізнесу.; Реализация.Контрагент,
Документ.РеализацияТоваровУслуг КАК Реализация
Реализация.СуммаДокумента КАК Сумма
Реализация.Проведен
ИНАЧЕ "Звичайний документ"
|-
| Номенклатура
| Активні товари
| 12 500
| 12 500
| 0
|-
| Контрагенти
| Активні контрагенти
| 4 200
| 4 180
| 20 архівних не перенесено
|-
| Залишки
| Залишки на 01.06.2026
| 8 700
| 8 700
| 0
|-
| Ціни
| Актуальні ціни
| 25 000
| 25 000
| 0
|}
}
== Коротко ==
* запускати запити без розуміння структури бази;
* брати всі документи без фільтра проведення;
* не враховувати помітку видалення;
* не враховувати організацію;
* не вивантажувати табличні частини;
* не перевіряти дублікати;
* не робити контрольні звірки;
* вивантажувати персональні інформаційні дані без обмежень;
* запускати важкі запити на робочій базі в робочий час;
* не документувати міграційні запити;
* переносити результат запиту без перевірки бухгалтерією або власником процесу.;== Помилка: дублювання рядків ==
== Запит для собівартості залишків ==
'''Правильний підхід.''' Запити [[1С]] потрібно розглядати не як випадкові технічні вибірки, а як контрольований інструмент аналізу, очищення, експорту і звірки даних перед переходом у [[K2 ERP]].; # Додати фільтри по даті, організації, проведенню і статусу.; Під час переходу на [[K2 ERP]] запити потрібно використовувати уважно.; це механізм платформи [[1С]].; Запит має змогу:
Документ.РеализацияТоваровУслуг КАК Реализация
* ВЫБРАТЬ;
* ИЗ;
* ГДЕ;
* СГРУППИРОВАТЬ ПО;
* УПОРЯДОЧИТЬ ПО;
* ЛЕВОЕ СОЕДИНЕНИЕ;
* ВНУТРЕННЕЕ СОЕДИНЕНИЕ;
* ИТОГИ;
* ПОМЕСТИТЬ;
* ОБЪЕДИНИТЬ;
* ВЫБОР КОГДА;
* ЕСТЬ NULL;
* МЕЖДУ;
* В ИЕРАРХИИ.;== Вибірка з документа ==
[[Категорія:SQL]]
ПродажиПоКонтрагентамХоча синтаксис часто російськомовний, результат запиту має змогу використовуватися в українській локалізації, звітах, обробках або міграційних файлах.; # Вивантажити інформаційні дані у контрольований формат.; Запити 1С можуть бути корисним інструментом для виходу зі старої системи.;</syntaxhighlight> ВЫБРАТЬ
Підхід K2 ERP. Під час переходу з 1С запити потрібно використовувати для контрольованого отримання даних: довідників, документів, регістрів, залишків, оборотів, статусів, зв’язків, дублікатів, помилок і контрольних звірок перед завантаженням у K2 ERP.; інформаційні дані
Документ.Номер Документ.Контрагент
</syntaxhighlight>
ВЫБРАТЬ
Для сортування застосовується `УПОРЯДОЧИТЬ ПО`.; Що робить
Не кожен користувач системи має виконувати довільні запити.; Окремі продукти 1С і BAS внесені до переліків забороненого програмного забезпечення для окремих категорій організацій в Україні.; Для міграції це критично, бо непроведені документи можуть бути чернетками.; # Перевірити помічені на видалення записи.; Поле1,
ВЫБРАТЬ
Основна структура запиту
РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНачала, &ДатаКонца) КАК Обороты
Товары.Номенклатура,
000001;USB-C-1M-BLK;Кабель USB Type-C 1 м чорний;Кабелі;true
- номенклатуру;
- характеристику;
- серію;
- складський облік;
- партію;
- організацію;
- кількість;
- вартість.; істотно про 1С і BAS. 1С та частина продуктів BAS мають санкційні, юридичні й кібербезпекові ризики в Україні.; # Написати окремі запити для кожного набору даних.;
== Запити до оборотів ==
- хто запускав запит;
- коли запускав;
- який період;
- які параметри;
- скільки рядків отримано;
- у який файл вивантажено;
- чи були помилки;
- яка контрольна сума;
- хто завантажив інформаційні дані в K2 ERP.; СУММА(Реализация.СуммаДокумента) КАК СуммаПродаж
Внутрішнє з’єднання
Типові помилки запитів 1С
Документ.Ссылка,
Приклад: |- | СУММА | Підсумовує значення | СУММА(Сумма) |- | КОЛИЧЕСТВО | Рахує кількість записів | КОЛИЧЕСТВО(Ссылка) |- | МИНИМУМ | Знаходить мінімальне значення | МИНИМУМ(Дата) |- | МАКСИМУМ | Знаходить максимальне значення | МАКСИМУМ(Дата) |- | СРЕДНЕЕ | Рахує середнє значення | СРЕДНЕЕ(Цена) |}
ИЗ
Цей запит вибирає контрагентів, які не помічені на видалення.; Приклад за ІПН:
Контрагенты.Ссылка ЕСТЬ NULL
!; {| class="wikitable" style="width:100%;"
Поле3
Приклади контрольних звірок:
Обороти показують рухи за період.;
ИЗ
КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК Количество
!; ИЗ
- Запит вибирає активну номенклатуру.; # Порівняти результат із типовими звітами 1С.; Контрагенты.Код КАК Код,
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализация Номенклатура.Наименование КАК Наименование
Назви регістрів можуть відрізнятися в різних конфігураціях.; ПродажиПоКонтрагентам.СуммаПродаж > 100000
Краще:
Реализация.Ссылка,
ИЗ
Остатки.Касса,
Цей запит вибирає номенклатуру, артикул і найменування з довідника номенклатури.; Приклад
Товары.Сумма КАК Сумма
Контрагенты.КодПоЕДРПОУ КАК ЕДРПОУ,
Контрагенты.КодПоЕДРПОУ <> ""
ИМЕЮЩИЕ
Обороти потрібні для:
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦен) КАК Цены
ГДЕ
Запити для контрольних звірок
Умовний вираз ВЫБОР КОГДА
як ілюстрація, якщо документ має табличну частину “Товари” і “Послуги”, неправильне з’єднання має змогу розмножити рядки.; # Запит вибирає серії й характеристики.; Сума продажів
Остатки.Номенклатура КАК Номенклатура,
И Реализация.Проведен
ВЫБРАТЬ
{{DISPLAYTITLE:Запити 1С}}
== Запити і XML ==
Работники.ВидВремени КАК ВидВремени,
Реализация.СуммаДокумента
ВЫБРАТЬ
Остатки.КоличествоОстаток <> 0
Для міграції документів потрібно вивантажувати і заголовки, і табличні частини.; # Перевірити дублікати.; | Проведення, помітку видалення, період, організацію, табличні частини, регістри, характеристики, серії та контрольні звірки.; Приклад:
ИЗ
__TOC__
Товары.Цена КАК Цена,
Такий запит корисний для формування стартових залишків у [[K2 ERP]].; ВЫБРАТЬ
!; Остатки.Номенклатура,
[[Категорія:Обробки 1С]]
Реализация.Контрагент КАК Контрагент,
РегистрНакопления.ДенежныеСредства.Остатки(&ДатаОстатков) КАК Остатки
"name": "Кабель USB Type-C 1 м чорний"
ПО Работники.Ссылка = Табель.Ссылка
Реализация.Дата КАК Дата,
|-
| Що таке запити [[1С]]?; Реализация.Контрагент
<syntaxhighlight lang="sql">
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
"article": "USB-C-1M-BLK",
Реализация.Ссылка,
Документ.РеализацияТоваровУслуг КАК Реализация
<syntaxhighlight lang="sql">
Документ.Дата,
JSON зручний для [[API]], вебсервісів і інтеграцій.; Базові правила:
ВЫБРАТЬ
<syntaxhighlight lang="sql">
== Вибірка з довідника ==
Базова структура запиту:
Такий запит потрібен, якщо треба вивантажити не тільки заголовки документів, а й рядки товарів.; ИЗ
!; У [[K2 ERP]] результати запитів [[1С]] можуть використовуватися як джерело для:
<syntaxhighlight lang="sql">
== Ліве з’єднання ==
<syntaxhighlight lang="sql">
ГДЕ
</syntaxhighlight>
Вибірка з табличної частини документа
Запити є собою одним із головних інструментів під час міграції з 1С у K2 ERP.; * довідники;
- документи;
- табличні частини;
- залишки;
- обороти;
- проводки;
- ціни;
- курси валют;
- серії;
- характеристики;
- касові залишки;
- фізичних осіб;
- табелі;
- собівартість;
- статуси документів;
- помилки;
- дублікати;
- контрольні звіти.;== Групування ==
!; Запити часто використовуються для вивантаження довідників, документів, залишків, цін, курсів, каси, табеля і собівартості.; Номенклатура.Код КАК Код,
'''істотно.''' Запит, який добре функціонує на тестовій базі з 1 000 документів, має змогу зависати на робочій базі з мільйонами записів.; # Запит вибирає залишки на дату переходу.;== Запити для очищення даних ==
* вибрати поля;
* відфільтрувати записи;
* з’єднати кілька таблиць;
* згрупувати інформаційні дані;
* порахувати підсумки;
* відсортувати результат;
* використати параметри;
* створити тимчасову таблицю;
* отримати залишки або обороти регістрів;
* підготувати інформаційні дані для звіту або обробки.; Цены.Цена,
== Помилка: не враховано організацію ==
Тут використовуються параметри `&ДатаНачала` і `&ДатаКонца`.; Перед міграцією потрібно зрозуміти, що є собою в базі.; Документ.Номер
Реализация.Контрагент КАК Контрагент,
Курсы.Валюта,
== Зовнішні посилання ==
== Запити і експорт у файли ==
"code": "000001",
Документ.Дата,
<Назва>Кабель USB Type-C 1 м чорний</Назва>
Реализация.Номер КАК Номер,
Приклад контрольної таблиці:
ИЗ
Справочник.Номенклатура КАК Номенклатура
ФизическиеЛица.ИНН КАК ИНН,
`ЛЕВОЕ СОЕДИНЕНИЕ` повертає всі записи з лівої таблиці, навіть якщо у правій таблиці відповідника немає.;<syntaxhighlight lang="sql">
# Визначити, які інформаційні дані потрібні.; ВЫБРАТЬ
як ілюстрація, потрібно отримати документи реалізації і інформаційні дані контрагента.; Рядків у K2 ERP
КОЛИЧЕСТВО(Контрагенты.Ссылка) > 1
ПО Реализация.Ссылка = Товары.Ссылка
== Запит для пошуку дублікатів фізичних осіб ==
Документ.ПометкаУдаления
* розбити складну логіку;
* покращити читабельність;
* підготувати проміжні результати;
* оптимізувати великі вибірки;
* формувати міграційні набори даних.; Запити можуть відкривати доступ до чутливих даних.; Запрос = Новый Запрос;
Як оптимізувати запити
Документ.РеализацияТоваровУслуг КАК Реализация Остатки.СтоимостьОстаток И Документ.Дата >= &ДатаНачала
ГДЕ
Обороты.КоличествоРасход
Запити 1С — це один із найважливіших технічних інструментів роботи з даними старої системи.; Запит у 1С — це текстова інструкція мовою запитів 1С, яка описує, які інформаційні дані потрібно отримати з інформаційної бази.; Об’єкт Довідники — часте джерело даних.; ГДЕ
Вони дозволяють:
Параметри запиту
</syntaxhighlight>
Реализация.Проведен
|- | Номенклатура | Кількість активних товарів | Оцінити обсяг каталогу |- | Контрагенти | Дублі за ЄДРПОУ | Очистити довідник |- | Документи | Проведені й непроведені | Визначити правила перенесення |- | Залишки | Кількість і вартість | Підготувати стартові залишки |- | Ціни | Актуальні типи цін | Перенести прайси |- | Каса | Залишки по касах | Підготувати фінансовий старт |}
Остатки.складський облік,
Приклад міграційного сценарію через запити
- дублікати;
- порожні поля;
- неактуальні записи;
- помічені на видалення об’єкти;
- непроведені документи;
- документи без рядків;
- товари без артикулів;
- контрагентів без ЄДРПОУ;
- фізичних осіб без ІПН;
- ціни без валюти;
- курси з нульовим значенням;
- серії без терміну придатності;
- залишки з мінусовою кількістю.;
Документ.РеализацияТоваровУслуг КАК Реализация Приклад логіки: ИЗ == Де використовуються запити 1С == Курсы.Период МЕЖДУ &ДатаНачала И &ДатаКонца <div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> ВЫБРАТЬ <syntaxhighlight lang="sql"> ИЗ ГДЕ Табель.ПериодРегистрации КАК Период,
Приклад вибірки номенклатури:
Документ.РеализацияТоваровУслуг КАК Реализация
И Реализация.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
СГРУППИРОВАТЬ ПО
Перед міграцією фізичних осіб такі перевірки особливо важливі через персональні інформаційні дані.; Номенклатура.Ссылка КАК Номенклатура,
Тимчасові таблиці використовуються для складних запитів.; code;article;name;group;active
Мова запитів 1С
ГДЕ
Реализация.Ссылка КАК Документ,
Погано:
- дата документа;
- проведення;
- помітка видалення;
- організація;
- складський облік;
- контрагент;
- валюта;
- статус;
- сума;
- тип документа.; Запит 1С
Контрагенты.Наименование КАК НазваниеКонтрагента
ГДЕ
Запити і K2 ERP
== Запити і цифрова незалежність ==
Документи можна вибирати за датою, проведенням, контрагентом, організацією та іншими реквізитами.; ГДЕ
Такий запит має змогу використовуватися для перенесення актуальних цін у K2 ERP.; # Результат вивантажується в CSV.;
* перегляд закритої інформації;
* масове вивантаження даних;
* випадкове розкриття персональних даних;
* доступ до собівартості;
* доступ до зарплати;
* неконтрольований експорт.; ХозрасчетныйОбороты.СуммаОборот
СГРУППИРОВАТЬ ПО
Результат = Запрос.Выполнить();
З’єднання з кількома табличними частинами має змогу створити дублікати.; # Перевірити назви довідників, документів і регістрів.; # Запит вибирає ціни на дату переходу.; ПОМЕСТИТЬ ПродажиПоКонтрагентам
Перед міграцією істотно переносити не тільки курс, а й кратність.; |-
| Чи є собою санкційні ризики у [[1С]] і [[BAS]]?;</div>
Реализация.Дата КАК Дата,
ВЫБРАТЬ
Після вивантаження даних потрібно звіряти результати.; ИЗ
Це корисно для пошуку проблем.; # Зафіксувати запити і результати в протоколі міграції.; Навіщо
ИЗ
</Номенклатура>
Такий XML має змогу використовуватися для обміну з [[K2 ERP]], сайтом, WMS або іншою системою.;== Запити і безпека ==
== Запит для курсів валют ==
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
Найпоширеніші:
Вони працюють через платформу [[1С]], яка перетворює запит у запити до бази даних.; | Так.; ИЗ
ИЗ
Потім використати її далі:
Результати запитів часто вивантажуються у файли:
* довідниках;
* документах;
* регістрах;
* планах рахунків;
* планах видів характеристик;
* табличних частинах;
* константах;
* переліченнях;
* бухгалтерських регістрах;
* регістрах накопичення;
* регістрах відомостей.; Номенклатура.Наименование КАК Наименование,
У [[K2 ERP]] аналогічні інструменти запитів, звітів або API додатково мають бути обмежені правами доступу.; інформаційні дані
ВЫБРАТЬ
Номенклатура.Артикул КАК Артикул,
!; Документ.РеализацияТоваровУслуг.Товары КАК Товары
!; `ВНУТРЕННЕЕ СОЕДИНЕНИЕ` повертає тільки ті записи, які мають відповідність в обох таблицях.;
ИЗ
З урахуванням санкційних, юридичних і кібербезпекових ризиків 1С та BAS, використання запитів у старій системі має бути частиною ширшої стратегії контрольованого виходу з 1С, переходу на українське програмне забезпечення, цифрову незалежність і сучасну ERP-архітектуру.; Якщо собівартість ведеться в іншому регістрі, потрібен окремий запит або з’єднання кількох регістрів.;
Приклад:
Номенклатура.Ссылка КАК Ссылка, Номенклатура.Артикул КАК Артикул, Контрагенты.КодПоЕДРПОУ Курсы.Кратность КОЛИЧЕСТВО(ФизическиеЛица.Ссылка) > 1
Запити і JSON
з цієї причини в запитах на залишки потрібно враховувати: ИЗ
Реализация.Номер КАК Номер,
Табель.ПериодРегистрации = &Период
Щоб отримати ці інформаційні дані у потрібному вигляді, використовуються запити.;</Товар> !; Запит перевіряє
Цены.ТипЦен,
Запити для інвентаризації даних
Приклад продажів по контрагентах:
Документ.РеализацияТоваровУслуг КАК Документ
ГДЕ
ФизическиеЛица.ИНН
<Товар>
ВЫБРАТЬ
[[Категорія:Документи 1С]]
[[Категорія:Українське програмне забезпечення]]
ГДЕ
И НЕ Документ.ПометкаУдаления
Реализация.Номер КАК Номер,
Запит має змогу відповісти на практичні питання:
И НЕ ФизическиеЛица.ПометкаУдаления
Товары.Количество КАК Количество,
Реализация.Ссылка,
Погано написаний запит має змогу працювати дуже повільно.; з цієї причини використання запитів [[1С]] у проєктах міграції варто розглядати як інструмент виходу зі старої системи, а не як еволюція залежності від неї.; Параметри корисні для:
Простий приклад запиту:
</syntaxhighlight>
Умова ГДЕ
Приклад вибірки реалізацій:
Спочатку інформаційні дані можна помістити в тимчасову таблицю:
{| class="wikitable" style="width:100%;"
[[Категорія:Інтеграція з 1С]]
[[Категорія:Обмін даними]]
Реализация.Дата >= &ДатаНачала
Групування застосовується для підсумків.; Справочник.Номенклатура КАК Номенклатура
Приклад:
СГРУППИРОВАТЬ ПО
РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков) КАК Остатки
ХозрасчетныйОбороты.СчетКт,
Окремо варто відзначити який застосовується; додатково реалізовано відбору, об’єднання, групування, сортування й аналізу даних із довідників, документів, регістрів, планів рахунків, табличних частин і інших об’єктів інформаційної бази виступає ключовою рисою отримання забезпечується через '''Запити 1С'''.; Реализация.Проведен
ПродажиПоКонтрагентам.Контрагент,
Остатки.складський облік КАК складський облік,
</div>
У ній використовуються конструкції:
!; Це корисно для звітів і попередньої класифікації даних.;[[Категорія:CSV]]
* оборотно-сальдових звірок;
* міграції бухгалтерських залишків;
* перевірки собівартості;
* аналізу каси;
* перевірки валютних залишків;
* звірки фінансових результатів.;<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
[[Категорія:Експорт даних]]
У коді 1С параметри можуть задаватися так:
Для міграційних запитів бажано вести лог:
== Приклад контрольного протоколу ==
Погано:
ВЫБРАТЬ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК Товары
== Агрегатні функції ==
Через запити можна отримати:
</div>
</div>
Курсы.Период КАК Дата,
Приклад:
[[Категорія:Регістри 1С]]
ВЫБРАТЬ
як ілюстрація, отримати тільки реалізації з рядками товарів:
== Висновок ==
== Як не треба робити ==
!; Такі помилки особливо небезпечні при вивантаженні сум, бо підсумки можуть бути завищені.; Запит
{| class="wikitable" style="width:100%;"
<syntaxhighlight lang="sql">
Типовий сценарій:
{| class="wikitable" style="width:100%;"
Документ.СуммаДокумента,
[[Категорія:BI]]
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТабельУчетаРабочегоВремени КАК Табель
Причини:
<syntaxhighlight lang="sql">
!; Таблица КАК Псевдоним
як ілюстрація, залишки товарів можуть зберігатися в регістрі накопичення.; Що звіряти
* [[CSV]];
* [[XML]];
* [[JSON]];
* [[Microsoft Excel|Excel]];
* TXT;
* DBF;
* ZIP-архіви.; ГДЕ
ТОГДА "Великий документ"
ИЗ
[[Категорія:XML]]
ВЫБРАТЬ
ИЗ
Курсы.Курс,
Справочник.Контрагенты КАК Контрагенты
ПродажиПоКонтрагентам.СуммаПродажРегістри накопичення часто використовуються для залишків і оборотів.; Результат: Для сучасних інтеграцій результат запиту має змогу перетворюватися в JSON.; # Звірити кількість, суми, залишки й контрольні показники.; # Перевірити характеристики, серії, партії.; У багатофірмових базах обов’язково потрібно враховувати організацію.; |-
| Вивантажувати інформаційні дані без перевірки якості, зв’язків, дублів і відповідності типовим звітам.; |- | Яка головна помилка?; # Результат фіксується в протоколі міграції.;
ИЗ Помилка: не враховано характеристики і серіїНЕ Реализация.Проведен ВЫБРАТЬ
Запити і логіюванняКонтрагенты.Код КАК КодКонтрагента, Запит для пошуку документів з поміткою видалення |
; Справочник.Контрагенты КАК Контрагенты
Цифрова незалежність. Запити 1С у проєкті переходу — це інструмент вилучення, очищення і перевірки даних перед перенесенням у сучасну українську ERP-платформу.; И Реализация.Дата <= &ДатаКонца
Реализация.Контрагент КАК Контрагент </syntaxhighlight> ГДЕ |
|---|