|
Добавить структуру в список значений | ☑ | ||
|---|---|---|---|---|
|
0
Mechanik21
22.06.20
✎
14:18
|
Чтобы понимать, какой именно элемент выбирает пользователь из списка значений в таблицу на форме типа "ДанныеФормыКоллекция", я ввёл идентификатор.
Но при попытке загнать структуру с идентификатором столкнулся с трудностью. дело в том, что в оповещённой процедуре, которая вызывается из "показать выбор из списка", Структура обозначена просто как тип структура, без свойств структуры с ключами и значениями. &НаКлиенте Процедура НачалоВыбора(КлючПоля, КлючЭлемента) Если СтруктурыФизическиеЛица.Количество() > 0 Тогда СписокДляВыбора = Новый СписокЗначений; СтруктураДляСпискаДляВыбора = Новый Структура; Для каждого ФизЛицо Из СтруктурыФизическиеЛица Цикл СтруктураДляСпискаДляВыбора.Вставить("ФИОФизЛицо", ФизЛицо.ФИОФизическоеЛицо); СтруктураДляСпискаДляВыбора.Вставить("Идентификатор", ФизЛицо.Идентификатор); СписокДляВыбора.Добавить(СтруктураДляСпискаДляВыбора, ФизЛицо.ФИОФизическоеЛицо); СтруктураДляСпискаДляВыбора.Очистить(); КонецЦикла; ТекущиеДанные = Элементы[КлючЭлемента].ТекущиеДанные; ПараметрыТаблицы = Новый Структура; ПараметрыТаблицы.Вставить("ТекущиеДанные", ТекущиеДанные); ПараметрыТаблицы.Вставить("КлючПоля", КлючПоля); ПараметрыТаблицы.Вставить("КлючЭлемента", КлючЭлемента); ПоказатьВыборИзСписка(Новый ОписаниеОповещения("НачалоВыбораЗавершение", ЭтаФорма, ПараметрыТаблицы), СписокДляВыбора, Элементы[КлючЭлемента]); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура НачалоВыбораЗавершение(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт ТекущиеДанные = ДополнительныеПараметры.ТекущиеДанные; //в ВыбранныйЭлемент есть в поле "Значение" с типом Структура //значений же структуры нет Если ВыбранныйЭлемент <> Неопределено Тогда ТекущиеДанные[ДополнительныеПараметры.КлючПоля] = ВыбранныйЭлемент; КонецЕсли; //ПриИзмененииФизическогоЛица(ДополнительныеПараметры.КлючПоля, ДополнительныеПараметры.КлючЭлемента); КонецПроцедуры |
|||
|
1
Mechanik21
22.06.20
✎
14:41
|
Вопрос решён
СписокДляВыбора.Добавить(СтруктураДляСпискаДляВыбора, ФизЛицо.ФИОФизическоеЛицо); СтруктураДляСпискаДляВыбора.Очистить(); // Ошибка в этой строке + поменял местами вот эти строки СтруктураДляСпискаДляВыбора = Новый Структура; Для каждого ФизЛицо Из СтруктурыФизическиеЛица Цикл |
|||
|
2
ДенисЧ
22.06.20
✎
14:41
|
Приятно )))
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |