Имя: Пароль:
1C
1С v8
Падает платформа
0 ponaroshku
 
03.03.14
14:01
Добрый день!

Платформа 1С:Предприятие 8.2 (8.2.19.83)

Ситуация: создаем документ,что-нибудь заполняем, закрываем.
Система задает вопрос сохранить/нет

Если нажимаем нет, платформа падает

Смущает код "Перед закрытием" формы документа:

    
Если Модифицированность Тогда

        // ЗакрытиеПроисходит - реквизит формы
        Если ЗакрытиеПроисходит Тогда
            СтандартнаяОбработка=Ложь;
            Возврат;
        КонецЕсли;
        
        РезультатВопроса=Вопрос(НСтр("en='Document has been changed. Do you want to save changes?';ru='Документ был изменен. Сохранить изменения?'"), РежимДиалогаВопрос.ДаНетОтмена,,,НСтр("ru='НашаКонфигурация""';en='EDS ""НашаКонфигурация""'"));
        Если РезультатВопроса=КодВозвратаДиалога.Нет Тогда
            ЗакрытиеПроисходит=Истина;
            

            // а именно вот это - зачем так сделал разработчик, какая цель?
            ЭтаФорма.Закрыть();
            

            СтандартнаяОбработка=Ложь;
            Возврат;
                    
        ИначеЕсли РезультатВопроса=КодВозвратаДиалога.Отмена Тогда
            Отказ=Истина;
            Возврат;
            
        КонецЕсли;
        
        //сохраним значения и продолжим закрытие
        
        ЭтаФорма.Записать();
        
    КонецЕсли;



Попробовала закомментировать
// ЭтаФорма.Закрыть();


Падения ушли

Вопрос - зачем нужен там этот код?
1 Maxus43
 
03.03.14
14:06
а что за конфа то?
2 Wobland
 
03.03.14
14:06
неужели и тут кто-то распылил вещество, отключающее кору головного мозга?
3 fmrlex
 
03.03.14
14:08
Видимо ЗакрытиеПроисходит в истину не устанавливается.
4 fmrlex
 
03.03.14
14:09
И вряд ли это типовая.
5 Рыцарь
 
03.03.14
14:13
Похоже, что возникает рекурсия при закрытии. Закоментировала, все работает, значит все хорошо)