К статье
Практический материал

Разработка и Конфигурация · 13 мин

Как сделать склад в 1С через конфигуратор

Как создать склад в 1С через конфигуратор: справочник «Склады», регистры остатков, документы движения, права доступа и проверка результата. Пошаговая инструкция.

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

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

Определите задачу: новый элемент справочника или новая структура учёта

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

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

Маршрут решения

Как выбрать действие

В конфигурации уже есть справочник «Склады» и документы складского учётаСоздайте новый элемент справочника в режиме предприятия — конфигуратор не нужен
Нужен новый тип склада, ячеистое хранение или учёт в своей конфигурацииРаботайте в конфигураторе: справочник, регистр накопления, документы и роли
Нужно запретить пользователям видеть чужие складыНастройте роли и RLS в конфигураторе, затем назначьте права в режиме предприятия

Создайте или доработайте справочник «Склады» в конфигураторе

Запустите конфигуратор, откройте конфигурацию (Конфигурация → Открыть конфигурацию) и в дереве метаданных найдите ветку «Справочники». Если справочника «Склады» нет, создайте его: правый клик по «Справочники» → «Добавить». На вкладке «Основные» задайте имя «Склады» и синоним «Склады». На вкладке «Данные» обычно достаточно стандартных реквизитов «Код» и «Наименование», но на практике добавляют собственные реквизиты.

Типичный набор дополнительных реквизитов склада: «ТипСклада» (перечисление: оптовый, розничный, транзитный, брак), «Подразделение» (ссылка на справочник подразделений), «Адрес» (строка), «ОрдернаяСхема» (булево или перечисление), «Ответственный» (ссылка на справочник «Пользователи» или «ФизическиеЛица»). Тип реквизита выбирайте осознанно: если значение должно выбираться из фиксированного списка — используйте перечисление, если ссылается на другие данные — ссылочный тип.

Если склад должен быть иерархическим (например, «Основной склад» → «Зона приёмки», «Зона хранения»), на вкладке «Иерархия» включите «Иерархический справочник» с видом иерархии «Список» или «Группы и элементы». Для ячеистого хранения вместо перегрузки справочника «Склады» лучше создать отдельный подчинённый объект — справочник «СкладскиеЯчейки» с владельцем «Склады»: так ячейки будут жёстко привязаны к своему складу.

Настройте регистр накопления для учёта остатков по складам

Остатки товаров хранятся не в справочнике, а в регистре накопления. В дереве метаданных откройте «Регистры накопления» и создайте регистр, например «ТоварыНаСкладах», с видом «Остатки». Вид «Остатки» принципиален: он позволяет получать остаток на любую дату и оборачиваемость за период, тогда как регистр оборотов для складского учёта не подходит.

На вкладке «Данные» задайте измерения — разрезы, в которых хранятся остатки. Минимальный набор: «Номенклатура» (ссылка на справочник товаров) и «Склад» (ссылка на справочник «Склады»). При необходимости добавляют «Характеристика», «Серия», «Организация». Ресурс регистра — «Количество» (число с разумной точностью, например 15,3). Не добавляйте измерения «на будущее»: каждое лишнее измерение замедляет проведение и усложняет запросы.

Привяжите документы к складу и настройте проведение

Склад появляется в учёте только тогда, когда документы делают движения по регистру. В каждом складском документе (поступление товаров, реализация, перемещение, списание, инвентаризация) добавьте реквизит «Склад» с типом «СправочникСсылка.Склады». Для документа перемещения понадобятся два реквизита: «СкладОтправитель» и «СкладПолучатель».

Затем в свойствах документа на вкладке «Движения» отметьте регистр «ТоварыНаСкладах» и включите проведение. В модуле объекта документа опишите формирование движений в обработчике «ОбработкаПроведения». Упрощённый пример для поступления:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

Движения.ТоварыНаСкладах.Записывать = Истина;

Для Каждого Строка Из Товары Цикл

Движение = Движения.ТоварыНаСкладах.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Склад = Склад;

Движение.Номенклатура = Строка.Номенклатура;

Движение.Количество = Строка.Количество;

КонецЦикла;

КонецПроцедуры

Для реализации и списания вид движения меняется на «Расход», а для перемещения формируются две записи: расход по складу-отправителю и приход по складу-получателю. Если учёт должен запрещать отгрузку в минус, добавьте контроль остатков: запросом получите остатки по позициям документа и сравните с отгружаемым количеством, при нехватке устанавливайте «Отказ = Истина» с понятным сообщением пользователю.

Настройте права доступа к складским данным

После создания объектов нужно дать пользователям права. В ветке «Общие» → «Роли» создайте или доработайте роли: например, «Кладовщик» — права на чтение справочника «Склады» и добавление/проведение складских документов без права изменения номенклатуры; «Заведующий складом» — полные права на складские документы и отчёты. Права на регистр накопления обычно дают только на чтение и добавление движений через документы, ручное редактирование регистра пользователям не открывают.

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

Обновите конфигурацию и проверьте результат

