Подскажите как поправить во внешней печатной форме табеля учета рабочего времени, чтобы из последней колонки "всего дней (часов) явок надо исключить дни(часы) работы в праздничные и выходные", рядом сделать ещё одну колонку "всего дней(часов) явок в праздничные и выходные" куда будут проставляться праздничные и выходные дни часы.
---
Всех благодарю за ответы, решение найдено, вся сила в БуквенномКоде (:
---
Я так понимаю здесь кроется решение, но как это поправить?

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

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

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

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

Это криво, конечно можно сделать по другому, но просто скопировал, то, что на днях делал. (спать уже хочу)
Так вот. Этим вполне можно пользоваться. Если в эту дату был выходной, то отнимаешь кол-во часов за этот день. Пробегаешься по всем дням, которые интересуют, получаешь кол-во часов без учета выходных и праздников.
---
Благодарю за ответ, с запросом понятно, а дальше можно подробнее?
---
На самом деле всё зависит от конфигурации. Это я вчера на сонную голову написал как для УНФ (где-то реальзовано как справочник, а не РегСв). Если договоримся по деньгам и пришлешь внешнюю обработку. Могу сделать.
---
Благодарю, готовый вариант не интересует, я хочу сам разобраться
---
Всех благодарю за ответы, решение найдено, вся сила в БуквенномКоде (: