АРМ снабжения и закупок в 1С:ERP — это рабочее место, в котором менеджеры снабжения и закупок видят одни и те же потребности: заказы на внутреннее потребление и ремонт, остатки, резервы, товары в пути, — и прямо оттуда создают заказы поставщикам или на перемещение. Если типовых рабочих мест не хватает, такой АРМ делают внешней обработкой или расширением: база остаётся на поддержке, а процесс перестаёт жить в Excel.
Ниже — как я подхожу к проектированию такого рабочего места: какие данные собрать, как устроить форму, роли и сохранение настроек, какой код писать и как запускать по этапам, чтобы им действительно пользовались.
Когда типового рабочего места мало
В ERP есть штатные механизмы обеспечения: формирование заказов по потребностям, состояние обеспечения, рабочие места менеджера по закупкам. Свой АРМ нужен, когда:
- потребности приходят из разных документов (внутреннее потребление, ремонты, производство), а снабженцы сводят их вручную;
- нужны свои отборы — сегменты номенклатуры, направления деятельности, склады получателей;
- снабжение и закупки — разные отделы с разными правами, но работают с одними позициями;
- нужны массовые операции: сдвинуть даты, отменить строки, заменить аналогом, зарезервировать.

Структура АРМ: что показать в одном окне
Шапка и отборы
- Период — по дате потребности или документа.
- Базовые отборы: номенклатура и характеристики, статус заказов, склад отправителя и получателя, наличие связанных поступлений.
- Пользовательские отборы: сегменты номенклатуры, направления деятельности. Сохраняются для каждого пользователя между сеансами.
Дерево потребностей
Верхний уровень — документ-потребность (заказ на внутреннее потребление, заказ на ремонт), ниже — строки товаров. Дерево удобно тем, что одну строку можно развернуть до связанных заказов поставщикам и поступлений.
Колонки по группам
| Группа | Состав | Кому важна |
|---|---|---|
| Служебные | Флажок выбора, номер | Всем |
| Номенклатура | Номенклатура, характеристика, обособленное обеспечение | Всем |
| Статусы | Статус документа, отменённые строки, вариант обеспечения | Снабжение |
| Количества | Заказано, доступно, в резерве, обеспечено, не обеспечено | Снабжение и закупки |
| Логистика | Даты отгрузки и поступления, товары в пути, остатки по складам | Закупки |
| Аналитика | План закупок, направление деятельности, сегмент, комментарий | Руководитель |
Группы колонок пользователь включает и выключает сам — экран не перегружается, а настройка запоминается.
Роли и права
| Роль | Что делает в АРМ |
|---|---|
| Менеджер снабжения | Работает с внутренними заказами, резервирует, оформляет перемещения |
| Менеджер закупок | Создаёт заказы поставщикам, работает с планами закупок |
| Руководитель | Смотрит всё, утверждает замены и отмены |
Дополнительно: запрет на изменение чужих заказов, разные права на создание документов, скрытие кнопок по ролям. Сами права на документы остаются типовыми — АРМ только не показывает то, что пользователю недоступно.
Код: каркас обработки
Ниже ключевые фрагменты для обработки на управляемой форме в конфигурации на БСП. Имена реквизитов табличных частей ERP сверяйте со своим релизом.
Загрузка дерева потребностей
&НаСервере
Процедура ЗаполнитьДеревоПотребностей()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Ссылка КАК Документ,
| Товары.Ссылка.Дата КАК Дата,
| Товары.Ссылка.Статус КАК Статус,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Количество КАК Количество,
| Товары.Отменено КАК Отменено
|ИЗ
| Документ.ЗаказНаВнутреннееПотребление.Товары КАК Товары
|ГДЕ
| Товары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И Товары.Ссылка.Проведен
| И (&БезОтбораНоменклатуры ИЛИ Товары.Номенклатура В (&Номенклатура))
|ИТОГИ ПО
| Документ";
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(Период.ДатаНачала));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(Период.ДатаОкончания));
Запрос.УстановитьПараметр("БезОтбораНоменклатуры", ОтборНоменклатура.Количество() = 0);
Запрос.УстановитьПараметр("Номенклатура", ОтборНоменклатура.ВыгрузитьЗначения());
Дерево = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
ЗначениеВРеквизитФормы(Дерево, "ДеревоПотребностей");
КонецПроцедурыРеквизит формы ДеревоПотребностей — типа ДеревоЗначений с колонками под запрос. Остатки, резервы и товары в пути добавляются в тот же запрос соединением с виртуальными таблицами нужных регистров; какие именно регистры брать, зависит от схемы обеспечения в вашей ERP. Заказы на ремонт и другие источники объединяются через ОБЪЕДИНИТЬ ВСЕ.
Сохранение пользовательских отборов
&НаСервере
Процедура СохранитьНастройкиАРМ()
Настройки = Новый Структура;
Настройки.Вставить("Сегменты", ОтборСегменты.ВыгрузитьЗначения());
Настройки.Вставить("Направления", ОтборНаправления.ВыгрузитьЗначения());
Настройки.Вставить("ВидимыеГруппыКолонок", ВидимыеГруппыКолонок.ВыгрузитьЗначения());
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("АРМСнабжения", "НастройкиПользователя", Настройки);
КонецПроцедурыЧтение — ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить при создании формы. Настройки хранятся для каждого пользователя отдельно.
Кнопки по ролям
&НаСервере
Процедура НастроитьДоступностьКоманд()
ЭтоЗакупки = Пользователи.РолиДоступны("ДобавлениеИзменениеЗаказовПоставщикам");
Элементы.СоздатьЗаказПоставщику.Видимость = ЭтоЗакупки;
Элементы.СоздатьПеремещение.Видимость = Не ЭтоЗакупки;
КонецПроцедурыИмя роли подставьте из своей конфигурации; если права раздаются профилями групп доступа, проверяйте роль, входящую в нужный профиль.
Создание заказа поставщику по отмеченным строкам
Документ создаётся на сервере и открывается пользователю для проверки, а не проводится молча: цены, поставщика и соглашение менеджер закупок всё равно сверяет. Для заполнения табличной части я вызываю типовые механизмы заполнения документа, а не пишу свои расчёты цен и сумм.
Внедрение по этапам
| Этап | Что делаем | Результат |
|---|---|---|
| 1 | Обследование, «как есть / как надо», ТЗ | Согласованные сценарии и роли |
| 2 | Каркас АРМ: дерево, отборы, колонки | Ключевые пользователи смотрят реальные данные |
| 3 | Создание заказов и массовые операции | Первые заказы из АРМ |
| 4 | Аналитика и отчёты | Отчёты под задачи руководителей |
| 5 | Обучение, инструкция | Отдел работает в АРМ |
| 6 | Опытная эксплуатация | Исправление ошибок, доработки по обратной связи |
Типичные ошибки проекта
- Всё сразу. Попытка автоматизировать все сценарии одним релизом. Начните с формирования потребностей и создания заказов, остальное — следующими этапами.
- Никто не пользуется. АРМ делали без снабженцев. Подключайте двух-трёх активных сотрудников с первого прототипа — они потом убеждают остальных.
- Тяжёлый запрос на открытии. АРМ открывается минуту, потому что тянет данные за год. Ставьте период по умолчанию коротким и считайте остатки только по найденной номенклатуре.
- Своя логика обеспечения. Пересчитывать резервы и статусы в обход механизмов ERP — путь к расхождениям. АРМ должен вызывать типовые механизмы, а не дублировать их.
- Не те отчёты. Руководителю нужны итоги, линейному сотруднику — детализация. Отчёты делайте на СКД с вариантами под каждую роль.
АРМ снабжения — это не новая логика учёта, а удобное окно к логике ERP. Чем меньше в нём своих расчётов, тем дольше он живёт.
Такие рабочие места я делаю в рамках внедрения 1С:ERP и доработки 1С, а аналитику к ним — через отчёты на СКД.
Коротко
- АРМ снабжения в 1С:ERP собирает потребности, остатки, резервы и заказы в одном дереве с отборами.
- Делайте его внешней обработкой или расширением — база остаётся на поддержке.
- Разделяйте роли снабжения и закупок, сохраняйте настройки каждого пользователя.
- Используйте типовые механизмы обеспечения ERP, а не свои расчёты.
- Запускайте по этапам и с участием будущих пользователей.




