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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

Программист 1С
Нижний Новгород
зарплата от 170 000 руб.
Полный день

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

Системный аналитик
Москва
зарплата от 120 000 руб. до 140 000 руб.
Полный день

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