При оформлении первичных документов в конфигурациях 1С 7.7 (в частности, в «Торговля и Склад 9.2») пользователи часто сталкиваются с необходимостью привести печатные формы счетов-фактур и Универсального передаточного документа (УПД) в соответствие с требованиями Постановления Правительства РФ № 981 от 19.08.2017. Кроме того, возникает необходимость заменить автоподстановку строки «Он же» в реквизитах грузоотправителя на полное наименование и адрес организации по ЕГРЮЛ.
Рассмотрим подробно, как устроена печать печатных форм в обновленных релизах 1С 7.7, почему новые формы могут не выводиться на печать и как правильно отредактировать код модуля документа для корректного формирования реквизитов.
Начиная с релиза 7.70.993 конфигурации «Торговля и Склад 9.2», печатные формы счета-фактуры и УПД приведены в соответствие с Постановлением № 981. Однако при работе с ними важно учитывать несколько технических нюансов:
PrnForms, а на уровне макетов и встроенных таблиц самой конфигурации. Для применения изменений недостаточно скопировать внешние файлы — требуется полноценное обновление конфигурации.Налоговые органы и покупатели часто требуют отказываться от формулировки «Он же» в строке 3 («Грузоотправитель и его адрес») и выводить полное наименование организации-продавца вместе с юридическим адресом и индексом.
Разберем по шагам, как внести изменения в модуль формы документа СчетФактураВыданный в режиме «Конфигуратор».
Для правильного формирования юридического адреса в 1С 7.7 используется глобальная функция глПредставлениеАдреса. Проанализируем алгоритм вызова данных:
// В модуле формы документа СчетФактураВыданный
// Заполнение наименования и адреса грузоотправителя вместо строки "Он же"
ШапкаИПодвал.ДобавитьЗначение(Докум.Фирма.ЮрЛицо.ПолнНаименование + ", " + глПредставлениеАдреса(Докум.Фирма.ЮрЛицо.ЮрАдрес), "ПечГрузоотправитель");
ШапкаИПодвал.ДобавитьЗначение(ЮрФизЛицо.ПолнНаименование + ", " + глПредставлениеАдреса(ЮрФизЛицо.ЮрАдрес), "ПечГрузополучатель");
Рассмотрим пример кода, где учитывается условие проверки даты нормативного акта для подстановки продавца и грузоотправителя:
Если ДатаДок >= глДатаПостановления451 Тогда
Рекв.ДобавитьЗначение(Шаблон("Продавец: [Фирма.ЮрЛицо.ПолнНаименование] ([Фирма.ЮрЛицо.Наименование])"), "Поставщик");
Иначе
Рекв.ДобавитьЗначение(Шаблон("Продавец: [Фирма.ЮрЛицо.ПолнНаименование]"), "Поставщик");
КонецЕсли;
// Типовой вариант выводил заголовок с "Он же", который можно переопределить:
// Рекв.ДобавитьЗначение("Грузоотправитель и его адрес: Он же", "Грузоотправитель");
При изменении кода важно соблюдать нормативные правила заполнения счета-фактуры. Если в документе реализуются услуги, работы или имущественные права, в строке грузоотправителя должен выводиться прочерк «-». Прямая сквозная замена текста без проверки состава документа приведет к ошибке.
Выясним причину: Постановление № 981 обязывает ставить прочерк в строках 3 и 4 при оказании услуг. Поэтому дорабатываемый модуль должен сначала проверять номенклатурный состав документа, и подставлять составную строку с полной информацией из глПредставлениеАдреса только при реализации физических товаров.
Чтобы не снимать конфигурацию с поддержки и не редактировать типовой модуль, доработку можно выполнить во внешней печатной форме (файл с расширением .ert, например upd.ert):
ПечГрузоотправитель на составные переменные ПечПродавец и ПечПродавецАдрес или отредактируйте код формирования значения в модуле обработки.