Многие пользователи и технические специалисты, переходя с предыдущих редакций или сравнивая разные информационные базы «1С:Бухгалтерия предприятия 3.0», сталкиваются с ситуацией, когда в списке регламентных операций «Закрытия месяца» отсутствует привычный пункт «Регистрация счетов-фактур на аванс». Давайте подробно разберем, почему это происходит, как устроена логика программы в современных релизах и где искать эту операцию.
Первое, что нам необходимо понять: в редакции 3.0 разработчики существенно изменили подход к выполнению регламентных операций по НДС. В отличие от старых версий (например, 2.0), где большинство действий были линейными, в БП 3.0 операции по расчету налога на добавленную стоимость вынесены в отдельное рабочее место — «Помощник по учету НДС».
Проанализируем структуру списка ВидыРегламентныхОпераций. Если мы обратимся к метаданным конфигурации, то увидим, что перечисление, отвечающее за состав пунктов в «Закрытии месяца», содержит такие элементы, как АмортизацияИИзносОС, ПереоценкаВалютныхСредств, ЗакрытиеСчетов90_91, но в нем отсутствует значение для регистрации авансовых счетов-фактур. Вместо этого в четвертом блоке закрытия месяца присутствует комплексная операция «Расчет НДС» (в коде — НачислениеНДС). Именно она является «входной точкой» в специализированный помощник.
Одной из главных причин, по которой бухгалтер может не видеть пункт регистрации в «Помощнике НДС», является алгоритм проверки необходимости проведения данной операции. Рассмотрим ситуацию: программа анализирует данные информационной базы в режиме реального времени. Если в конкретном налоговом периоде (квартале) система не находит данных для формирования счетов-фактур, она просто скрывает этот пункт, чтобы не перегружать интерфейс лишними действиями.
Рассмотрим, как это реализовано на уровне программного кода. За логику видимости отвечает процедура ОпределитьНеобходимостьКонтроляОпераций в модуле ВыполнениеРегламентныхОперацийНДС. Программа выполняет запрос к данным учета и проверяет наличие кредитового сальдо на счетах расчетов с покупателями (например, 62.02, 62.32, 62.22).
Давайте посмотрим на пример кода, который определяет, нужно ли показывать операцию пользователю:
// Проверка наличия авансов в периоде
ПараметрыПоискаАвансов = Обработки.РегистрацияСчетовФактурНаАванс.ПараметрыЗаполнения();
ПараметрыПоискаАвансов.Организация = Организация;
ПараметрыПоискаАвансов.НачалоПериода = ПериодРегистрации;
ПараметрыПоискаАвансов.КонецПериода = КонецКвартала(ПериодРегистрации);
ПараметрыПоискаАвансов.ЗаТекущийПериод = Истина;
ТаблицаАвансов = Обработки.РегистрацияСчетовФактурНаАванс.ЗаполнитьСтроки(ПараметрыПоискаАвансов);
НаличиеАвансов = ТаблицаАвансов.Количество() > 0;
// Если организация является плательщиком НДС и найдены авансы - операция отображается
КонтролируемыеОперации.Вставить(Перечисления.РегламентныеОперации.РегистрацияСчетовФактурНаАванс, ОрганизацияПлательщикНДС и НаличиеАвансов);
Из этого фрагмента кода становится ясно: если НаличиеАвансов возвращает Ложь, пункт в помощнике НДС не появится. Это «излишний ИИ» программы, который экономит время пользователя, избавляя его от открытия пустых документов.
Разберем еще несколько факторов, которые влияют на появление данной операции:
Документы расчетов с контрагентами на счетах 60 и 62 часто является предопределенным и не отключается так просто, как в старых версиях. Его наличие позволяет системе более точно определять момент возникновения аванса. Если расчеты ведутся «в целом по договору», автоматика может работать иначе, чем при ведении расчетов «по документам».Если вы уверены, что авансы в периоде есть, но в «Закрытии месяца» или «Помощнике НДС» нужного пункта все равно нет, проанализируем ситуацию по шагам:
Выясним причину, если авансы есть в ОСВ по счету 62.02, но не попадают в обработку. Часто это происходит из-за использования ручных операций (документ ОперацияБух). Регламентные операции 1С ориентируются на регистры накопления (такие как НДС Расчеты с покупателями), а ручные проводки их не заполняют. В этом случае система «не видит» аванса и скрывает пункт регистрации из помощника.
Отсутствие пункта «Регистрация счетов-фактур на аванс» в 1С:Бухгалтерия 3.0 — это чаще всего не ошибка, а штатное поведение системы. Проанализировав код и настройки, мы выяснили, что программа динамически управляет составом меню. Для решения вопроса достаточно убедиться, что организация является плательщиком НДС, авансы отражены типовыми документами (Поступление на расчетный счет), и в текущем периоде действительно есть остатки на авансовых субсчетах, требующие начисления налога.