Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:18

Создание поля с выбором из списка

Автор magnifico61, 05 окт 2017, 15:50

0 Пользователей и 1 гость просматривают эту тему.

magnifico61


//Добавляем страницы
      лСтраница = Элементы.Добавить("Страница" + НомСтр, Тип("ГруппаФормы"), ЭтаФорма.Элементы.ГруппаСтраницы);
      лСтраница.Вид = ВидГруппыФормы.Страница;
    лСтраница.Заголовок = Строка.Определение.Определение.НаименованиеПолное;
лСтраница.Видимость = Ложь;
лСтраница.Подсказка = Строка.Определение.Определение.НаименованиеПолное;

НовСтрока = СписокСтраниц.Добавить();
НовСтрока.Определение = Строка.Определение;
НовСтрока.Заголовок = Строка.Определение.Определение.НаименованиеПолное;
НовСтрока.Страница = "Страница" + НомСтр;

    МассивТипаВыбора = Новый Массив;
    МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений"));
    ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
    МассивРеквизитов = Новый Массив;
    МассивРеквизитов.Добавить(Новый РеквизитФормы("Таблица" + НомТаб, ОписаниеТипаВыбора, , "Таблица" + НомТаб));

    СписокЭлементов = ПолучитьЭлементыОпределенияХайп(Строка.Определение);

СписокЭлементов.Колонки.Добавить("ИмяРеквизита");
КолвоАналитик = 0;
    Для Каждого СтрокаЭлемент Из СписокЭлементов Цикл

ЕстьТип = Ложь;
Если СтрокаЭлемент.Аналитика Тогда
КолвоАналитик = КолвоАналитик + 1;
Аналитика = ПланыВидовХарактеристик.xlАналитикиПоказателейОтчетов.НайтиПоРеквизиту("Элемент", СтрокаЭлемент.ЭлементТаксономии);
Если Аналитика.ПроизвольноеЗначение Тогда
Продолжить;
КонецЕсли;
ТипОписания = Новый ОписаниеТипов("Строка");
ЕстьТип = Истина;
КонецЕсли;

Если НЕ ЕстьТип Тогда
ТипОписания = ПолучитьТипОписания(СтрокаЭлемент.ЭлементТаксономии.ТипЭлемента);
КонецЕсли;

    МассивРеквизитов.Добавить(Новый РеквизитФормы("Реквизит" + Ном, ТипОписания, "Таблица" + НомТаб, СтрокаЭлемент.Наименование, Истина));
    СтрокаЭлемент.ИмяРеквизита = "Реквизит" + Ном;

Стр = ЭтотОбъект.РеквизитыТаблиц.Добавить();
    Стр.ЭлементТаксономии = СтрокаЭлемент.ЭлементТаксономии;
    Стр.Таблица = "Таблица" + НомТаб;
    Стр.Реквизит = "Реквизит" + Ном;
Стр.Аналитика = СтрокаЭлемент.Аналитика;

    Ном = Ном + 1;
    КонецЦикла;
   
    ИзменитьРеквизиты(МассивРеквизитов);     
    ТаблицаПолейВыбора = Элементы.Добавить("Таблица" + НомТаб, Тип("ТаблицаФормы"), лСтраница);
    ТаблицаПолейВыбора.ПутьКДанным = "Таблица" + НомТаб;
    ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список;
    ТаблицаПолейВыбора.Видимость = Истина;

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

КонецЕсли;

        КонецЦикла;


Есть такой код формирования таблицы и ее полей. некоторые колонки строковые, некоторые числовые, в зависимости от получаемого типа. Все это на сервере. Как сделать тип ссылка на справочник и выбирать из ограниченного списка(задать список выбора)?

magnifico61

неужели никто не знает как создать элемент с выбором из списка?
Добавлено: 06 окт 2017, 17:10


Сделал чтобы выбирался список. Элемент имеет тип СправочникСсылка. Есть выпадающий список с заданными значениями, но все равно можно выбрать любое значение из всего справочника. как ограничить выбор в этом случае?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск