Как получить систему налогообложения организации в 1С:Бухгалтерия 8.3?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Налоговый учет
← На главную

При разработке внешних обработок и отчетов часто возникает необходимость узнать, какую систему налогообложения (ОСНО, УСН и др.) использует конкретная организация. Попытка найти соответствующий реквизит непосредственно в справочнике Организации заканчивается неудачей, так как его там нет.

Разберем, почему реквизит отсутствует в карточке организации, где в действительности хранятся эти данные и как правильно извлечь информацию о режиме налогообложения в программах на платформе 1С:Предприятие 8.3.

Почему системы налогообложения нет в справочнике «Организации»

В платформах «1С:Предприятие 8» отсутствуют так называемые «периодические реквизиты» справочников. Поскольку организация в течение своей деятельности может менять режим налогообложения (например, перейти с УСН на ОСНО или наоборот), эта характеристика привязана к времени.

Для хранения сведений, меняющихся во времени, используется периодический регистр сведений. Это позволяет программе хранить историю изменений учетной политики и применения налоговых режимов за все периоды работы.

1. Получение данных через запрос к регистру сведений

В актуальной типовой конфигурации «1С:Бухгалтерия предприятия 3.0» информация о применяемом режиме находится в периодическом регистре сведений СистемаНалогообложения (в более ранних редакциях, таких как 2.0, использовался регистр УчетнаяПолитикаОрганизаций).

Чтобы получить актуальные данные на требуемую дату, обратимся к виртуальной таблице СрезПоследних с помощью запроса. Рассмотрим пример кода:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	СистемаНалогообложенияСрезПоследних.СистемаНалогообложения КАК СистемаНалогообложения
    |ИЗ
    |	РегистрСведений.СистемаНалогообложения.СрезПоследних(&Период, Организация = &Организация) КАК СистемаНалогообложенияСрезПоследних";

Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.УстановитьПараметр("Организация", СсылкаНаОрганизацию);

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Если Выборка.Следующий() Тогда
    ТекущийРежим = Выборка.СистемаНалогообложения;
Иначе
    // Если запись в регистре отсутствует, по умолчанию считается ОСНО
    ТекущийРежим = Перечисления.СистемыНалогообложения.ОСН;
КонецЕсли;

Важно: передача параметра даты в срез последних обязательна, так как система налогообложения должна определяться на момент совершения конкретной хозяйственной операции или формирования документа.

2. Использование функций встроенных общих модулей

Проанализируем альтернативный вариант — применение программных функций библиотеки стандартных подсистем и механизмов конфигурации. В «1С:Бухгалтерии 3.0» предусмотрены сервисные функции для работы с системами налогообложения, находящиеся в общих модулях, таких как ПрименениеНалоговыхРежимов или НалогиИОтчеты.

Использование разработчиками готовых процедур позволяет не писать прямые запросы к регистрам и учитывает встроенную бизнес-логику конфигурации.

На что обратить внимание при разработке

  1. Совмещение режимов: Индивидуальные предприниматели или организации могут одновременно применять основной режим (например, УСН) и патентную систему налогообложения (ПСН). Регистр СистемаНалогообложения определяет базовый режим, а учет патентов ведется в специализированных регистрах.
  2. Права доступа (RLS): При выполнении запросов от имени пользователя с ограниченными правами следует учитывать ограничения на уровне записей. Если права на регистр сведений отсутствуют, метод запроса может вернуть пустой результат.
  3. Значения по умолчанию: Если организация только создана и для нее еще не сформирована запись в регистре сведений, система по умолчанию считает, что юридическое лицо находится на общей системе налогообложения (ОСНО).
← На главную