Обработка по резервированию является маленькой частью в той большой схеме, которая описана в наше статье Производство в УПП 1.3 все необходимое.
Если вы работаете с заказами покупателя, то резервирование вам просто необходимо. А раз резервирование важно, то возникает необходимость сделать его автоматическим. Т.е нужна такая обработка, которая могла бы запускаться как в ручном режиме, так и регламентным заданием и резервировать все, что пришло на склады или лежало там в свободном остатке под заказы покупателей. Практика показывает, что чем меньше менеджеры вмешиваются ручками в процесс резервирования, тем меньше ошибок. При этом все, кто работал с резервами, знают, что с ними постоянно вылезают косяки, которые бывают следующих типов:
1. Минусовые резервы, т.е реализации были из резерва, а резерва не было.
2. Лишние резервы на заказах, в заказе 5 шт. а зарезервировано под него 6 шт.
3. Свободные остатки ушли в минус из-за превышения резервов над остатками.
4. Резервы, по которым нет остатков товара на складе.
Приходим к выводу, что обработка в первую очередь должна устранить все проблемы и только потом резервировать. Плюс к этому должны быть отборы, чтобы можно было резервировать избранно. Мы предлагаем вам такую обработку, за минимальную цену. Отборы организованы набором Групп доступности складов и исключением списка складов и списка групп доступности. Почему Группы доступности, а не склады вы можете прочитать подробно в основной статье. Кроме того обработка может работать просто в режиме "устранить ошибки". В обработке нет ничего хитрого, каждый может сам написать такую, а кому лень начинать с нуля берите нашу. В обработке есть функционал сохранения настроек. Код запуска обработки из процедуры регл. задания привожу ниже:
// Запуск внешней обработки по автоматическому резервированию.
СправочникВнешнийОтчет = Справочники.ВнешниеОбработки.НайтиПоКоду(КодОбработки);
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = СправочникВнешнийОтчет.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
ВнешнийОтчетЗагрузкаДанных = ВнешниеОбработки.Создать(ИмяФайла,Ложь);
УдалитьФайлы(ИмяФайла);
// здесь заполняем реквизиты, так как надо вам
ВнешнийОтчетЗагрузкаДанных.ПровестиРезервированиеПоНастройкам();
Только благодаря этой обработке ежедневно исправляются в среднем 5 ошибок, что приводит к своевременной отгрузке заказов клиентам. И это не просто слова, поверьте.
Применяется на конфигурации УПП 1.3.66.2, обычные формы, платформа 8.2.19.90
Код обработки полностью открыт и понятен. Выпуск новых релизов не планируется по той простой причине, что документы Заказ покупателя и Резервирование товаров не изменяются фирмой 1С уже много лет.
Проверено на следующих конфигурациях и релизах:
- Управление производственным предприятием, редакция 1.3, релизы 1.3.66.2