Программное создание документа при записи помеченного на удаление документа.

1. lopatin 683 23.12.16 11:04 Сейчас в теме
Здравствуйте!

Есть документ, помечен на удаление. Жму провести.

В событии модуля объекта документа ПередЗаписью, создают программно другой документ. После отработки события, выдается сообщение "помеченный на удаление документ не может быть проведен".

Вопрос, программное создание другого документа в обработчике ПередЗаписью, отменяется? Залез в в форму списка документа нет. Получается, он не был создан.

Я все правильно, понимаю, этот документ, который создан программно был, ни где потом не вылезет?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 23.12.16 12:21 Сейчас в теме
(1)
Я все правильно, понимаю, этот документ, который создан программно был, ни где потом не вылезет?
- нет. Если создали документ, записали, то не исчезнет. Кроме случая, что это было сделано в транзакции, которую отменили...
Vitaly1C8; +1
3. lopatin 683 23.12.16 12:26 Сейчас в теме
(2) Обработчик ПередЗаписью отработал с ошибкой. Выдал сообщение и не провел документ, возможно это и было отмена транзакции? Но я документ не могу найти и меня это смущает
+
4. kuzev 47 23.12.16 12:30 Сейчас в теме
(1)
создают программно другой документ
и записывают?
+
5. lopatin 683 23.12.16 12:43 Сейчас в теме
(4) Да другой. И записывают.

приблизительно это выглядит так:

Процедура ПередЗаписью()

СозданныйДокумент = СоздатьДокументДругогоВида();//СозданныйДокумент - реквизит текущего документ

КонецПроцедуры

Функция СоздатьДокументДругогоВида()

СозданныйДокумент = Документы.Док.Создать()

//Заполняем документ

СозданныйДокумент.Записать()

Возврат СозданныйДокумент.Ссылка;

КонецФункции
Показать


Соответсвенно после отработки ПередЗаписью выдается ошибка, Реквизит в нашем документе СозданныйДокумент, который хранит ссылку на создаваемый при записи документ, чист, т.к. запись с проведением не была произведена.

Проверил, запросом: создаваемый документ с кодом, который показывался в отладчике отсутствует, в форме списка отсутствует.
+
6. Fallen207 23.12.16 12:45 Сейчас в теме
Вы запись программно созданного документа вызываете? Если приведете примеры Вашего кода - сразу покажу ошибки.
+
7. Fallen207 23.12.16 12:49 Сейчас в теме
А если,
СозданныйДокумент.Записать(РежимЗаписиДокумента.Запись);

или
СозданныйДокумент.Записать(РежимЗаписиДокумента.Проведение);


то тоже не создается?
+
8. lopatin 683 23.12.16 13:14 Сейчас в теме
При РежимЗаписиДокумента.Запись не появился. Проведение в данном месте не устраивает. На самом деле мне нужно, чтобы при ошибке проведения документ не появился. Просто странная ситуация и хотчется быть уверенным, что не нужно делать дополнительных проверок, чтобы при ошибке проведения не производилось создание документа.
+
9. docerman 71 23.12.16 13:22 Сейчас в теме
Проведение документа выполняется в транзакции. Обработчик ПередЗаписью тоже в транзакции. Если при проведении была ошибка то транзакция отменяется и соответственно ваш созданный документ тоже отменяется, т.е. в базе его не будет.
+
Внимание! Тема сдана в архив

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