После изменения метаданных выполните обновление конфигурации базы данных: Конфигурация → Обновить конфигурацию базы данных или клавиша F7. Платформа покажет окно реструктуризации со списком изменений — проверьте, что там только ваши объекты, и подтвердите. На больших базах добавление измерения в существующий регистр может занять продолжительное время, планируйте такие работы на нерабочие часы.

Проверку делайте в несколько шагов. Сначала в режиме предприятия создайте новый склад и убедитесь, что он доступен в документах. Затем проведите тестовое поступление на 10 единиц товара, после него — реализацию 3 единиц. Откройте отчёт по остаткам (или универсальный отчёт по регистру) и сверьте: остаток должен быть 7 единиц именно по этому складу. Проверьте движения документа кнопкой «Движения документа» — там должны быть записи с правильным видом движения и складом.

Контрольные точки

Как проверить результат

Движения документа поступления
Норма

Записи с видом «Приход», верным складом и количеством

Тревожный признак

Движений нет, склад пустой или вид движения «Расход»

Остаток в отчёте после поступления и реализации
Норма

Остаток равен разности прихода и расхода по конкретному складу

Тревожный признак

Остаток не меняется или отражается по другому складу

Проведение реализации при недостатке товара
Норма

Документ не проводится с сообщением о нехватке (если контроль включён)

Тревожный признак

Документ проводится, остаток уходит в минус

Доступ пользователя-кладовщика
Норма

Видит свои склады и документы, не может редактировать регистр вручную

Тревожный признак

Нет доступа к документам или открыт полный доступ к регистру

Типичные ошибки и ограничения

Самая частая ошибка — регистр накопления создан с видом «Обороты» вместо «Остатки». Внешне всё работает, документы проводятся, но получить остаток на дату штатными средствами невозможно, и регистр приходится пересоздавать с потерей накопленных движений. Вторая типичная проблема — забытый признак «Записывать» у набора движений: код выполняется без ошибок, но движения в базу не попадают.

Ещё одна группа ошибок связана с реструктуризацией: изменение типа существующего реквизита (например, строки на ссылку) приводит к потере данных в этом реквизите, а удаление измерения регистра уничтожает часть накопленной информации. Перед такими изменениями выгрузите данные и продумайте миграцию. Наконец, не плодите регистры «по складам» — отдельный регистр для каждого склада это архитектурная ошибка: склад должен быть измерением одного регистра.

Типичные ошибки
01
Регистр создан с видом «Обороты» — остатки на дату получить нельзя, регистр придётся пересоздавать
02
В ОбработкаПроведения не установлено «Движения.ТоварыНаСкладах.Записывать = Истина» — документ проводится, но движений нет
03
Изменён тип существующего реквизита — данные реквизита при реструктуризации теряются
04
Склад добавлен как реквизит шапки, но не включён в движения — отчёты по складам пустые
05
Доработки внесены напрямую в типовую конфигурацию вместо расширения — при обновлении изменения конфликтуют или теряются

Альтернативы: расширение конфигурации и готовые типовые механизмы

Если склад нужен в типовой конфигурации, почти всегда достаточно штатных средств: справочник «Склады» уже связан с документами, регистрами и отчётами, поддерживает ордерную схему и адресное хранение (в конфигурациях, где это предусмотрено). Добавление своих реквизитов к типовому справочнику корректнее делать через расширение конфигурации — тогда обновления типового релиза будут устанавливаться без снятия конфигурации с поддержки.

Полностью собственный складской блок в конфигураторе оправдан для самописных конфигураций или когда типовая логика принципиально не подходит. Но оцените трудозатраты: помимо справочника и регистра придётся разработать документы, отчёты, печатные формы, контроль остатков и права — это существенный объём работ и последующей поддержки.

Сравнение вариантов

Новый элемент справочника в типовой 1С

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

Расширение конфигурации

Подходит для добавления реквизитов, печатных форм и небольшой логики к типовому складскому учёту. Сохраняется простое обновление. Ограничение: не все объекты и механизмы доступны для изменения

Собственный складской блок в конфигураторе

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

Частые вопросы

Можно ли создать склад в 1С без конфигуратора?

Да, в типовых конфигурациях это стандартная операция: откройте справочник «Склады» в режиме предприятия и создайте новый элемент. Конфигуратор нужен только для изменения структуры учёта — новых реквизитов, регистров, документов и прав.

Чем склад отличается от склада-магазина в типовых конфигурациях?

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

Почему после добавления склада он не виден в документах?

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

Что произойдёт с данными при добавлении нового измерения в регистр?

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

Нужно ли снимать конфигурацию с поддержки для добавления склада?

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

Как организовать учёт по ячейкам внутри склада?

Создайте справочник «СкладскиеЯчейки», подчинённый справочнику «Склады», и добавьте измерение «Ячейка» в регистр остатков. Учтите, что движения по ячейкам должны делать все складские документы, иначе остатки по ячейкам разойдутся с остатками по складу.

Итог

Что важно запомнить

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