Как при динамическом добавлении колонок в ТЗ вставить значение?
Подскажите пожалуйста на обычных формах, как при динамическом добавлении колонок в ТЗ вставить значение?
В коде,создаю колонку,как сразу в её записать значение?
РЗ = Запрос.Выполнить().Выгрузить();
для Каждого строка из РЗ цикл
Нед = НеделяГода(строка.ПериодНедели);
НоваяКолонка = ЭлементыФормы.ТЗ.Колонки.Добавить();
НоваяКолонка.ТекстШапки = Нед;
НоваяКолонка.Имя = Нед;
КонецЦикла();
ПоказатьВ коде,создаю колонку,как сразу в её записать значение?
По теме из базы знаний
- Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример
- Обзор полезных методов БСП 3.1.4
- Добавление состояния согласования из 1С: Документооборот
- Подсистема регулярных выражений с использованием RegEx
- Дополнительные параметризуемые поля в динамических списках. Остатки и цены в списке номенклатуры
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
1. Поскольку у вас цикл по строкам, значит колонок будет столько, сколько строк.
2. Присвоение значения в новой ячейке: строка.НоваяКолонка = что-то там;
3. То есть значение будет присвоено только в текущей строке в новой колонке.
4. Вообще очень странный код. Какая цель?
2. Присвоение значения в новой ячейке: строка.НоваяКолонка = что-то там;
3. То есть значение будет присвоено только в текущей строке в новой колонке.
4. Вообще очень странный код. Какая цель?
(2) Цель такая:
Есть Набитый список номенклатуры подбором,далее заполняются автоматически где-то остатки,где-то количество для списания,и т.д. много разных данные.
Но мне необходимо между этими колонками каким-то образом создать 20 колонок динамических и заполнить в них данные продаж максимальное количество:
То есть Сегодня у нас 13-я неделя года, было продано по первой строке:
50неделя 51неделя 52неделя 53неделя 1неделя 2неделя и т.д. и в каждую колонку вбить помимо данных которе уже заполнены,заполнить эти динамические колонки.
Это как бы сказать будет (Документ - отчёт). Чтобы потом Человек которые будет анализировать эти 20 колонок и остальные колонки. и делать дальнейшие манипуляции с этим документом(нарядом на комплектацию)
Есть Набитый список номенклатуры подбором,далее заполняются автоматически где-то остатки,где-то количество для списания,и т.д. много разных данные.
Но мне необходимо между этими колонками каким-то образом создать 20 колонок динамических и заполнить в них данные продаж максимальное количество:
То есть Сегодня у нас 13-я неделя года, было продано по первой строке:
50неделя 51неделя 52неделя 53неделя 1неделя 2неделя и т.д. и в каждую колонку вбить помимо данных которе уже заполнены,заполнить эти динамические колонки.
Это как бы сказать будет (Документ - отчёт). Чтобы потом Человек которые будет анализировать эти 20 колонок и остальные колонки. и делать дальнейшие манипуляции с этим документом(нарядом на комплектацию)
(2) вот сам запрос:
Для каждого стр из ЭтотОбъект.Товары цикл
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество,
| ПродажиОбороты.Период КАК ПериодНедели
|ИЗ
| РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Неделя, ) КАК ПродажиОбороты
|ГДЕ
| ПродажиОбороты.Номенклатура = &Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ПродажиОбороты.Номенклатура,
| ПродажиОбороты.Период
|
|УПОРЯДОЧИТЬ ПО
| ПродажиОбороты.Период";
Запрос.УстановитьПараметр("НачалоПериода", НачалоНедели(ТекущаяДата()-86400*150) );
Запрос.УстановитьПараметр("КонецПериода", КонецНедели(ТекущаяДата()));
Запрос.УстановитьПараметр("Номенклатура", стр.Номенклатура);
РЗ = Запрос.Выполнить().Выгрузить();
для Каждого строка из РЗ цикл
Нед = НеделяГода(строка.ПериодНедели);
НоваяКолонка = ЭлементыФормы.ТЗ.Колонки.Добавить();
НоваяКолонка.ТекстШапки = Нед;
НоваяКолонка.Имя = Нед;
//строка.количество сразу в эту колонку как внести?
КонецЦикла;
Прервать;
КонецЦикла;
Показать
(7) Метод Вставить имеет следующий синтаксис:
Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)
Метод Вставить имеет синтаксис, как и у метода Добавить, но только появился первый параметр Индекс, он указывает тот индекс, на место которого будет вставляться новая колонка.
В нашем случае колонка ФИО встала точно между Отчеством и Датой рождения.
Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)
Метод Вставить имеет синтаксис, как и у метода Добавить, но только появился первый параметр Индекс, он указывает тот индекс, на место которого будет вставляться новая колонка.
ОписаниеТиповСтрока = Новый ОписаниеТипов(«Строка»);
ОписаниеТиповДата = Новый ОписаниеТипов(«Дата»)
ФИО = Новый ТаблицаЗначений;
ФИО.Колонки.Добавить(«Фамилия»,ОписаниеТиповСтрока,«Фамилия»,50);
ФИО.Колонки.Добавить(«Имя»,ОписаниеТиповСтрока,«Имя»,50);
ФИО.Колонки.Добавить(«Отчество»,ОписаниеТиповСтрока,«Отчество»,50);
ФИО.Колонки.Добавить(«ДатаРождения»,ОписаниеТиповДата,«Дата рождения»,10);
ФИО.Колонки.Вставить(3,«ФИО»,ОписаниеТиповСтрока,«ФИО»,50);
ПоказатьВ нашем случае колонка ФИО встала точно между Отчеством и Датой рождения.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот