Как изменить КПП организации в 1С, если возникает ошибка даты запрета изменения за 31.12.1899?

Бухгалтер 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

При попытке изменить КПП организации или внести новую регистрацию в налоговом органе с текущей даты пользователи часто сталкиваются с ошибкой подсистемы дат запрета изменения: «История регистрации в налоговом органе с полем период = "31.12.1899" в запрещенном периоде невозможно изменить». Разберем подробно, почему программа обращается к 1899 году и какими способами можно успешно сохранить новые реквизиты.

Выясним причину возникновения ошибки

Проанализируем внутреннее устройство хранения данных в 1С. В типовых конфигурациях (включая 1С:Бухгалтерию 3.0) история изменения КПП и налоговых инспекций хранится в периодическом регистре сведений История регистраций в налоговом органе (или Регистрации в налоговом органе).

Ошибочная ситуация складывается из двух факторов:

  1. Системное представление пустой даты: В платформе 1С дата 31.12.1899 (или 01.01.0001) соответствует незаполненному (пустому) значению даты. Если при создании организации начальная запись истории создавалась без указания даты, система хранит её как минимально возможную дату.
  2. Механизм перезаписи набора записей: При изменении реквизитов непосредственно через карточку справочника Организации платформа перезаписывает весь набор записей регистра целиком. Подсистема «Даты запрета изменения» (БСП) анализирует каждую строку записываемого набора. Обнаружив первую историческую запись с датой 31.12.1899, система видит, что она попадает в закрытый период, и полностью блокирует операцию, даже если добавляется новая строка с актуальной датой.

Способ 1. Временное снятие даты запрета для конкретного пользователя

Рассмотрим стандартный пользовательский вариант решения без открытия закрытого периода для всех сотрудников организации. Разберем по шагам, как локально настроить права:

  1. Перейдем в раздел Администрирование → Настройки пользователей и прав → Даты запрета изменения.
  2. Переключим режим настройки даты запрета в положение По пользователям.
  3. Найдем учетную запись администратора или ответственного пользователя, выполняющего корректировку реквизитов.
  4. Временно отключим для данного пользователя дату запрета или установим её значение на произвольную дату в прошлом (например, до момента создания базы).
  5. Откроем карточку организации и укажем новый КПП с требуемой даты действия (например, с 15.06.2017), после чего запишем изменения.
  6. Вернемся в настройки дат запрета и восстановим исходную дату запрета для пользователя.

Способ 2. Добавление записи напрямую через регистр сведений

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

  1. Откроем главное меню и выберем пункт Функции для технического специалиста (в более ранних версиях — Все функции).
  2. В списке регистров сведений найдем История регистраций в налоговом органе.
  3. Нажмем кнопку Создать для добавления новой записи.
  4. Заполним реквизиты: выберем организацию, укажем реальную дату вступления изменений в силу и выберем соответствующий элемент справочника Регистрации в налоговом органе с новым КПП.
  5. Нажмем Записать и закрыть. При точечном добавлении строки в регистр проверка на пустую дату 1899 года не затрагивает другие исторические записи.

Способ 3. Исправление даты первой исторической записи

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

  1. Временно отключим дату запрета изменения.
  2. Перейдем в регистр сведений История регистраций в налоговом органе через карточку организации (гиперссылка истории регистрации) или через Функции для технического специалиста.
  3. Найдем самую первую запись с незаполненной датой (31.12.1899).
  4. Установим в качестве периода реальную дату основания или государственной регистрации юридического лица.
  5. Сохраним изменения и включим дату запрета обратно. Теперь все записи истории будут иметь корректные даты, не вызывающие конфликтов с системным представлением пустых дат.

Способ 4. Программная запись или расширение конфигурации

Посмотрим на технические варианты решения задачи, если требуется автоматизировать процесс или исключить ручные манипуляции с датами запрета:

Вариант с внешней обработкой: Сформируем запись набора программно с отключением стандартных проверок БСП с помощью свойства ОбменДанными.Загрузка:


НаборЗаписей = РегистрыСведений.ИсторияРегистрацийВНалоговомОргане.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Организация.Установить(ВыбраннаяОрганизация);
НаборЗаписей.Прочитать();

НоваяСтрока = НаборЗаписей.Добавить();
НоваяСтрока.Организация = ВыбраннаяОрганизация;
НоваяСтрока.Период = Дата("20170615");
НоваяСтрока.РегистрацияВНалоговомОргане = НоваяРегистрация;

НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();

Вариант через расширение конфигурации: В общем модуле ДатыЗапретаИзменения можно переопределить логику проверки наборов записей при помощи аннотации &Вместо или &Перед, добавив исключение проверки для пустых дат (31.12.1899) в наборах регистра истории регистраций.

← На главную