Имя: Пароль:
1C
1С v8
Срабатывает авторегистрация при обмене
,
0 windows98a
 
18.08.21
16:15
Проблема в том, что в процессе загрузке по планам обмена (формат КД 2.0), происходит регистрация объекта(элемента справочника) к выгрузке по этому же плану обмена и при следующей выгрузке элемент улетает обратно.
До включения авторегистрации на стороне приемника - такого не было, элементы не регистрировались к обмену, то есть грешить на то, что где то в коде есть "зарегистрироватьизменения" не приходится. Отладчиком в "передзаписью" элемента справочника отловил - "ОбменДанными.Загрузка = Истина", тут все норм, авторегистрация при таком раскладе отрабатывать не должна.
Конфигурации - ут 10.3 и ут 11. Происходит на стороне 11.
В чем может быть дело?
1 mikecool
 
18.08.21
16:16
дело в "До включения авторегистрации на стороне приемника"? не?
2 windows98a
 
18.08.21
16:25
(1) Разве авторегистрация по тому же плану обмена в процессе обмена должна срабатывать?
3 Serg_1960
 
18.08.21
16:54
ОбменДанными.Загрузка = Истина и регистрация изменений ни как не связана между собой. Только если программно. Сами подумайте: в любом плане обмена может быть несколько узлов.
4 windows98a
 
18.08.21
16:59
(3) я написал это к тому, что бы показать, что при просмотре отладчиком, отлавливал именно запись, происходящую в процессе обмена. А запись, происходящая в процессе обмена, не должна регистрировать изменения в узел, который их отправляет. Или я что то не так понимаю?
5 Pro-tone
 
18.08.21
17:02
если включена авторегистрация, то регистрировать в таблицах плана обмена будет всегда при любой записи куда включен объект, поправь правила регистрации (возможно придется отключить авторегистрацию) и все
6 windows98a
 
18.08.21
17:03
посмотрел отладчиком, запись элемента происходит дважды. вторая запись идет почему то с пустым отправителем
7 Pro-tone
 
18.08.21
17:04
(6) да, запись происходит при увеличении номера сообщения
8 Serg_1960
 
18.08.21
17:13
(6) Погугли в конфигурации "РегистрироватьОбъектНаУзлеОтправителе". В ЗУПе, например, есть такой код:

        // Определяем необходимость регистрации объекта на узле отправителе.
        Если Объект.ДополнительныеСвойства.Свойство("РегистрироватьОбъектНаУзлеОтправителе") Тогда
            Объект.ОбменДанными.Отправитель = Неопределено;
        КонецЕсли;
9 Fragster
 
гуру
18.08.21
17:41
(0) в инструкции к подсистеме обмена данными БСП (и к КД тоже) сказано - выключите авторегистрацию.
10 Fragster
 
гуру
18.08.21
17:41
зачем делать не по инструкции? чтобы удивляться результатам?
11 windows98a
 
19.08.21
11:17
(9) подсистема обмена данными используется не БСП.
Хотя, раз конфа УТ 11, может быть на все существующие в ней(в том числе на добавленный доработками) планы обмена, распространяются какие то вещи от БСП.
Щас буду проверять рекомендацию Serg_1960
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший