|
Регистрация документа на обмен | ☑ | ||
---|---|---|---|---|
0
kintevy
20.03.23
✎
09:20
|
После выполнения регламентной операции "Закрытие месяца" по определенному типу документа, мне необходимо этот документ сразу же после выполнения операции зарегистрировать на обмен. Как это сделать программно?
|
|||
1
kintevy
20.03.23
✎
09:25
|
(0) Пока что мысли идут в направлении: Модуль менеджера обработки закрытие месяца. В процедуре "ВыполнитьЗакрытиеМесяца" Если Операция = выполнено тогда ПланыОбмена.ЗарегистрироватьИзменения(ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("тут должен быть код, но не знаю как его определить для узла", Неопределено);
|
|||
2
unenu
20.03.23
✎
09:59
|
(1) "Закрытие месяца" может выпасть в ошибку после этапа регистрации и сделать откат
|
|||
3
unenu
20.03.23
✎
10:01
|
хотя, если Если Операция = выполнено, то может я и не прав.
|
|||
4
Serg_1960
20.03.23
✎
10:22
|
Эээ... если у автора типовая конфигурация, то не рекомендую "напрямую" регистрировать изменения - мало ли как что настроено. Лучше использовать типовой функционал. Регистрация, как правило, делается через подписки. Например, что-то типа подписка СинхронизацияДанныхЧерезУниверсальныйФорматРегистрацияДокумента(), обработчик - ОбменДаннымиСобытияУниверсальныйФормат.СинхронизацияДанныхЧерезУниверсальныйФорматПередЗаписьюДокумента()...
|
|||
5
Serg_1960
20.03.23
✎
10:23
|
(3) Если откат транзакции - то и регистрация "откатится".
|
|||
6
Serg_1960
20.03.23
✎
10:56
|
(1) Регистрация изменений для ВСЕХ объектов, метаданные которых входят в состав плана обмена:
Выборка = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Ссылка <> ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.ЭтотУзел() Тогда ПланыОбмена.ЗарегистрироватьИзменения(Выборка.Ссылка, Неопределено); КонецЕсли; КонецЦикла; |
|||
7
kintevy
20.03.23
✎
11:01
|
(6) А какой самый корректный вариант для регистрации только одного объекта? Через подписку?
|
|||
8
Serg_1960
20.03.23
✎
12:49
|
(7) Используя типовой функционал конфигурации. Например, см.(4) - регистрация изменении перед записью документа. Т.е. регистрация объекта если он изменяется. Позволь встречный вопрос: если документ не изменяется - зачем его регистрировать к обмену? Может быть нужно регистрировать то, что этот документ изменяет?
|
|||
9
DJ Anthon
20.03.23
✎
12:53
|
(8) например, если ему надо перенести все доки за большой период в другую базу, но не все сразу, а помесячно - триггер - успешное закрытие месяца, которое выполняется примерно раз в день
|
|||
10
kintevy
20.03.23
✎
13:04
|
(8) Вообще в документе при проведении есть условие, что если он проведен конкретной датой, то проводки по этому документу не формируются(желание заказчика). Однако в проводках формируются нужные субконто и остальные данные для переноса. При закрытии месяца проводки уже формируются, где регистратор регламентная операция. Связываю все эти факторы и переношу недостающие данные в другую базу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |