Подсистема выгрузки данных во внешнюю базу SQL

08.02.23

Интеграция - Внешние источники данных

Подсистема позволяет в пользовательском режиме настроить выгрузку произвольных данных во внешнюю базу SQL (другую базу данных - не ту, которая используется для ведения учета). Набор выгружаемых данных определяется с помощью стандартного конструктора запросов. На сервере SQL в базе данных автоматически создается таблица с необходимыми полями и соответствующими типами значений + первичный ключ. На узле плана обмена выполняется регистрация изменений объектов, указанных в тексте запроса, с последующей выгрузкой регламентным заданием. Идеально подходит для интеграции с платформой Power BI или Celonis.

Скачать файлы

Наименование Файл Версия Размер
Подсистема выгрузки данных в SQL.cf + Видео-обзор.mp4
.zip 155,12Mb
19
.zip 155,12Mb 19 Скачать

1. Цель

 

Изначально была поставлена следующая цель:

В результате выполненных доработок, пользователь (бизнес аналитик - специалист по платформе Power BI) должен иметь возможность самостоятельно добавить узел плана обмена и с помощью текста запроса определить состав выгружаемых данных. Должна быть возможность ручной регистрации всех объектов для первичной выгрузки. Последующая выгрузка должна выполняться только по измененным данным регламентным заданием.

 

2. Порядок работы с подсистемой в пользовательском режиме

 

1. Находясь в списке плана обмена, кнопкой "Создать", добавляем новый узел.

2. На закладке "Параметры" определяем параметры подключения к внешней базе данных SQL.

Указываем следующие параметры: Server, Database, Uid, Pwd.

Если на сервере SQL настроен доменный доступ для пользователя, под которым выполняется служба 1С, то параметры Uid и Pwd указывать не нужно.

 

 Закладка Параметры

 

3. На закладке "Текст запроса" нажимаем кнопку "Конструктор" и определяем выгружаемые данные.

После нажатия на кнопку "Ок" в основном окне должен отобразиться текст запроса.

 

Закладка Текст запроса

 

4. Переключаемся на закладку "Реквизиты". Здесь автоматически должны определиться поля из запроса с типами и первичным ключом для SQL.

Проверяем правильность определения полей первичного ключа:

  • Для справочников, документов, задач, бизнес-процессов - это всегда Ссылка.
  • Для регистров - первичный ключ, как правило, должен включать все измерения регистра + период (если регистр периодичный)
  • Для сложных запросов, собранных из нескольких таблиц, поля первичного ключа необходимо определить вручную, согласно требуемой логике.

 

Закладка Реквизиты

 

5. Переключаемся на закладку "Структура таблицы SQL".

Указываем имя таблицы (предварительно, имя таблицы и наименование узла определяются автоматически из запроса).

Нажимаем кнопку "Создать таблицу SQL".

В этот момент во внешней базе SQL будет создана необходимая таблица с требуемыми полями и в разделе Действия отобразится: "Действия не требуются".

 

Закладка Структура таблицы SQL

 

6. Переключаемся на закладку "Регистрируемые объекты".

Нажимаем кнопку "Зарегистрировать все объекты на узле". Это необходимо, чтобы выполнилась первичная выгрузка всех объектов. После чего, выгружаться будут только измененные объекты.

Примечание: кнопка "Зарегистрировать все объекты на узле" на картинке не видна - будет отображена после записи узла.

 

 

7. Переключаемся на закладку "Регламент".

Проверяем настройку расписания запуска регламентного задания.

 

Закладка Регламент

 

8. Переводим переключатель в положение "Включен" и нажимаем "Записать".

При этом, на закладке "Регламент", можно проконтролировать успешность запуска и завершения регламентного задания и потоков.

Примечание: Регистрация измененных объектов на узле выполняется даже с переключателем в положении Отключен.

Для отключения регистрации объектов на узле, необходимо пометить узел на удаление и выполнить завершение всех сеансов (параметры регистрации кэшируются на время сеанса).

 

3. Замечания по работе подсистемы

 

  • Реальный текст запроса с соединяемыми таблицами изменений, который будет исполняться в регламентном задании, можно увидеть по кнопке Ещё -> Текст запроса изменений.
  • Все ссылки выгружаются в SQL как уникальные идентификаторы.
  • Перечисления выгружаются как синонимы.
  • При изменении текста запроса, на закладке "Структура таблицы SQL" будет предложено "Обновить структуру таблицы SQL".
  • На закладке "Регламент" можно настроить количество потоков, в которых будет асинхронно выгружаться данные.
  • При указании Количество потоков = 0, будет запущена однопоточная выгрузка в классическом режиме с использованием конструкции ПланыОбмена.ВыбратьИзменения().
  • При указании Количество потоков >= 1, будет запущена выгрузка в одном или более потоках по следующей схеме: порция объектов, соответствующая настройке "Количество выгружаемых объектов в потоке" будет перерегистрирована на вспомогательные узлы(узел), подчиненный основному узлу. А после выполнения фонового задания, все объекты на соответствующем вспомогательном узле очищаются. В этом случае номера сообщений не используются, при перерегистрации объектов блокировка устанавливается построчно в отличии от метода ВыбратьИзменения(), при выполнении которого устанавливается блокировка на всю таблицу. Соответственно, данный режим подходит для высоконагруженных систем.
  • В большинстве случаев достаточно указывать Количество потоков = 1 (рекомендуется).
  • При указании в тексте запроса секции ИТОГИ ПО, будет поддерживаться целостность синхронизируемых данных в разрезе  соответствующих группировок. Это применимо при выгрузке табличных частей и пр.: в качестве группируемого поля в этом случае необходимо указать "Ссылка", а первичный ключ расширить на поле Номер строки и прочие предполагаемые измерения таблицы.

 

