Регистрация данных в РИБ УТП

1. STELEICE 30.06.22 13:16 Сейчас в теме
Имеется проблема. Жалуются на долгий обмен с РИБами.

Обмен самописный достался по наследству))).
Имеется Центральная база и с десяток РИБов.
Обмен написан так что справочники выгружаются все а документы только конкретного магазина РИБа. Это логично.
Но замечено что в регистрацию в каждый узел падают все документы. А уже при выгрузке идет отбор из этой кучи , если реквизит Магазин в Узле обмена не соответствует реквизиту в документе тогда ОтправкаЭлементаДанных.Игнорировать.

Получается если я проведу 100 документов и из них только 1 будет на конкретный узел то нужно перебрать все 100 , 99 проигнорировать а один выгрузить.

Нужно что бы при записи документов делалась регистрация только на конкретный узел.
Сделал подписку на событие с условием что регистрировать, но все равно регистрируются по прежнему все.
Куда копать?
Если в управляемых формах такое решается правилами регистрации то тут в коде где то походу. Но не могу понять где искать.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
8. ignorant 30.06.22 14:14 Сейчас в теме +0.3 $m
(3) Именно.
В старой конфиге, ещё до всяких подписок в модуле документа
Процедура ПриЗаписи(Отказ)
	ОбменДанными.Получатели.Очистить();
	Если ПараметрыСеанса.ГлавныйУзелРИБ Тогда		//	В главном узле
		Если НЕ ОбменДанными.Загрузка Тогда
			// Определяешь список получателей
		КонецЕсли;
	Иначе
		ОбменДанными.Получатели.Добавить(ПараметрыСеанса.ГлавныйУзелСсылка);
	КонецЕсли;
КонецПроцедуры
Показать
STELEICE; +1 Ответить
9. STELEICE 30.06.22 15:01 Сейчас в теме +0.21 $m
Все оказалось просто. Нужно отключать авто регистрацию объектов , тогда мой код срабатывает, но появилась проблема с тем что регистры тоже нужно снимать с авто регистрации и прописывать свою логику, а там вопросов больше. В общем суть понятна, дальше дело техники
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ishelper 30.06.22 13:40 Сейчас в теме
(1)
тут в коде где то походу. Но не могу понять где искать.
Где-где... в коде, по любому: если не в коде самописного обмена, то в коде ДНК того, кто так ставит вопросы.
5. STELEICE 30.06.22 13:47 Сейчас в теме
(2) Слишком умный ответ как для вас.
7. ishelper 30.06.22 13:58 Сейчас в теме
(5)
Слишком умный ответ как для вас.
Ну-ну, посмотрим, посмотрим... кто тут "слишком умный".
3. SP17081992 5 30.06.22 13:46 Сейчас в теме
(1)
Сделал подписку на событие с условием что регистрировать, но все равно регистрируются по прежнему все.


Сначала удали регистрацию для всех, потом побробуй регистрировать с условием.
ignorant; +1 Ответить
4. STELEICE 30.06.22 13:46 Сейчас в теме
(3) пробовал. Результат тот же
6. SP17081992 5 30.06.22 13:50 Сейчас в теме
8. ignorant 30.06.22 14:14 Сейчас в теме +0.3 $m
(3) Именно.
В старой конфиге, ещё до всяких подписок в модуле документа
Процедура ПриЗаписи(Отказ)
	ОбменДанными.Получатели.Очистить();
	Если ПараметрыСеанса.ГлавныйУзелРИБ Тогда		//	В главном узле
		Если НЕ ОбменДанными.Загрузка Тогда
			// Определяешь список получателей
		КонецЕсли;
	Иначе
		ОбменДанными.Получатели.Добавить(ПараметрыСеанса.ГлавныйУзелСсылка);
	КонецЕсли;
КонецПроцедуры
Показать
STELEICE; +1 Ответить
9. STELEICE 30.06.22 15:01 Сейчас в теме +0.21 $m
Все оказалось просто. Нужно отключать авто регистрацию объектов , тогда мой код срабатывает, но появилась проблема с тем что регистры тоже нужно снимать с авто регистрации и прописывать свою логику, а там вопросов больше. В общем суть понятна, дальше дело техники
10. STELEICE 30.06.22 15:02 Сейчас в теме
(8) Ваш код тоже рабочий но нет у меня таких параметров сеанса, но все верно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот