Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Добавить структуру в список значений

Добавить структуру в список значений
Я
   Mechanik21
 
22.06.20 - 14:18
Чтобы понимать, какой именно элемент выбирает пользователь из списка значений в таблицу на форме типа "ДанныеФормыКоллекция", я ввёл идентификатор.
Но при попытке загнать структуру с идентификатором столкнулся с трудностью.
дело в том, что в оповещённой процедуре, которая вызывается из "показать выбор из списка", Структура обозначена просто как тип структура, без свойств структуры с ключами и значениями.

&НаКлиенте
Процедура НачалоВыбора(КлючПоля, КлючЭлемента)
    
    Если СтруктурыФизическиеЛица.Количество() > 0 Тогда
        СписокДляВыбора = Новый СписокЗначений;
        СтруктураДляСпискаДляВыбора = Новый Структура;
        Для каждого ФизЛицо Из СтруктурыФизическиеЛица Цикл
            СтруктураДляСпискаДляВыбора.Вставить("ФИОФизЛицо", ФизЛицо.ФИОФизическоеЛицо);
            СтруктураДляСпискаДляВыбора.Вставить("Идентификатор", ФизЛицо.Идентификатор);
            СписокДляВыбора.Добавить(СтруктураДляСпискаДляВыбора, ФизЛицо.ФИОФизическоеЛицо);
            СтруктураДляСпискаДляВыбора.Очистить();
        КонецЦикла;
                
        ТекущиеДанные = Элементы[КлючЭлемента].ТекущиеДанные;
        ПараметрыТаблицы = Новый Структура;
        ПараметрыТаблицы.Вставить("ТекущиеДанные", ТекущиеДанные);
        ПараметрыТаблицы.Вставить("КлючПоля", КлючПоля);
        ПараметрыТаблицы.Вставить("КлючЭлемента", КлючЭлемента);
        
        ПоказатьВыборИзСписка(Новый ОписаниеОповещения("НачалоВыбораЗавершение", ЭтаФорма, ПараметрыТаблицы), СписокДляВыбора, Элементы[КлючЭлемента]);
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура НачалоВыбораЗавершение(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт
    
    ТекущиеДанные = ДополнительныеПараметры.ТекущиеДанные;
//в ВыбранныйЭлемент есть в поле "Значение" с типом Структура
//значений же структуры нет
    Если ВыбранныйЭлемент <> Неопределено Тогда    
        ТекущиеДанные[ДополнительныеПараметры.КлючПоля] = ВыбранныйЭлемент;
    КонецЕсли;
    //ПриИзмененииФизическогоЛица(ДополнительныеПараметры.КлючПоля, ДополнительныеПараметры.КлючЭлемента);

КонецПроцедуры
   Mechanik21
 
1 - 22.06.20 - 14:41
Вопрос решён

СписокДляВыбора.Добавить(СтруктураДляСпискаДляВыбора, ФизЛицо.ФИОФизическоеЛицо);
            СтруктураДляСпискаДляВыбора.Очистить();// Ошибка в этой строке

+ поменял местами вот эти строки
СтруктураДляСпискаДляВыбора = Новый Структура;
Для каждого ФизЛицо Из СтруктурыФизическиеЛица Цикл
   ДенисЧ
 
2 - 22.06.20 - 14:41
Приятно )))

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.