Добавление столбца «Склад» в табличные части документов или справочники 1С:Предприятие — одна из самых частых задач, с которыми сталкиваются пользователи и администраторы системы. Без этого столбца невозможно корректно вести учет товарных остатков по складам, формировать отчеты по обороту или анализировать логистику. Однако способ решения зависит от конфигурации (1С:Бухгалтерия, 1С:Управление торговлей, 1С:ERP), версии платформы и даже от того, работаете ли вы в пользовательском режиме или через конфигуратор.
В этой статье мы разберем 5 рабочих методов добавления столбца — от простых настроек в интерфейсе до программного изменения метаданных. Вы узнаете, как избежать ошибок при редактировании конфигурации, какие права доступа потребуются, и что делать, если столбец не отображается после всех манипуляций. Особое внимание уделим типичным проблемам (например, когда столбец добавился, но не сохраняет данные) и способам их устранения.
Если вы никогда не работали с конфигуратором 1С, не переживайте — первые два метода не требуют глубоких технических знаний. Для опытных пользователей и программистов приведены примеры кода на встроенном языке 1С 8.3 и 8.2, а также нюансы работы с управляемыми формами. Все инструкции актуальны для последних версий платформы (на момент публикации — 1С:Предприятие 8.3.23).
1. Добавление столбца «Склад» через настройки формы (без конфигуратора)
Самый простой способ — использовать режим «Все действия» в пользовательском интерфейсе. Он подходит для большинства типовых конфигураций (1С:УТ 11, 1С:ERP 2.5, 1С:Розница 2.3) и не требует прав администратора.
Откройте документ, в который нужно добавить столбец (например, «Реализация товаров и услуг» или «Поступление товаров»). В верхнем меню формы найдите кнопку «Ещё» (три точки) и выберите «Изменить форму». В открывшемся окне:
- 🔧 Перейдите на вкладку «Табличные части» и выделите нужную таблицу (обычно это «Товары» или «Материалы»).
- 📋 Нажмите «Добавить колонку» и в списке доступных реквизитов найдите «Склад» (или
Складв техническом названии). - 🔄 Если столбца нет в списке, проверьте, включен ли показ «Все реквизиты» (флажок внизу окна).
- 💾 Сохраните изменения и перезагрузите форму (
F5).
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) столбец «Склад» может быть скрыт по умолчанию в настройках учетной политики. Перед редактированием формы проверьте раздел «Администрирование → Настройки программы → Склады», где должен быть включен флажок «Вести учет по складам».
Проверьте права доступа (нужны права на изменение форм)|Убедитесь, что учет по складам включен в настройках|Сделайте резервную копию базы (на случай ошибок)|Закройте все открытые документы перед редактированием-->
2. Настройка видимости столбца в пользовательском режиме
Если столбец «Склад» уже существует в метаданных, но не отображается в документе, проблема может быть в персональных настройках пользователя. В 1С:Предприятие 8.3 каждый пользователь может самостоятельно настраивать видимость колонок:
- Откройте документ (например, «Перемещение товаров»).
- Кликните правой кнопкой мыши на заголовок любой колонки в табличной части.
- В контекстном меню выберите «Настройка списка».
- В открывшемся окне найдите столбец «Склад» и поставьте рядом галочку.
- Нажмите «ОК» и обновите форму (
Ctrl+Shift+F5).
Если столбца нет в списке доступных, значит, он не добавлен в состав табличной части на уровне метаданных. В этом случае потребуется редактирование конфигурации (см. раздел 4).
⚠️ Внимание: Персональные настройки пользователя могут сбрасываться при обновлении конфигурации. Чтобы избежать потери видимости столбцов, зафиксируйте настройки в профиле группы доступа (раздел «Администрирование → Настройки пользователей»).
| Конфигурация | Путь к настройкам видимости | Требуемые права |
|---|---|---|
| 1С:Управление торговлей 11 | НСИ и администрирование → Персональные настройки → Настройки форм |
Полные права или роль «Администратор» |
| 1С:ERP 2.5 | Администрирование → Настройки интерфейса → Сохраненные настройки |
Роль «Настройка интерфейса» |
| 1С:Бухгалтерия 3.0 | Администрирование → Печатные формы, отчеты и обработки → Настройки форм |
Права на изменение форм |
3. Использование внешних обработок для добавления столбца
Если у вас нет доступа к конфигуратору или боитесь нарушить целостность базы, можно воспользоваться внешней обработкой. Например, обработка «Универсальный редактор таблиц» (доступна на Инфостарте) позволяет добавлять столбцы без изменения метаданных.
Алгоритм действий:
- 📥 Скачайте обработку и подключите её через «Файл → Открыть».
- 🔍 В обработке выберите документ (например, «Заказ покупателя») и табличную часть («Товары»).
- 📌 Нажмите «Добавить колонку» и укажите реквизит «Склад» (тип — «СправочникСсылка.Склады»).
- 🔄 Сохраните изменения и переоткройте документ.
✅ Плюсы метода: не требует прав на изменение конфигурации, безопасно для типовых решений.
❌ Минусы: столбец может исчезнуть после обновления 1С, не подходит для сложных документов с управляемыми формами.
Перед использованием внешней обработки проверьте её совместимость с вашей версией 1С. Некоторые обработки работают только с платформой 8.3.20+.
4. Редактирование конфигурации через конфигуратор
Для глубокого изменения структуры (например, если столбца «Склад» нет в метаданных вообще) потребуется режим конфигуратора. Этот метод подходит для опытных пользователей или администраторов.
Пошаговая инструкция:
- Запустите 1С:Предприятие в режиме «Конфигуратор» (выберите базу и удерживайте
Shiftпри запуске). - В дереве метаданных найдите документ, который нужно изменить (например, «Документ.РеализацияТоваровУслуг»).
- Раскройте ветку «Табличные части» и выделите нужную таблицу (обычно «Товары»).
- В палитре свойств (справа) найдите раздел «Реквизиты» и нажмите «Добавить».
- Задайте параметры нового реквизита:
- Имя:
Склад - Тип:
СправочникСсылка.Склады - Синоним: «Склад»** (отображаемое имя)
- Имя:
- Сохраните конфигурацию (
Ctrl+S) и обновите базу (Конфигурация → Обновить конфигурацию базы данных). - 📜 В модуле объекта документа (событие «ПриСозданииНаСервере»).
- 🖥️ В общей форме (если нужно добавить столбец только для конкретного представления).
- 🔄 В обработке заполнения (если столбец должен появляться при определенных условиях).
- 🚫 Столбец не сохраняет данные: Проверьте, что в модуле документа не переопределено событие «ПередЗаписью», которое сбрасывает значение. Также убедитесь, что в настройках учетной политики включен флажок «Вести учет по складам».
- 🔄 Столбец исчезает после обновления: Это типично для внешних обработок. Чтобы зафиксировать изменения, перенесите логику в конфигурацию или используйте расширения.
- 🛑 Ошибка «Тип не совместим»: Убедитесь, что тип реквизита «Склад» совпадает с типом справочника «Склады» (обычно это
СправочникСсылка.Склады). - 🔒 Нет прав на изменение: Для редактирования метаданных требуется роль «Администратор» или «Конфигуратор». В облачных версиях 1С эти права ограничены.
⚠️ Внимание: После изменения метаданных все пользователи должны выйти из базы, иначе при обновлении могут возникнуть ошибки блокировки. Если работаете с облачной версией 1С (например, 1С:Fresh), этот метод недоступен — используйте внешние обработки или обратитесь в поддержку.
Если при сохранении конфигурации вы видите ошибку "Объект заблокирован другим пользователем", закройте все сеансы через меню Что делать если конфигурация заблокирована?
Администрирование → Активные пользователи в конфигураторе. Альтернативный способ — использовать утилиту chdbfl.exe (входит в комплект поставки 1С) для принудительного разблокирования.
5. Программное добавление столбца (для разработчиков)
Если вам нужно добавить столбец динамически (например, в зависимости от условий), используйте встроенный язык 1С. Пример кода для добавления колонки в табличную часть документа:
Процедура ДобавитьСтолбецСклад(ДокументОбъект)
ТабличнаяЧасть = ДокументОбъект.Товары;
// Проверяем, существует ли уже колонка
Если НЕ ТабличнаяЧасть.Колонки.Найти("Склад") Тогда
НоваяКолонка = ТабличнаяЧасть.Колонки.Добавить("Склад");
НоваяКолонка.Заголовок = "Склад";
НоваяКолонка.ТипЗначения = Новый Тип("СправочникСсылка.Склады");
НоваяКолонка.Ширина = 120;
КонецЕсли;
КонецПроцедуры
Этот код можно разместить:
⚠️ Внимание: При программном добавлении столбца не забудьте проверить права доступа — пользователь должен иметь право на изменение состава колонок. В противном случае возникнет ошибка «Отказано в доступе».
Программное добавление столбцов удобно для динамических форм, но требует тестирования на всех версиях платформы. В управляемых формах (8.3+) используйте метод ДобавитьКолонку() вместо прямого изменения метаданных.
6. Типичные ошибки и их решения
Даже после успешного добавления столбца «Склад» могут возникать проблемы. Рассмотрим самые распространенные:
Если после добавления столбца документ перестал проводиться, проверьте логику проведения в модуле объекта. Возможно, в алгоритме расчета движений не учтен новый реквизит. Например, в документе «Реализация товаров» может потребоваться модифицировать процедуру «ОформитьПроведение»:
Процедура ОформитьПроведение(Отказ, РежимПроведения)
// Добавляем проверку заполнения склада
Для Каждого СтрокаТовары Из Товары Цикл
Если НЕ ЗначениеЗаполнено(СтрокаТовары.Склад) Тогда
Сообщить("Не заполнен склад для товара " + СтрокаТовары.Номенклатура);
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
FAQ: Частые вопросы по добавлению столбца «Склад»
Можно ли добавить столбец «Склад» в печатную форму документа?
Да, но это делается не через редактирование табличной части, а через модификацию макета печатной формы. Откройте макет в конфигураторе (Документ.ВашДокумент → ПечатныеФормы), найдите таблицу с товарами и добавьте новую колонку. Не забудьте привязать её к реквизиту Склад в свойствах.
Почему после добавления столбца в 1С:Розница он не отображается в чеках?
В 1С:Розница вывод склада в чеках регулируется настройками фискального регистратора. Проверьте параметры драйвера ККТ: часто склад выводится только если в настройках кассы включен флажок «Печатать склад в чеке». Также убедитесь, что в документе «Чек ККМ» столбец «Склад» добавлен в табличную часть «Товары».
Как сделать столбец «Склад» обязательным для заполнения?
Есть два способа:
- Через конфигуратор: В свойствах реквизита
Складустановите флажок «Обязательный». - Программно: В модуле документа добавьте проверку в событии «ПередЗаписью» (пример кода см. в разделе 6).
Можно ли добавить столбец «Склад» в отчет (например, в «Ведомость по товарам»)?
Да, но для этого нужно модифицировать схему компоновки данных отчета. Откройте отчет в конфигураторе, найдите набор данных с товарами и добавьте поле «Склад» в список выводимых реквизитов. После этого поле станет доступно в настройках отчета для пользователей.
Что делать, если после обновления 1С столбец «Склад» пропал?
Это типичная проблема при обновлении типовых конфигураций. Варианты решения:
- Если столбец добавлялся через внешнюю обработку — подключите её заново.
- Если изменялись метаданные — сравните конфигурации (
Конфигурация → Сравнить конфигурации) и перенесите изменения из резервной копии. - Если использовалось расширение — обновите его под новую версию конфигурации.