INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Зябликов Дмитрий | Senior ios developer | ЦРПТ

«Разработка на 1С VS нативная разработка под iOS»

- а такое возможно?:) - плюсы и есть ли минусы - нюансы разработки - путь от начала до публикации приложения

1. lopatin 365 23.12.16 11:04 Сейчас в теме

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

Здравствуйте!

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

Вакансии

Программист 1С
Одесса (Украина)
зарплата от 40 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день

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

1С Developer
Одесса (Украина)
зарплата от 60 000 руб. до 120 000 руб.
Полный день

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 70 000 руб. до 90 000 руб.
Полный день