О работе отчета Табель учета рабочего времени (Т-13)
Добрый день форумчане.
Помогите разобраться в следующем вопросе.
В 1С ЗУП 3.1 существует отчет Табель учета рабочего времени (Т-13). Данные из этого отчета необходимо выгрузить в другую учетную систему, отличную от 1С. Помогите пожалуйста разобраться как работает данный отчет. Я уже несколько дней пытаюсь разобраться в механизме его работы. Просматривала работу отчета отладчиком, но так никуда и не продвинулась. Не понимаю, как он работает. Да и знаний по 1С не хватает. Может быть кто-нибудь разбирался в работе данного отчета и подскажет как он работает. Очень, очень нужно!!!
Помогите разобраться в следующем вопросе.
В 1С ЗУП 3.1 существует отчет Табель учета рабочего времени (Т-13). Данные из этого отчета необходимо выгрузить в другую учетную систему, отличную от 1С. Помогите пожалуйста разобраться как работает данный отчет. Я уже несколько дней пытаюсь разобраться в механизме его работы. Просматривала работу отчета отладчиком, но так никуда и не продвинулась. Не понимаю, как он работает. Да и знаний по 1С не хватает. Может быть кто-нибудь разбирался в работе данного отчета и подскажет как он работает. Очень, очень нужно!!!
По теме из базы знаний
- Табель учета рабочего времени (Т-13) (с итогами по всем сотрудникам и итогами по всем видам рабочего времени). ЗУП 3.1
- Ответственные лица подразделений для отчета Табель учета рабочего времени(Т-13) (Расширение)
- Табель учета рабочего времени (Т-13)
- Табель учета рабочего времени (Т-13). Итог дней и часов для ЗУП 3.1 и ЗКГУ 3.1
- Табель учета рабочего времени в программе 1С:ЗУП 3.1
Найденные решения
(1)В модуле отчета есть такой блок кода, дерево значений "ДанныеОВремени" это данные отчета, вот их и выгружайте.
Если КлючВарианта = "УнифицированнаяФормаТ13" Тогда
СтандартнаяОбработка = Ложь;
// Параметры документа
ДокументРезультат.ТолькоПросмотр = Истина;
ДокументРезультат.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УнифицированнаяФормаТ13";
ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ПараметрРассчитыватьПлановоеВремя = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РассчитыватьПлановоеВремя"));
ПараметрРассчитыватьПлановоеВремя.Использование = Истина;
ПараметрРассчитыватьПлановоеВремя.Значение = Истина;
МакетКомпоновки = ЗарплатаКадрыОтчеты.МакетКомпоновкиДанныхДляКоллекцииЗначений(СхемаКомпоновкиДанных, НастройкиОтчета);
ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
ПараметрыПолученияДанных.ДатаНачала = "ДатаНачала";
ПараметрыПолученияДанных.ДатаОкончания = "ДатаОкончания";
УчетРабочегоВремениРасширенный.ПолученияДанныхУчетаВремениПослеКомпоновкиМакета(МакетКомпоновки.НаборыДанных.ДанныеОВремени, ПараметрыПолученияДанных);
СоответствиеПользовательскихПолей = ЗарплатаКадрыОтчеты.СоответствиеПользовательскихПолей(НастройкиОтчета);
// Создадим и инициализируем процессор компоновки.
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина);
ДанныеОВремени = Новый ДеревоЗначений;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ДанныеОВремени);
// Обозначим начало вывода
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
ВывестиМакет(ДокументРезультат, ДанныеОВремени, НачалоПериода, КонецПериода, ДатаОтчета, СоответствиеПользовательскихПолей);
ДопСвойства = КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства;
ДопСвойства.Вставить("ОтчетПустой", ДанныеОВремени.Строки.Количество() = 0);
Иначе
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)В модуле отчета есть такой блок кода, дерево значений "ДанныеОВремени" это данные отчета, вот их и выгружайте.
Если КлючВарианта = "УнифицированнаяФормаТ13" Тогда
СтандартнаяОбработка = Ложь;
// Параметры документа
ДокументРезультат.ТолькоПросмотр = Истина;
ДокументРезультат.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УнифицированнаяФормаТ13";
ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ПараметрРассчитыватьПлановоеВремя = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("РассчитыватьПлановоеВремя"));
ПараметрРассчитыватьПлановоеВремя.Использование = Истина;
ПараметрРассчитыватьПлановоеВремя.Значение = Истина;
МакетКомпоновки = ЗарплатаКадрыОтчеты.МакетКомпоновкиДанныхДляКоллекцииЗначений(СхемаКомпоновкиДанных, НастройкиОтчета);
ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыПолученияДанныхУчетаВремени();
ПараметрыПолученияДанных.ДатаНачала = "ДатаНачала";
ПараметрыПолученияДанных.ДатаОкончания = "ДатаОкончания";
УчетРабочегоВремениРасширенный.ПолученияДанныхУчетаВремениПослеКомпоновкиМакета(МакетКомпоновки.НаборыДанных.ДанныеОВремени, ПараметрыПолученияДанных);
СоответствиеПользовательскихПолей = ЗарплатаКадрыОтчеты.СоответствиеПользовательскихПолей(НастройкиОтчета);
// Создадим и инициализируем процессор компоновки.
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина);
ДанныеОВремени = Новый ДеревоЗначений;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ДанныеОВремени);
// Обозначим начало вывода
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
ВывестиМакет(ДокументРезультат, ДанныеОВремени, НачалоПериода, КонецПериода, ДатаОтчета, СоответствиеПользовательскихПолей);
ДопСвойства = КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства;
ДопСвойства.Вставить("ОтчетПустой", ДанныеОВремени.Строки.Количество() = 0);
Иначе
Показать
Добрый день Sakuraso. Спасибо за Ваш ответ. Я посмотрела дерево значений ДанныеОВремени.
Действительно в нем есть данные по сотрудникам. Но у меня появился вопрос,
как из этой переменной выгрузить данные. Попробовала создать внешнюю обработку,
но как работать со СхемойКомпановкиДанных.И еще одна проблема.
Процедуры в отчете выполняются в модуле объекта в контексте сервера, а мне нужно
выгрузить данные в файл. Как их передать в контекст клиента?
Подскажите пожалуйста хоть чуть-чуть. Буду очень благодарна за помощь.
Действительно в нем есть данные по сотрудникам. Но у меня появился вопрос,
как из этой переменной выгрузить данные. Попробовала создать внешнюю обработку,
но как работать со СхемойКомпановкиДанных.И еще одна проблема.
Процедуры в отчете выполняются в модуле объекта в контексте сервера, а мне нужно
выгрузить данные в файл. Как их передать в контекст клиента?
Подскажите пожалуйста хоть чуть-чуть. Буду очень благодарна за помощь.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот