Версия для печати темы (https://pro1c.org.ua/index.php?s=e195966d0bbc79d9a95ae305339822d6&showtopic=30422)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Процедура "НачалоВыбора" при отказе ошибка: Значение не является значением объектного типа

Автор: Constantus 18.06.16, 7:38

Приветствую, Форумчане!

УТ 10.3, 1с8.2, обычное

Процедура ПоставкаНачалоВыбора(Элемент, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;

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

Сумма = Выбор.СуммаДокумента;
ВалютаДокумента = Выбор.ВалютаДокумента;
КонтрагентДебитор = Выбор.Контрагент;
ДоговорКонтрагента = Выбор.ДоговорКонтрагента;
//Сообщить("1");
КонецЕсли;


КонецПроцедуры


На форме Реквизит "Поставка" осуществляет подбор Реализаций и установку необходимых из Реализации данных. В частности, берет СуммуДокумента реализации и устанавливает в форме это значение:

Сумма = Выбор.СуммаДокумента;


Но в случае отказа от выбора Реализации, выдает ошибку: Значение не является значением объектного типа (СуммаДокумента)

Как исключить эту ошибку или отказаться от дальнейшего выполнения кода в случае отказа?

Автор: logist 18.06.16, 15:16

Выбор = ФормаВыбора.ОткрытьМодально();
Если Выбор <> Неопределено Тогда
// Делаем что надо
Иначе
// выбора не было
КонецЕсли;

Учитесь пользоваться встроенной справкой, там всё написано, ну и отладчиком.

Автор: Constantus 20.06.16, 6:46

logist @ 18.06.16, 18:16 *,

Да, так и сделал. Впал в панику и не разобравшись полез на форум

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua