![]() |
|
Как привязать правила регистрации к плану обмена в случае нетиповой конфы? | ☑ | ||
---|---|---|---|---|
0
Сияющий Асинхраль
29.10.20
✎
22:12
|
С типовыми 1С все понятно. Но конфа нетиповая, там нет ни БСП ни кусков типового кода, причем и нежелательно туда его пихать, но в нете упорно не могу найти как заставить план обмена работать с нужными правилами регистрации. Буду признателен за совет...
|
|||
1
Фрэнки
29.10.20
✎
22:26
|
(0) Если конфа нетиповая, то все процедуры, накрученные вокруг Планов обмена в БСП просто не существуют. Т.е. программного интерфейса для разработчика как бы и нет.
Но на самом деле он (API - application program interface) есть ровно в том базовом объеме, в котором он описан синтакс-помошнике и реализован средствами платформы. Принципиальное отличие у планов обмена всего одно : или это план с использованием РИБ или это свойство плана отключено. В зависимости от этого свойства работают пары предопределенных обработчиков событий в модуле объекта "узел плана обмена" или в менеджере объекта "узел плана обмена". Запуск этих обработчиков по умолчанию прицеплен в дефолтных панелях на формах узла и списков узлов планов обмена. Можно немного поэкспериментировать и наваять что-то свое, вплоть до запуска регламентного задания, выполняющего обмен. Ну а советовать механизмы регистрации объектов в обмен - это еще одна большая тема :-) |
|||
2
Сияющий Асинхраль
29.10.20
✎
22:34
|
Регламентное задание уже наваял, даже проверил - работает. В принципе, подписка на событие при проведении или при записи и регистрация идет без проблем. Этот вариант умею и знаю. Хотелось как-то использовать возможности платформы не накручивая горы кода, но как-то совсем уж нет никаких данных в нете по этому поводу. Похоже буде делать как умею...
|
|||
3
Фрэнки
29.10.20
✎
22:39
|
Ах... В топике именно по правилам регистрации... Момент, сейчас напишу :-)
Самый примитивный ход - поставить "авторегистрацию" на всем составе объектов внутри плана обмена. Тогда регистрируется все автоматом по изменениям и если обмен примитивный, то этого хватает с головой. Но правила там тоже есть. Нечто вроде правил обмена прописывают прямо в теле обработчика, в котором формируется выгружаемый пакет. Т.е. из всей кучи по некоторым признаком выполняется отказ от включения в пакет обрабатываемого объекта. Это достаточно долго. Более эффектный вариант: - в авторегистрации по всем или почти по всем объектам поставить "Запретить" - создать подписки по событиям. А уже в этих подписках можно откуда-то дергать так сказать Правила. Чаще всего эти Правила запихивают в Макеты, а уже в макеты можно разные настройки перключать, чтоб там, в том числе, мог быть исполняемый код. Если исполняемый код, хранимый в макете будет работать быстро-быстро, то этой будет не просто обработка подписки При записи какого-то объекта, а чрезвычайно быстро работающий код подписки, хотя правила внутри этого кода могут оказаться очень и очень внушительные. |
|||
4
Сияющий Асинхраль
29.10.20
✎
22:45
|
(3) Да, сейчас и правда решил сделать с подписками. Наверное самый быстрый вариант. Хотя авторегистрация, пожалуй, у меня не прокатит, база старая, большая регистрировать кучу старых документов смысла не имеет. Да и наложить условия непосредственно в подписках, работать по идее должно быстрее для большой базы, чем дергать макет...
|
|||
5
Фрэнки
30.10.20
✎
00:02
|
(4) ну не обязательно быстрей код будет в модуле подписки или в другом месте...
Может быть на практике более удобно, что есть методы записи в макет нового содержимого в пользовательском режиме. |
|||
6
hhhh
30.10.20
✎
02:23
|
(4) можешь взять обмен БП2.0 РИБ, по организациям, там эта фигня реализована.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |