Имя: Пароль:
1C
 
Натолкните на мысль по настройке правил обмена
0 Mihasya
 
15.07.20
11:50
Есть две базы, одна производная от другой, но более старой версией, необходимо настроить обмен некоторыми справочниками.
Есть план обмена подходящий, НО, в него входят очень много лишних справочников, документов и т.д....
Соответственно в этом плане регистрируется все подряд...
Я написал правила конвертации только для тех объектов, которые необходимы и прописал для них ПВД.
Беда в том, что для тех объектов для которых не прописаны ПВД они не регистрируются как выгруженные, соответственно будут вечно копиться в плане... Что можно придумать?
1 Лефмихалыч
 
15.07.20
11:53
Если 2 лоб", то - по "лишним" объектам регламентным заданием зачищать регистрацию всего, у чего заполнен номер исходящего.
Или просто зачищать любую регистрацию по лишним объектам
2 Пробел
 
15.07.20
11:54
или скопировать план обмена и выкинуть оттуда все лишние объекты...
3 Лефмихалыч
 
15.07.20
11:55
или городить огород по управлению регистрацией изменений, но возможно задача не стоит того
4 Mihasya
 
15.07.20
12:50
(1) т.е. общего ПВД нет никакого, жаль ))
(2) не вариант, вторая база распределенка, новый план обмена низя...
(3) проще действительно периодически "подчищать"
5 Mihasya
 
15.07.20
14:16
Кароч придумал! Может кому и пригодится...
В правилах обмена в глобальном обработчике "ПослеВыгрузкиДанных" пишем:

Если УспешнаяВыгрузка Тогда
    // Помечаем все объекты как выгруженные...
    ПланыОбмена.ВыбратьИзменения(УзелДляОбмена, УзелДляОбмена.НомерОтправленного - 1);
КонецЕсли;

У меня в модуле обработки выгрузки перед вызовом этого обработчика написано:
УспешнаяВыгрузка = ВыполнитьВыгрузкуИзмененныхДанныхДляУзлаОбмена(УзелДляОбмена, МассивПравилВыгрузки, СтрокаСообщенияОбОшибке, НужноОграничиватьВыгрузкуПоПринадлежностиОбъектовКИнформационнымБазам)

т.е. переменные "УспешнаяВыгрузка" и "УзелДляОбмена" могут быть у каждого свои, но в целом смысл думаю понятен.
6 Лефмихалыч
 
15.07.20
14:28
я бы вынес это в регламентное хотя бы потому, что:
1. это увеличивает время выгрузки
2. если по какой-либо причине этот код стрельнет исключение, то файл обмена отправлен не будет, хотя в действтиельности этому ничего не мешает
7 ezhikofff
 
15.07.20
14:34
(5) (6) ВыбратьИзменения лучше заменить простой запрос, так как если интенсивный поток данных - может стрельнуть конфликт блокировок..
8 Mihasya
 
15.07.20
15:03
(7) Про простой запрос не понял
9 Лефмихалыч
 
15.07.20
16:33
(8) ВЫБРАТЬ ... ИЗ Справочник.Контрагенты.Изменения КАК КонтрагентыИзменения
10 Mihasya
 
15.07.20
23:42
(9) Выбрать выберу, а вот как проставить номер отправленного для объектов без ПВД?