Передача набора данных типа Объект в отчет СКД

12.11.18

Разработка - СКД

Пример показывает, каким образом можно передать таблицу значений в отчет СКД (в набор данных объект). Пример работает как на обычных, так и на управляемых формах.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Передача набора данных типа объект в отчет СКД:
.erf 24,46Kb
18 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

В качестве примера предлагается следующий вариант: 

1. Берем первые 20 записей номенклатуры (код, артикул и ссылка), помещаем их в таблицу значений;

2. Из сформированной таблицы значений создаем еще 2 таблицы значений (в первую мы копируем ссылку и код, во вторую ссылку и артикул). Эти 2 таблицы будут переданы в процессор компоновки данных и соединены.

3. Выводим данные в табличный документ.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    СхемаСКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    КомпановщикМакетаКД = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКД = КомпановщикМакетаКД.Выполнить(СхемаСКД, СхемаСКД.НастройкиПоУмолчанию);
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ ПЕРВЫЕ 20
        |    Номенклатура.Ссылка,
        |    Номенклатура.Код,
        |    Номенклатура.Артикул
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    НЕ Номенклатура.ЭтоГруппа";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    
    тз = РезультатЗапроса.Выгрузить();
    КодыНоменклатуры      = тз.Скопировать(, "Ссылка, Код");
    АртикулыНоменклатуры = тз.Скопировать(, "Ссылка, Артикул");
    ВнешниеНаборыДанных = новый Структура("КодыНоменклатуры, АртикулыНоменклатуры", КодыНоменклатуры, АртикулыНоменклатуры);
    
    ПроцессорКД = новый ПроцессорКомпоновкиДанных;
    ПроцессорКД.Инициализировать(МакетКД, ВнешниеНаборыДанных );
    
    ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКД, истина);
    
    
КонецПроцедуры

Тестировал на платформе версии 8.3.10.2667.

Вступайте в нашу телеграмм-группу Инфостарт

СКД отчет

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    247016    1359    421    

1132

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5190    292    shapa_pro    25    

66

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    16031    ovetgana    112    

105

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    9330    krasnoshchekovpavel    5    

67

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8501    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    15624    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    13195    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    9698    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4606 12.11.18 11:42 Сейчас в теме
Вроде это давно описано и разжёвано в хреновой туче постов по всем интернетам.
murat_; PLAstic; user615001_Shumeyko; lunjio; A_Max; echo77; +6 Ответить
2. echo77 1937 12.11.18 12:11 Сейчас в теме
(0) К сожалению, это не ново.
Пара моментов:

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

- схему из макета можно не получать, если у вас отчет и свойство ОсновнаяСхемаКомпоновкиДанных заполнено, то оно доступно из контекста как СхемаКомпоновкиДанных

КомпановщикМакетаКД

Здесь описана классная процедура: https://infostart.ru/public/80164/
3. player278 21.11.18 17:55 Сейчас в теме
У меня в таком отчете (с набор данных - объект и с подсовыванием таблицы значений в ПриКомпоновкеРезультата) не крутится кружок в левом верхнем углу результата с текстом "отчет формируется ...", который в нормальном отчете работает сам по себе.

Создал форму отчета, там через ОтображениеСостояния включаю кружок, но после

СкомпоноватьРезультат(РежимКомпоновкиРезультата.ЧтоУгодно);


его снова не видно. Через ПодключитьОбработчикОжидания его включал, видно его, но только тогда, когда результат уже вывелся. Кто-нибудь сталкивался?
4. n131 05.07.20 22:16 Сейчас в теме
Почему не вижу результата на форме?
Для отправки сообщения требуется регистрация/авторизация