Где в 1С:ЗУП 3.1 хранится КПП организации и как его получить программно?

Программист 1С v8.3 (Управляемые формы) Налоговый учет IT и автоматизация бизнеса
← На главную

При разработке печатных форм или отчетов в 1С:ЗУП 3.1 часто возникает необходимость вывести КПП организации. Начинающие разработчики часто ищут это поле в справочнике Организации, однако архитектура конфигурации предполагает более гибкую структуру. Давайте вместе разберемся, где на самом деле лежат эти данные и как их правильно извлечь.

Понимание структуры хранения данных

В современных конфигурациях, таких как ЗУП 3.1, организация может иметь несколько регистраций в налоговых органах (например, для обособленных подразделений). Поэтому КПП не является простым реквизитом самой организации. Основным объектом метаданных, который хранит эту информацию, является справочник РегистрацииВНалоговомОргане. Именно в нем содержится актуальная информация о налоговом учете, включая код КПП.

Способ №1: Прямой запрос к справочнику

Если вы хотите получить КПП с помощью запроса, то обращаться следует напрямую к справочнику РегистрацииВНалоговомОргане. Этот объект является подчиненным справочнику Организации. Рассмотрим пример кода, который позволяет получить необходимые сведения:


ВЫБРАТЬ
    РегистрацииВНалоговомОргане.Владелец.Наименование КАК Организация,
    РегистрацииВНалоговомОргане.Владелец.ИНН КАК ИНН,
    РегистрацииВНалоговомОргане.Владелец.ОГРН КАК ОГРН,
    РегистрацииВНалоговомОргане.КПП КАК КПП
ИЗ
    Справочник.РегистрацииВНалоговомОргане КАК РегистрацииВНалоговомОргане

При использовании этого метода важно учитывать, что если у одной организации несколько регистраций (разные КПП), запрос вернет список всех регистраций. Для получения данных конкретной организации необходимо добавить условие в секцию ГДЕ, фильтруя данные по Владельцу (ссылке на организацию) или по другим уникальным идентификаторам, таким как ИНН.

Способ №2: Использование типовых функций (Рекомендованный)

В типовых конфигурациях 1С существуют механизмы, которые позволяют получать сведения об организации «одной строкой», не погружаясь в структуру таблиц базы данных. Это позволяет избежать ошибок, связанных с изменениями в структуре метаданных при обновлении конфигурации. Для этих целей используется общий модуль РегламентированнаяОтчетностьВызовСервера.

Рассмотрим, как правильно подготовить вызов такой функции:


Сведения = Новый СписокЗначений;
Сведения.Добавить("", "НаимЮЛПол");
Сведения.Добавить("", "НаимЮЛСокр");
Сведения.Добавить("", "ИННЮЛ");
Сведения.Добавить("", "КППЮЛ");
Сведения.Добавить("", "ТелОрганизации");
Сведения.Добавить("", "ФаксОрганизации");

УстановитьПривилегированныйРежим(Истина);
ОргСведения = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(
    Выборка.Организация, 
    Выборка.Период, 
    Сведения
);
УстановитьПривилегированныйРежим(Ложь);

Важные замечания по реализации:

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

Подводя итоги

Мы проанализировали два пути решения задачи. Если вы создаете сложный отчет или специализированную печатную форму, всегда старайтесь в первую очередь использовать типовые функции (метод ПолучитьСведенияОбОрганизации). Это стандарт индустрии разработки на платформе 1С. Если же требуется построить выборку по множеству организаций сразу для аналитического отчета, запрос к справочнику РегистрацииВНалоговомОргане будет более производительным решением.

Не забывайте, что структура метаданных может усложняться, и самостоятельное изучение «Практического пособия разработчика» и документации на ИТС поможет вам глубже понимать архитектуру 1С и писать качественный, поддерживаемый код.

← На главную