Почему в счете-фактуре не печатается КПП покупателя?

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

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

Причина 1: Некорректная запись типа контрагента (для старых редакций)

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

  1. Откройте карточку проблемного контрагента.
  2. Найдите реквизит, отвечающий за вид контрагента (Юр./Физ. лицо).
  3. Принудительно перевыберите значение Юридическое лицо.
  4. Нажмите кнопку ОК для сохранения изменений.
  5. Повторно сформируйте печатную форму счета-фактуры.

Для массового исправления подобных ошибок рекомендуем использовать штатную обработку Групповое изменение реквизитов. В ней можно задать отбор по контрагентам, у которых не заполнено поле вида контрагента, и установить для них верный статус.

Причина 2: Проблемы с историей регистрации в налоговом органе (для БП 3.0)

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

Разберем логику получения КПП программно. Система использует функцию типа КППНаДату, которая выполняет запрос к регистру сведений. Рассмотрим пример такого запроса:


ВЫБРАТЬ МАКСИМУМ(ИсторияРегистраций.Период) КАК Период, ИсторияРегистраций.СтруктурнаяЕдиница 
ПОМЕСТИТЬ ДатаРегистрации 
ИЗ РегистрСведений.ИсторияРегистрацийВНалоговомОргане КАК ИсторияРегистраций 
ГДЕ ИсторияРегистраций.СтруктурнаяЕдиница = &Организация 
И ИсторияРегистраций.Период <= &ДатаСведений 
СГРУППИРОВАТЬ ПО ИсторияРегистраций.СтруктурнаяЕдиница;

ВЫБРАТЬ ЕСТЬNULL(ИсторияРегистраций.РегистрацияВНалоговомОргане.КПП, "") КАК КПП 
ИЗ ДатаРегистрации КАК ДатаРегистрации 
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияРегистрацийВНалоговомОргане КАК ИсторияРегистраций 
ПО ДатаРегистрации.СтруктурнаяЕдиница = ИсторияРегистраций.СтруктурнаяЕдиница 
И ДатаРегистрации.Период = ИсторияРегистраций.Период

Как устранить ошибку:

  1. Перейдите в раздел Функции для технического специалиста.
  2. Найдите регистр сведений История регистраций в налоговом органе.
  3. Проверьте наличие пустых строк или записей, где не указан КПП.
  4. Удалите некорректные записи.
  5. После этого откройте карточку организации или контрагента и корректно введите данные КПП заново. Программа создаст свежую запись в регистре, которую печатная форма сможет успешно считать.

Общие рекомендации по диагностике

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

Помните, что 1С работает с историческими данными. Если запись в регистре сведений датирована прошлым периодом, а в текущем моменте вы добавили изменения, убедитесь, что дата актуальности соответствует вашей задаче.

← На главную