Сдача отчетности по НДС — всегда напряженный период для бухгалтера и системного администратора. Любые сбои в формировании регламентированных отчетов могут парализовать работу отдела. В этой статье мы подробно разберем две серьезные проблемы, с которыми пользователи часто сталкиваются при подготовке Книги покупок и Книги продаж в программе 1С:Бухгалтерия предприятия 3.0, выясним их технические причины и найдем практические методы решения.
---
Рассмотрим первую ситуацию. Вы открываете Книгу покупок или Книгу продаж, нажимаете кнопку «Сформировать». Отчет успешно строится, на экране появляются данные. Однако через несколько секунд, как только завершается фоновая проверка контрагентов через сервис ФНС, вся табличная часть мгновенно исчезает, оставляя вместо себя пустое белое поле. Давайте разберемся, почему так происходит.
Техническая суть проблемы:
Описанное поведение системы — это классический платформенный баг, который массово проявлялся в версиях платформы 1С:Предприятие 8.3.13 и 8.3.14 (в частности, на релизе 8.3.14.1565). Причина кроется во взаимодействии платформы 1С с системным движком рендеринга веб-страниц операционной системы, который используется для отрисовки HTML-документов в тонком клиенте.
В момент формирования отчета запускается асинхронный фоновый процесс проверки ИНН и КПП контрагентов через сервис «1С:Контрагент». Когда проверка завершается, фоновое задание возвращает результат в форму отчета, чтобы подсветить статус контрагентов (например, выделить некорректные ИНН красным цветом). В этот момент из-за ошибки отрисовки динамического контента (HTML Reflow) контейнер отчета «схлопывается», уменьшая свои размеры до нуля. Пользователь при этом видит белый экран.
Проанализируем все доступные способы решения этой проблемы — от оперативных обходных путей до радикального исправления.
Поскольку проблема носит чисто платформенный характер, фирма «1С» оперативно выпустила исправления в последующих релизах. Чтобы навсегда избавиться от этого бага без ущерба для функционала, необходимо обновить платформу 1С:Предприятие до актуального стабильного релиза (ветки 8.3.15, 8.3.16 и выше). В новых версиях движок отрисовки веб-компонентов работает корректно и динамическое обновление табличного поля не приводит к его сворачиванию.
Если обновить платформу прямо сейчас нет технической возможности (например, идет отчетный период и любое вмешательство в систему ограничено), мы можем временно отключить автоматическую фоновую проверку контрагентов. Для этого выполним следующие шаги:
Важно: после сдачи отчетности или при первой возможности обновить платформу обязательно верните эту настройку назад, так как проверка контрагентов крайне важна для предотвращения ошибок при отправке деклараций.
Довольно часто данная проблема обостряется после восстановления информационной базы из резервной копии или ее переноса на другой сервер. При запуске такой базы программа выдает предупреждение, и если пользователь нажимает «Это копия базы», 1С блокирует работу с внешними ресурсами, включая сервис «1С:Контрагент».
Чтобы разблокировать работу и восстановить корректный обмен данными с сервисами, выполним следующие действия:
Поврежденный кэш метаданных пользователя часто является виновником некорректного отображения сложных динамических форм. Рекомендуем произвести очистку кэша по следующей методике:
Если вам нужно немедленно передать отчет руководителю или сохранить файл, а Книга исчезает через 3-5 секунд после формирования, воспользуемся хитростью. Сразу же после нажатия кнопки «Сформировать», пока идет процесс получения данных и крутится индикатор выполнения фоновой задачи, быстро нажмите на панели кнопку «Печать» (или сочетание клавиш Ctrl + P). Печатная форма откроется в отдельном модальном окне, которое не связано с фоновыми процессами отрисовки основной формы и гарантированно не исчезнет.
---
Теперь рассмотрим вторую проблему, которая часто возникает в базах с долгой историей ведения учета (особенно при раздельном учете НДС). При формировании Книги покупок за текущий период (например, за 1 квартал 2019 года и позднее) в отчет неожиданно начинают попадать старые записи прошлых лет (за 2015, 2016 или 2017 годы) со ставкой 18%.
Выясним причину этой аномалии. Дело в том, что в коде конфигурации при переходе на новую ставку НДС 20% были существенно ужесточены алгоритмы проверок в модулях учета НДС. Проанализируем фрагмент запроса из общего модуля УчетНДСПереопределяемый, а конкретно — из функции ОпределитьНаличиеСчетовФактурПолученных:
|ПОМЕСТИТЬ ВТ_ДанныеСчетовФактур
|ИЗ
| РегистрНакопления.НДСПредъявленный.Обороты(
| ,
| &КонПериода,
| Период,
| Организация = &Организация
| И &СписокСчетовФактурОтбор
| И &ОтборПоВидуЦенности) КАК НДСПредъявленныйОбороты
|ГДЕ
| НЕ НДСПредъявленныйОбороты.СчетФактура ССЫЛКА Документ.КорректировкаРеализации
| И НЕ(НДСПредъявленныйОбороты.СчетФактура ССЫЛКА Документ.ПоступлениеТоваровУслуг
| И НДСПредъявленныйОбороты.ДоговорКонтрагента <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И НДСПредъявленныйОбороты.ДоговорКонтрагента.УчетАгентскогоНДС
| И НДСПредъявленныйОбороты.ДоговорКонтрагента.ВидАгентскогоДоговора <> ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.РеализацияТоваров))
| И НДСПредъявленныйОбороты.ВидЦенности <> ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ЭлектронныеУслуги)
В чем логика изменений?
В данном запросе разработчики добавили жесткое условие отбора по полю ВидЦенности. Ранее, до обновления конфигурации, система лояльно относилась к ситуациям, когда приход НДС отражался по одному виду ценности (например, Товары), а списание или принятие к вычету производилось по другому (например, Материалы или Прочие работы и услуги). Программа схлопывала эти суммы в Книге покупок без детализации.
Однако теперь, из-за детального сопоставления полей, программа видит незакрытые дебетовые остатки в разрезе аналитики ВидЦенности в регистре накопления НДС предъявленный за прошлые годы. Система считает этот НДС «зависшим» (не принятым к вычету) и добросовестно пытается протащить его в Книгу покупок текущего отчетного периода.
Разберем по шагам, как локализовать и исправить эту ошибку учета.
Чтобы понять, какие именно документы сформировали незакрытые остатки по регистру, нам необходимо построить детальный отчет:
ОрганизацияСчет-фактураВид ценностиДоговор контрагентаВид ценности не закрыт кредитовым оборотом, из-за чего на конец прошлых лет «висит» остаток.Периоды прошлых лет, как правило, уже закрыты от изменений, и перепроводить старые документы поступления или списания НДС категорически нельзя, чтобы не поплыла сданная отчетность. Единственный верный способ — скорректировать остатки по регистру текущим (или концом прошлого) периодом.
Сделаем это с помощью ручной операции:
Вид ценности.Организация, Счет-фактура, Поставщик, Договор в точном соответствии с зависшими остатками.После проведения корректирующей операции заново сформируем Книгу покупок за текущий период. Программа увидит, что остатки по регистру накопления НДС предъявленный за прошлые годы успешно закрыты, и старые записи со ставкой 18% больше не будут ошибочно выводиться в отчетность.