Имя: Пароль:
1C
 
Проверка мутабельных значений на заполненность не поддерживается
0 ded20ded
 
27.09.16
11:59
Добрый день подскажите как избавить от ошибки. Нужно при выборе адреса доставки, подтягивать комментарий в реализацию

исправил две процедуры

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

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

    КонтрагентАдресаДоставки = ?(Грузополучатель.Пустая(), Контрагент, Грузополучатель);
    
    Если НЕ ЗначениеЗаполнено(КонтрагентАдресаДоставки) Тогда
        ВвестиЗначение(КонтрагентАдресаДоставки, "Выберите контрагента");
    КонецЕсли;

    Если ЗначениеЗаполнено(КонтрагентАдресаДоставки) Тогда
        ФормаВыбора = РегистрыСведений.КонтактнаяИнформация.ПолучитьФормуСписка("ФормаСписка", ЭтаФорма);
        ФормаВыбора.РежимВыбора = Истина;

        ФормаВыбора.РегистрСведенийСписок.Отбор.Объект.Значение = КонтрагентАдресаДоставки;
        ФормаВыбора.РегистрСведенийСписок.Отбор.Объект.Использование = Истина;

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

        ВыбАдресДоставки = ФормаВыбора.ОткрытьМодально();
        //изм______________
        //Если ЗначениеЗаполнено(ВыбАдресДоставки) Тогда
        //    АдресДоставки = ВыбАдресДоставки;
        //КонецЕсли;
        Если ЗначениеЗаполнено(ВыбАдресДоставки) Тогда
            Ад=СокрЛП(ВыбАдресДоставки.Представление);
        Иначе
            Ад="";
        КонецЕсли;

        Если ЗначениеЗаполнено(АД) Тогда
            АдресДоставки = Ад;
            Комментарий=СокрЛП(ВыбАдресДоставки.Комментарий);
        КонецЕсли;

        //изм______________

    КонецЕсли;

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


и=======================================


Процедура РегистрСведенийСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

    Если ЭтаФорма.РежимВыбора Тогда
        СтандартнаяОбработка = Ложь;
        //изм______________
        Если мВозвратДанныхКонтактнойИнформации = Истина Тогда
            ЭтаФорма.Закрыть(Элемент.ТекущиеДанные);
        Иначе
            //изм_____
            //ЭтаФорма.Закрыть(Элемент.ТекущиеДанные.Представление);
            ЭтаФорма.Закрыть(Элемент.ТекущиеДанные);
        КонецЕсли;
        //изм______________
    КонецЕсли;
    
КонецПроцедуры
1 ded20ded
 
27.09.16
12:00
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(2649)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
        Если ЗначениеЗаполнено(ВыбАдресДоставки) Тогда
по причине:
Проверка мутабельных значений на заполненность не поддерживается
2 1dvd
 
27.09.16
12:05
отладчиком посмотри тип значения ВыбАдресДоставки
3 ded20ded
 
27.09.16
12:34
сделал так взлетело
LDVD спасибо за подсказку

        Если ТипЗнч(ВыбАдресДоставки)=Тип("ТекущиеДанныеСписка") Тогда
            Ад=СокрЛП(ВыбАдресДоставки.Представление);
        Иначе
            Ад="";
        КонецЕсли;
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.