Переход на ставку НДС 20% стал серьезным вызовом для многих организаций, продолжающих вести учет в конфигурации «1С:Бухгалтерия предприятия» редакции 2.0. В отличие от более современной редакции 3.0, где большинство процессов перехода автоматизировано, в БП 2.0 многие действия приходится выполнять вручную. В процессе этого перехода пользователи часто сталкиваются со специфической проблемой: после обновления программы и массового изменения ставок в справочнике номенклатуры, во всех печатных формах документов (счетах, накладных ТОРГ-12, счетах-фактурах) вместо ожидаемых «20%» внезапно начинает выводиться надпись «Без НДС».
В этой статье мы подробно разберем технические причины этого сбоя, проанализируем логику работы платформы «1С:Предприятие 8» при формировании печатных форм и рассмотрим пошаговый алгоритм решения проблемы.
Для начала проанализируем, почему возникает такая ошибка. В конфигурации «Бухгалтерия предприятия 2.0» разработчики фирмы «1С» не добавляли интерактивный «Помощник перехода на НДС 20%». Официальная методология перехода предполагает исключительно ручные действия администратора или бухгалтера:
2.0.66.60 (в котором в перечисление ставок НДС были добавлены новые значения).Номенклатура с помощью стандартного инструмента «Групповая обработка справочников и документов».Однако при выполнении этих шагов часто срабатывает проблема несоответствия локального кэша метаданных платформы «1С:Предприятие» на компьютерах пользователей. В коде формирования печатных форм заложена жесткая проверка ставок на основе объекта конфигурации Перечисления.СтавкиНДС.
Если алгоритм печати при анализе табличной части документа не находит точного совпадения со значением из перечисления (или считает значение неопределенным из-за несинхронизированного кэша), срабатывает защитный механизм (fallback), который подставляет значение по умолчанию — текст «Без НДС» или прочерк. Рассмотрим схематичный пример того, как логика печати обрабатывает эти условия:
// Пример логики сопоставления ставки при выводе на печать
Если ТекущаяСтавка = Перечисления.СтавкиНДС.НДС20 Тогда
ОбластьМакета.Параметры.СтавкаНДС = "20%";
ИначеЕсли ТекущаяСтавка = Перечисления.СтавкиНДС.НДС18 Тогда
ОбластьМакета.Параметры.СтавкаНДС = "18%";
ИначеЕсли ТекущаяСтавка = Перечисления.СтавкиНДС.БезНДС Тогда
ОбластьМакета.Параметры.СтавкаНДС = "Без НДС";
Иначе
// Если новое значение перечисления не распознано кэшем платформы
ОбластьМакета.Параметры.СтавкаНДС = "Без НДС";
КонецЕсли;
При записи номенклатуры групповой обработкой элементы справочника записывались с некорректной внутренней ссылкой на новое значение перечисления, либо сам код печати «не видел» ставку 20% в кэшированных на диске метаданных пользователя. Именно поэтому в документах на экране ставка отображается корректно, а в печатных формах сбивается на «Без НДС».
Для того чтобы заставить платформу корректно сопоставлять новые значения перечислений во всех запросах и печатных формах, необходимо обновить индексы таблиц и очистить временные файлы системы. Рассмотрим основные способы решения этой проблемы.
Это самый простой и действенный метод для файловых баз данных, который принудительно пересоздает индексы таблиц и обновляет внутренние идентификаторы GUID метаданных:
Администрирование — Выгрузить информационную базу... и сохраним базу в файл с расширением .dt.Администрирование — Загрузить информационную базу... и выберем только что созданный файл .dt.Эта процедура полностью пересобирает базу данных на физическом уровне, устраняя любые несоответствия метаданных.
Если выгрузка-загрузка базы не помогла (или у вас клиент-серверный вариант работы), необходимо очистить локальный кэш на рабочем компьютере пользователя:
Если проблема сохраняется, рекомендуется провести внутреннюю диагностику базы данных:
Администрирование — Тестирование и исправление....Групповая обработка решает проблему только для существующей в справочнике номенклатуры. Однако при создании новых карточек товаров и новых документов (например, платежных поручений) программа может автоматически подставлять старую ставку 18%. Чтобы исправить это и перевести параметры по умолчанию на 20%, выполним следующие действия:
Сервис — Настройки пользователя.Операции — Регистры сведений — Настройки пользователей.Проанализировав ситуацию и выполнив указанные шаги, мы полностью решим проблему вывода некорректной ставки НДС в печатных формах и подготовим конфигурацию «1С:Бухгалтерия предприятия 2.0» к полноценной работе по новым стандартам законодательства.