Почему возникает ошибка при заполнении воинского учета сотрудника и как её исправить

Пользователь 1С v8.3 (Управляемые формы)
← На главную

При работе в программах 1С:Зарплата и Управление Персоналом или 1С:ERP пользователи часто сталкиваются с ситуацией, когда при попытке сохранить данные воинского учета (ВУ) система выдает ошибку и блокирует запись. При этом редактирование других данных сотрудника может проходить без проблем. Проанализируем причины этой ситуации и разберем по шагам, как настроить систему для корректной работы.

Выясним основную причину: Дата запрета изменения данных

Как показывает практика и обсуждения на форумах, наиболее распространенной причиной невозможности записать данные является установленная в системе Дата запрета изменения данных. В 1С этот механизм защищает уже закрытые периоды от случайных корректировок. Однако при заполнении воинского учета есть свои нюансы.

Разберем ситуацию: бухгалтер или кадровик открывает карточку сотрудника и заполняет сведения о военном билете. При нажатии кнопки "Записать" программа выдает предупреждение о невозможности редактирования в закрытом периоде. Даже если общая дата запрета кажется актуальной, проблема может крыться в персональных настройках. Проверим это:

  1. Перейдем в раздел Администрирование — Настройки пользователей и прав.
  2. Найдем пункт Даты запрета изменения данных.
  3. Нажмем на ссылку Настроить.
  4. В открывшемся окне проверим, не установлена ли для конкретного пользователя индивидуальная дата запрета, которая отличается от общей по организации.

Как выяснилось в ходе обсуждения, часто для группы пользователей раздел может быть открыт, но для конкретного сотрудника установлена персональная дата, которая и блокирует сохранение РегистраСведений.

Проанализируем влияние поля «Сведения действуют с...»

Одной из самых коварных ловушек в воинском учете является дата начала действия сведений. Рассмотрим подробнее, как это работает. В форме воинского учета всегда присутствует поле «Сведения действуют с». Программа 1С воспринимает запись в регистр именно по этой дате.

Часто кадровики, стремясь к исторической точности, указывают в этом поле дату выдачи военного билета или дату постановки на учет, которая была много лет назад (например, в 2010 году). Если в программе установлена общая дата запрета изменений (например, конец прошлого квартала), система мгновенно заблокирует запись, так как вы пытаетесь создать объект в глубоком «прошлом».

Рекомендация: Для обхода этой проблемы, если вам не принципиально хранить историю за прошлые десятилетия, в поле «Сведения действуют с» следует указывать текущую дату (дату внесения записи). Это позволит системе создать запись в открытом периоде, и ошибка исчезнет. Для отчетности в военкомат важна актуальность данных на текущий момент, а не дата их фиксации в базе 1С. Для проверки занесенных данных и формирования отчетности можно использовать расшифровку воинского учета по форме №18.

Разберем настройку разделов дат запрета

Иногда возникает ситуация, когда раздел «Кадровый учет» в датах запрета разрешен, но воинский учет все равно не записывается. Посмотрим, почему так происходит. Данные воинского учета хранятся в специфических регистрах, таких как Воинский учет, Данные военных билетов и Бронирование сотрудников.

В некоторых версиях конфигураций эти регистры могут быть вынесены в отдельные категории или иметь сложные связи. Если стандартное разрешение раздела «Кадровый учет» не помогает, воспользуемся механизмом тонкой настройки:

  1. Зайдем в меню Настройка — Сервис — Разделы дат запрета изменения объектов (доступно в режиме технического специалиста или при определенных настройках интерфейса).
  2. Проанализируем, к какому разделу относится регистр сведений Воинский учет.
  3. Если необходимо, мы можем создать исключение. В настройках дат запрета выберем способ «По разделам и объектам».
  4. Найдем нужный регистр и настроим для него отдельную дату запрета или вовсе отключим проверку для этого объекта.

Важный нюанс: Если в организации включено использование бронирования граждан, проверьте доступ к документам Ходатайство о бронировании и Отмена бронирования. Они также могут иметь свои привязки к периодам редактирования.

Проанализируем ситуацию с технической стороны

Для программистов и системных администраторов будет полезно понимать, что при записи данных воинского учета система выполняет проверку через механизм ДатыЗапретаИзменения. Если мы программно пытаемся внести изменения, стоит убедиться, что набор записей регистра сведений не попадает в границы запрета.

Рассмотрим пример логики, которая может происходить «под капотом» при попытке записи:


// Пример логики проверки даты запрета (схематично)
ПланыВидовХарактеристик.УдалитьНастройкиДатыЗапрета.ПроверитьДатуЗапретаИзменения(Объект.Период, Объект.Организация);

Если Объект.Период (в нашем случае это дата «Сведения действуют с») меньше установленной даты в константах или регистрах сведений по запрету, возникает исключение, которое пользователь видит как ошибку записи.

Итоги и последовательность действий

Подведем итог нашему исследованию. Чтобы оперативно устранить ошибку при заполнении воинского учета, выполним следующие шаги вместе:

  1. Проверим дату «Сведения действуют с» в форме ввода. Если она относится к прошлому периоду — заменим её на текущую дату. Это самый простой и эффективный способ.
  2. Проверим персональные даты запрета. Убедимся, что для конкретного пользователя, работающего с базой, не установлены индивидуальные ограничения в разделе Настройки пользователей и прав.
  3. Проверим настройки бронирования. Если сотрудник забронирован, его данные могут быть связаны с документами бронирования, которые закрыты для редактирования более жестко.
  4. Настроим исключения. Если специфика работы требует ввода данных старыми датами, воспользуемся настройкой «По разделам» в датах запрета изменений и сделаем исключение для объектов воинского учета.

Используя эти методы, мы сможем обеспечить бесперебойную работу кадровой службы и корректное ведение воинского учета без необходимости полного отключения контроля периодов в программе 1С.

← На главную