Заполнение таблицы на обычной форме

1. user1089020 15.04.21 09:55 Сейчас в теме
Доброе утро, зубры 1С!

У меня простой вопрос, но что-то никак не клеется... Помогите советом, плиз.

В обычной форме у меня есть таблица ТабличноеПоле. В ней есть колонки "ДатаПокупки" и "Просрочка". Нужно во вторую (пустую) колонку вписать результат сложения первой колонки с числом 30. Пока код у меня такой:

Процедура ТабличноеПолеПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	 	 
	 ЭлементыФормы.ТабличноеПоле.Колонки.Просрочка.Данные = ЭлементыФормы.ТабличноеПоле.Колонки.ДатаПокупки.Данные + 30;

КонецПроцедуры  
По теме из базы знаний
Найденные решения
7. MuxaH 15.04.21 12:04 Сейчас в теме
(6)
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выгрузить();
Для Каждого Строка Из ВыборкаДетальныеЗаписи Цикл
    ТП = ТабличноеПоле.Добавить();
    ЗаполнитьЗначенияСвойств(ТП,Строка);
    ТП.Просрочка = ТП.ДатаПокупки + 30;
КонецЦикла;


Как-то так
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MuxaH 15.04.21 10:03 Сейчас в теме
А в какой момент это табличное поле формируется? Может проще туда рассчитываемые данные сразу вписать, чем при выводе каждой строки считать
3. user1089020 15.04.21 10:12 Сейчас в теме
(2) Таблица формируется по нажатию кнопки, в результате чего отрабатывается запрос:

Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выгрузить();
Для Каждого Строка Из ВыборкаДетальныеЗаписи Цикл
	ТП = ТабличноеПоле.Добавить();
	ЗаполнитьЗначенияСвойств(ТП,Строка);
КонецЦикла;


Я так понимаю, что Вы предлагаете внести изменению в эту часть кода?
5. MuxaH 15.04.21 10:31 Сейчас в теме
(3)Да, сразу в запросе посчитать, или в цикле по заполнению.
6. user1089020 15.04.21 10:39 Сейчас в теме
(5) В запросе понятно, а вот в цикле как будет выглядеть это заполнение? Не могу понять как обратиться к нужной ячейке таблицы.
7. MuxaH 15.04.21 12:04 Сейчас в теме
(6)
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выгрузить();
Для Каждого Строка Из ВыборкаДетальныеЗаписи Цикл
    ТП = ТабличноеПоле.Добавить();
    ЗаполнитьЗначенияСвойств(ТП,Строка);
    ТП.Просрочка = ТП.ДатаПокупки + 30;
КонецЦикла;


Как-то так
8. user1089020 15.04.21 13:28 Сейчас в теме
(7) Да, это то. Спасибо всем!
4. DenisVol 2 15.04.21 10:16 Сейчас в теме
   Форма.СтрокиДокумента.Колонки.Добавить("Отметка", Новый ОписаниеТипов("Булево"),"Отметка",4);
   Форма.СтрокиДокумента.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Число"), "№",4);
   Форма.СтрокиДокумента.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("Строка"), "Номенклатура",35);
   Форма.СтрокиДокумента.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Строка"), "Штрихкод",13);
   Форма.СтрокиДокумента.Колонки.Добавить("КвоДокумент", Новый ОписаниеТипов("Число"), "Кво, по документу",15);
   Форма.СтрокиДокумента.Колонки.Добавить("Кво", Новый ОписаниеТипов("Число"), "Кво,(отклонение)",15);

   Форма.ЭлементыФормы.СтрокиДокумента.СоздатьКолонки();
   Форма.ЭлементыФормы.СтрокиДокумента.Колонки.Отметка.ДанныеФлажка = "Отметка";
   Форма.ЭлементыФормы.СтрокиДокумента.Колонки.Отметка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
   
      
   НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
   Для каждого Стр Из Док.Товары Цикл // Цикл обработки табличной части "Товары"
	   НоваяСтр = Форма.СтрокиДокумента.Добавить();
	   НоваяСтр.НомерСтроки = Стр.НомерСтроки;
	   НоваяСтр.Номенклатура = Стр.Номенклатура.Наименование;
	   НоваяСтр.Кво = 0;
	   НаборЗаписей.Отбор.Владелец.Установить(Стр.Номенклатура.Ссылка);
	   НаборЗаписей.Прочитать();
	   Для каждого Запись из НаборЗаписей Цикл
		   НоваяСтр.Штрихкод	= Запись.Штрихкод;
	   КонецЦикла;
	   НоваяСтр.КвоДокумент = Стр.Количество;
   КонецЦикла;
Показать


вот так я делал. на форме таблица. Заполнял её, и дописывал свои расчеты
Оставьте свое сообщение

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