Отмена синхронизации по условию: различия между версиями

Материал из system.c
Перейти к навигации Перейти к поиску
(Новая страница: «Периодически возникает ситуация, когда при синхронизации данных между двумя базами 1С т...»)
 
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
Периодически возникает ситуация, когда при синхронизации данных между двумя базами 1С требуется НЕ переносить часть однотипных документов.
+
Периодически возникает ситуация, когда при синхронизации данных между двумя базами 1С требуется НЕ переносить часть однотипных документов.<br>
Например: синхронизация между конфигурацией "Управление торговлей" и "Бухгалтерия", требуется переносить в бухгалтерию только часть документов "Реализация товаров и услуг".
+
Например: синхронизация между конфигурацией "Управление торговлей" и "Бухгалтерия", требуется переносить в бухгалтерию только часть документов "Реализация товаров и услуг".<br>
Первое что нужно сделать, это каким либо образом определить признак, какой документ должен выгружаться, а какой нет. Для простоты примем, что в документе добавлен реквизит "НеПереноситьВБухгалтерию" с булевским типом.
+
Первое что нужно сделать, это каким либо образом определить признак, какой документ должен выгружаться, а какой нет. Для простоты примем, что в документе добавлен реквизит "НеПереноситьВБухгалтерию" с булевским типом. Далее нужно создать подписку на событие "ПриЗаписи" с указанием нужного объекта метаданных, и в процедуре подписки на событие вставить следующий код:
  
 
   Если Источник.НеПереноситьВБухгалтерию Тогда
 
   Если Источник.НеПереноситьВБухгалтерию Тогда
Строка 10: Строка 10:
 
   КонецЕсли;
 
   КонецЕсли;
  
Готово! Естественно условие может быть любым.
+
Готово!<br>
 +
Естественно, условие может быть любым.<br>
 
Данный код снимет с регистрации нужный объект и очистит таблицу регистрации.
 
Данный код снимет с регистрации нужный объект и очистит таблицу регистрации.

Текущая версия на 12:13, 12 октября 2021

Периодически возникает ситуация, когда при синхронизации данных между двумя базами 1С требуется НЕ переносить часть однотипных документов.
Например: синхронизация между конфигурацией "Управление торговлей" и "Бухгалтерия", требуется переносить в бухгалтерию только часть документов "Реализация товаров и услуг".
Первое что нужно сделать, это каким либо образом определить признак, какой документ должен выгружаться, а какой нет. Для простоты примем, что в документе добавлен реквизит "НеПереноситьВБухгалтерию" с булевским типом. Далее нужно создать подписку на событие "ПриЗаписи" с указанием нужного объекта метаданных, и в процедуре подписки на событие вставить следующий код:

 Если Источник.НеПереноситьВБухгалтерию Тогда
   Для каждого УзелОбмена Из Источник.ОбменДанными.Получатели Цикл
     ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, Источник); 
   КонецЦикла;
   Источник.ОбменДанными.Получатели.Очистить();
 КонецЕсли;

Готово!
Естественно, условие может быть любым.
Данный код снимет с регистрации нужный объект и очистит таблицу регистрации.