Работа с внешними наборами данных в СКД

Версия для печатиPDF-версия

Для использования в отчёте на СКД произвольной таблицы значений необходимо настроить соответствующим образом схему компоновки данных и прописать программный вывод отчёта.

1. Настройка схемы компоновки данных.

1.1. Создаём основную схему компоновки данных.

Добавление набора данных - запрос

Создание запроса

1.2. На закладке "Наборы данных" добавляем набор данных - объект.

Добавление набора данных - объект

1.3. Добавляем необходимые поля набора данных (достаточно указать Поле) и указываем Имя объекта, содержащего данные.

Заполнение реквизитов набора данных - объект

1.4. Если в СКД есть другие наборы данных (например, Запрос), то создаём связи наборов данных на закладке "Связи наборов данных".

Создание связи наборов данных

1.5. Настраиваем вывод отчёта нужным образом.

Настройки СКД

2. Программный вывод отчёта.

2.1. В модуле объекта отчёта создаём процедуру-обработчик ПриКомпоновкеРезультата.

Создание процедуры ПриКомпоновкеРезультата

2.2. В процедуре ПриКомпоновкеРезультата отключаем стандартную обработку.

	СтандартнаяОбработка = Ложь;

2.3. Формируем таблицу значений произвольным образом. Имена колонок таблицы значений должны совпадать с полями набора данных в СКД (п.1.3).

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

2.4. Получаем схему компоновки данных из макета.

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

2.5. Из схемы получаем настройки по умолчанию.

	Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

2.6. Помещаем данные о расшифровке в соответствующую переменную.

	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

2.7. Формируем макет с помощью компоновщика макета.

	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

2.8. Передаём в макет компоновки схему, настройки и данные расшифровки.

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

2.9. Выполняем компоновку с помощью процессора компоновки. Для этого выполняем метод процессора компоновки данных Инициализировать(). В качестве параметров передаём макет компоновки данных, внешние наборы данных (тип: Структура, ключ структуры должен совпадать с именем объекта в схеме компоновки данных (п.1.3), значение - сформированная таблица значений), данные расшифровки.

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

2.10. Очищаем поле табличного документа.

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

2.11. Выводим результат в табличный документ.

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

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

Пример сформированного отчёта:

Отчёт на СКД с использованием внешнего набора данных


Справочная информация из синтакс-помощника:

ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
Параметры:
<Макет> (обязательный)
Тип: МакетКомпоновкиДанных.
Макет, для которого будет выполняться компоновка.
<ВнешниеНаборыДанных> (необязательный)
Тип: Структура.
Ключ структуры соответствует имени внешнего набора данных. Значение структуры - внешнему набору данных.
<ДанныеРасшифровки> (необязательный)
Тип: ДанныеРасшифровкиКомпоновкиДанных.
Объект, в котором нужно заполнить данные расшифровки. Если не указан, то расшифровка заполняться не будет.
<ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь.
Описание:
Инициализировать объект.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Полезность материала: 
5
Ваша оценка: Нет Средняя: 5 (3 оценок)
Оцените полезность материала

Комментарии

Спасибо огромное за статью и прикреплённый пример. Очень помогло в работе.

Спасибо - просто спасли. Только у меня Период не видит в модуле

Можете файл отчёта выложить?

положила все в модуль Объекта(база ЗиК 3), в СКД в Параметры добавила "Период" =стандартный период,НачалоПериода=&Период.ДатаНачала ;  КонецПериода..   Не видит здесь Период и все..

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)   экспорт
    
    СтандартнаяОбработка = Ложь;
    //ДанныеПечати  = ПолучитьИзВременногоХранилища(Адр);
    Запрос = Новый Запрос;
    Запрос.Текст = " ВЫБРАТЬ
    |     РазовоеНачисление.Ссылка,
    |    РазовоеНачисление.МесяцНачисления,
    |    РазовоеНачисление.Подразделение.Наименование  как СовмещПодразделениеКуда ,
    |    РазовоеНачисление.СпособОтраженияЗарплатыВБухучете.Наименование  как СовмещСпособОтражения,
    |    РазовоеНачисление.СпособОтраженияЗарплатыВБухучете как СовмещСпособОтраженияСсылка,
    |    РазовоеНачисление.Начисление.Наименование  как  СовмещНаименование,
    |    РазовоеНач.Ссылка,
    |    РазовоеНач.Результат   как СовмещСумма,
    |    РазовоеНач.Сотрудник  как СовмещСотрудник,
    |    РазовоеНач.Подразделение.Наименование  как СовмещПодразделениеОТКуда_отдел,
    |    РазовоеНач.Подразделение.РОДИТЕЛЬ.Наименование  как СовмещПодразделениеОТКуда
    |ИЗ
    |    Документ.РазовоеНачисление КАК РазовоеНачисление
    |    левое СОЕДИНЕНИЕ Документ.РазовоеНачисление.Начисления    КАК РазовоеНач
    |      по     РазовоеНачисление.Ссылка =  РазовоеНач.Ссылка
    |    ГДЕ
    |    РазовоеНачисление.МесяцНачисления >= &НачалоПериода И   РазовоеНачисление.МесяцНачисления<= &КонецПериода
    |    И  РазовоеНачисление.Начисление.Наименование = &СовмПроф
    |";
    
    //Запрос.УстановитьПараметр("НачалоПериода", Период.ДатаНачала);
    //Запрос.УстановитьПараметр("КонецПериода", Период.ДатаОкончания);
         НачалоПериода=Дата("01.11.2016 00:00:00"); ;
        
         КонецПериода=дата("30.11.2016 23:59:59");

         Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
    Запрос.УстановитьПараметр("СовмПроф", "Доплата за совм. проф. (4)");
    
    СовмещСотрРЕЗУЛЬТАТ = Запрос.Выполнить().ВЫГРУЗИТЬ();
    
    //Если СовмещСотрудник.Пустой() тогда
    //    //Сообщить("В ЭТОЙ ГРУППЕ НЕТ КОНТРАГЕНТОВ  " );
    //конецесли;
    
    Запрос = Новый Запрос;
    Запрос.Текст = " ВЫБРАТЬ
    |     Начисления.Ссылка КАК Ссылка1,
    |     Начисления.Наименование КАК Наименование1,
    |     НачисленияДоп.Ссылка,
    |     НачисленияДоп.Свойство КАК Свойство1,
    |     НачисленияДоп.Значение КАК Значение1
    |        ПОМЕСТИТЬ  ДОП1
    |       ИЗ
    |     ПланВидовРасчета.Начисления КАК Начисления,
    |     ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.ДополнительныеРеквизиты   КАК НачисленияДоп
    |        ПО  Начисления.Ссылка = НачисленияДоп.Ссылка
    |        где   
    | НачисленияДоп.Свойство.наименование = &ДОП_1
    | ;
    | ВЫБРАТЬ
    |     Начисления.Ссылка КАК Ссылка2,
    |     Начисления.Наименование КАК Наименование2,
    |     НачисленияДоп.Ссылка,
    |     НачисленияДоп.Свойство КАК Свойство2,
    |     НачисленияДоп.Значение  КАК Значение2
    |      ПОМЕСТИТЬ  ДОП2
    |       ИЗ
    |     ПланВидовРасчета.Начисления КАК Начисления,
    |     ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.ДополнительныеРеквизиты   КАК НачисленияДоп
    |        ПО  Начисления.Ссылка = НачисленияДоп.Ссылка
    |        где   
    | НачисленияДоп.Свойство.наименование = &ДОП_2
    | ;
    | ВЫБРАТЬ
    |     Начисления.Ссылка КАК Ссылка3,
    |     Начисления.Наименование КАК Наименование3,
    |     НачисленияДоп.Ссылка,
    |     НачисленияДоп.Свойство КАК Свойство3,
    |     НачисленияДоп.Значение  КАК Значение3
    |       ПОМЕСТИТЬ  ДОП3
    |       ИЗ
    |     ПланВидовРасчета.Начисления КАК Начисления,
    |     ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.ДополнительныеРеквизиты   КАК НачисленияДоп
    |       ПО  Начисления.Ссылка = НачисленияДоп.Ссылка
    |        где   
    | НачисленияДоп.Свойство.наименование = &ДОП_3
    | ;
    | ВЫБРАТЬ
    |     Начисления.Ссылка КАК Ссылка4,
    |     Начисления.Наименование КАК Наименование4,
    |     НачисленияДоп.Ссылка,
    |     НачисленияДоп.Свойство КАК Свойство4,
    |     НачисленияДоп.Значение  КАК Значение4
    
    |        ПОМЕСТИТЬ  ДОП4
    |        ИЗ
    |     ПланВидовРасчета.Начисления КАК Начисления,
    |     ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.ДополнительныеРеквизиты   КАК НачисленияДоп
    |        ПО  Начисления.Ссылка = НачисленияДоп.Ссылка
    |        где   
    | НачисленияДоп.Свойство.наименование = &ДОП_4
    | ;
    | ВЫБРАТЬ
    |     Начисления.Ссылка КАК Ссылка5,
    |     Начисления.Наименование КАК Наименование5,
    |     НачисленияДоп.Ссылка,
    |     НачисленияДоп.Свойство КАК Свойство5,
    |     НачисленияДоп.Значение  КАК Значение5
    |        ПОМЕСТИТЬ  ДОП5
    |        ИЗ
    |     ПланВидовРасчета.Начисления КАК Начисления,
    |     ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления.ДополнительныеРеквизиты   КАК НачисленияДоп
    |       ПО  Начисления.Ссылка = НачисленияДоп.Ссылка
    |       где   
    | НачисленияДоп.Свойство.наименование = &ДОП_5
    | ;
    //////////////////////  ИТОГ  //////////////////////////////////////////////////////////
    | ВЫБРАТЬ
    |     Нач1.Ссылка1  ,
    |     Нач1.Наименование1 ,
    |     Нач1.Свойство1,
    |     Нач1.Значение1,
    
    |     Нач2.Ссылка2,
    |     Нач2.Наименование2 ,
    |     Нач2.Свойство2,
    |     Нач2.Значение2,
    
    |     Нач3.Ссылка3,
    |     Нач3.Наименование3 ,
    |     Нач3.Свойство3,
    |     Нач3.Значение3,
    
    |     Нач4.Ссылка4,
    |     Нач4.Наименование4 ,
    |     Нач4.Свойство4,
    |     Нач4.Значение4,
    
    |     Нач5.Ссылка5,
    |     Нач5.Наименование5 ,
    |     Нач5.Свойство5,
    |     Нач5.Значение5
    | ПОМЕСТИТЬ  ВсеДопНачисления
    |   из
    | ДОП1 как Нач1
    |         ПОЛНОЕ СОЕДИНЕНИЕ ДОП2 как Нач2
    |     ПО   Нач1.Ссылка1 = Нач2.Ссылка2
    |         ПОЛНОЕ СОЕДИНЕНИЕ ДОП3 как Нач3
    |     ПО   Нач1.Ссылка1 = Нач3.Ссылка3
    |         ПОЛНОЕ СОЕДИНЕНИЕ ДОП4 как Нач4
    |     ПО   Нач1.Ссылка1 = Нач4.Ссылка4
    |         ПОЛНОЕ СОЕДИНЕНИЕ ДОП5 как Нач5
    |     ПО   Нач1.Ссылка1 = Нач5.Ссылка5
    |     ;
    ////--------------  итог планВидовРасчета ------------------------------------------------------------------------------------------------    
    |     ВЫБРАТЬ
    |     Нач.Ссылка1 как ПланВидовРасчетаСсылка,
    |     Нач.Наименование1 как ПланВидовРасчетаНаименование,
    |     Нач.Свойство1,
    |     Нач.Значение1 как ВидЗП,
    |     Нач.Свойство2,
    |     Нач.Значение2 как ПризнНОприбыли,
    |     Нач.Свойство3,
    |     Нач.Значение3 как РезервОтпусковУчастие,
    |     Нач.Свойство4,
    |     Нач.Значение4 как КодНУ,
    |     Нач.Свойство5,
    |     Нач.Значение5 как  фондЗП
    | ПОМЕСТИТЬ  ПланВидовРасчета                           //6
    | ИЗ
    | ВсеДопНачисления  КАК Нач
    | ;
        ////--------------  Сотрудники
    |  выбрать
    |     Сотрудники2.Ссылка как  Ссылка2 ,
    |     Сотрудники2.Наименование  как  Сотруд2 ,
    |     СотрудникиДоп2.Ссылка как  Ссылка22 ,
    |     СотрудникиДоп2.Свойство ,
    |     СотрудникиДоп2.Значение.Наименование      как    КатегорияСотрНАШ
    |        ПОМЕСТИТЬ  СотрКатегория
    |       из
    |     Справочник.Сотрудники КАК Сотрудники2
    |         ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты   КАК СотрудникиДоп2
    |                           ПО      Сотрудники2.Ссылка = СотрудникиДоп2.Ссылка
    | где   
    |     СотрудникиДоп2.Свойство.наименование = &ВидКат
    | ;
    | ВЫБРАТЬ
    |     Сотрудники1.Ссылка как  Ссылка1 ,
    |     Сотрудники1.Наименование как  Сотруд1 ,
    |     СотрудникиДоп1.Ссылка как  Ссылка11 ,
    |     СотрудникиДоп1.Свойство,
    |     СотрудникиДоп1.Значение.Наименование   как  ВидДеятельностиСотрНАШ
    |         ПОМЕСТИТЬ  СотрВидДеятельности
    |         из
    |     Справочник.Сотрудники КАК Сотрудники1
    |             ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты   КАК СотрудникиДоп1
    |     ПО      Сотрудники1.Ссылка = СотрудникиДоп1.Ссылка
    |     где   
    |         СотрудникиДоп1.Свойство.наименование = &ВидДеят
    | ;
    ////////////////////////////////////////////////////////////////////////////////
    | ВЫБРАТЬ
    |     Сотр2.Ссылка2 ,
    |     Сотр2.Сотруд2 ,
    |    Сотр2.КатегорияСотрНАШ,
    
    |     Сотр1.Ссылка1,
    |     Сотр1.Сотруд1 ,
    |     Сотр1.ВидДеятельностиСотрНАШ
    |          ПОМЕСТИТЬ  СотрНАШ                        //9
    |         из
    |     СотрКатегория     КАК Сотр2
    |             ПОЛНОЕ СОЕДИНЕНИЕ СотрВидДеятельности   КАК Сотр1
    |     ПО    Сотр2.Ссылка2 = Сотр1.Ссылка1
    |     ;
    //////////////////////////////// начисления  разовые   ///////////////////|     НачисленияУдержанияПоСотрудникам.Период,
    | ВЫБРАТЬ
    |     НачисленияУдержанияПоСотрудникам.Сотрудник,
    |     НачисленияУдержанияПоСотрудникам.Подразделение.Наименование КАК Подразделение,
    |     НачисленияУдержанияПоСотрудникам.Подразделение.Родитель.Наименование КАК ПодразделениеРод,
    |     НачисленияУдержанияПоСотрудникам.ГруппаНачисленияУдержанияВыплаты КАК Группа,
    |     НачисленияУдержанияПоСотрудникам.Сумма,
    |     НачисленияУдержанияПоСотрудникам.НачислениеУдержание КАК НачислениеСсылка,
    |     НачисленияУдержанияПоСотрудникам.НачислениеУдержание.Наименование КАК НаименованиеНачисления,
    //|     НачисленияУдержанияПоСотрудникам.НачислениеУдержание.Код,
    |     НачисленияУдержанияПоСотрудникам.НачислениеУдержание.ПометкаУдаления,
    //|     ПодразделенияОрганизаций.Ссылка,
    //|     ПодразделенияОрганизаций.Родитель,
    //|     ПодразделенияОрганизаций.Родитель.Наименование  КАК ПодразделенияРодитель  ,
    
    |     Сот.Ссылка2 КАК СотрСсылкаНАШ   ,
    |     Сот.Сотруд2 КАК СотрНАШ   ,
    |   Сот.ВидДеятельностиСотрНАШ  КАК ВидДеятельностиСотр  ,
    |   Сот.КатегорияСотрНАШ КАК КатегорияСотрНАШ ,
    
    |     ПланВидовРасч.ПланВидовРасчетаСсылка,
    |     ПланВидовРасч.ПланВидовРасчетаНаименование,
    |     ПланВидовРасч.ВидЗП,
    |     ПланВидовРасч.ПризнНОприбыли,
    |     ПланВидовРасч.РезервОтпусковУчастие,
    |     ПланВидовРасч.КодНУ,
    |     ПланВидовРасч.фондЗП
    | ИЗ
    |     РегистрНакопления.НачисленияУдержанияПоСотрудникам КАК НачисленияУдержанияПоСотрудникам
    //|                 ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
    //|         ПО НачисленияУдержанияПоСотрудникам.Подразделение = ПодразделенияОрганизаций.Ссылка
    |                 ЛЕВОЕ СОЕДИНЕНИЕ СотрНАШ  КАК Сот
    |         ПО НачисленияУдержанияПоСотрудникам.Сотрудник = Сот.Ссылка2
    |                 ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета  КАК ПланВидовРасч
    |ПО НачисленияУдержанияПоСотрудникам.НачислениеУдержание =ПланВидовРасч.ПланВидовРасчетаСсылка
    |ГДЕ
    |    НачисленияУдержанияПоСотрудникам.Период >= &НачалоПериода И НачисленияУдержанияПоСотрудникам.Период <=&КонецПериода
    |     и  НачисленияУдержанияПоСотрудникам.ГруппаНачисленияУдержанияВыплаты = &начисл
    |";
       ффф=  Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено ;
    //Запрос.УстановитьПараметр("НачалоПериода", Период.ДатаНачала);
    //Запрос.УстановитьПараметр("КонецПериода", Период.ДатаОкончания);
    Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",КонецПериода);
    
    Запрос.УстановитьПараметр("ВидДеят", "Вид деятельности (Сотрудники)");
    Запрос.УстановитьПараметр("ВидКат", "Категория (Сотрудники)");
    Запрос.УстановитьПараметр("ДОП_1", "Вид з/п (Начисления)");
    Запрос.УстановитьПараметр("ДОП_2", "Призн.н/о прибыли (Начисления))");
    Запрос.УстановитьПараметр("ДОП_3", "Резерв отпусков (участие) (Начисления)");
    Запрос.УстановитьПараметр("ДОП_4", "Код н/у (Начисления)");
    Запрос.УстановитьПараметр("ДОП_5", "Фонд з/п (Начисления)");
    Запрос.УстановитьПараметр("начисл",ффф);
    
    РезультатПакета = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
    
    ПланВидовРЕЗ= РезультатПакета[6].Выгрузить();
    ПланВидовРЕЗ.сортировать("ПланВидовРасчетаНаименование");    
    
    СотрРез = РезультатПакета[9].Выгрузить();
    ДанныеПечати = РезультатПакета[10].Выгрузить();         //окончательный итог  Сотрудник
    
    СотрРез.сортировать("Сотруд2");    
    
    //начисл_Сотр_подр = РезультатПакета[9].Выгрузить();
    //начисл_Сотр_подр.сортировать("Группа");    
    //РезультатЗапроса.сортировать("Группа,СпрОтрВБух_ВидДеятельности,ВидДеятельностиНАШ");    
    ДанныеПечати.сортировать("Сотрудник");    
    ДанныеПечати.Колонки.Добавить("ПодразделенияРодитель", Новый ОписаниеТипов("строка"));
    ДанныеПечати.Колонки.Добавить("ВидДеятельностиНаш", Новый ОписаниеТипов("строка"));
    
    Если ДанныеПечати.Количество()=0 тогда
        Сообщить("Запрос Пустой  " );
    иначе
        Для каждого Стр ИЗ ДанныеПечати Цикл    //КОНТРАГЕНТ
            если  сокрЛП(Стр.НаименованиеНачисления) = "Доплата за совм. проф. (4)" тогда
                СтруктураОтбор = Новый Структура();
                СтруктураОтбор.Вставить("СовмещСотрудник", Стр.Сотрудник);
                СтруктураОтбор.Вставить("СовмещСумма", Стр.Сумма);
                СтруктураОтбор.Вставить("СовмещПодразделениеОТКуда_отдел", Стр.Подразделение);
                
                МассивНайденныеСтроки = СовмещСотрРЕЗУЛЬТАТ.НайтиСтроки(СтруктураОтбор);
                
                Если МассивНайденныеСтроки.Количество() > 0 Тогда
                    Для Каждого Ст Из МассивНайденныеСтроки Цикл
                        Стр.ВидДеятельностиНаш = Ст.СовмещСпособОтражения;
                        Если  Ст.СовмещПодразделениеКуда = NULL Тогда
                            Счет ="";
                            СубСчет ="";
                            ПодразделениеСпрОтр ="";
                            ВидДеятельностиСпрОтр ="";
                            резЗапр = 0;
                            
                            ОтчетыНаши.СпособОтраженияЗП(резЗапр,Ст.СовмещСпособОтраженияСсылка,Счет,СубСчет,ПодразделениеСпрОтр,ВидДеятельностиСпрОтр) ;
                            
                            если резЗапр = 0  Тогда
                                ааа = "ОШИБКА нет в спр.СовмещСпособОтраженияСсылка записи = "+Ст.СовмещСпособОтраженияСсылка+" по "+Стр.Сотрудник +" cумма = "+ Стр.Сумма+" => ПодразделенияРодитель И ВидДеятельностиНаш берем из спр.Сотрудники" ;
                                Стр.ПодразделенияРодитель = Стр.ПодразделениеРод;
                                Стр.ВидДеятельностиНаш    = Стр.ВидДеятельностиСотр;
                            иначе
                                Стр.ПодразделенияРодитель  = ПодразделениеСпрОтр ;
                                Стр.ВидДеятельностиНаш     = ВидДеятельностиСпрОтр;
                            конецесли;        
                        иначе
                            Стр.ПодразделенияРодитель  = Ст.СовмещПодразделениеКуда ;   //это должен быть родитель подразделения
                            Стр.ВидДеятельностиНаш     = Ст.СовмещСпособОтражения;
                        конецесли;        
                    конецЦикла;        
                ИНАЧЕ
                    ааа = "ОШИБКА нет в табл.СовмещСотрРЕЗУЛЬТАТ "+Стр.Сотрудник +" cумма = "+ Стр.Сумма+" => ПодразделенияРодитель И ВидДеятельностиНаш берем из спр.Сотрудники" ;
                    Стр.ПодразделенияРодитель = Стр.ПодразделениеРод;
                    Стр.ВидДеятельностиНаш    = Стр.ВидДеятельностиСотр;
                конецЕсли ;
            ИНАЧЕ   
                Стр.ПодразделенияРодитель = Стр.ПодразделениеРод;
                Стр.ВидДеятельностиНаш    = Стр.ВидДеятельностиСотр;
            конецЕсли ;
        КонецЦикла;
    КонецЕсли;
    ДанныеПечати.сортировать("Сотрудник");    
//***************************************************************    
    //Получаем схему из макета
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

    //Из схемы возьмем настройки по умолчанию
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    //Помещаем в переменную данные о расшифровке данных
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

    //Формируем макет, с помощью компоновщика макета
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

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

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

    //Очищаем поле табличного документа
    ДокументРезультат.Очистить();

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

 

Надо программно параметры инициализировать.

ПОДСКАЖИТЕ, ПОЖАЛУЙСТА,КАК ЭТО СДЕЛАТЬ. Я перешла из1с7 и в СКД пока плаваю

Все заработало,спасибо
 

© При копировании материалов сайта ссылка на оригинал обязательна.