Разработка и Конфигурация · 13 мин
Как сделать склад в 1С через конфигуратор
Как создать склад в 1С через конфигуратор: справочник «Склады», регистры остатков, документы движения, права доступа и проверка результата. Пошаговая инструкция.
Складской учёт в 1С строится на связке объектов конфигурации: справочник «Склады» хранит перечень мест хранения, регистр накопления фиксирует остатки товаров по каждому складу, а документы (поступление, реализация, перемещение) делают движения по этому регистру. Если вы работаете с типовой конфигурацией, всё это уже есть — достаточно добавить новый элемент справочника в пользовательском режиме. Но когда склад нужно создать именно в конфигураторе — например, при доработке самописного решения или добавлении нового типа склада — потребуется поработать с деревом метаданных.
Ниже разобраны оба сценария: быстрое добавление склада в типовой конфигурации без изменения кода и полноценное создание складского учёта «с нуля» в конфигураторе. Отдельно описаны настройка прав, проверка корректности движений и типичные ошибки, из-за которых остатки по складу «не сходятся».
Определите задачу: новый элемент справочника или новая структура учёта
Прежде чем открывать конфигуратор, важно понять, какая из двух задач перед вами стоит. Первая — добавить ещё один склад в существующую конфигурацию (например, открылся новый складской комплекс). Это делается в режиме «1С:Предприятие» без каких-либо изменений метаданных: откройте раздел «НСИ» или «Справочники», найдите справочник «Склады» и создайте новый элемент, указав наименование, тип склада и при необходимости подразделение.
Вторая задача — построить или доработать сам механизм складского учёта: добавить новый тип склада с особым поведением, создать учёт по ячейкам, внедрить ордерную схему или разработать складской блок в собственной конфигурации. Вот здесь уже нужен конфигуратор, потому что изменения затрагивают структуру метаданных, программный код и права доступа.
Как выбрать действие
Создайте или доработайте справочник «Склады» в конфигураторе
Запустите конфигуратор, откройте конфигурацию (Конфигурация → Открыть конфигурацию) и в дереве метаданных найдите ветку «Справочники». Если справочника «Склады» нет, создайте его: правый клик по «Справочники» → «Добавить». На вкладке «Основные» задайте имя «Склады» и синоним «Склады». На вкладке «Данные» обычно достаточно стандартных реквизитов «Код» и «Наименование», но на практике добавляют собственные реквизиты.
Типичный набор дополнительных реквизитов склада: «ТипСклада» (перечисление: оптовый, розничный, транзитный, брак), «Подразделение» (ссылка на справочник подразделений), «Адрес» (строка), «ОрдернаяСхема» (булево или перечисление), «Ответственный» (ссылка на справочник «Пользователи» или «ФизическиеЛица»). Тип реквизита выбирайте осознанно: если значение должно выбираться из фиксированного списка — используйте перечисление, если ссылается на другие данные — ссылочный тип.
Если склад должен быть иерархическим (например, «Основной склад» → «Зона приёмки», «Зона хранения»), на вкладке «Иерархия» включите «Иерархический справочник» с видом иерархии «Список» или «Группы и элементы». Для ячеистого хранения вместо перегрузки справочника «Склады» лучше создать отдельный подчинённый объект — справочник «СкладскиеЯчейки» с владельцем «Склады»: так ячейки будут жёстко привязаны к своему складу.
Настройте регистр накопления для учёта остатков по складам
Остатки товаров хранятся не в справочнике, а в регистре накопления. В дереве метаданных откройте «Регистры накопления» и создайте регистр, например «ТоварыНаСкладах», с видом «Остатки». Вид «Остатки» принципиален: он позволяет получать остаток на любую дату и оборачиваемость за период, тогда как регистр оборотов для складского учёта не подходит.
На вкладке «Данные» задайте измерения — разрезы, в которых хранятся остатки. Минимальный набор: «Номенклатура» (ссылка на справочник товаров) и «Склад» (ссылка на справочник «Склады»). При необходимости добавляют «Характеристика», «Серия», «Организация». Ресурс регистра — «Количество» (число с разумной точностью, например 15,3). Не добавляйте измерения «на будущее»: каждое лишнее измерение замедляет проведение и усложняет запросы.
Привяжите документы к складу и настройте проведение
Склад появляется в учёте только тогда, когда документы делают движения по регистру. В каждом складском документе (поступление товаров, реализация, перемещение, списание, инвентаризация) добавьте реквизит «Склад» с типом «СправочникСсылка.Склады». Для документа перемещения понадобятся два реквизита: «СкладОтправитель» и «СкладПолучатель».
Затем в свойствах документа на вкладке «Движения» отметьте регистр «ТоварыНаСкладах» и включите проведение. В модуле объекта документа опишите формирование движений в обработчике «ОбработкаПроведения». Упрощённый пример для поступления:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.ТоварыНаСкладах.Записывать = Истина;
Для Каждого Строка Из Товары Цикл
Движение = Движения.ТоварыНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Номенклатура = Строка.Номенклатура;
Движение.Количество = Строка.Количество;
КонецЦикла;
КонецПроцедуры
Для реализации и списания вид движения меняется на «Расход», а для перемещения формируются две записи: расход по складу-отправителю и приход по складу-получателю. Если учёт должен запрещать отгрузку в минус, добавьте контроль остатков: запросом получите остатки по позициям документа и сравните с отгружаемым количеством, при нехватке устанавливайте «Отказ = Истина» с понятным сообщением пользователю.
Настройте права доступа к складским данным
После создания объектов нужно дать пользователям права. В ветке «Общие» → «Роли» создайте или доработайте роли: например, «Кладовщик» — права на чтение справочника «Склады» и добавление/проведение складских документов без права изменения номенклатуры; «Заведующий складом» — полные права на складские документы и отчёты. Права на регистр накопления обычно дают только на чтение и добавление движений через документы, ручное редактирование регистра пользователям не открывают.
Если кладовщики не должны видеть чужие склады, используйте ограничение доступа на уровне записей (RLS). В роли для справочника «Склады» на закладке «Ограничение доступа» добавьте шаблон условия, связывающий склад с параметром сеанса или с таблицей соответствия пользователей и складов. Учтите: RLS заметно усложняет запросы и может снижать производительность на больших базах, поэтому включайте его только при реальной необходимости.
Обновите конфигурацию и проверьте результат
После изменения метаданных выполните обновление конфигурации базы данных: Конфигурация → Обновить конфигурацию базы данных или клавиша F7. Платформа покажет окно реструктуризации со списком изменений — проверьте, что там только ваши объекты, и подтвердите. На больших базах добавление измерения в существующий регистр может занять продолжительное время, планируйте такие работы на нерабочие часы.
Проверку делайте в несколько шагов. Сначала в режиме предприятия создайте новый склад и убедитесь, что он доступен в документах. Затем проведите тестовое поступление на 10 единиц товара, после него — реализацию 3 единиц. Откройте отчёт по остаткам (или универсальный отчёт по регистру) и сверьте: остаток должен быть 7 единиц именно по этому складу. Проверьте движения документа кнопкой «Движения документа» — там должны быть записи с правильным видом движения и складом.
Как проверить результат
Записи с видом «Приход», верным складом и количеством
Движений нет, склад пустой или вид движения «Расход»
Остаток равен разности прихода и расхода по конкретному складу
Остаток не меняется или отражается по другому складу
Документ не проводится с сообщением о нехватке (если контроль включён)
Документ проводится, остаток уходит в минус
Видит свои склады и документы, не может редактировать регистр вручную
Нет доступа к документам или открыт полный доступ к регистру
Типичные ошибки и ограничения
Самая частая ошибка — регистр накопления создан с видом «Обороты» вместо «Остатки». Внешне всё работает, документы проводятся, но получить остаток на дату штатными средствами невозможно, и регистр приходится пересоздавать с потерей накопленных движений. Вторая типичная проблема — забытый признак «Записывать» у набора движений: код выполняется без ошибок, но движения в базу не попадают.
Ещё одна группа ошибок связана с реструктуризацией: изменение типа существующего реквизита (например, строки на ссылку) приводит к потере данных в этом реквизите, а удаление измерения регистра уничтожает часть накопленной информации. Перед такими изменениями выгрузите данные и продумайте миграцию. Наконец, не плодите регистры «по складам» — отдельный регистр для каждого склада это архитектурная ошибка: склад должен быть измерением одного регистра.
Альтернативы: расширение конфигурации и готовые типовые механизмы
Если склад нужен в типовой конфигурации, почти всегда достаточно штатных средств: справочник «Склады» уже связан с документами, регистрами и отчётами, поддерживает ордерную схему и адресное хранение (в конфигурациях, где это предусмотрено). Добавление своих реквизитов к типовому справочнику корректнее делать через расширение конфигурации — тогда обновления типового релиза будут устанавливаться без снятия конфигурации с поддержки.
Полностью собственный складской блок в конфигураторе оправдан для самописных конфигураций или когда типовая логика принципиально не подходит. Но оцените трудозатраты: помимо справочника и регистра придётся разработать документы, отчёты, печатные формы, контроль остатков и права — это существенный объём работ и последующей поддержки.
Сравнение вариантов
Подходит, когда открылся новый склад. Делается за минуту в режиме предприятия, без рисков. Ограничение: нельзя изменить логику учёта
Подходит для добавления реквизитов, печатных форм и небольшой логики к типовому складскому учёту. Сохраняется простое обновление. Ограничение: не все объекты и механизмы доступны для изменения
Подходит для самописных конфигураций и нестандартных процессов. Полная свобода, но высокая стоимость разработки и поддержки
Частые вопросы
Можно ли создать склад в 1С без конфигуратора?
Да, в типовых конфигурациях это стандартная операция: откройте справочник «Склады» в режиме предприятия и создайте новый элемент. Конфигуратор нужен только для изменения структуры учёта — новых реквизитов, регистров, документов и прав.
Чем склад отличается от склада-магазина в типовых конфигурациях?
Обычно это значение реквизита «Тип склада»: оптовый склад ведёт учёт в ценах поступления, а розничный (склад-магазин) — в продажных ценах, что влияет на проводки и отчёты. Тип задаётся при создании элемента справочника, а не в конфигураторе.
Почему после добавления склада он не виден в документах?
Проверьте три вещи: создан ли элемент справочника в нужной базе (не в копии), нет ли у пользователя ограничений прав или RLS по складам и не отключён ли функциональный опциональный механизм, скрывающий складской учёт в интерфейсе.
Что произойдёт с данными при добавлении нового измерения в регистр?
При реструктуризации существующие записи регистра получат пустое значение нового измерения. Сами записи сохранятся, но отчёты в разрезе нового измерения по старым данным будут показывать пустое значение — для исторических данных может потребоваться обработка заполнения.
Нужно ли снимать конфигурацию с поддержки для добавления склада?
Для добавления элемента справочника — нет, это пользовательская операция. Для доработки метаданных типовой конфигурации сначала используйте расширение; снятие с поддержки — крайняя мера, усложняющая все последующие обновления.
Как организовать учёт по ячейкам внутри склада?
Создайте справочник «СкладскиеЯчейки», подчинённый справочнику «Склады», и добавьте измерение «Ячейка» в регистр остатков. Учтите, что движения по ячейкам должны делать все складские документы, иначе остатки по ячейкам разойдутся с остатками по складу.
Что важно запомнить
Новый склад в типовой 1С создаётся в режиме предприятия без конфигуратора. Собственный складской учёт строится на триаде: справочник «Склады», регистр накопления с видом «Остатки» и измерением «Склад», документы с движениями по регистру. Перед любыми изменениями метаданных делайте резервную копию, а результат проверяйте тестовыми документами и отчётом по остаткам.