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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

Ведущий программист 1С
Москва
зарплата от 180 000 руб.
Полный день

Консультант 1С ERP
Москва
зарплата от 200 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 220 000 руб. до 300 000 руб.
Полный день

Аналитик 1C
Москва
зарплата от 200 000 руб. до 240 000 руб.
Полный день