4. Опыт внедрения

Данная подсистема была внедрена в большинстве баз нашего холдинга. Успешно зарекомендовала себя в том числе на высоконагруженных базах. Существенно снизилось количество запросов в тех. поддержку от пользователей, связанных с организацией выгрузки данных во внешнюю базу SQL для платформы Power BI.

 

5. Инструкция по внедрению

 

  • Необходимо выполнить сравнение и объединение с вложенным файлом.cf
  • При объединении снять галочку со справочника ДополнительныеОтчетыИОбработки и регламентного задания ЗапускДополнительныхОбработок.
  • Общий модуль ДополнительныеОтчетыИОбработки обновить лучше вручную, необходимо перенести соответствующие четыре строки в начале процедуры ВыполнитьОбработкуПоРегламентномуЗаданию().
  • Для плана обмена "PowerBI" необходимо добавить в состав все следующие объекты: справочники, документы, задачи, бизнес-процессы, регистры сведений, регистры накопления, регистры бухгалтерии с отключенной авторегистрацией.
  • Для пользователей, допущенных к настройке узлов данного плана обмена, проставить роль "PowerBI".

Интеграция Выгрузка Экспорт SQL Power BI Celonis План обмена Узел.

См. также

Автоматическая многопоточная выгрузка данных 1С 8.3 в БД Clickhouse (для работы с данными 1С в BI-системах)

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматизированной выгрузки данных из 1С 8.3, а также MS Excel в базу данных ClickHouse для работы с данными 1С в Yandex Datalens, Visiology, Apache Superset (и не только) - "Экстрактор данных 1С в BI". Решение отлично работает со всеми типовыми (и не только) конфигурациями 1С 8.3 для управляемых форм. Gозволяет автоматизировать работу бизнес-аналитика по ежедневной выгрузке данных из 1С в БД ClickHouse для последующей работы с этой БД в Yandex Datalens/ Система полностью автоматизирует работу с хранилищем данных в БД Clickhouse. Не надо быть программистом, чтобы одной кнопкой получать любые данные из 1С в Yandex Datalens

160000 руб.

15.11.2022    9943    6    23    

18

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    8179    4    8    

7

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Логистика, склад и ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Внешняя обработка с открытым кодом.

9000 руб.

08.12.2011    79843    119    121    

139

Перенос данных из Парус 7.хх в ЗГУ ред.3

Внешние источники данных Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

24000 руб.

24.04.2017    46921    89    153    

82

Обмен с СУФД (Федеральным казначейством) для Бухгалтерии предприятия 3.0

Внешние источники данных Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Комплект обработок для обмена СУФД и Бухгалтерии 3.0. Содержит две обработки: для переноса платежных поручений из БП 3.0 в СУФД Федерального казначейства и загрузки выписок из СУФД в БП 3.0.

2400 руб.

30.03.2023    5512    14    2    

15

Импорт документов из розничной программы учета (ТрейдФарм, Манускрипт Солюшн, Е-Фарма и др.) в Бухгалтерию 3.0 с формированием книги учета доходов и расходов при УСН и бухгалтерского и налогового учета при ОСНО

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Налоговый учет Платные (руб)

Представлена обработка для импорта документов из розничной программы учета товара в торговых точках и аптеках, необходимых для ведения бухгалтерского и налогового учёта, в Бухгалтерию 3.0. При загрузке данных в бухгалтерию переносятся документы поступлений, реализации, возвратов и перемещений в торговых точках и формируются все бухгалтерские и налоговые отчеты с учетом этих документов для любой системы налогообложения. Обработка позволяет загрузить данные из ПО ТрейдФарм. Имеются варианты для других розничных программ (ПО Manuscript Solution, Е-Фарма и S-Market).

18000 руб.

09.04.2020    17317    10    8    

6

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

Обработка предназначена для загрузки файлов, выгруженных из системы Базис-мебельщик, в справочник "Спецификации" для последующих процессов учета и диспетчирования полуфабрикатов и изделий.

6000 руб.

24.06.2021    17685    45    41    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. der_mensch 09.03.23 11:36 Сейчас в теме
Интересная подсистема. Интересно, а как у вас организована работа с общими справочниками при выгрузке из нескольких баз, например, тот же справочник контрагентов может сильно пересекаться для разных баз, логично было бы объединить их.
2. linkov 290 10.03.23 16:03 Сейчас в теме
(1) Для контрагентов у нас настроен централизованный мэппинг, для проставки соответствия используется реквизит КодСинхронизации.
3. akela2014 6 30.03.23 06:29 Сейчас в теме
Про сервер SQL ничего не написано. Какой именно? Microsoft Mysql Postgres?
4. linkov 290 01.05.23 15:36 Сейчас в теме
(3)
Разрабатывалось под MS SQL (2014+)
Но можно настроить на любой, который поддерживает оператор MERGE.
Необходимо в коде изменить строку подключения на использование соответствующего драйвера.

Вики:
Оператор MERGE реализован в следующих системах управления базами данных Oracle Database, IBM Db2, Teradata, EXASOL, Firebird, CUBRID, H2, HSQLDB, MS SQL, MS Azure SQL, Vectorwise, Apache Derby и PostgreSQL (с 15-ой версии).
Оставьте свое сообщение