Каталог решений - Создание управленческой базы данных

Создание управленческой базы данных

Создание управленческой базы данных

В наличии

Рассматривается вариант создания актуальной копии базы данных с помощью планов обмена данными. Данный вариант можно использовать в случаях, когда обмен данными должен обеспечивать соответствие движений документов. Например, для отражения управленческой зарплаты

Категория:

Описание

 Для обмена данными в типовых решениях используется план обмена. Настройка обмена данными позволяет обмениваться либо по правилам обмена с последующим проведением документов, либо между идентичными узлами распределенной базы данных (РИБ). Для обмена между базами не являющимися РИБ нужно добавить в планы обмена несколько функций.

1.Добавляем в модуль плана обмена «Полный» три функции:

1.1

Функция ЗаписатьНовоеСообщение(ЗаписьXML, ЗаписьСообщения)
    
    НомерСообщения = ЗаписьСообщения.НомерСообщения;
    Получатель = ЗаписьСообщения.Получатель;
    
    СписокТипов = Новый СписокЗначений();
    
    НачатьТранзакцию();
    ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(Получатель, НомерСообщения);
    Пока ВыборкаИзменений.Следующий() Цикл
        
        Данные = ВыборкаИзменений.Получить();
        Если ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда
        Иначе
       //     Если СписокТипов.НайтиПоЗначению(ТипЗнч(Данные)) = Неопределено Тогда
       //         Продолжить;
       //     КонецЕсли;    
        КонецЕсли;    
        
        ЗаписатьXML(ЗаписьXML, Данные);
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    
     Возврат НомерСообщения;
КонецФункции // ЗаписатьНовоеСообщение(ИмяФайла) 

1.2

Функция ВыгрузитьИзмененияДанныхДляУзла(Получатель, КоличествоЭлементовВТранзакции, ЗаписьXML) Экспорт
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); 
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Получатель); 
    
    ЗаписатьНовоеСообщение(ЗаписьXML, ЗаписьСообщения);
    ЗаписьСообщения.ЗакончитьЗапись(); 
    
    Результат = Истина;
    Возврат Результат;
КонецФункции

1.3

Функция ЗагрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакции, ЧтениеXML) Экспорт
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
    НомерСообщения = ЧтениеСообщения.НомерСообщения;
    
    НачатьТранзакцию();
    Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
        Данные = ПрочитатьXML(ЧтениеXML);
        
        Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
        Данные.ОбменДанными.Загрузка = Истина;
        
        Данные.Записать();
    КонецЦикла;
    ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);
    ЗафиксироватьТранзакцию();
    ЧтениеСообщения.ЗакончитьЧтение();
    
    Результат = Истина;
    Возврат Результат;
КонецФункции

2. Снимаем для плана обмена «Полный» флажок «Распределенная информационная база»

3. В настройках обмена данными указываем тип обмена — обмен через файловый ресурс

4. В случае, если нам нужен односторонний обмен, убираем авторегистрацию изменений базе приемнике.

Периодичность обмена данными можно настройть, например, через константу «ВремяОпросаРегламентныхЗаданийВФайловомРежиме».

has been added to your cart:
Оформление заказа