Часто пользователи конфигурации "1С:Альфа-Авто" сталкиваются с ситуацией, когда при создании документа "Реализация товаров и услуг" на основании "Заказа покупателя" табличная часть с товарами остается пустой. При этом вручную товары добавить можно, и они числятся в наличии на складе. Разберемся, почему так происходит и как настроить автоматическое заполнение.
Проанализируем эту проблему по шагам: от первоначальной диагностики до понимания логики системы и нахождения правильного решения.
Прежде чем предполагать ошибку в коде или конфигурации, важно исключить самые очевидные проблемы с данными. Если вы столкнулись с пустой реализацией, в первую очередь проверим следующие моменты:
Если отчеты показывают, что заказ еще не выполнен и товар на складе есть, но реализация все равно не заполняется, значит, причина кроется глубже — в самой логике работы программы.
Ключ к разгадке проблемы кроется в стандартном бизнес-процессе, заложенном в конфигурацию "1С:Альфа-Авто". Система не просто копирует строки из заказа в реализацию. Она отгружает только те товары, которые были зарезервированы под конкретный заказ.
В одном из сообщений на форуме был приведен фрагмент кода из обработки заполнения документа реализации:
ИначеЕсли ТипЗнч(Основание)=Тип("ДокументСсылка.ЗаказПокупателя") Тогда
//Для ввода на основании заказа покупателя будем отгружать товары,
//зарезервированные под данный заказ на данном складе
Товары.Очистить();
ЗаполнитьРезервамиКонтрагента(Основание);
Даже без глубоких знаний программирования, название функции ЗаполнитьРезервамиКонтрагента говорит само за себя. Система ищет не просто товары из заказа, а именно резервы, связанные с этим заказом и контрагентом.
Вывод: если в документе "Заказ покупателя" не был оформлен резерв на товары, то при создании на его основании "Реализации" система не найдет позиций для отгрузки, и табличная часть останется пустой. Это не ошибка, а штатное поведение программы, направленное на корректное управление остатками и исполнение обязательств перед клиентами.
Чтобы реализация заполнялась автоматически, необходимо следовать стандартной процедуре работы с заказами, которая включает этап резервирования. Рассмотрим этот процесс по шагам.
Откройте ваш документ "Заказ покупателя". В табличной части с товарами найдите колонку, отвечающую за резервирование (она может называться "Резерв", "В резерв" и т.п.), или убедитесь, что у документа выбрана соответствующая хозяйственная операция, например, "Заказ и резервирование". Укажите количество товара, которое необходимо поставить в резерв.
После указания товаров для резерва проведите документ. В момент проведения система проверит наличие товара на складе и, если он доступен, создаст движения по регистру резервов. Товар будет зарезервирован под вашего клиента и этот конкретный заказ.
Теперь, когда резерв создан, вернитесь к документу "Заказ покупателя" и на его основании введите документ "Реализация товаров и услуг". Система обратится к данным о резервах, найдет зарезервированные позиции и корректно заполнит ими табличную часть нового документа.
Именно такой алгоритм и является решением исходной проблемы. Пользователь на форуме подтвердил это, написав: "На складе есть, если я в заказе сделаю резерв, потом на основании заказа реализацию, тогда все встанет как надо".
В некоторых компаниях отгрузка происходит по факту наличия товара без предварительного жесткого резервирования. В таком случае стандартный механизм "Альфа-Авто" может быть неудобен.
Если вы хотите, чтобы реализация заполнялась товарами из заказа вне зависимости от наличия резерва, потребуется доработка конфигурации. Для этого необходимо обратиться к программисту 1С, который сможет изменить логику процедуры ОбработкаЗаполнения документа "Реализация товаров и услуг". Вместо вызова функции ЗаполнитьРезервамиКонтрагента он может написать код, который будет напрямую копировать строки из табличной части документа-основания ("Заказа покупателя").
Однако перед таким изменением стоит взвесить все "за" и "против", так как отказ от механизма резервирования может привести к путанице и ситуациям, когда заказанный товар будет продан другому клиенту.