В процессе ведения воинского учета в программе 1С:Зарплата и Управление Персоналом 3.1 кадровики и бухгалтеры часто сталкиваются с ситуацией, когда в специализированных отчетах, таких как «Сведения для сверки с военкоматом» или «Карточка гражданина, подлежащего воинскому учету (Форма №10)», данные о составе семьи сотрудников выводятся некорректно или вовсе отсутствуют. При этом в карточке физического лица в разделе «Семья» все родственники могут быть добросовестно занесены. Рассмотрим подробнее, почему так происходит, и разберем по шагам технические и административные способы решения этой проблемы.
Для начала проанализируем ситуацию с точки зрения архитектуры системы. Начиная с релизов ветки 3.1.7, компания 1С провела существенную реструктуризацию метаданных. Многие поля, которые ранее использовались для хранения информации о родственниках, получили префикс Удалить. Это означает, что данные теперь должны храниться в новых структурах, а механизмы формирования отчетов переориентированы на новые регистры и таблицы.
Основная проблема заключается в том, что при обновлении конфигурации или при переносе данных из предыдущих версий (например, 1С:ЗУП 2.5) автоматические обработчики обновления не всегда корректно «пробрасывают» информацию во внутренние системные поля, на которые опирается Система компоновки данных (СКД). Отчеты воинского учета в ЗУП 3.1 — это сложные структуры, которые часто используют не прямые запросы к справочникам, а функции модуля менеджера отчета для формирования сводных строк о семье.
Выясним причину, по которой «простая перезапись» данных помогает решить проблему. В 1С существуют механизмы, называемые Подписками на события. Когда вы нажимаете кнопку «Записать и закрыть» в карточке физического лица или конкретного родственника, срабатывает программный код, который обновляет связанные регистры сведений. Если данные были перенесены программно или «криво» обновились, эти связи могли не сформироваться. Перезапись заставляет систему актуализировать данные в соответствии с новой логикой текущего релиза.
Если проблема наблюдается у нескольких сотрудников, мы можем воспользоваться простым методом «перезаписи». Разберем этот процесс:
Проанализируем ситуацию: после этих действий данные в отчете должны появиться. Это происходит потому, что при записи объекта программный код 1С выполняет заполнение актуальных регистров, из которых отчет «Сведения для сверки» черпает информацию.
Когда в базе данных числятся сотни сотрудников, ручная перезапись становится невозможной. В этом случае мы воспользуемся инструментом Групповое изменение реквизитов. Посмотрим на алгоритм действий:
Физические лица.ПриЗаписи).Рассмотрим подробнее, как именно отчет собирает строку состава семьи. Часто в модуле менеджера отчета используется алгоритм, подобный этому:
// Пример упрощенной логики сбора данных о семье
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СоставСемьиФизЛиц.СтепеньРодства,
| СоставСемьиФизЛиц.ФИО,
| СоставСемьиФизЛиц.ДатаРождения
|ИЗ
| Справочник.ФизическиеЛица.СоставСемьи КАК СоставСемьиФизЛиц
|ГДЕ
| СоставСемьиФизЛиц.Ссылка = &Ссылка";
// Далее идет цикл обработки, где формируется строка
Важно помнить, что если в данных родственника отсутствует Дата рождения или она заполнена некорректно (например, 01.01.0001), функция формирования строки в стандартных механизмах ЗУП может вернуть пустую строку для всей таблицы родственников этого сотрудника. Проанализируем ситуацию: один «битый» родственник может заблокировать вывод всей семьи в отчете. Проверьте наличие дат рождения у всех членов семьи.
Еще одна неочевидная причина — использование неверных элементов в справочнике Степени родства. Для корректной работы воинского учета программа ожидает увидеть предопределенные элементы (те, что созданы самой системой и имеют специальный внутренний идентификатор). Если бухгалтер вручную создал элемент «Дочка» вместо предопределенного «Дочь», отчет может проигнорировать такую запись.
Убедитесь, что используются системные значения:
СынДочьЖенаМужОтецМатьЕсли после всех манипуляций отчет «Сведения для сверки» все равно работает нестабильно, рекомендуется рассмотреть использование Формы №10 (Карточка гражданина). Это более современный отчет, введенный законодательством в последние годы. В 1С:ЗУП 3.1 алгоритмы сбора данных для Формы №10 написаны с учетом всех последних изменений метаданных и работают более надежно, чем старые варианты отчетов по воинскому учету.
Разберем, как проверить данные в ней:
Если в Форме №10 состав семьи отображается, а в старом отчете — нет, это прямое подтверждение того, что в старом отчете используется устаревший алгоритм обращения к полям Удалить....
Подведем итог: основная стратегия решения проблемы заключается в актуализации данных через групповую перезапись объектов Физические лица и проверке полноты заполнения реквизитов родственников (особенно дат рождения и степеней родства). Это позволит восстановить целостность данных после обновлений программы и обеспечит корректное формирование отчетности для военкоматов.