Где в 1С:УНФ находится список складов и как к нему обратиться?

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

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

Основное решение: Справочник "Структурные единицы"

В конфигурации 1С:УНФ для хранения информации о складах, подразделениях и магазинах используется единый объект — справочник СтруктурныеЕдиницы. Это центральный элемент, описывающий организационную структуру предприятия.

Чтобы отличить склад от подразделения или магазина, у каждого элемента этого справочника есть специальный реквизит "Тип структурной единицы". Для складского учета используются следующие типы:

  1. Склад — основной тип для учета товарно-материальных ценностей.
  2. Розничный склад — специализированный тип для розничной торговли, обычно связанный с рабочим местом кассира (РМК).
  3. Магазин или группа складов — используется для логического объединения нескольких торговых точек.

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

Как найти эту информацию самостоятельно в конфигураторе?

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

Способ 1: Анализ связанных регистров

Самый логичный способ — найти объект, который точно использует искомую сущность. Мы знаем, что остатки товаров хранятся на складах. В УНФ за это отвечает регистр накопления ЗапасыНаСкладах.

  1. Откроем конфигуратор и найдем в дереве метаданных регистр накопления ЗапасыНаСкладах.
  2. Перейдем на вкладку "Данные" и посмотрим на его "Измерения".
  3. Среди измерений мы увидим "Склад". Посмотрим на его тип данных. В нашем случае это будет СправочникСсылка.СтруктурныеЕдиницы.

Этот метод безошибочно указывает на нужный нам справочник.

Способ 2: Поиск по метаданным

Второй эффективный метод — использовать глобальный поиск или фильтр по имени в дереве конфигурации.

  1. В дереве метаданных в строке поиска введем слово "Склад".
  2. Система покажет все объекты, в имени которых есть это слово. Среди них вы найдете не только документы и регистры, но и "Определяемые типы".
  3. Откроем определяемый тип Склад. В его составе мы увидим тот же самый тип: СправочникСсылка.СтруктурныеЕдиницы.

Определяемые типы часто используются для создания универсальных реквизитов, и их анализ помогает быстро понять, какие объекты выполняют ту или иную роль в системе.

Пример кода: Получение списка складов запросом

Теперь, когда мы знаем, где хранятся данные, давайте напишем простой запрос для получения всех элементов, которые являются складами или розничными складами.


Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |    СтруктурныеЕдиницы.Ссылка,
    |    СтруктурныеЕдиницы.Наименование
    |ИЗ
    |    Справочник.СтруктурныеЕдиницы КАК СтруктурныеЕдиницы
    |ГДЕ
    |    СтруктурныеЕдиницы.ТипСтруктурнойЕдиницы В (
    |            ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.Склад), 
    |            ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.РозничныйСклад))";

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

Пока Выборка.Следующий() Цикл
    Сообщить("Найден склад: " + Выборка.Наименование);
КонецЦикла;

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

← На главную