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

02.02.26

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Подсистема выгрузки данных в SQL.cf + Видео-обзор.mp4
.zip 155,12Mb
32 6 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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. Тестирование выполнялось на релизе платформы 8.3.24.1738

 

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

 

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

Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    30308    42    49    

46

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

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

84000 руб.

05.10.2022    12882    14    8    

16

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

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (Базовая, ПРОФ, КОРП, ФРЕШ (тонкий клиент)).

17080 руб.

19.12.2016    53269    118    107    

82

Внешние источники данных Программист Бизнес-аналитик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Розница 3.0 Платные (руб)

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL, в шину данных с поддержкой REST API (CSV, JSON. SQL), в локальные файлы (CSV, JSON, XLS, XLSX) или в Google Sheets. Это дополнительная подключаемая обработка.

18000 руб.

21.08.2024    8019    21    4    

18

Внешние источники данных Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Быстро и легко. Выгрузка всех элементов и групп номенклатуры (с их иерархией), кроме помеченных на удаление. Без использования COM-объектов.

4880 руб.

16.08.2023    3665    7    8    

9

Внешние источники данных Мастера заполнения Бизнес-аналитик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 1С:Документооборот Россия Платные (руб)

Решение позволяет по ИНН производить проверку контрагентов, получая сведения: видов деятельности, данных ЕГРЮЛ, связанных организаций, отчетности, налогов, финансовый анализ, а также в один клик заполнить карточки справочников контрагентов/партнеров по ИНН в программе 1С по данным государственных реестров.

7499 руб.

12.08.2025    2896    9    20    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. der_mensch 09.03.23 11:36 Сейчас в теме
Интересная подсистема. Интересно, а как у вас организована работа с общими справочниками при выгрузке из нескольких баз, например, тот же справочник контрагентов может сильно пересекаться для разных баз, логично было бы объединить их.
2. linkov 298 10.03.23 16:03 Сейчас в теме
(1) Для контрагентов у нас настроен централизованный мэппинг, для проставки соответствия используется реквизит КодСинхронизации.
3. akela2014 7 30.03.23 06:29 Сейчас в теме
Про сервер SQL ничего не написано. Какой именно? Microsoft Mysql Postgres?
4. linkov 298 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-ой версии).
5. СнежныйБарс 29.09.23 15:24 Сейчас в теме
Добрый день, Приобрели вашу подсистему. Для регистров сведений, справочников она отлично отрабатывает. Спасибо большое. Непонятно как построить запрос для регистра накопления. Можно ли использовать виртуальную таблицу остатки, обороты, остатки и обороты? И как в таком случае будут регистрироваться изменения?
Для отправки сообщения требуется регистрация/авторизация