Z-Integrator: интеграция с 1С на уровне данных

19.07.19

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

Z-Integrator - это программный модуль для интеграции с прикладными решениями, разработанными на платформе 1С:Предприятие 8. При помощи этого модуля можно построить систему обмена данными практически любой сложности. Существует возможность расширять функциональность модуля своими решениями, разработанными на языке C#.

Скачать исходный код

Наименование Файл Версия Размер
Z-Integrator
.zip 1,89Mb
15
.zip 1.0 MSMQ 1,89Mb 15 Скачать
 
 Update: 19.07.2019

Проект трансформировался и теперь называется 1C#.
Репозиторий проекта: 1C# - платформа для разработки серверных приложений
Краткое описание идеи (видео на 3 минуты): 1C# in 3 minutes

 
Z - это программа, которая состоит из облочки (shell) и подключаемых к ней модулей. Z основана на Microsoft Prism 5.
Основная цель Z: увеличение производительности и расширение функциональных возможностей приложений, разработанных на платформе 1С:Предприятие 8. Эти цели достигаются за счёт тесной интеграции Z и 1С на уровне структур хранения данных, а также использования в полной мере возможностей Microsoft SQL Server и .NET Framework 4.5.
 
Подробнее программа описана в документации по проекту.
 
Актуальный список модулей:
 
1. Z-Metadata - базовый независимый модуль.
Позволяет работать с метаданными приложений, разработанных на платформе 1С:Предприятие 8, а так же любых других приложений, хранение данных которых реализовано при помощи Microsoft SQL Server. Содержание метаданных: описание модели предметной области приложения (domain model) и структур хранения данных объектов этой модели.
 
2. Z-Integrator - зависимый от Z-Metadata модуль.
Модуль решает следующие задачи:
- регистрация изменений данных объектов 1С:Предприятие 8 (SQL Server Change Tracking);
- публикация изменений в виде сообщений (Microsoft Message Queuing);
- управление подписками на сообщения;
- сериализация/десериализация сообщений;
- трансляция сообщений при несовпадении схем данных источника и получателя;
- загрузка сообщений в базу данных приёмника (подписчика);
- двусторонний обмен данными;
- разрешение коллизий по умолчанию.
 
3. Z-REST-API (модуль находится в разработке).
Конструктор REST API интерфейса для произвольной конфигурации 1С:Предприятие 8.
 
4. Z-Archivator (модуль находится в разработке).
Архивация данных 1С:Предприятие 8 (свёртка данных) средствами SQL Server.
 
5. Z-Updator (модуль находится в разработке).
Обновление структур данных 1С:Предприятие 8 (выполнение реструктуризации) средствами SQL Server. Модуль решает проблему обновления без потери пользовательских индексов, триггеров и т.п.
 
Возможна доработка программы под заказ.
 
Технологические особенности:

Технология SQL Server Change Tracking позволяет минимизировать нагрузку на систему при одновременном увеличении производительности операций регистрации изменений. Технология была специально разработана для использования в сценариях синхронизации и интеграции данных с учётом обеспечения макимально возможной производительности. Использование Change Tracking полностью исключает возникновение ожиданий на блокировках при одновременном выполнении операций записи и чтения изменений.

Расширяемость Z-Integrator позволяет создавать высоко производительные решения по интеграции с 1С:Предприятие 8 любого уровня сложности, используя всю мощь .NET Framework и SQL Server.

обмен данными change tracking интеграция конвертация данных очереди сообщений шина регистрация изменений

См. также

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

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

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

84000 руб.

19.08.2020    22589    19    1    

22

Экстрактор данных 1С в BI - выгрузка данных из 1С в BI-аналитику

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

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

15.11.2022    13568    12    SQV0    47    

28

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

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

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

60000 руб.

05.10.2022    9295    9    8    

11

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

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

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

24000 руб.

24.04.2017    48808    96    163    

86

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

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

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

24000 руб.

16.11.2018    30070    20    31    

21

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

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

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

7200 руб.

24.06.2021    19284    52    50    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 504 23.10.16 15:20 Сейчас в теме
Очень интересно решение для однотипных баз. Жаль требования 1С к свой лицензионной политике не разрешает такие вещи, что, конечно, не справедливо, когда у организации куплено такое ПО как MS SQL Server. Интересно, а как решаются коллизии данных? по тем же правилам, что и в 1С? В описании ничего такого не нашел, получается нельзя построить по правилу, когда подразделение меняется что-то в своих документах, то это в приоритете?
+
2. zhichkin 1455 23.10.16 16:10 Сейчас в теме
(1) ifal,
Реализована следующая стратегия разрешения коллизий:

