Как правильно реализовать привязку склада к организации в 1С:ERP?

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

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

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

Метод 1: Использование связи через документы-распоряжения

Проанализируем логику работы ордерного склада. Документ Приходный товарный ордер (ПТО) не является финансовым документом, он лишь фиксирует факт физического поступления коробок на полки. Владелец товара (организация) определяется в документе-распоряжении. Распоряжением на приемку обычно выступают:

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


Функция ПолучитьОрганизациюИзРаспоряжения(СсылкаНаОрдер) Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ ТИПЗНАЧЕНИЯ(СкладскойОрдер.Распоряжение) КАК ТипРаспоряжения,
        |       СкладскойОрдер.Распоряжение КАК СсылкаРаспоряжение
        |ИЗ
        |       Документ.ПриходныйТоварныйОрдер КАК СкладскойОрдер
        |ГДЕ
        |       СкладскойОрдер.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОрдер);
    Результат = Запрос.Выполнить().Выбрать();
    
    Если Результат.Следующий() Тогда
        // Динамическое обращение к реквизиту Организация документа-распоряжения
        Попытка
            Возврат Результат.СсылкаРаспоряжение.Организация;
        Исключение
            Возврат Справочники.Организации.ПустаяСсылка();
        КонецПопытки;
    КонецЕсли;
    
    Возврат Справочники.Организации.ПустаяСсылка();
КонецФункции

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

Метод 2: Использование функционала «Ответственное хранение»

Выясним, как штатно закрепить организацию за складом без программирования. В 1С:ERP существует механизм Ответственного хранения. Если в карточке склада (раздел «Настройки складской обработки») установить флаг «Использовать ответственное хранение», система потребует указать организацию-хранителя.

Разберем по шагам, как это работает:

  1. Перейдем в карточку склада и включим признак Использовать ответственное хранение.
  2. В появившемся поле Организация выберем нужное юридическое лицо.
  3. Теперь данный склад в системе будет прочно ассоциироваться с выбранной организацией. При оформлении складских операций система будет учитывать, что хранителем выступает именно это юрлицо.

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

Метод 3: Привязка через материально-ответственных лиц и подразделения

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

При создании приходных документов (например, Приобретение товаров и услуг) после выбора склада система может автоматически подставлять подразделение, а через него — и организацию, если настроить соответствующие правила заполнения в модуле менеджера документа или через Механизм заполнения реквизитов (в новых версиях ERP).

Метод 4: Ограничение видимости через Группы доступа складов

Чтобы избежать ошибок, когда бухгалтер организации «А» случайно выбирает склад организации «Б», необходимо использовать механизм RLS (Record Level Security). Рассмотрим, как ограничить список доступных складов:

  1. Включим в настройках прав доступа использование Групп доступа складов.
  2. Создадим группы доступа, например: «Склады ПромМаш» и «Склады ТоргИнвест».
  3. В карточке каждого склада укажем соответствующую группу доступа.
  4. В профилях групп доступа пользователей ограничим видимость складов так, чтобы сотрудники каждой организации видели только «свои» объекты.

Это самый надежный способ исключить «перекрестное» использование складов разными организациями на уровне интерфейса пользователя.

Метод 5: Использование дополнительных реквизитов

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

Процесс настройки выглядит следующим образом:

После этого в карточке склада появится новое поле. Его можно использовать в схемах компоновки данных (СКД) при построении отчетов, а также обращаться к нему программно:


// Пример получения организации из доп. реквизита
ЗначениеОрганизации = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаСклад, "ОрганизацияВладелец");

Метод 6: Настройка схем обеспечения и Интеркампани

Рассмотрим ситуацию, когда склад физически один, но товары на нем принадлежат разным организациям, и вам нужно, чтобы при продаже от имени организации «Б» товар автоматически «закупался» у организации «А». В 1С:ERP для этого предназначен механизм Интеркампани.

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

Резюмируем: Наиболее «грамотным» с точки зрения методологии 1С:ERP является использование склада как места хранения без жесткой привязки, с использованием Интеркампани. Однако, если бизнес-процесс требует жесткого закрепления, рекомендуется сочетать Группы доступа (для безопасности) и Дополнительные реквизиты (для аналитики), либо использовать связь через Подразделение.

← На главную