Обработка проведения после записи

1. user876792 19.06.18 13:21 Сейчас в теме
При нажатии по кнопке ОК попадаю в обработку проведения и только после нее в процедуру ПриЗаписи. Мне нужно наоборот
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
13. spacecraft 19.06.18 15:00 Сейчас в теме +0.2 $m
(12) так есть еще ПриЗаписи модуля объекта (там же где ОбработкаПроведения), которая выполняется перед ОбработкаПроведения.
user876792; +1 Ответить
2. lishniy 132 19.06.18 13:41 Сейчас в теме +0.2 $m
Насколько я знаю, изменить порядок вызова процедур не получиться. Что за задача, что не устраивает дописать свой код в ПередЗаписью() или ОбработкаПроведения()?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Неопределено 90 19.06.18 14:02 Сейчас в теме
(1) Как вариант, на команду кнопки повесить запись объекта, а после неё проведение. Но тогда вызов будет идти в порядке запись-проведение-запись.
11. spacecraft 19.06.18 14:36 Сейчас в теме
(1)
При нажатии по кнопке ОК попадаю в обработку проведения и только после нее в процедуру ПриЗаписи

Это где так работает?
В модуле объекта последовательность:
1. ПередЗаписью
2. ПриЗаписи
3. ОбработкаПроведения.
12. user876792 19.06.18 14:46 Сейчас в теме
(11) бгу 1. В модуле объекта Обработка проведения. В форме документа ПередЗаписью и ПриЗаписи во всех точки останова.
Проходит так
1. ПередЗаписью
2. ОбработкаПроведения
3. ПослеЗаписи
13. spacecraft 19.06.18 15:00 Сейчас в теме +0.2 $m
(12) так есть еще ПриЗаписи модуля объекта (там же где ОбработкаПроведения), которая выполняется перед ОбработкаПроведения.
user876792; +1 Ответить
14. user876792 19.06.18 17:02 Сейчас в теме
(13) Чем она отличается от той что в форме документа? В форме документа в ПередЗаписью мой код нормально работает
15. spacecraft 19.06.18 17:04 Сейчас в теме
(14) она выполняется всегда при записи/проведении документа.
А та что в модуле формы только из самой формы (обычно при интерактивном взаимодействии).

И да. Самое важно отличие:
ПередЗаписью в модуле формы выполняется до начала транзакции. Т.е. если документ не провелся по ошибке, то действие в ПередЗаписью модуля формы не будет отменен.
user876792; +1 Ответить
2. lishniy 132 19.06.18 13:41 Сейчас в теме +0.2 $m
Насколько я знаю, изменить порядок вызова процедур не получиться. Что за задача, что не устраивает дописать свой код в ПередЗаписью() или ОбработкаПроведения()?
5. user876792 19.06.18 14:05 Сейчас в теме
(2) после записи этого документа, нужно на основании его создать еще один документ в БУ.
8. Неопределено 90 19.06.18 14:14 Сейчас в теме
(5) Подписка на событие не вариант?
3. Timur.V 78 19.06.18 13:42 Сейчас в теме
Последовательность вызовов событий зашита в 1с, её не возможно поменять. Опишите подробней задачу.
6. user876792 19.06.18 14:06 Сейчас в теме
(3) после записи этого документа, нужно на основании его создать еще один документ в БУ.
7. Timur.V 78 19.06.18 14:09 Сейчас в теме
(6) Док.Записать(РежеимЗаписиДокумента.Запись);
а затем создаёте еще один документ в БУ.

Док - это ссылка на только что созданный документ.
9. lishniy 132 19.06.18 14:19 Сейчас в теме
(6) В конце ОбработкаПроведения()
Если Не Отказ Тогда
Документ = Документы.НужныйДокумент.СоздатьДокумент();
Документ.Заполнить(ЭтотОбъект.Ссылка);
КонецЕсли;

Не забыть записать новый документ и открыть, если нужно
10. Неопределено 90 19.06.18 14:23 Сейчас в теме
(9) А потом передавай себе в прошлое привет при обновлении. Подписки же есть.
16. artgen 19.06.18 17:08 Сейчас в теме
(6) Ну так и создавай его в процедуре "ПриЗаписи". Транзакция еще открыта, ссылка уже существует.
17. user876792 19.06.18 17:13 Сейчас в теме
(16) я так и делал. только мне нужно проводить этот документ только тогда когда созданный документ в БУ уже проведен. а тк приЗаписи (тут создается тот самый документ БУ) отрабатывает только после проведения...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот