Переход на новую ставку НДС 20% для пользователей платформы 1С 7.7 стал серьезным испытанием, так как эта версия программы уже не находится на полноценной поддержке, и многие механизмы автоматизации, доступные в 1С 8.3, здесь отсутствуют. В рамках данной статьи мы разберем алгоритм действий, проанализируем возможные ошибки и выясним, как обеспечить корректное формирование отчетности в переходный период.
Прежде всего, нам необходимо убедиться, что база данных готова к работе с новой ставкой. Несмотря на ограниченную поддержку, фирма «1С» выпустила специальные обновления для типовых решений. Для 1С:Бухгалтерии 7.7 это релиз 7.70.646 (и выше), а для 1С:Торговля и Склад 9.2 — релиз 7.70.998. Рассмотрим, что именно меняется в системе при обновлении:
СтавкиНДС добавляется новое значение — «20%» и «20%/120%».ОсновнаяСтавкаНДС.Если ваша конфигурация является сильно доработанной (нетиповой), прямое обновление может быть невозможным. В этом случае программисту необходимо вручную добавить новые значения в перечисления и обновить алгоритмы формирования налоговых документов, ориентируясь на код типовых релизов.
Просто обновить программу недостаточно. Проанализируем, какие действия нужно выполнить в пользовательском режиме. Во-первых, необходимо изменить значение константы «Основная ставка НДС». Установим ее в значение 20% с 1 января соответствующего года. Это позволит новым документам автоматически подставлять актуальную ставку.
Во-вторых, рассмотрим работу со справочником Номенклатура. В 1С 7.7 ставка НДС жестко привязана к каждой карточке товара или услуги. Чтобы не менять сотни позиций вручную, воспользуемся специальной обработкой «Пересчет ставок НДС в справочнике Номенклатура», которая поставляется в составе обновления. Если же вы работаете в самописной базе, разберем пример простейшего кода для массовой замены:
Спр = СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
Если Спр.СтавкаНДС = Перечисление.СтавкиНДС.НДС18 Тогда
Спр.СтавкаНДС = Перечисление.СтавкиНДС.НДС20;
Спр.Записать();
Сообщить("Обновлен товар: " + Спр.Наименование);
КонецЕсли;
КонецЦикла;
Важный нюанс: Данную обработку следует запускать только после завершения всех операций за старый год. Если вы измените ставку в справочнике в середине декабря, то при перевыставлении документов за 2018 год программа может ошибочно подтянуть 20%.
Разберем специфическую ситуацию, описанную пользователями на практике: в документах 2018 года ставка указана верно (18%), проводки сформированы корректно, однако в печатных формах по валютным счетам сумма НДС рассчитывается исходя из 20%. Выясним причину этой ошибки.
В платформе 7.7 алгоритмы печати часто вынесены в ГлобальныйМодуль или внешние формы .ert. Проблема заключается в том, что функция расчета суммы НДС может обращаться к текущему значению константы ОсновнаяСтавкаНДС или использовать РабочаяДата() вместо даты документа. Проанализируем типовой фрагмент кода, который требует правки:
// Было (ошибочный вариант):
Ставка = Константа.ОсновнаяСтавкаНДС.Получить(РабочаяДата());
// Стало (правильный вариант):
Ставка = Константа.ОсновнаяСтавкаНДС.Получить(ДатаДок);
Если в вашей базе печать валютных документов «едет», проверьте модуль документа (процедуру Печать) и убедитесь, что выбор ставки жестко привязан к параметру ДатаДок. Это позволит системе корректно рассчитывать 18% для старых документов даже в том случае, если текущая дата на компьютере — 2019 год.
Самый сложный блок — это методология учета. Рассмотрим ситуацию, когда аванс получен в 2018 году (18%), а отгрузка товара происходит в 2019 году (20%). Согласно законодательству, отгрузка должна пройти по ставке 20%.
В 1С 7.7, в отличие от восьмой версии, нет автоматизированного помощника по доплате 2% НДС. Посмотрим, как это реализовать практически:
СтрокаКнигиПродаж или ЗаписьКнигиПродаж придется вручную корректировать суммы, чтобы отразить разницу.Для пользователей конфигурации «Торговля и Склад» критически важна работа с онлайн-кассами. Даже если вы изменили ставку в 1С, кассовый аппарат может продолжать печатать 18% или выдавать ошибку. Выясним, что нужно проверить:
Проанализируем файл обработки обслуживания кассы (обычно это fr_comm.ert или shtrih_m_kkt.ert). В коде этой обработки есть таблица соответствия налоговых ставок 1С и налоговых групп в ФР (фискальном регистраторе). Нам нужно убедиться, что значение Перечисление.СтавкиНДС.НДС20 корректно передает индекс налоговой группы, которая в настройках самой кассы запрограммирована как 20%. Зачастую требуется обновление драйвера ККТ и прошивки самого аппарата до версии, поддерживающей НДС 20%.
Переход на ставку 20% в 1С 7.7 требует комплексного подхода. Мы рассмотрели технические аспекты (обновление релизов, правка кода печатных форм) и организационные моменты (массовое изменение справочников). Главный совет для администраторов «семерки»: тщательно проверяйте внешние печатные формы и обработки, так как именно в них чаще всего встречаются «зашитые» старые алгоритмы расчета, которые игнорируют дату документа и используют актуальные константы.