vizlipuzli
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору lordmb Цитата: В чем прикол твоего совета? чтобы убрать программные возвраты из процедуры проведения? | в том, чтобы перенести возврат в правильно место. Прикол в том, что при проведении последовательность процедур ПередЗаписью(), ОбработкаПроведения() проиходит в транзакции, а т.к. в процедуре ОбработкаПроведения() происходит Отказ=Истина, то ссылки созданные в ПередЗаписью() удаляются, а в таб. части отображаются ссылки на удаленные объекты. Это правильно поведение платформы как 8.1.13, так и 8.1.14. У меня не получилось вставить в код ВыбратьСтроку() таким образом, чтобы ссылки остались. Да это, ИМХО, не правильно - сохранять объекты созданные и не удаленные в неудачной транзакции. Я не правильно написал выше, хотел написать Цитата: проверяйте все реквизиты на заполненность в ПриЗаписи() | . т.е. проверка на ошибки/заполенность реквизитов происходит в ПриЗаписи() если есть ошибки то ничего не создаем, сразу выходим: Код: Процедура ПриЗаписи(Отказ) // тут код проверки на ошибки, заполнение реквизитов ... Если ... // есть ошибки Отказ=Истина; КонецЕсли; Если НЕ Отказ Тогда // начинаем заполнять справочник Партий КонецЕсли; КонецПроцедуры Процедура ОбработкаПроведения() // проводим документ ... КонецПроцедуры | а вот если бы не было кода, который бы создавал новые объекты, то возврат можно было бы оставить в процедуре ОбработкаПроведения() | Всего записей: 4039 | Зарегистр. 17-08-2005 | Отправлено: 08:43 20-07-2009 | Исправлено: vizlipuzli, 08:46 20-07-2009 |
|