|   |   | 
| 
 | Как отловить отказ? | ☑ | ||
|---|---|---|---|---|
| 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) спасибо вопрос решен: тут еще оказывается Процедура ПроверкаПериодаЗаписей(НаборЗаписей, Отказ) Экспорт
 СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить(); ЕСли СоответствиеГраницЗапрета = Неопределено Тогда Возврат; КонецЕсли; МетаданныеНабора = НаборЗаписей.Метаданные(); ИмяРегистра = МетаданныеНабора.ПолноеИмя(); ЕстьОрганизация = (МетаданныеНабора.Измерения.Найти("Организация")<>Неопределено); сидит. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |