Внешняя печатная форма зкгу 3.1 (ТабельУчетаРабочегоВремени)

1. Ingvar1315 06.02.22 09:07 Сейчас в теме
Подскажите как поправить во внешней печатной форме табеля учета рабочего времени, чтобы из последней колонки "всего дней (часов) явок надо исключить дни(часы) работы в праздничные и выходные", рядом сделать ещё одну колонку "всего дней(часов) явок в праздничные и выходные" куда будут проставляться праздничные и выходные дни часы.
По теме из базы знаний
Найденные решения
9. Ingvar1315 11.02.22 06:45 Сейчас в теме
Всех благодарю за ответы, решение найдено, вся сила в БуквенномКоде (:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ingvar1315 06.02.22 09:13 Сейчас в теме
Я так понимаю здесь кроется решение, но как это поправить?

Если КлючВарианта = "Форма0504421с2015" Тогда
		ОбластьВремяСтрока.Параметры.ДниПерваяПоловина = ?(ВыводитьЯвки, ДниПерваяПоловина, ДниНеявокПерваяПоловина);
		ОбластьВремяСтрока.Параметры.ЧасыПерваяПоловина = ?(ВыводитьЯвки, ЧасыПерваяПоловина, ЧасыНеявокПерваяПоловина);
		ОбластьВремяСтрока.Параметры.ДниЗаМесяц = ?(ВыводитьЯвки, ДниЗаМесяц, ДниНеявокЗаМесяц);
		ОбластьВремяСтрока.Параметры.ЧасыЗаМесяц = ?(ВыводитьЯвки, ЧасыЗаМесяц, ЧасыНеявокЗаМесяц);
	Иначе
		ОбластьНачисленияСтрока.Параметры.ДниЗаМесяц = ДниНеявокЗаМесяц;
		ОбластьНачисленияСтрока.Параметры.ЧасыЗаМесяц = ЧасыНеявокЗаМесяц;
	КонецЕсли;
Показать
3. lostcay 5 07.02.22 02:09 Сейчас в теме
Я так понимаю тебе нужен Регистр сведений "ДанныеПроизводственногоКалендаря".

Можно и запросом получить день.
ВидДня = <Ссылка на запись в производственном календаре за эту дату>.ВидДня ;
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный
ИЛИ ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий Тогда
"Это рабочий день (разбирайся куда это впихнуть)"
Иначе
Это не рабочий день.
4. Ingvar1315 07.02.22 04:42 Сейчас в теме
(3) Благодарю за ответ, можно подробнее
5. lostcay 5 07.02.22 05:08 Сейчас в теме
Не знаю какая структура данных, но подразумеваю, что есть некий регистр с измерением сотрудник, дата, посещение или кол-во часов. Можно сделать так.

Функция ЭтоРабочийДень(Дата)
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ ПЕРВЫЕ 1
|	ДанныеПроизводственногоКалендаря.Дата КАК Дата
|ИЗ
|	РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
|ГДЕ
|	ДанныеПроизводственногоКалендаря.Дата <= &Дата
|	И (ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
|			ИЛИ ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
|
|УПОРЯДОЧИТЬ ПО
|	Дата УБЫВ"; 
Запрос.УстановитьПараметр("Дата", Дата);

Выборка = Запрос.Выполнить().Выбрать();
Если  Выборка.Следующий() Тогда
	Если Выборка.Дата = Дата Тогда
		Возврат Истина;
	Иначе	
		Возврат Ложь;
	КонецЕсли;
Иначе
	Возврат Неопределенно;
КонецЕсли;
КонецФункции
Показать


Это криво, конечно можно сделать по другому, но просто скопировал, то, что на днях делал. (спать уже хочу)
Так вот. Этим вполне можно пользоваться. Если в эту дату был выходной, то отнимаешь кол-во часов за этот день. Пробегаешься по всем дням, которые интересуют, получаешь кол-во часов без учета выходных и праздников.
6. Ingvar1315 07.02.22 05:52 Сейчас в теме
(5) Благодарю за ответ, с запросом понятно, а дальше можно подробнее?
7. lostcay 5 07.02.22 13:32 Сейчас в теме
На самом деле всё зависит от конфигурации. Это я вчера на сонную голову написал как для УНФ (где-то реальзовано как справочник, а не РегСв). Если договоримся по деньгам и пришлешь внешнюю обработку. Могу сделать.
8. Ingvar1315 08.02.22 04:30 Сейчас в теме
(7)Благодарю, готовый вариант не интересует, я хочу сам разобраться
9. Ingvar1315 11.02.22 06:45 Сейчас в теме
Всех благодарю за ответы, решение найдено, вся сила в БуквенномКоде (:
Оставьте свое сообщение

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