Как поменять КПП у организации в 1С с сохранением истории в документах?

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

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

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

1. Штатное решение проблемы в современных версиях (УТ 11.5, ERP 2.5, КА 2.5)

Если вы работаете в актуальных версиях программ 1С:Управление торговлей (начиная с релиза 11.5.15.40), 1С:ERP Управление предприятием или 1С:Комплексная автоматизация (начиная с релиза 2.5.15.40), то разработчики фирмы «1С» уже добавили встроенный механизм для хранения истории изменения КПП. Теперь вам не нужно привлекать программистов для доработки системы.

Разберем по шагам, как изменить КПП с сохранением истории в современных конфигурациях:

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

После выполнения этих настроек система начнет автоматически определять, какой КПП выводить на печать. При формировании печатных форм документов (например, Торг-12, Счет-фактура, УПД) программа будет сравнивать дату документа с датой начала действия новой регистрации. Если дата документа меньше даты смены КПП, на печать будет выводиться старый КПП, если равна или больше — новый.

2. Как устроен механизм истории КПП в «1С:Бухгалтерии 8» (БП 3.0)

Проанализируем ситуацию с программой 1С:Бухгалтерия 8 (как в версии ПРОФ, так и КОРП). В этом решении функционал хранения истории КПП присутствовал практически всегда (начиная с версии 3.0.39). Логика работы здесь полностью совпадает с новыми версиями торговых решений.

В карточке организации в БП 3.0 вся информация о КПП привязана к регистрации в налоговом органе. Чтобы изменить КПП, пользователю достаточно перейти по ссылке История регистраций, добавить новую запись, указать дату начала ее действия (реквизит ДействуетС) и ввести новые реквизиты налогового органа. Программа сама позаботится о корректном отражении данных в регламентированной отчетности по НДС и налогу на прибыль, а также в печатных формах первичных документов.

3. Решение проблемы в старых конфигурациях (на примере УТ 11.4)

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

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

Вариант А. Доработка печатных форм через код (рекомендуемый технический способ)

Этот способ позволяет программно подменять КПП в момент формирования печатной формы документа. Для этого программисту необходимо внести изменения в код программы (лучше всего использовать механизм подписок на события или расширение конфигурации), чтобы не снимать типовую базу с поддержки.

Суть метода заключается в перехвате функции, которая собирает сведения об организации для печатных форм. Обычно это функция СведенияОЮрЛице в общем модуле ФормированиеПечатныхФорм (или аналогичном в вашей версии конфигурации).

Рассмотрим пример кода, который решает эту задачу:


Функция ПолучитьКППОрганизацииНаДату(Организация, ДатаДокумента) Экспорт
    
    // Задаем дату смены КПП нашей организации
    ДатаСменыКПП = '20180201000000'; // 01 февраля 2018 года
    СтарыйКПП = "777000111";
    НовыйКПП  = "777000222";
    
    Если ДатаДокумента < ДатаСменыКПП Тогда
        Возврат СтарыйКПП;
    Иначе
        Возврат НовыйКПП;
    КонецЕсли;
    
КонецФункции

В процедуре заполнения структуры сведений об организации перед выводом макета на печать стандартное значение КПП заменяется результатом работы нашей функции:


// В месте формирования сведений для печати:
ДанныеОрганизации.КПП = ПолучитьКППОрганизацииНаДату(ДокументСсылка.Организация, ДокументСсылка.Дата);

Этот подход гарантирует, что старые документы всегда будут распечатываться со старым КПП, а новые — с актуальным. При этом в самой карточке организации на постоянной основе устанавливается уже новый КПП 777000222.

Вариант Б. Использование внешних печатных форм

Если вы не хотите вносить изменения в конфигурацию базы данных (даже через расширения), можно пойти по пути создания внешних печатных форм для основных документов (Счет-фактура, УПД, Торг-12).

В коде внешней печатной формы прописывается аналогичное условие проверки даты документа, как показано в примере выше. Плюс этого метода в том, что конфигурация остается полностью типовой, что облегчает последующие обновления. Минус — необходимость поддерживать актуальность внешних печатных форм при обновлении платформы или релизов конфигурации.

Вариант В. Прямая смена КПП и работа с архивной копией

Это самый простой административный метод, не требующий программирования, но имеющий операционные неудобства:

  1. Перед сменой реквизитов создается полная архивная копия базы данных.
  2. Архивная копия разворачивается как отдельная база данных под названием, например, "УТ (архив до 01.02.2018)".
  3. В рабочей базе данных в карточке организации КПП меняется на новый.
  4. Если бухгалтеру требуется перепечатать старый документ за прошлые периоды, он заходит в архивную базу и производит печать оттуда.
  5. В текущей рабочей базе все новые документы проводятся и печатаются уже с новым КПП.

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

Вариант Г. Создание дубликата организации в справочнике

Иногда пользователи пытаются решить проблему «в лоб»: создают в справочнике Организации новую карточку с точно таким же наименованием и ИНН, но с новым КПП, начиная вести учет по ней с определенной даты.

Внимание! Мы настоятельно не рекомендуем использовать этот метод. Создание дублирующей организации внутри одной базы данных приведет к серьезным трудностям:

Резюме

Мы проанализировали различные варианты решения проблемы изменения КПП организации. Наилучшим решением на сегодняшний день является обновление конфигурации до актуального релиза (УТ 11.5 / ERP 2.5), где функционал хранения истории КПП по датам реализован на уровне платформы разработчиками 1С.

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

← На главную