Имя: Пароль:
1C
1С v8
При проведении объектов не регистрировать их для синхронизации.
0 Ilnazio
 
04.07.22
10:45
Здравствуйте коллеги! Задача следующая:

Необходимо исключить из обмена справочники:
- Номенклатура
- Номенклатура контрагентов
- Присоединенные файлы (Номенклатура)

документы:
- заказ на перемещение
- заказ поставщику
- заказ клиента
- кассовая смена

регистры сведений:
- состояние заказов клиентов
- состояние электронных документов

Я нашел такой код как ЭтотОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов",Истина);
И как я понял это как раз то что мне должно помочь. Объяснения этой строке кода я нигде не нашел. Помогите пожалуйста.
1 sivalor
 
04.07.22
10:51
В типовых конфигурациях автоматическая регистрация объектов на планах обмена отключена. Алгоритмы регистрации объектов прописаны в коде вызываемом через подписки на события. В этом коде анализируются дополнительные свойства объектов. Если в доп. свойствах есть признак отключения механизма регистрации, то регистрации не происходит.
2 Ilnazio
 
04.07.22
11:00
(1) Я так понимаю что мне необходимо найти данную подписку на событие и при определенных условиях не регистрировать объекты? Спасибо что ответили
3 Фрэнки
 
04.07.22
11:04
А разве Присоединенные файлы попадают в Обмен? Это точно типовой обмен?
4 famnam
 
04.07.22
11:04
(2) нет, зайти в настройку синхронизации и сохранить из нее правила регистрации объектов. Затем это ПРО загрузить в конвертацию данных и прописать новое условие регистрации
5 Волшебник
 
04.07.22
11:05
(0) Пусть сами регистрируются, потом удаляй регистрацию.
6 Ilnazio
 
04.07.22
11:08
(3) Да, это типовая УТ. Возможно ошибка в постановлении в задаче.
7 Ilnazio
 
04.07.22
11:11
(5) Как это можно сделать?

Нашел типовой код, судя по всему это очистка регистра после обмена

    МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ОбъектМетаданных.ПолноеИмя());
    
    Если Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных)
        И ОбъектМетаданных.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.Независимый Тогда
        НаборЗаписей = МенеджерОбъекта.СоздатьНаборЗаписей();
        НаборЗаписей.ОбменДанными.Загрузка = Истина;
        НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
        НаборЗаписей.Записать();
8 vde69
 
04.07.22
11:11
(5) это не очень хороший подход (методически)...

правильно или использовать в модуле "переопределяемый" ЭтотОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов",Истина) или загрузить собственные правила регистрации.
9 Фрэнки
 
04.07.22
11:13
(6) лучше делать, как в (4) предложили
10 Ilnazio
 
04.07.22
11:20
(8) Попробую с модулем переопределяемый для начала. Куда копать в этом направлении подскажешь?
11 Ilnazio
 
05.07.22
20:10
(4) Изучил этот момент, возвел флаг "отказ = Истина", но увы, ничего не произошло.
Прописал даже во все 4 обработчика события для справочника..
В чем может быть проблема, интересно?