1. Всегда применяется правило "кто последний, тот и выиграл". То есть, если в базу приёмник приходит сообщение обновления, то версия записи в приёмнике не анализируется, она просто перезаписывается. Таким образом считается, что источник всегда последний и он всегда прав. Какой из узлов обмена А или В в данный момент является источником или приёмником определяется по направлению движения для конкретного сообщения обмена, которое обрабатывается в данный момент времени. Если сообщение движется из А в В, то А - это источник, а В - приёмник и, соответственно, наоборот.

2. Если из источника в приёмник приходит сообщение вставки новой записи (insert), а в приёмнике запись с такими ключевыми полями уже есть, то источник снова считается последним и, соответственно, победителем в разрешении коллизии - insert превращается в update. Такая ситуация может возникнуть, например, тогда, когда в приёмнике завели цену в регистр сведений "Цены номенклатуры", а в источнике тоже завели по тем же ключевым значениям (новым в этом момент для источника) цену. В приёмник "летит" insert, но там уже есть такая запись - ошибка дублирования ключа превращается в обновление.

3. Если из источника в приёмник "летит" update, но там нет такой записи, например её удалили или её там вообще никогда не существовало (такую коллизию называют update-delete), то update превращается в insert - запись успешно добавляется в приёмник.
+
3. zhichkin 1455 23.10.16 16:16 Сейчас в теме
(1) ifal,
Правила разрешения коллизий бывают очень сложными. Зачастую они сильно зависят от бизнес-логики прикладного решения. В каждом случае нужно разбираться отдельно. Предложения по добавлению настроек какой-то более или менее типовой логики разрешения коллизий приветствуются =)
+
4. unpete 577 24.10.16 09:47 Сейчас в теме
(0), Изобретение велосипедов - деятельность вполне достойная. Зачастую - необходимая.
Без этого сложно понять условия задачи и математику альтернативных решений, но зачем результаты лабораторной работы помещать в production?
Почитайте про репликацию couchdb - это позволить направить вашу энергию в мирное русло.
В 2014-15 годах, я потратил более 2 тыс. человекочасов на собственный движок обмена, но познакомившись с couchdb - выкинул бОльшую часть проделанной работы на помойку, задействовав простые, изящные и современные технологии.
+
7. zhichkin 1455 24.10.16 12:09 Сейчас в теме
(4) unpete,
Я прошу прощения, но я совсем не понял Ваш комментарий. PR couchdb ? Сравнение тёплого с мягким ? По моему упоминание SQL Server Integration Services было бы более к месту. Кроме того, моя публикация больше про интеграцию, чем про репликацию.
1attimo; +1
5. Константин С. 667 24.10.16 10:20 Сейчас в теме
(бесплатная версия для ознакомления)

Вот интересно было узнать, цену вопроса не для ознакомления)

А то от количества нулей можно !!!!
+
6. zhichkin 1455 24.10.16 12:02 Сейчас в теме
(5) Константин С.,
Выпуска платной версии не планируется. Планируется создание более или менее удобного инструмента для реализации проектов по интеграции на стыке технологий 1С:Предприятие 8 + .NET Framework (C#) + MS SQL Server. В том числе с учётом SOA (service-oriented architecture). Соответственно ответ такой: присылайте свои требования по проекту - дам оценку.
BigB; +1
8. artbear 1518 02.11.16 19:55 Сейчас в теме
9. maratimus 22 30.11.16 23:19 Сейчас в теме
А есть такая же, но сделанная по технологии "Temporal Tables", а не "Change Tracking"?
+
10. zhichkin 1455 01.12.16 00:44 Сейчас в теме
(9) Какой у Вас use case ?
Мне кажется, что именно для обмена данными temporal tables ... как узнавать что данные по строке изменились ? Запрашивать все строки таблицы на предмет наличия версий в исторической таблице ? Тяжёлый может быть запрос ...
Или есть какой-то простой и достаточно лёгкий способ получить именно изменённые на какой-то момент времени строки ?
+
11. JohnnySE 15.01.17 02:06 Сейчас в теме
Приветствую.
1. Не удобно проставлять соответствия между источником и приемником.
2. Нет четкого описания, что делать при\перед\ обновлением конфигурации
3. ОСНОВНОЕ: как настраивать фильтрацию для выгрузки\загрузки.

С уважением.
AlexK_2012; zhichkin; +2
12. zhichkin 1455 15.01.17 18:47 Сейчас в теме
(11) Огромное спасибо за конструктивную критику!
+
Внимание! Тема сдана в архив