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

Как заполнить динамически добавленную колонку

Автор ОльгаЕ, 07 фев 2014, 17:21

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

ОльгаЕ

Здравствуйте. Очень нужна помощь.
Есть обработка. У обработки табличное поле. ТипЗначения = ВнешняяОбработка.ТабличнаяЧасть...
В это табличное поле по мере необходимости нужно добавлять колонки, которые должны иметь положение "на следующей строке" уже написан код, который выдает


А теперь вопрос: как заполнить колонки "номенклатура9", "номенклатура10" и т.д., которые были добавлены динамически, т.е. на момент описания реквизитов обработки их нет?
Код:

      Для каждого ТекущаяСтрока Из Результат Цикл

Если ТекущаяСтрока.ДатаДоставки <> ДатаСт Или ТекущаяСтрока.Автомобиль <> АвтомобильСт ИЛИ ТекущаяСтрока.Объект <> ОбъектСт ИЛИ
ТекущаяСтрока.Заказчик <> ЗаказчикСТ ИЛИ ТекущаяСтрока.ДатаЗаказа <> ДатаЗаказаСТ Тогда

НоваяСтрока = СписокЗаказов.Добавить();
НоваяСтрока.ДатаЗаказа = ТекущаяСтрока.ДатаЗаказа;
НоваяСтрока.ДатаДоставки = ТекущаяСтрока.ДатаДоставки;
НоваяСтрока.НомерЗаказа = ТекущаяСтрока.НомерЗаказа;
НоваяСтрока.Заказчик = ТекущаяСтрока.Заказчик;
НоваяСтрока.Объект = ТекущаяСтрока.Объект;
НоваяСтрока.Автомобиль = ТекущаяСтрока.Автомобиль;
НоваяСтрока.Водитель = ТекущаяСтрока.Водитель;
НоваяСтрока.Номенклатура = ТекущаяСтрока.Номенклатура;
//НоваяСтрока.Количество = ТекущаяСтрока.Количество;
ДатаСТ = ТекущаяСтрока.ДатаДоставки;
АвтомобильСТ = ТекущаяСтрока.Автомобиль;
ЗаказчикСТ = ТекущаяСтрока.Заказчик;
ВодительСТ = ТекущаяСтрока.Водитель;
ОбъектСТ = ТекущаяСтрока.Объект;
ДатаЗаказаСТ = ТекущаяСтрока.ДатаЗаказа;
n = 9;
Иначе

ИмяНовойКолонки = "Номенклатура"+n;
Если ЭлементыФормы.СписокЗаказов.Колонки.Количество() = n Тогда

НоваяКолонка = ЭлементыФормы.СписокЗаказов.Колонки.Вставить(n,ИмяНовойКолонки);
НоваяКолонка.Положение = ПоложениеКолонки.НаСледующейСтроке;
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
ИмяКолонки = НоваяКолонка.Имя;


КонецЕсли;


n = n+1;
КонецЕсли;
КонецЦикла

      

MuI_I_Ika

Нужно хранить количество добавленных динамических колонок и обращаться к ним через скобки [] по имени

ОльгаЕ

Если Вам, не очень сложно, можно конкретно написать какой должен быть код. И я вот все сижу соображаю: у меня в данных у табличного поля стоит табличная часть, а может быть лучше таблица значений?
Добавлено: 07 фев 2014, 20:18


Переписала. Сделала через таблицу значений. Табличное поле тоже заполняется после метода СоздатьКолонки(). НО мне надо, что бы положение колонок было "на следущей строчке", После метода СоздатьКолонки пишу ЭлементыФормы.СписокЗакзовТЧ.Колонки... и вот тут то и засада - она хочет конкретное имя колонки, а переменную не воспринимает. Умоляю помогите :wacko:
Добавлено: 07 фев 2014, 21:04


Всем спасибо. Все получилось. Через ТЗ. Если кому интересно - обращайтесь в личку.

Теги:

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

Рейтинг@Mail.ru

Поиск