Правила регистрации объектов 1С:БСП

20.04.22

Разработка - БСП (Библиотека стандартных подсистем)

Здравствуйте, коллеги! В статье рассмотрим работу с правилами регистрации объектов в библиотеке стандартных подсистем 1С.

При организации обмена данными между двумя системами встает задача определения списка объектов, которые необходимо отправить в систему-корреспондент при очередном запуске обмена. Очевидно, что есть смысл отправлять только те объекты, которые были изменены в текущей системе. В платформе 1С для решения этой задачи используется объект конфигурации, который называется План обмена. План обмена в 1С имеет состав, куда включаются объекты, участвующие в обмене. При записи объекта в плане обмена, выполняется его регистрация к отправке в систему корреспондент.

При очередном запуске обмена система получает полный список объектов, зарегистрированных к обмену, и отправляет их в систему-корреспондент. После удачного выполнения обмена данными регистрация в Плане обмена снимается во избежание повторной отправки данных.

Для корректной работы механизма регистрации предусмотрена нумерация сообщений обмена. При регистрации обмена номер сообщения для объекта устанавливается равным NULL. При отправке сообщения его номер устанавливается равным номеру отправляемого сообщения. При получении подтверждения об успешной передаче данных объекта регистрация объекта снимается в случае, если за время отправки объект снова не был изменен, и его номер сообщения не установлен равным NULL.   

 

Авторегистрация. Регистрация данных в подсистеме "Обмен данными" (1С:БСП)

 

В составе плана обмена в 1С 8.3 БСП есть возможность устанавливать разрешение или запрет автоматической регистрации объекта к обмену данными. Если для объекта разрешена авторегистрация, то при записи он безусловно зарегистрируется к обмену данными. В таком случае нельзя будет выполнить какие-либо проверки свойств объекта перед его регистрацией и нельзя будет управлять регистрацией объектов.

По этой причине в обменах, реализованных с использованием подсистемы «Обмен данными» библиотеки стандартных подсистем 1С, для всех объектов состава плана обмена запрещена автоматическая регистрация. Регистрация к обмену таких объектов выполняется программно с выполнением проверки различных условий. Так как обмен данными в общем случае содержит различные настройки, позволяющие управлять составом отправляемых данных, перед регистрацией объекта к обмену выполняется как проверка свойств самого объекта, так и проверка различных настроек плана обмена.  

 

 Правила регистрации объектов

 

При регистрации данных в подсистеме «Обмен данными» библиотеки стандартных подсистем 1С для каждого объекта входящего в состав обмена данными описываются правила регистрации объектов. Правила регистрации объектов используются как в обменах в формате КД 2, так и для обменов в универсальном формате. Правила регистрации объектов в 1С представляет собой текстовый макет плана обмена, содержащий описание правил регистрации в формате XML. Разработка правил регистрации объектов всегда выполняется с использованием конфигурации «Конвертация данных 2», даже если обмен выполняется в универсальном формате (КД 3).

Используя правила регистрации объектов, разработчик обмена данными получает возможность управлять составом данных отправляемых в систему корреспондент. В правилах регистрации есть возможность установить проверку свойств объектов, например, регистрировать к отправке только проведенные документы, относящиеся к определенной организации, начиная с определенной даты. В зависимости от настроек плана обмена можно ограничить регистрацию и выгрузку документов относящихся к разным подсистемам. Например, можно добавить настройку плана обмена «Выгружать банковские документы», и в зависимости от значения настройки отправлять либо не отправлять документы, относящиеся подсистеме «Банк» в систему-корреспондент.

 

Разработка правил регистрации  

Как уже было сказано выше, правила регистрации объектов разрабатываются в конфигурации «Конвертация данных 2».

 

Рис. 1 Правила регистрации объектов в 1С

 

Чтобы добавить либо изменить существующие правила регистрации объектов необходимо выполнить следующие действия:

  • Выгрузить метаданные конфигурации участвующей в обмене, с помощью специализированной обработки;
  • Загрузить их в справочник «Конфигурации информационных баз»;
  • Загрузить существующие правила регистрации из макета плана обмена, если требуется доработка существующих правил регистрации, а не разработка с нуля.

Примечание: Более подробно о разработке правил регистрации можно почитать в помощнике, встроенном в конфигурацию «Конвертация данных 2»

 

Отбор объектов по свойствам узла

Рассмотрим основные возможности разработки правил регистрации объектов с использованием конфигурации «Конвертация данных 2». Рассмотрим, как реализован отбор документов при регистрации в обмен в большинстве типовых правил обмена объектов. В систему-корреспондент могут отправляться не все документы, а только по определенным организациям, начиная с определенной даты. Для реализации этого отбора в план обмена добавлены следующие реквизиты:

  • Использовать отбор по организациям – Булево;
  • Дата начала выгрузки документов – Дата;
  • Организации – табличная часть. Реквизиты: Организация – Справочник «Организации».

