|
Как отловить отказ? | ☑ | ||
---|---|---|---|---|
0
pro3ri
29.09.15
✎
13:51
|
Добрый день!
Есть код модуля документа: Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) Если РежимЗаписи<>РежимЗаписиДокумента.ОтменаПроведения тогда Для Каждого СтрокаСостава из Товары цикл НеПроводить=Ложь; РасчетСебестоимостиНоменклатуры(ЭтотОбъект,СтрокаСостава,НеПроводить); Если НеПроводить тогда Если ЭтотОбъект.Проведен тогда РежимЗаписи=РежимЗаписиДокумента.ОтменаПроведения; Иначе РежимЗаписи=РежимЗаписиДокумента.Запись; КонецЕсли; КонецЕсли; Если РежимЗаписи=РежимЗаписиДокумента.Проведение тогда Если СтрокаСостава.Номенклатура.Пустая() тогда РежимЗаписи=РежимЗаписиДокумента.Запись; Сообщить("Не заполнено поле Номенклатура. Документ не проводится"); Отказ=Истина; КонецЕсли; Если СтрокаСостава.НовыйТовар.Пустая() тогда РежимЗаписи=РежимЗаписиДокумента.Запись; Сообщить("Не заполнено поле Новый товар. Документ не проводится"); Отказ=Истина; КонецЕсли; КонецЕсли; Конеццикла; КонецЕсли; Если РежимЗаписи=РежимЗаписиДокумента.Проведение тогда ПриЗаписиПроверитьЕдиницуИзмеренияМест(Товары); ЗаполнитьКачествоПоУмолчанию(Товары); ЗаполнитьНовоеКачествоПоУмолчанию(Товары); КонецЕсли; СуммаДокумента = Товары.Итог("Сумма"); КонецПроцедуры // ПередЗаписью Процедура ПриЗаписи(Отказ) // Удаление записей регистрации из всех последовательностей Для Каждого НаборЗаписейРегистрацииВПоследовательности Из ПринадлежностьПоследовательностям Цикл НаборЗаписейРегистрацииВПоследовательности.Очистить(); КонецЦикла; Если Не Отказ тогда //изм ПриЗаписиОбъекта(ЭтотОбъект,Отказ); КонецЕсли //изм end КонецПроцедуры на конце процедуры нет отказ, а на форме сразу Оперция не выполнена. Собственно сабж. |
|||
1
drcrasher
29.09.15
✎
13:52
|
подписки на события
|
|||
2
magicSan
29.09.15
✎
13:52
|
подписки смотрел?
|
|||
3
pro3ri
29.09.15
✎
13:52
|
их нет
|
|||
4
Dmitrii
гуру
29.09.15
✎
13:55
|
(0) > на конце процедуры нет отказ, а на форме сразу Оперция не выполнена
Противоречие налицо. Если на форме Отказ=Истина, то как ты вообще доходишь до событий объекта и откуда знаешь что там? Или всё таки на форме не совсем сразу отказ?... |
|||
5
Cyberhawk
29.09.15
✎
13:57
|
Покажи на картинке
|
|||
6
pro3ri
29.09.15
✎
14:00
|
(5) нажал кнопку "Провести", попал в форму
https://s.mail.ru/4zHimj3EZjTy/img-2015-09-29-16-01-43.png мо: https://s.mail.ru/nNQEYRRC54hi/img-2015-09-29-16-02-25.png |
|||
7
Buster007
29.09.15
✎
14:02
|
А дальше то что?
|
|||
8
Cyberhawk
29.09.15
✎
14:04
|
Не, покажи на картинке вот это: "на форме сразу Оперция не выполнена"
|
|||
9
pro3ri
29.09.15
✎
14:04
|
(7) дальше точка в процедуре https://s.mail.ru/3G7S7DSepgof/img-2015-09-29-16-05-23.png не срабатывает
|
|||
10
Cyberhawk
29.09.15
✎
14:05
|
Замер производительности включи и посмотри, какие строчки кода выполняются за попытку провести документ из формы
|
|||
11
Cyberhawk
29.09.15
✎
14:06
|
Если, конечно, F11 не помогает
|
|||
12
pro3ri
29.09.15
✎
14:11
|
(10) спасибо вопрос решен: тут еще оказывается Процедура ПроверкаПериодаЗаписей(НаборЗаписей, Отказ) Экспорт
СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить(); ЕСли СоответствиеГраницЗапрета = Неопределено Тогда Возврат; КонецЕсли; МетаданныеНабора = НаборЗаписей.Метаданные(); ИмяРегистра = МетаданныеНабора.ПолноеИмя(); ЕстьОрганизация = (МетаданныеНабора.Измерения.Найти("Организация")<>Неопределено); сидит. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |