Odin | База знаний 1С

Как выполнить корре...
 

Как выполнить корректное открытие формы документа в 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

&После("ПриВыбореДействияСообщенияСистемыВзаимодействия")Процедура Расш1_ПриВыбореДействияСообщенияСистемыВзаимодействия(Сообщение, Действие)
Если ТипЗнч(Действие) = Тип("Структура") Тогда
Если Действие.Тип = "ОткрытьФормуДокумента" Тогда ОткрытьФормуДокумента(Действие.Документ, Действие.Данные);
КонецЕсли;
КонецЕсли;КонецПроцедуры

Процедура ОткрытьФормуДокумента(Документ, Данные)
ФормаДокумента = ОткрытьФорму("Документ." + Документ + ".Форма.Объект"); ФормаДокумента.ЗаполнитьДанные(Данные);
ФормаДокумента.Открыть();КонецПроцедуры
Вот тут тоже подправь чтоб срабатывал



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для того чтобы код срабатывал корректно, необходимо убедиться, что вызываемая форма документа действительно существует и что передаваемые параметры (документ и данные) корректны. Также стоит добавить обработку ошибок для более надежного выполнения. Вот исправленный вариант вашего кода:

1C
&После("ПриВыбореДействияСообщенияСистемыВзаимодействия") 
Процедура Расш1_ПриВыбореДействияСообщенияСистемыВзаимодействия(Сообщение, Действие)
    Если ТипЗнч(Действие) = Тип("Структура") Тогда
        Если Действие.Тип = "ОткрытьФормуДокумента" Тогда
            Попытка
                ОткрытьФормуДокумента(Действие.Документ, Действие.Данные);
            Исключение
                Сообщить("Ошибка при открытии формы документа: " + ОписаниеОшибки());
            КонецПопытки;
        КонецЕсли;        
    КонецЕсли;
КонецПроцедуры

Процедура ОткрытьФормуДокумента(Документ, Данные)
    Попытка
        ФормаДокумента = ОткрытьФорму("Документ." + Документ + ".Форма.Объект");
        ФормаДокумента.ЗаполнитьДанные(Данные);
        ФормаДокумента.Открыть();
    Исключение
        Сообщить("Ошибка при открытии формы документа: " + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

В этом коде добавлены блоки `Попытка...Исключение`, которые помогут отловить ошибки при открытии формы документа и сообщить об этом пользователю. Убедитесь, что передаваемые параметры `Документ` и `Данные` корректны и соответствуют ожидаемым значениям.



   
ОтветитьЦитата