Реквизиты выведены в форму узла для возможности изменения настроек обмена пользователем.

 

Рис. 2 Реквизиты в Плане обмена в 1С

 

Откроем правила регистрации объекта любого из документов:

 

Рис. 3 Правила регистрации объекта документа

 

На рисунке видно, что в правилах регистрации присутствует отбор по свойства узла плана обмена. Документ регистрируется к отправке в систему корреспондент при соблюдении следующих условий:

  • значение реквизита документа «Дата» больше или равно реквизита плана обмена «Дата начала выгрузки объекта»;
  • значение реквизита плана обмена «Использовать отбор по организации» = «Нет», т.е. флаг отбора по организациям в форме узла отключен;
  • значение реквизита документа «Организация» входит в список значений в табличной части плана обмена «Организации».

Обратите внимание, что два последних условия объединены в группу с условием ИЛИ, т.е. регистрация выполняется, если соблюдено одно из этих условий: нет отбора по организации или организация документа есть в списке организаций, участвующих в обмене.

 

Отбор объектов по значениям реквизитов

Отбор по реквизитам документов используется, когда при регистрации нет необходимости проверять какой-либо из реквизитов плана обмена, и выгрузка зависит только от значений реквизитов самого объекта. Например, нам необходимо регистрировать к отправке только проведенные документы. В этом случае настройка условий отправки будет выглядеть следующим образом:

 

Рис. 4 Настройка условий отправки в Плане обмена в 1С 

 

Особенности регистрации данных для обменов в формате КД 2, КД 3

 

Есть отличия в регистрации данных обменов в формате «Конвертация данных 2» и обменов в универсальном формате («Конвертация данных 3»). В первом случае (формат КД 2), кроме проверки условий, заданных в правилах регистрации, выполняется анализ измененных реквизитов. Регистрация объекта выполняется только при условии, что был изменен хотя бы один из реквизитов участвующих в обмене (включенный в состав отправляемых реквизитов объекта согласно правилам обмена).

В формате КД 3 такая функция отсутствует, и при любой записи объекта будет выполнена его регистрация. Если для объекта выполняются условия, заданные правилами регистрации, он будет отправлен в систему-корреспондент, даже если по факту в нем не были изменены реквизиты, участвующие в обмене, и даже если изменений реквизитов объекта не было совсем.

См. также

Консоль кода для подсистемы БСП Групповое изменение реквизитов

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширения для внедрения консоли кода в обработку подсистемы БСП Групповое изменение реквизитов. Просто, чтобы было удобнее.

2 стартмани

03.12.2023    544    1    vandalsvq    1    

10

Настройка истории изменений. Подключение новых объектов (которых нет в списке) к системе версионирования (БСП) без изменения конфигурации

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

Много материалов и видео в сети о том, как подключить объект, которого нет в списке настроек, к системе версионирования БСП. Суть сводится к изменению определяемого типа, на который все завязано. Но это предполагает изменение конфигурации. Недавно встала задача подключить объект, которого нет в определяемом типе без снятия замков. Пришлось изучить вопрос глубже. Здесь пояснения и краткая инструкция с картинками. Как подключиться, используя только расширение.

20.11.2023    681    user1374747    0    

22

Как включить привилегированный режим для дополнительных отчетов и обработок

БСП (Библиотека стандартных подсистем) Конфигурации 1cv8 Бесплатно (free)

Как отключить безопасный режим для дополнительных отчетов и обработок РазрешениеНаИспользованиеПривилегированногоРежима

14.10.2023    2167    SpecRam    15    

31

Справочник по методам БСП

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Абонемент ($m)

Данная конфигурация представляет собой инструмент для изучения документации и набора методов для стандартных подсистем БСП (Библиотека стандартных подсистем) в среде 1С:Предприятие. Может помочь разработчикам для быстрого поиска кода и переноса его в другие конфигурации, а также изучения БСП. Это конфигурация не в является заменой сервиса ИТС , а только помогает разработчикам в изучении БСП.

2 стартмани

11.10.2023    4736    105    plm    13    

52
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1272 20.04.22 21:04 Сейчас в теме
РИБ Розница 2.3, запрет авторегистрации, в правилах регистрации объекта нет, но по факту все объекты отправляются в узел, в каком месте поправить чтобы это отключить?
user717534; +1 Ответить
2. Cyberhawk 134 21.04.22 07:54 Сейчас в теме
(1) Создать ПРО для этого типа объектов
3. malikov_pro 1272 21.04.22 08:38 Сейчас в теме
(2) Это понятно, в целом странная логика, авторегистрацию отменили, правил нет, значит можно все на автомате ...
user717534; +1 Ответить
4. Cyberhawk 134 21.04.22 08:45 Сейчас в теме
(3) Я так понял БСП выбрала подход "мы программно в БСП только добавляем узлы-получатели согласно ПРО", с которым платформенная авторегистрация несовместима.
Если бы оставили платформенную авторегистрацию, то пришлось бы в БСП использовать подход "мы удаляем все что там наавторегистрировалось и оставляем только то, что прошло наши программные фильтры ПРО".
А для имитации поведения платформенной авторегистрации выбрали состояние "для типа объектов отсутствует ПРО".
user717534; d4rkmesa; +2 Ответить
5. malikov_pro 1272 21.04.22 10:35 Сейчас в теме
(4) информацию с ходу не нагуглил, результат разбора (контекст Розница 2.3 РИБ по магазину)
в БСП конфигурации правила распаковываются и хранятся в РС ПравилаДляОбменаДанными,
список правил хранится в ТЗ упакованные в хранилище значения в реквизите ПравилаЗачитанные

