Skip to content
лого - блог 1с программиста

Блог 1С программиста

Наработки, заметки и другая информация по 1С

  • Главная
  • Типовые конфигурации
    • ЗУП 3.1
      • Разработка
        • Обработки
        • Отчеты
        • Печатные формы
        • Расширения
      • Инструкции
      • Ответы техподдержки 1С
      • Общие вопросы
    • ДО 2.1
    • УХ 3.2
    • УПП 1.3
  • Интеграции и обмены
  • Шаблоны и заготовки
    • Типовые приемы
    • Отчеты
    • Обработки
    • Печатные формы
    • Расширения
  • Платформа 1С
  • Разработки
    • Контакты
  • Toggle search form

Шаблон отчета СКД с получением данных из ТаблицыЗначений

Posted on 7 июня 23 г.19 августа 24 г. By Алексей Комментариев к записи Шаблон отчета СКД с получением данных из ТаблицыЗначений нет

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

Шаблон отчета СКД с получением данных из ТаблицыЗначенийСкачать
Скачать образец отчета СКД с получением данных из таблицы значений
1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
&НаСервере
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
//УстановитьПривилегированныйРежим(Истина);
СтандартнаяОбработка = Ложь;
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
//КомпоновщикНастроек.ПолучитьНастройки() - это не ссылка на настройки отчета, а копия настроек с учетом примененных пользовательских настроек.
//В случаи внесения изменений в настройки, надо их передать в компоновщик макета (МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки))
НачалоПериода = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("СтПериод")).Значение.ДатаНачала;
КонецПериода = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("СтПериод")).Значение.ДатаОкончания;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КадроваяИсторияСотрудников.Период КАК Период,
| КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
| КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
| КадроваяИсторияСотрудников.Должность КАК Должность,
| КадроваяИсторияСотрудников.ВидСобытия КАК ВидСобытия
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
|ГДЕ
| КадроваяИсторияСотрудников.Период МЕЖДУ &НачалоПериода И &КонецПериода";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
РезультатЗапроса = Запрос.Выполнить();
ТЗКадроваяИсторияСотрудников = РезультатЗапроса.Выгрузить();
//Связь между таблицей значений и именами в СКД
ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить("ТЗКадроваяИсторияСотрудников", ТЗКадроваяИсторияСотрудников);
//Макет компоновки
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
//Компоновка данных
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
//Вывод результата
ДокументРезультат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры

После описания внешнего набора данных в процедуре, необходимо:

  1. Добавить внешний набор в схеме компоновки.
  2. Связать добавленный набор с набором (таблицей значений) описанным в процедуре.
  3. Описать поля таблицы значений в схеме компоновки данных.
Связь с внешним набором данных СКД

После этого данные таблицы значений будут доступны для использования в СКД.

При необходимости, на вкладке «Связи наборов данных» можно связать данные таблицы значений с данными других наборов данных.

Пример отчета можно скачать в начале описания.

Рекомендации

  • Шаблон отчета СКД с выводом данных в свой макет
  • Объединение заголовка колонок в отчете на СКД
  • Получение данных из внешнего отчета СКД в Таблицу Значений
Отчеты, Шаблоны и заготовки Tags:СКД

Навигация по записям

Previous Post: Пример интеграции с ДО 2.1 через веб-сервис
Next Post: Отбор по дополнительному реквизиту в отчете на СКД

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ДзенTelegram

Разработки

  • Печатная форма "Расходный кассовый ордер" для ЗУП 3.1 Печатная форма "Расходный кассовый ордер" ЗУП 3.1 650,00 ₽
  • Отчет "План-факт отпусков сотрудников в виде диаграммы Ганта Отчет "План-факт по отпускам сотрудников" ЗУП 3.1 650,00 ₽
  • Приказ об отмене трудового договора (рис 1) Печатная форма "Отмена приема на работу" ЗУП 3.1 650,00 ₽
  • Обработка “Выплата сотруднику через банк” ЗУП 3.1 Обработка “Выплата сотруднику через банк” ЗУП 3.1 0,00 ₽
  • Тестирование API Яндекс GPT Обработка "Работа с API YandexGPT" 650,00 ₽

MDM web-сервис XML БСП ЕФС-1 ИИ КД 2.0 НДФЛ СЗВ-СТАЖ СЗВ-ТД СКД СТД-Р СФР СЭДО ФСС ФСС НС больничные листы взносы вычеты длительная операция запрос интерфейс кадровая история кадровые данные кадровые переводы легкий труд мастер-данных обмен данными общий модуль отбор отпуска печать без проверки печать с диалогом пользователи представление прием на работу резервы отпусков сверхурочные синхронизация ЗУП и БП средний заработок табель таблица периодов табличный документ фотография штатное расписание

Яндекс.Метрика

© 2022-2026 myblog-1c.ru

Пользовательское соглашение

Контакты