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

ЗУП 3.1. Как обратиться к элементам табличной части?

Автор Алексей Рожков, 18 мая 2020, 12:53

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

Алексей Рожков

Привет всем.
Делаю внешнюю обработку, которая выводит инфу о больничных по сотрудникам.

СОБСТВЕННО ВОПРОС:
Как добраться до строк в табличной части?

Скрин конфигуратора

На скрине выбрал, к чему нужно обратиться - Больничный лист далее табличные части далее Начисления и сам реквизит "начисление"

Я формирую для макета выборку.

Мой код:

Цитировать
   ТабличныйДокумент = Новый ТабличныйДокумент;
   МакетОбработки = ПолучитьМакет("МакетБольничный");
   ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
   ОбластьШапки.Параметры.Сотрудник = СсылкаНаОбъект.Начислено;
   ТабличныйДокумент.Вывести(ОбластьШапки);
   Возврат ТабличныйДокумент;


Алексей Рожков

Сам зашарил. Если кому пригодится, вот решение, нужное мне.

Цитировать
   // Цикл получения строк табличной части
   ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
   Для Каждого ТекущаяСтрока Из СсылкаНаОбъект.Начисления Цикл
      ОбластьСтроки.Параметры.ДатаНачала = ТекущаяСтрока.ДатаНачала; // Область на макете = название реквизита в табличной части
      ОбластьСтроки.Параметры.ОтработаноДней = ТекущаяСтрока.ОтработаноДней; // Область на макете = название реквизита в табличной части
      ОбластьСтроки.Параметры.ОтработаноЧасов = ТекущаяСтрока.ОтработаноЧасов;  // Область на макете = название реквизита в табличной части
      ОбластьСтроки.Параметры.Начисление = ТекущаяСтрока.Начисление;     // Область на макете = название реквизита в табличной части
      ОбластьСтроки.Параметры.Результат = ТекущаяСтрока.Результат;  // Область на макете = название реквизита в табличной части
      ТабличныйДокумент.Вывести(ОбластьСтроки);
   КонецЦикла;
   // Цикл получения строк табличной части


Если код говно, можете написать об этом. Я только учусь.

antoneus

Вместо всего этого великолепия достаточно написать (поскольку везде совпадают имена параметров и полей текущей строки)

ОбластьСтроки.Параметры.Заполнить(ТекущаяСтрока)

Теги:

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

Рейтинг@Mail.ru

Поиск