Есть такая таблица:
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка.Колонка1;
ТЗ.НоваяКолонка.Колонка2;
........
ТЗ.НоваяКолонка.Колонка99;
В какой-то момент получено значение, 1000, например, которое надо положить в ТЗ, но я не могу это сделать так
ТЗ.Колонка55 = 1000; например, т.к. не знаю номер колонки.
но мне известен ее номер 55, лежит в переменной N, например.
Так вот, как положить это значение в колонку
ТЗ.КолонкаN
Штуки типа ТЗ.Колонка+N не понимаем в упор.
Может кто сталкивался?
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка.Колонка1;
ТЗ.НоваяКолонка.Колонка2;
........
ТЗ.НоваяКолонка.Колонка99;
В какой-то момент получено значение, 1000, например, которое надо положить в ТЗ, но я не могу это сделать так
ТЗ.Колонка55 = 1000; например, т.к. не знаю номер колонки.
но мне известен ее номер 55, лежит в переменной N, например.
Так вот, как положить это значение в колонку
ТЗ.КолонкаN
Штуки типа ТЗ.Колонка+N не понимаем в упор.
Может кто сталкивался?
По теме из базы знаний
- Печать таблицы значений в 1С 7.7 при отладке
- Консоль кода с поддержкой объявления процедур и функций, с дополнительными функциями отслеживания и вывода значений
- Печать таблицы значений или таблиц запроса через СКД
- Отправка/получение таблицы значений на/с http-сервиса
- Раскраска ячейки таблицы значений для управляемых форм
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот пример:
СубконтоДебет, СубконтоКредит - списки которые лежат на форме.
Код |
---|
//******************************************************************************
Функция ПриУдалении(Парам,ВсеЭлементы)
Если Парам = 1 Тогда
ЭлементФормы = "СубконтоДебет";
Иначе
ЭлементФормы = "СубконтоКредит";
КонецЕсли;
Шаблон("[Удалить("+(ЭлементФормы)+",ВсеЭлементы)]");
КонецФункции
//******************************************************************************
Функция Удалить(Список,ЧтоУдалять)
Если Список.РазмерСписка() > 0 Тогда
Если ЧтоУдалять = 0 Тогда
Список.УдалитьЗначение(Список.ТекущаяСтрока());
ИначеЕсли ЧтоУдалять = 1 Тогда
Список.УдалитьВсе();
КонецЕсли;
КонецЕсли;
Возврат "";
КонецФункции
Показать полностью |
СубконтоДебет, СубконтоКредит - списки которые лежат на форме.
ТЗ.УстановитьЗначение(номерСтроки, ИМЯКОЛОНКИ,Значение)
т.е.
т.е.
Код |
---|
//здесь каким угодно макаром определяешь номер нужной тебе колонки
НомКол=55;
ТЗ.НоваяСтрока();
ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Колонка"+НомКол,МоеЛюбимоеЗначение);
Показать полностью |
EB пишет:
Шаблон я не осилила - запуталась в скобочках [ ] и кавычках - не понимаю, где и что должно быть.
Шаблон я не осилила - запуталась в скобочках [ ] и кавычках - не понимаю, где и что должно быть.
Красно-желтая книжечка Конфигурирование и администрирование
или при редактировании ячейки нажать знак вопросика
Тип. Пункты списка «Тип» устанавливают, какого рода информация введена в ячейку. Они не изменяют внешний вид ячейки, а используются только в процессе обработки шаблона при формировании готового табличного документа.
Пункты этого списка имеют следующий смысл (см. таблицу).
Тип текста Пояснение
Текст Информация в ячейке является текстом и при формировании табличного документа будет перенесена из исходной таблицы в готовый табличный документ без изменений.
Выражение Информация в ячейке является выражением на встроенном языке системы 1С:Предприятие. При формировании табличного документа из исходной таблицы в готовый документ будет перенесен результат вычисления этого выражения.
Шаблон Информация в ячейке представляет собой текст с включенными в него выражениями на встроенном языке системы 1С:Прсднриятие, заключенными в квадратные скобки. При формировании табличного документа выражения будут вычислены, а их результаты будут включены в текст вместо самих выражений. Место, отводимое в тексте для вывода результатов выражений, определяется длиной этих результатов.
Фикс. Шаблон «Фиксированный шаблон», отличается от шаблона тем, что место, отводимое в тексте для вывода результатов выражений, определяется расстоянием между квадратными скобками, ограничивающими выражения в исходном тексте.
ТЗ.Свернуть("ФА,Счет,СтатьяЗатрат","Сумма");
ТЗ.Сортировать("ФА");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Таб.ВывестиСекцию("Строка");
ТЗ.Выгрузить(ТЗ1);
ТЗ1.Свернуть("ФА","Сумма");
ТЗ1.ВыбратьСтроки();
Пока ТЗ1.ПолучитьСтроку()=1 Цикл
Ном=Ном+1;
Если ТЗ1.ФА=ТЗ.ФА Тогда
Таб.ВывестиСекцию("Итог");
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТЗ.Сортировать("ФА");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Таб.ВывестиСекцию("Строка");
ТЗ.Выгрузить(ТЗ1);
ТЗ1.Свернуть("ФА","Сумма");
ТЗ1.ВыбратьСтроки();
Пока ТЗ1.ПолучитьСтроку()=1 Цикл
Ном=Ном+1;
Если ТЗ1.ФА=ТЗ.ФА Тогда
Таб.ВывестиСекцию("Итог");
КонецЕсли;
КонецЦикла;
КонецЦикла;
Тогда лучше как-то так:
ТЗ.Свернуть("ФА,Счет,СтатьяЗатрат","Сумма");
ТЗ.Сортировать("ФА");
ТекФА = "";
Если ТЗ.КоличествоСтрок() > 0 Тогда
ТекФА = ТЗ.ПолучитьЗначение(1, "ФА");
Иначе
//Нет данных для отчета
Возврат;
КонецЕсли;
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
ИтогПоГруппе = ИтогПоГруппе + ТЗ.Сумма;
Если ТЗ.ФА <> ТекФА Тогда
Таб.ВывестиСекцию("Итог");
ИтогПоГруппе = 0;
ТекФА = ТЗ.ФА;
КонецЕсли;
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот