Как сохранить контрагента без КПП в 1С:Бухгалтерия 8.3

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

При работе в конфигурации «1С:Бухгалтерия предприятия» (редакция 3.0) пользователи и разработчики часто сталкиваются с ситуацией, когда система блокирует сохранение элемента справочника Контрагенты из-за незаполненного поля КПП. Рассмотрим подробнее, почему возникает эта проверка, на каких уровнях программы она выполняется и какими способами можно сохранить элемент без указания КПП.

Штатные ситуации, когда КПП не требуется

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

  1. Индивидуальные предприниматели и физические лица: у данной категории налогоплательщиков есть только ИНН, КПП им не присваивается. Если в карточке контрагента выбран вид «Индивидуальный предприниматель» или «Физическое лицо», поле КПП становится необязательным или скрывается.
  2. Иностранные организации: если контрагент зарегистрирован за пределами РФ и не имеет филиалов/представительств на территории России, у него отсутствует КПП. При указании страны регистрации, отличной от Российской Федерации, требование обязательного заполнения КПП снимается.

Где в 1С:Бухгалтерии 3.0 происходит проверка КПП

Разберем по шагам, на каких уровнях архитектуры 1С выполняет валидацию реквизитов:

  1. На уровне формы элемента: в модуле формы справочника контроль может запускаться в процедуре ОбработкаПроверкиЗаполненияНаСервере, а также при вызове специализированных процедур проверки дублей, таких как ПроверитьИННКППДубли. Также проверка может быть включена в свойствах самого реквизита формы (свойство «АвтоОтметкаНезаполненного»).
  2. На уровне модуля объекта: при вызове метода Записать() платформа выполняет системную процедуру ОбработкаПроверкиЗаполнения. В ней формируется массив ПроверяемыеРеквизиты, куда по умолчанию добавляются обязательные для заполнения поля.
  3. На уровне сервисов ФНС: при включенной интеграции с сервисами 1С программа выполняет фоновую или онлайн-проверку комбинации ИНН и КПП по базе ЕГРН/ЕГРИП.

Способы решения задачи и обхода проверки

Разберем несколько способов сохранения контрагента без КПП — от программных методов до настройки конфигурации.

1. Программная запись объекта

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


ОбъектКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
ОбъектКонтрагент.Наименование = "ООО Ромашка";
ОбъектКонтрагент.ИНН = "7701234567";
ОбъектКонтрагент.КПП = "";
// Запись без проверки заполнения обязательных реквизитов
ОбъектКонтрагент.Записать(РежимЗаписиДокумента.Запись, РежимПроведенияДокумента.НеПроводить);

2. Использование временного значения при создании

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


Процедура ПередЗаписью(Отказ, РежимЗаписи)
    // Если выполняются особые условия, очищаем КПП перед сохранением в БД
    Если ЭтоОсобыйКонтрагент Тогда
        ЭтотОбъект.КПП = "";
    КонецЕсли;
КонецПроцедуры

3. Отмена проверки через расширение конфигурации

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


&Вместо("ОбработкаПроверкиЗаполнения")
Процедура Расш_ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    ПродолжитьВызов(Отказ, ПроверяемыеРеквизиты);
    
    ИндексКПП = ПроверяемыеРеквизиты.Найти("КПП");
    Если ИндексКПП <> Неопределено Тогда
        ПроверяемыеРеквизиты.Удалить(ИндексКПП);
    КонецЕсли;
КонецПроцедуры

4. Отключение сервиса автоматической проверки контрагентов

Если блокировка происходит из-за проверки по базе ФНС, её можно отключить в пользовательском режиме. Для этого перейдите в раздел Администрирование > Интернет-поддержка и сервисы > Проверка контрагентов и снимите флаг Автоматически проверять контрагентов по ЕГРН.

Возможные последствия и риски отсутствия КПП

Обратите внимание на риски, возникающие при сохранении юридического лица без КПП:

  1. Формирование регламентированной отчетности: при составлении Декларации по НДС, Книги покупок и Книги продаж отсутствие КПП у российского юрлица приведет к ошибкам форматно-логического контроля при выгрузке XML-файлов для ФНС.
  2. Электронный документооборот (ЭДО): форматы УПД и счетов-фактур строго регламентированы. Отправка электронного документа контрагенту без КПП будет заблокирована на этапе валидации.
← На главную