Как выполнить операцию только после завершения предыдущей?
Всем доброго времени суток!
У меня такая проблема:
В обработкеПроведения выполняется код:
а дальше мне надо выполнить некие действия с Регистром в котором создается запись как раз таки в при проведении, т.е.:
но в "УстановитьДатуЗаписи" записи в Регистре еще нет, она появляется чуть позже.
Вот, теперь вопрос: как дождаться завершения предыдущей процедуры?
Как выполнить "УстановитьДатыЗаписи();" только после завершения выполнения "ПроведениеДокументов.ОбработкаПроведенияДокумента(ЭтотОбъект, Отказ);["?
Где-то видела, но Сама ни разу не использовала, помогите пожалуйста!
У меня такая проблема:
В обработкеПроведения выполняется код:
ПроведениеДокументов.ОбработкаПроведенияДокумента(ЭтотОбъект, Отказ);
а дальше мне надо выполнить некие действия с Регистром в котором создается запись как раз таки в при проведении, т.е.:
ПроведениеДокументов.ОбработкаПроведенияДокумента(ЭтотОбъект, Отказ);
УстановитьДатыЗаписи();
но в "УстановитьДатуЗаписи" записи в Регистре еще нет, она появляется чуть позже.
Вот, теперь вопрос: как дождаться завершения предыдущей процедуры?
Как выполнить "УстановитьДатыЗаписи();" только после завершения выполнения "ПроведениеДокументов.ОбработкаПроведенияДокумента(ЭтотОбъект, Отказ);["?
Где-то видела, но Сама ни разу не использовала, помогите пожалуйста!
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(12) Никакую значит 0, не существует таких и не существует примера несуществующих вещей.
У вас задача перейти с закрытыми глазами на красный свет. Безусловно, существует много способов её решить, но большинство тех, кто решал, никогда об этом не расскажут. Какая-то часть проявит эрудицию, но сами так делать не станут. Единицы поинтересуются к чему такие сложности.
А в самом конце обсуждения выяснится, что в ТЗ опечатка и переходить надо было на зеленый.
Этот длинный спич к тому, что в практике такие задачи возникают исключительно редко и достаются тем, кто советов не спрашивает.
P.S. В расширении можно добавить свою обработку проведения с директивой &После, она запустится после обработки проведения, но в той же транзакции.
У вас задача перейти с закрытыми глазами на красный свет. Безусловно, существует много способов её решить, но большинство тех, кто решал, никогда об этом не расскажут. Какая-то часть проявит эрудицию, но сами так делать не станут. Единицы поинтересуются к чему такие сложности.
А в самом конце обсуждения выяснится, что в ТЗ опечатка и переходить надо было на зеленый.
Этот длинный спич к тому, что в практике такие задачи возникают исключительно редко и достаются тем, кто советов не спрашивает.
P.S. В расширении можно добавить свою обработку проведения с директивой &После, она запустится после обработки проведения, но в той же транзакции.
Чтобы действие выполнилось сразу после этой строчки, достаточно написать его на следующей строке после этой. Так работает платформа, код исполняется сверху вниз слева направо.
Т.е. можно даже вот так написать
Т.е. можно даже вот так написать
ПроведениеДокументов.ОбработкаПроведенияДокумента(ЭтотОбъект, Отказ);МояПроцедураПосле();
(20)Ну, нужно решить, меняем мы или нет, но менять результаты проведения в самом доке который проводится очень не камильфо. Как вариант обработка по расписанию, которая пройдется по докам и сделает все что нужно, можно через внешнюю, можно через регламент. Если док интерактивный, то в модуле формы есть ПослеЗаписи и ПослеЗаписиНаСервере, можно их поковырять в расширении, там уже должно быть все записано
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот