При формировании и выгрузке регламентированной декларации по НДС пользователи и разработчики часто сталкиваются с двумя критическими проблемами: возникновением исключения вида «Поле объекта не обнаружено (Раздел2)» при автозаполнении отчета и невозможностью выгрузки декларации из-за ошибок онлайн-проверки контрагентов по базе ФНС. Разберем детально технические причины этих сбоев и пошаговые методы их устранения.
Проанализируем программный код механизма заполнения декларации. При вызове серверных процедур формирования отчетности конфигурация использует временное хранилище для передачи параметров и результирующей структуры данных:
АдресХранилища = ПоместитьВоВременноеХранилище(ПараметрыОтчета, Новый УникальныйИдентификатор);
ОбщиеПараметрыЗаполнения = Новый Структура;
ОбщиеПараметрыЗаполнения.Вставить("ВидОтчета", "РегламентированныйОтчетНДСФормаОтчета2015Кв1");
ОбщиеПараметрыЗаполнения.Вставить("АдресХранилища", АдресХранилища);
ЗаполнениеРегламентированнойОтчетностиСервер.ЗаполнитьРегламентированныйОтчет(ОбщиеПараметрыЗаполнения);
Контейнер = ПолучитьИзВременногоХранилища(АдресХранилища);
// Вызов процедуры, на которой происходит сбой:
ЗаполнитьРаздел2(Контейнер.Раздел2);
Выясним причину возникновения ошибки. Она может иметь два различных источника: системный сбой кэширования на сервере 1С или пропуск процедур в нетиповых конфигурациях при обновлении.
Новый УникальныйИдентификатор без привязки к форме может давать сбой при распределении серверных вызовов между рабочими процессами rphost. В результате функция ПолучитьИзВременногоХранилища возвращает не структуру отчета, а чужой контекст или пустое значение, что вызывает ошибку отсутствия свойства Раздел2.
Для быстрого решения проблемы выполним следующие действия:
1C:Enterprise Server Agent (ragent).rphost, в котором выполняется сеанс.ЗаполнениеРегламентированнойОтчетностиСервер может отсутствовать перенаправление на обработчик текущей редакции отчета.
Посмотрим на пример необходимого блока кода в процедуре ЗаполнитьРегламентированныйОтчет:
ИначеЕсли ПараметрыОтчета.ВидОтчета = "РегламентированныйОтчетНДСФормаОтчета2017Кв1" Тогда
УчетНДСФормированиеОтчетности.ЗаполнитьОтчетНДСФормаОтчета2017Кв1(ПараметрыОтчета);
Для исправления ситуации выполним повторное объединение с конфигурацией поставщика (.cf текущего релиза). В окне сравнения и объединения проверим наличие обновлений для общих модулей ЗаполнениеРегламентированнойОтчетностиСервер, УчетНДСФормированиеОтчетности и общих макетов, принудительно установив флаги объединения.
При формировании книги покупок и продаж в составе декларации пользователи с ограниченными правами (роль «Бухгалтер») могут столкнуться с ошибкой нарушения прав доступа к константе ПредельноеКоличествоЗаписейВРазделеДекларацииПоНДС.
Разберем способы устранения этой ошибки:
ПредельноеКоличествоЗаписейВРазделеДекларацииПоНДС.УстановитьПривилегированныйРежим(Истина), либо убедимся, что общий модуль формирования имеет флаг «Привилегированный».При проверке декларации перед отправкой встроенный сервис онлайн-проверки ФНС (ЕГРН) сверяет связку «ИНН + КПП + дата сделки». Если контрагент сменил адрес или КПП, по выписке ЕГРЮЛ организация существует, но в базе ЕГРН на дату счета-фактуры комбинация может помечаться как недействующая, блокируя автоматическую выгрузку.
Рассмотрим порядок действий для успешной выгрузки отчета:
КПП оставляем пустым, так как формат электронной отчетности ФНС допускает отсутствие КПП у иностранных юридических лиц.