Как выгрузить данные по табельному учету

1. user1524444 15.01.21 20:22 Сейчас в теме
Всем привет. Прошу помощи в решении следующей задачи.
В ЗУП 3.1 есть отчет УнифицированнаяФормаТ13, формирующий
табель учета рабочего времени за период. Возникла необходимость данные, которые формирует данный
отчет, выгрузить в другое приложение. Я посмотрела в СКД запросы, не могу разобраться
как формируется данный отчет, откуда берутся данные по времени и видам. Я
новичок в 1С. Подскажите пожалуйста что посмотреть и куда двигаться.
По теме из базы знаний
Найденные решения
5. SlavaKron 16.01.21 09:23 Сейчас в теме
Года 2 назад можно было так (результат выгружается в ТЗ в процедуре в Команда1НаСервере):
&НаСервере
Процедура Команда1НаСервере()
	
	ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыДляЗапросВТДанныеУчетаВремениИСостоянийСотрудников();
	ПараметрыПолученияДанных.ДатаНачала = Период.ДатаНачала;
	ПараметрыПолученияДанных.ДатаОкончания = Период.ДатаОкончания;
	
	ПараметрыПолученияДанных.МесяцДатаНачала = Период.ДатаНачала;
	ПараметрыПолученияДанных.МесяцДатаОкончания = Период.ДатаОкончания;
	ПараметрыПолученияДанных.ДатаАктуальности = ТекущаяДата();
	
	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	СоздатьВТСотрудники(МенеджерВременныхТаблиц, СписокСотрудников.ВыгрузитьЗначения(), Период.ДатаНачала, Период.ДатаОкончания);
	
	УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаВремениИСостоянийСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
	ТЗ = МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаВремениИСостоянийСотрудников").ПолучитьДанные().Выгрузить();
	ТЗ.Сортировать("Дата");
	
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала, ДатаОкончания)
	ТаблицаСотрудники = Новый ТаблицаЗначений;
	ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата")); 
	
	Для Каждого Сотрудник Из МассивСотрудников Цикл
		СтрокаСотрудники = ТаблицаСотрудники.Добавить();
		СтрокаСотрудники.Сотрудник = Сотрудник;
	КонецЦикла;
	
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаНачала, "ДатаНачала");
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаОкончания, "ДатаОкончания");
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ТаблицаСотрудники.Сотрудник,
	|	ТаблицаСотрудники.ДатаНачала,
	|	ТаблицаСотрудники.ДатаОкончания
	|ПОМЕСТИТЬ ВТСотрудники
	|ИЗ
	|	&ТаблицаСотрудники КАК ТаблицаСотрудники");
	
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
	Запрос.Выполнить();
КонецПроцедуры
Показать
ShiningPhoenix; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1503726 15.01.21 20:36 Сейчас в теме
В зуп 2.5 было 2 отчета по форме т13. Один плановый - рабочие дни по графикам работы минус введенные отклонения по кадровому учету (больничные, отпуска).
Второй вариант (если не ошибаюсь) печатная форма документа табель. Возможен еще третий- по данным расчета зарплаты (фактические явки минус неявки).
Запрос по фактическим данным из документа табель ограничен размером поля 255 символов, поэтому если пользоваться СКД с запросом по табличной части документа, то порциями.
В ЗУП 3 табель устроен как то по другому.
3. port8080 16.01.21 08:55 Сейчас в теме
Смотрите регистр накопления "Данные табельного учета рабочего времени сотрудников".
4. port8080 16.01.21 08:57 Сейчас в теме
Еще можно выгрузить данные сформированные СКД в таблицу значений, которую можно преобразовать как нужно.
5. SlavaKron 16.01.21 09:23 Сейчас в теме
Года 2 назад можно было так (результат выгружается в ТЗ в процедуре в Команда1НаСервере):
&НаСервере
Процедура Команда1НаСервере()
	
	ПараметрыПолученияДанных = УчетРабочегоВремениРасширенный.ПараметрыДляЗапросВТДанныеУчетаВремениИСостоянийСотрудников();
	ПараметрыПолученияДанных.ДатаНачала = Период.ДатаНачала;
	ПараметрыПолученияДанных.ДатаОкончания = Период.ДатаОкончания;
	
	ПараметрыПолученияДанных.МесяцДатаНачала = Период.ДатаНачала;
	ПараметрыПолученияДанных.МесяцДатаОкончания = Период.ДатаОкончания;
	ПараметрыПолученияДанных.ДатаАктуальности = ТекущаяДата();
	
	МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	СоздатьВТСотрудники(МенеджерВременныхТаблиц, СписокСотрудников.ВыгрузитьЗначения(), Период.ДатаНачала, Период.ДатаОкончания);
	
	УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаВремениИСостоянийСотрудников(МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанных);
	ТЗ = МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеУчетаВремениИСостоянийСотрудников").ПолучитьДанные().Выгрузить();
	ТЗ.Сортировать("Дата");
	
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьВТСотрудники(МенеджерВременныхТаблиц, МассивСотрудников, ДатаНачала, ДатаОкончания)
	ТаблицаСотрудники = Новый ТаблицаЗначений;
	ТаблицаСотрудники.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
	ТаблицаСотрудники.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата")); 
	
	Для Каждого Сотрудник Из МассивСотрудников Цикл
		СтрокаСотрудники = ТаблицаСотрудники.Добавить();
		СтрокаСотрудники.Сотрудник = Сотрудник;
	КонецЦикла;
	
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаНачала, "ДатаНачала");
	ТаблицаСотрудники.ЗаполнитьЗначения(ДатаОкончания, "ДатаОкончания");
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ТаблицаСотрудники.Сотрудник,
	|	ТаблицаСотрудники.ДатаНачала,
	|	ТаблицаСотрудники.ДатаОкончания
	|ПОМЕСТИТЬ ВТСотрудники
	|ИЗ
	|	&ТаблицаСотрудники КАК ТаблицаСотрудники");
	
	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("ТаблицаСотрудники", ТаблицаСотрудники);
	Запрос.Выполнить();
КонецПроцедуры
Показать
ShiningPhoenix; +1 Ответить
6. user1524444 20.01.21 19:14 Сейчас в теме
Уважаемый SlavaKron, спасибо за ответ. Очень помог Ваш ответ. Извините, что сразу не ответила. Меня не было на работе.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот