Описание:
Данная обработка, демонстрирует следующее:
1. Она подключаемая как внешняя обработка из режима предприятия
2. При подключении будут доступны две команды
2.1 автоматическое выполнение (для возможности настроить ее выполнение по расписанию)
2.2 открыть форму и выполнить действия самому
3. Вызывает типовой отчет "СостояниеШтатногоРасписания" передает ему наши настройки и возвращает его результат в таблицу значений.
3.1 передает ему настройки "параметров"
3.2 передает ему настройки "отборов"
3.3 передает ему настройки "Условное Оформление"
3.4 правка запроса через стрЗаменить
3.5 Замена имен колонок таблицы результата на названия из "Заголовков" (см. картинки)
3.6 Замена имен колонок таблицы результата на названия из "Пользовательских полей" (см. картинки)
4. Из таблицы значений выгружаем данные в регистр сведений.
Примечание:
Обязательно посмотрите так же и схему СКД типового отчета (есть в архиве) т.к. в нем добавлена новая "схема варианта" (см. картинки)
В моем примере я обращаюсь к своему варианту, та же технология обращения к любому из вариантов, в коде это строка:
ОтчетСостояниеШтатногоРасписания = Отчеты.СостояниеШтатногоРасписания.Создать();
ОтчетСостояниеШтатногоРасписания.ИнициализироватьОтчет();
НастройкиДанныеРасчета = ОтчетСостояниеШтатногоРасписания.СхемаКомпоновкиДанных.ВариантыНастроек.АнализШтатногоРасписания_для_выгрузки.Настройки;
Во вложении: Zip архив, с обработкой, примером отчета, к которому обращается обработка (картинки из публикации).
Изменения от 23.01.2020
Доработки от 1С требуют изменения в коде обработки которая лежит в моем архиве.
Теперь на примере Зарплата и управление персоналом в кредитных организациях, редакция 3.1 (3.1.10.276) отчет (Отчеты.СостояниеШтатногоРасписания) который у меня в архиве устарел, по сравнению с таким же в этом релизе (3.1.10.276), то есть его наборы данных стали собираться в коде. Из-за этого результат выдается пустой. Чтобы это исправить, нужно добавить строку см. ниже.
В файле обработки нужно добавить одну строку
ОтчетСостояниеШтатногоРасписания = Отчеты.СостояниеШтатногоРасписания.Создать();
ОтчетСостояниеШтатногоРасписания.ИнициализироватьОтчет();
НастройкиДанныеРасчета = ОтчетСостояниеШтатногоРасписания.СхемаКомпоновкиДанных.ВариантыНастроек.ИНКАХРАН_АнализШтатногоРасписания_для_выгрузки_финдиру.Настройки;
ОтчетСостояниеШтатногоРасписания.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиДанныеРасчета);
ЗарплатаКадрыОтчеты.ПередНачаломКомпоновкиРезультата(ОтчетСостояниеШтатногоРасписания); // добавь меня
НастройкиОтчета = ОтчетСостояниеШтатногоРасписания.КомпоновщикНастроек.ПолучитьНастройки();