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