Как при динамическом добавлении колонок в ТЗ вставить значение?

1. user817897 2 24.03.20 00:15 Сейчас в теме
Подскажите пожалуйста на обычных формах, как при динамическом добавлении колонок в ТЗ вставить значение?

	
РЗ = Запрос.Выполнить().Выгрузить();
	для Каждого строка из РЗ цикл
		
		Нед = НеделяГода(строка.ПериодНедели);			
		НоваяКолонка = 	ЭлементыФормы.ТЗ.Колонки.Добавить();
		НоваяКолонка.ТекстШапки = Нед;
		НоваяКолонка.Имя = Нед;

КонецЦикла();
Показать

В коде,создаю колонку,как сразу в её записать значение?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. tusv 211 24.03.20 08:44 Сейчас в теме
(1)У Вас обычные формы.
Достаточно
ЭлементыФормы.ТЗ.Значение=Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТЗ.СоздатьКолонки();
2. burgomister 59 24.03.20 04:10 Сейчас в теме
1. Поскольку у вас цикл по строкам, значит колонок будет столько, сколько строк.
2. Присвоение значения в новой ячейке: строка.НоваяКолонка = что-то там;
3. То есть значение будет присвоено только в текущей строке в новой колонке.
4. Вообще очень странный код. Какая цель?
5. user817897 2 24.03.20 10:52 Сейчас в теме
(2) Цель такая:

Есть Набитый список номенклатуры подбором,далее заполняются автоматически где-то остатки,где-то количество для списания,и т.д. много разных данные.
Но мне необходимо между этими колонками каким-то образом создать 20 колонок динамических и заполнить в них данные продаж максимальное количество:
То есть Сегодня у нас 13-я неделя года, было продано по первой строке:
50неделя 51неделя 52неделя 53неделя 1неделя 2неделя и т.д. и в каждую колонку вбить помимо данных которе уже заполнены,заполнить эти динамические колонки.
Это как бы сказать будет (Документ - отчёт). Чтобы потом Человек которые будет анализировать эти 20 колонок и остальные колонки. и делать дальнейшие манипуляции с этим документом(нарядом на комплектацию)
8. user817897 2 24.03.20 11:31 Сейчас в теме
(2)вообще,по правильному было бы мне сделать создание колонок по какому-нибудь календарю) но хз как))
9. user817897 2 24.03.20 11:43 Сейчас в теме
(2) вот сам запрос:

Для каждого стр из  ЭтотОбъект.Товары цикл
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПродажиОбороты.Номенклатура,
		|	СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество,
		|	ПродажиОбороты.Период КАК ПериодНедели
		|ИЗ
		|	РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Неделя, ) КАК ПродажиОбороты
		|ГДЕ
		|	ПродажиОбороты.Номенклатура = &Номенклатура
		|
		|СГРУППИРОВАТЬ ПО
		|	ПродажиОбороты.Номенклатура,
		|	ПродажиОбороты.Период
		|
		|УПОРЯДОЧИТЬ ПО
		|	ПродажиОбороты.Период";
	
	Запрос.УстановитьПараметр("НачалоПериода", НачалоНедели(ТекущаяДата()-86400*150) );
	Запрос.УстановитьПараметр("КонецПериода", КонецНедели(ТекущаяДата()));
	Запрос.УстановитьПараметр("Номенклатура", стр.Номенклатура);
	
	РЗ = Запрос.Выполнить().Выгрузить();
	для Каждого строка из РЗ цикл
		
		Нед = НеделяГода(строка.ПериодНедели);			
		НоваяКолонка = 	ЭлементыФормы.ТЗ.Колонки.Добавить();
		НоваяКолонка.ТекстШапки = Нед;
		НоваяКолонка.Имя = Нед;
		
		//строка.количество сразу в эту колонку как внести?
	КонецЦикла;	

Прервать;

	КонецЦикла;
Показать
3. maksbl 12 24.03.20 06:13 Сейчас в теме
Перед циклом создай эту колонку и записывай в цикле значения в строку этой колонки.
danjer74; +1 Ответить
6. burgomister 59 24.03.20 10:58 Сейчас в теме
7. user817897 2 24.03.20 11:30 Сейчас в теме
(3) а как можно создать эти колонки,между уже существующими колонками,а не в конце всех колонок?
10. burgomister 59 24.03.20 12:12 Сейчас в теме
(7) Метод Вставить имеет следующий синтаксис:

Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)

Метод Вставить имеет синтаксис, как и у метода Добавить, но только появился первый параметр Индекс, он указывает тот индекс, на место которого будет вставляться новая колонка.

ОписаниеТиповСтрока = Новый ОписаниеТипов(«Строка»);
ОписаниеТиповДата   = Новый ОписаниеТипов(«Дата»)

ФИО = Новый ТаблицаЗначений;
ФИО.Колонки.Добавить(«Фамилия»,ОписаниеТиповСтрока,«Фамилия»,50);
ФИО.Колонки.Добавить(«Имя»,ОписаниеТиповСтрока,«Имя»,50);
ФИО.Колонки.Добавить(«Отчество»,ОписаниеТиповСтрока,«Отчество»,50);
ФИО.Колонки.Добавить(«ДатаРождения»,ОписаниеТиповДата,«Дата рождения»,10);

ФИО.Колонки.Вставить(3,«ФИО»,ОписаниеТиповСтрока,«ФИО»,50);
Показать


В нашем случае колонка ФИО встала точно между Отчеством и Датой рождения.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот