В практике кадровой работы встречаются случаи, когда необходимо распечатать «старый» документ (справку и т.п.), датированный старой датой. В этом случае подписи должны соответствовать дате документа. К сожалению, в стандартной конфигурации ЗУП для отчета «Карточка гражданина, подлежащего воинскому учету» такая возможность отсутствует.
При использовании отчета «Воинский учет общий», вариантом которого является «Карточка …», подписи ответственных выводятся по состоянию на текущий день, несмотря на указанную дату отчета (параметр «Период»).
Анализ программного кода показал, что в цепочке многочисленных вызовов процедур и функций (для получения данных об ответственных лицах) в начальных вызовах передается дата отчета как параметр, а в одном вызове этот параметр отсутствует. Соответственно данные выбираются на текущую дату.
В предлагаемом отчете за основу был взят отчет «Воинский учет общий», но доработан алгоритм получения подписи ответственного за воинский учет. К сожалению, пришлось перенести в отчет ряд процедур и функций из общих модулей, которые не являются экспортными. Отмечу, что дорабатывался и тестировался только вариант «Карточки …».
Для удобства была немного изменена Схема компоновки данных: список сотрудников вынесен на форму. (Рис. 1)
Для вывода используется макет "Карточки ... " из стандартной конфигурации (Рис. 2, 3). Красным выделены измененные поля.
Работа реализована в виде внешнего отчета и проверялась на платформе 8.3.22.1704 конфигурация «Зарплата и управление персоналом» редакция 3.1 (3.1.25.36).