Имя: Пароль:
1C
1С v8
Ошибка при ПоказатьВыборИзСписка
,
0 seraf
 
26.06.20
12:07
Привет, подскажите почему выбивает при выборе ошибку "Отсутствует отображение для типа 'ЭлементСпискаЗначений"

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

    Если Поле.Имя = "Статус" Тогда

        СтандартнаяОбработка = Ложь;
        СписокСтатусов = ПеречислениеВСписок("Статусы");
        УИД = Элемент.ТекущиеДанные.УникальныйИдентификаторУслуги;
    
        Оп = Новый ОписаниеОповещения("ВыполнитьПослеВыбора", ЭтотОбъект, УИД);
        ПоказатьВыборИзСписка(Оп, СписокСтатусов

    КонецЕсли;

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


&НаСервере
Функция ВыполнитьПослеВыбора(Результат, Параметр)
    
    РСМенеджер = РегистрыСведений.Статусы.СоздатьМенеджерЗаписи();
    РСМенеджер.УникальныйИдентификаторУслуги = Пар2;
    РСМенеджер.Прочитать();
    
КонецФункции
1 seraf
 
26.06.20
12:08
В СП ж вроде список значений вторым параметром передается, чет не пойму
2 Волшебник
 
модератор
26.06.20
12:09
В приведённом коде синтаксические ошибки
    ПоказатьВыборИзСписка(Оп, СписокСтатусов

а дальше?
3 ДенисЧ
 
26.06.20
12:14
СписокСтатусов = ПеречислениеВСписок("Статусы");

Это что? Тема (.)(.) не раскрыта
4 palsergeich
 
26.06.20
12:14
(0) описание оповещения может вызвать ТОЛЬКО клиентскую процедуру
5 seraf
 
26.06.20
12:15
(2) ничего, скобку не ухватил при копировании
6 seraf
 
26.06.20
12:15
(3)
&НаСервере
Функция ПеречислениеВСписок(ИмяПеречисления)

    СписокРез = Новый СписокЗначений;

    Для Каждого ПерЗнч Из Перечисления[ИмяПеречисления] Цикл
        СписокРез.Добавить(ПерЗнч);
    КонецЦикла;

    Возврат СписокРез;

КонецФункции
7 seraf
 
26.06.20
12:16
(4) хм... но оно её вполне себе вызывает если я выбор из выпадающего списка не сделал. а если сделал то падает
8 palsergeich
 
26.06.20
12:16
Во вторых - это ассинхронное выполнение и на момент выполнения этой строчки ПоказатьВыборИзСписка(Оп, СписокСтатусов)Данных еще нет.
Переписать в общем
9 palsergeich
 
26.06.20
12:18
(7) Потому что показать выбор - он показывает окно на клиенте.
Просто берет и показывает, код в модуле выполняется дальше, не дожидаясь выбора.
А после выбора старается вызвать процедуру, которая описана в ОписанииОповещения.
10 palsergeich
 
26.06.20
12:19
(8) "ПоказатьВыборИзСписка(Оп, СписокСтатусов)Данных" - тут я не прав
11 seraf
 
26.06.20
12:28
Я так понимаю в Результат не удается передать выбранное значение типа ЭлементСпискаЗначений, при этом параметр для выбора это список значений
короче вызывать ВыполнитьПослеВыбора на клиенте, а оттуда уже обращаться к серверу?
12 palsergeich
 
26.06.20
12:36
(11) именно
13 seraf
 
26.06.20
12:43
ок спасибо
14 seraf
 
26.06.20
12:59
Чтоб не плодить еще тему, на этой форме динамический список.


&НаКлиенте
Процедура ВыполнитьПослеВыбора(Рез, Парам) Экспорт
    
    ЗнчСтр = Строка(Рез);
    ВнестиИзменения(ЗнчСтр, Парам);
    ЭтаФорма.ОбновитьОтображениеДанных(); //почему это не отрабатывает??
    
КонецПроцедуры
15 palsergeich
 
26.06.20
14:44
(14) Элементы.имяСписка.обновить()
16 FIXXXL
 
26.06.20
15:19
(6) Это лучше БезКонтекста вызывать...