Найти в Дзене
Мой 1С

1С. Отчет из таблицы значений

Среда обитания: "Управление нашей фирмой (демонстрационная база)". Редакция 3.0 (3.0.9.163). Пользователь - Администратор. Скачать: https://uc1.1c.ru/uchebnaya-versiya-1s/ Для тестового задания при приеме на работу требовалось проверить клиентов на активность и результат вывести в отчет. Создаем отчет в конфигураторе и нажимаем "Открыть схему компоновки данных" Конструктор макета оставляем без изменений и нажимаем "Готово" Щелкаем правой кнопкой мыши по "Наборы данных" и выбираем "Добавить набор данных - объект" В поле "Имя объекта, содержащего данные" какой-нибудь текст, например, "МояТаблицаЗначений" и макет пока можно закрыть. Переходим в модуль объекта нашего отчета В поле модуля нажимаем сочетание клавиш CTRl + Alt +P(английская "П"). В появившемся окне выбираем "ПриКомпоновкиРезультата", жмем "Перейти". Вставляем в процедуру такой код: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
МояТЗ = Тест_Работ

Среда обитания: "Управление нашей фирмой (демонстрационная база)". Редакция 3.0 (3.0.9.163). Пользователь - Администратор. Скачать: https://uc1.1c.ru/uchebnaya-versiya-1s/

Для тестового задания при приеме на работу требовалось проверить клиентов на активность и результат вывести в отчет.

Создаем отчет в конфигураторе и нажимаем "Открыть схему компоновки данных"

Создание отчета
Создание отчета

Конструктор макета оставляем без изменений и нажимаем "Готово"

Конструктор макета
Конструктор макета

Щелкаем правой кнопкой мыши по "Наборы данных" и выбираем "Добавить набор данных - объект"

Набор данных
Набор данных

В поле "Имя объекта, содержащего данные" какой-нибудь текст, например, "МояТаблицаЗначений" и макет пока можно закрыть.

макет
макет

Переходим в модуль объекта нашего отчета

переход в модуль объекта
переход в модуль объекта

В поле модуля нажимаем сочетание клавиш CTRl + Alt +P(английская "П"). В появившемся окне выбираем "ПриКомпоновкиРезультата", жмем "Перейти".

ПриКомпоновкиРезультата.
ПриКомпоновкиРезультата.

Вставляем в процедуру такой код:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;

МояТЗ = Тест_РаботаНаСервере.ПолучитьКлиентов();

СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = КомпоновщикНастроек.ПолучитьНастройки();

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

ВнешнийНаборДанных = Новый Структура("МояТаблицаЗначений", МояТЗ);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки);

ДокументРезультат.Очистить();

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры

Обратите внимание, что "Имя объекта, содержащего файл" равно ключу в структуре "ВнешнийНаборДанных", а значение равно нашей таблице значений, в данном примере это МояТЗ.

Выделенная красным МояТЗ =... это получение таблицы значений, в моем случае она содержит две колонки "Контрагент" и "Статус".

-7

Добавляем вручную поля. Я использовал в качестве наименования названия колонок в в моей таблице значения.

создаем поля
создаем поля

Переходим на вкладку "Настройки" и нажимаем "волшебную палочку" - "Открыть конструктор настроек". Далее выбираю список, выводимые колонки и группировку.
Переходим на вкладку "Настройки" и нажимаем "волшебную палочку" - "Открыть конструктор настроек". Далее выбираю список, выводимые колонки и группировку.

Чтобы отслеживать выполнение кода через отладчик нужно создать форму отчета. Просто добавляем ее и назначаем главной не внося никаких изменений.

Получившейся результат

-10