при записи объекта, срабатывает подписка ПоМагазинуРегистрация
ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписью(), которая вызывает ЗарегистрироватьИзменениеОбъекта()

делается фильтр по признаку "объект изменен"
подробнее про "Правила Выборочной Регистрации Объектов" https://forum.infostart.ru/forum15/topic173286/ в 19 комментарии, у меня РИБ загружается все при каждой записи

сама проверка правил регистрации осуществляется в
ОбменДаннымиСобытия.ВыполнитьПравилаРегистрацииОбъектовДляПланаОбменаПопыткаИскл­ючение

в котором

Если ПравилаРегистрацииОбъекта.Количество() = 0 Тогда // Правила регистрации не заданы.
  // Если для объекта не созданы ПРО и отключена авторегистрация,
  // то регистрируем объект на всех узлах плана обмена кроме предопределенного.


Интересен момент что фиксация осуществляется "ПередЗаписью" объекта, получается что сначала проверяется нужно ли кому-нибудь отправлять объект и производится регистрация в плане обмена, а только после этого производится запись объекта.

отдельная история при формировании нового узла, когда перебираются все объекты базы и к каждому из низ применяются правила.
6. MaxS 2771 05.05.22 08:53 Сейчас в теме
Разработка правил регистрации объектов всегда выполняется с использованием конфигурации «Конвертация данных 2», даже если обмен выполняется в универсальном формате (КД 3).
В последних КД 3 уже можно редактировать правила регистрации и даже правила обмена КД 2.
EvgeniyOlxovskiy; i.c.h; BarsukM; Moto45; quazare; +5 Ответить
7. user880776 23.06.22 15:39 Сейчас в теме
что-то я не понял этот момент, регистрировать в обмен только проведенные, но при этом значение Проведен = Ложь?
Прикрепленные файлы:
EvgeniyOlxovskiy; VickWood; Ali_q; mybracho; +4 Ответить
8. METAL 283 09.07.22 01:11 Сейчас в теме
Возможно ли использовать БСПшный обмен РИБ совсем без правил регистрации объектов?
9. Ali_q 1 17.12.22 16:48 Сейчас в теме
Здравствуйте! Знаю, я поздновато, и все же спрошу: Можно ли регистрировать один документ как другой? Например Заказ клиента в источнике регистрировать как заказ на производство в приемнике?
10. BarsukM 22.12.22 15:38 Сейчас в теме
(9) Вопрос, по-моему, не имеет смысла т.к. как именно зарегистрированный объект будет загружаться в приемник, определяется правилами конвертации объектов в базе-приемнике, а не в источнике. Т.е. на этапе регистрации в источнике, приемник не имеет значения. О нем может быть вообще ничего неизвестно, особенно если речь об обмене через универсальный формат.
11. Ali_q 1 22.12.22 16:48 Сейчас в теме
(10) Понятно, спасибо)
12. cdiamond 231 24.05.23 16:21 Сейчас в теме
Совсем печаль с этой регистрацией пошла. Теперь указывай либо модуль регистрации, либо в XML, а КД 3.1 совсем непригоден - созданные в нём правила работают непредсказуемым образом либо вообще не работают.
13. igor78 30.08.23 13:01 Сейчас в теме
Здравствуйте.
Столкнулся с такой проблемой при синхронизации УТ-БУХ - не выгружается история изменений (конкретно не выгружается история изменения адреса у контрагента) подскажите - куда копать и с чего начать, не могу нигде найти как выгружается эта история изменений
14. milanse 38 12.10.23 08:39 Сейчас в теме
Нигде не мог найти толкового описания событий правил регистрации с примерами. То что галочками можно поставить и так ясно понятно. Кстати в новой БСП 3.1.8 кажется есть параметр, позволяющий для КД управлять правилом проверки измененности реквизитов, можно проверять, можно не проверять как в КД.
15. angabanga5 27.11.23 13:07 Сейчас в теме
у меня правила регистрации вообще не работают как надо. я изменил типовые, поотключал правила, котоыре мне не нужны и вуаля - ничего не работает. всеравно все регается к обмену, обожаю
Оставьте свое сообщение