При разработке внешних обработок и отчетов часто возникает необходимость узнать, какую систему налогообложения (ОСНО, УСН и др.) использует конкретная организация. Попытка найти соответствующий реквизит непосредственно в справочнике Организации заканчивается неудачей, так как его там нет.
Разберем, почему реквизит отсутствует в карточке организации, где в действительности хранятся эти данные и как правильно извлечь информацию о режиме налогообложения в программах на платформе 1С:Предприятие 8.3.
В платформах «1С:Предприятие 8» отсутствуют так называемые «периодические реквизиты» справочников. Поскольку организация в течение своей деятельности может менять режим налогообложения (например, перейти с УСН на ОСНО или наоборот), эта характеристика привязана к времени.
Для хранения сведений, меняющихся во времени, используется периодический регистр сведений. Это позволяет программе хранить историю изменений учетной политики и применения налоговых режимов за все периоды работы.
В актуальной типовой конфигурации «1С:Бухгалтерия предприятия 3.0» информация о применяемом режиме находится в периодическом регистре сведений СистемаНалогообложения (в более ранних редакциях, таких как 2.0, использовался регистр УчетнаяПолитикаОрганизаций).
Чтобы получить актуальные данные на требуемую дату, обратимся к виртуальной таблице СрезПоследних с помощью запроса. Рассмотрим пример кода:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СистемаНалогообложенияСрезПоследних.СистемаНалогообложения КАК СистемаНалогообложения
|ИЗ
| РегистрСведений.СистемаНалогообложения.СрезПоследних(&Период, Организация = &Организация) КАК СистемаНалогообложенияСрезПоследних";
Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.УстановитьПараметр("Организация", СсылкаНаОрганизацию);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
ТекущийРежим = Выборка.СистемаНалогообложения;
Иначе
// Если запись в регистре отсутствует, по умолчанию считается ОСНО
ТекущийРежим = Перечисления.СистемыНалогообложения.ОСН;
КонецЕсли;
Важно: передача параметра даты в срез последних обязательна, так как система налогообложения должна определяться на момент совершения конкретной хозяйственной операции или формирования документа.
Проанализируем альтернативный вариант — применение программных функций библиотеки стандартных подсистем и механизмов конфигурации. В «1С:Бухгалтерии 3.0» предусмотрены сервисные функции для работы с системами налогообложения, находящиеся в общих модулях, таких как ПрименениеНалоговыхРежимов или НалогиИОтчеты.
Использование разработчиками готовых процедур позволяет не писать прямые запросы к регистрам и учитывает встроенную бизнес-логику конфигурации.
СистемаНалогообложения определяет базовый режим, а учет патентов ведется в специализированных регистрах.