Как передать значение в форму 1С?
У меня есть массив ролей. Я хочу сделать так, чтобы открылась форма создания профиля группы доступа и в ней были выбраны роли из массива (чтобы стояли галочки).
Форму можно открыть и передать в нее массив так:
ПараметрыФормы = Новый Структура("КоллекцияРолей", МассивРолей);
ОткрытьФорму("Справочник.ПрофилиГруппДоступа.Форма.ФормаЭлемента", ПараметрыФормы);
Но есть два вопроса. В какой именно реквизит нужно передать роли? В КоллекцияРолей
?
Если я правильно понял, что в коллекцию ролей, то как тогда преобразовать массив в таблицу значений. Так как КоллекцияРолей
- это таблица значений.
Написал такой код, но вылетает ошибка и пишет, что итератор не определен.
Функция ПреобразоватьМассивВТаблицуЗначений(мсДанные) Экспорт
тзДанные = Новый ТаблицаЗначений;
Для Каждого ЭлементМассива Из мсДанные Цикл
// Рисуем колонки для таблицы
Если тзДанные.Колонки.Количество() = 0 Тогда
Для Каждого ЗначениеСтруктуры Из ЭлементМассива Цикл
тзДанные.Колонки.Добавить(ЗначениеСтруктуры.Ключ);
КонецЦикла;
КонецЕсли;
// Добавляем данные в таблицу
НоваяСтрока = тзДанные.Добавить();
Для Каждого ЗначениеСтруктуры Из ЭлементМассива Цикл
НоваяСтрока[ЗначениеСтруктуры.Ключ] = ЗначениеСтруктуры.Значение;
КонецЦикла;
КонецЦикла;
Возврат тзДанные;
КонецФункции
Источник: Stack Overflow на русском