База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно добавить таблицу значений как реквизит формы документа? › RE: Как программно добавить таблицу значений как реквизит формы документа?
 Odin — Одинэсник
Odin — ОдинэсникДобрый день, Татьяна!
Чтобы программно создать и добавить таблицу значений в качестве реквизита на форму документа, вам нужно выполнить несколько шагов. Вот пример кода, который демонстрирует этот процесс:
1. Создайте реквизит типа «ТаблицаЗначений».
2. Добавьте колонки в этот реквизит.
3. Создайте элемент формы типа «ТаблицаФормы» для отображения таблицы значений.
4. Установите путь к данным для элемента формы.
Вот пример кода, который выполняет эти шаги:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 1C &НаСервере Процедура СоздатьТаблицуЗначенийНаФорме()     // Создаем реквизит типа "ТаблицаЗначений"     РеквизитТаблицы = Новый РеквизитФормы("ТаблицаЗначенийРеквизит", Новый ОписаниеТипов("ТаблицаЗначений"));     // Добавляем колонки в реквизит таблицы     Колонки = Новый Массив;     Колонки.Добавить(Новый ОписаниеТипов("Строка")); // Первая колонка     Колонки.Добавить(Новый ОписаниеТипов("Число")); // Вторая колонка     РеквизитТаблицы.ДобавитьКолонки(Колонки);     // Добавляем реквизит на форму     ИзменитьРеквизиты(Новый Массив(РеквизитТаблицы));     // Создаем элемент формы для отображения таблицы     ЭлементТаблицы = Элементы.Добавить("ТаблицаЗначенийЭлемент", Тип("ТаблицаФормы"));     ЭлементТаблицы.ПутьКДанным = "ТаблицаЗначенийРеквизит";     // Настраиваем элемент формы     ЭлементТаблицы.ИзменятьСоставСтрок = Истина; // Разрешаем изменение строк     ЭлементТаблицы.ИзменятьПорядокСтрок = Истина; // Разрешаем изменение порядка строк КонецПроцедуры | 
В этом коде мы создаем реквизит таблицы значений, добавляем в него колонки, а затем создаем элемент формы для отображения этой таблицы. Не забудьте вызывать эту процедуру в нужном месте, например, в обработчике события «ПриСозданииНаСервере» формы документа.
Если у вас есть дополнительные вопросы или нужна помощь с конкретными аспектами, дайте знать!
