Показать сообщение отдельно
Старый 22.04.2009, 14:12   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Сисой Посмотреть сообщение
Итак, как организована работа 1С в оффлайновом режиме.
1. Прежде всего, термин оффлайновый режим не совсем корректен - лучше использовать термин "репликация данных и приложения (конфигурации)"
2. Репликация выполняется на уровне самого 1С, а не на уровне СУБД
3. 1С содержит механизмы, которые позволят программисту написать обработчики конфликтов репликации, но эти обработчики не написаны для типовых конфигураций. Фактически, конфликты репликации решаются по принципу "кто последний, тот и папа".

Цитата:
Сообщение от Сисой Посмотреть сообщение
Далее в режиме пользователя определяется перечень площадок, между которыми ведется обмен.
Каждая площадка - отдельная база данных (площадки могут использовать разные СУБД, правильно?)

Цитата:
Сообщение от Сисой Посмотреть сообщение
Даже если используется авторегистрация изменений, можно программно вмешиваться в формирование списка получателей (т.е. кому отправляем).
Обратите внимание, на это "можно ... сделать".
Это значит, что в типовых этот механизм не используется

Цитата:
Сообщение от Сисой Посмотреть сообщение
Сообщения между узлами (площадками) передаются в формате XML (объем велик, но 1С использует ZIP).
Для работы с xml используется библиотека, которая загружает весь XML в память. Раззипованный xml. (я правильно говорю? )

Цитата:
Сообщение от Сисой Посмотреть сообщение
Возможны два варианта работы: произвольный обмен между произвольными конфигурациями и режим распределенной БД. В первом случае ответная квитанция получателя строго говоря, не требуется, во втором система обмена автоматически может синхронизировать не только данные, но и код (конфигурации 1С),
В переводе на русский язык это означает:
Первый случай - тотальное программирование
Второй случай - имеет свои ограничения. см. ниже


Цитата:
Сообщение от Сисой Посмотреть сообщение
требует квитирования доставки (после валидации и записи в БД-приемник).
Это значит, что обмен должен быть двусторонним.
1С будет слать изменения до тех пор, пока не получит ответ (квитанцию) от приемника об успешном приеме.

Цитата:
Сообщение от Сисой Посмотреть сообщение
Все процессы обмена контролируются многочисленными программными обработчиками, куда можно вставлять свой код.
Ах, опять это "можно ... сделать"
Я правильно понимаю, что в типовых эти программные обработчики не используются и ничего не контролируется?

Цитата:
Сообщение от Сисой Посмотреть сообщение
Центральное место занимает специальная конфигурация "1С:Конвертация данных" (бесплатная, лежит на диске ИТС).
Эта конфигурация умеет выгружать и хранить структуры конфигураций 1С 7 и 1С 8, визуально настраивать правила сопоставления таблиц и правила выгрузки, подключать по любому чиху программные обработчики событий (чаще всего для разрешения коллизий или определения недостающих значений, подлежащих валидации в приемнике). На выходе генерится схема обмена, т.е. правила преобразования данных одной БД в другую, плюс код "триггеров".
Конфигурация лежит, а правила обмена есть? И для каких типовых конфигураций уже существуют правила обмена?

Цитата:
Сообщение от Сисой Посмотреть сообщение
Сразу оговорюсь, что на самых крупных проектах были успешные попытки применить репликацию средствами MS SQL. Но этот способ требует (именно для 1С) шаманства и специалистов, владеющих им, немного.
Как всегда, самое интересное в конце и в таком стиле, что понять могут только посвященные.

Ок. Спрошу.
А почему "на самых крупных проектах" вообще возникли попытки "применить репликацию средствами MS SQL"?
__________________
полезное на axForum, github, vk, coub.