Ввод реализации на основании заказа. Альфа-авто 5.1

Клиент пожаловался, что при создании реализации на основании заказа покупателя документ не заполняется.

Процедура ОбработкаЗаполнения в модуле документа реализации товаров имеет вид:

Создатели Альфа-авто заложили логику, чтобы в реализацию попадало только то, что зарезервировано по заказу. Можно конечно, делать резерв, потом вводить реализацию, потом сразу снимать резерв. Но неудобно.

Поэтому была заказана доработка.

Готового кода по заполнению не было. Но я посмотрел как заполняется документ на основании поступления:

И это подсказало мне простейший код по заполнению реализации, вот он:

ИначеЕсли ТипЗнч(Основание)=Тип("ДокументСсылка.ЗаказПокупателя") Тогда
	//Для ввода на основании заказа покупателя будем отгружать товары,
	//зарезервированные под данный заказ на данном складе
	//Осипов 2021-07-13 вместо резервов заполняем по документу заказа
	Товары.Очистить();
	
	//ЗаполнитьРезервамиКонтрагента(Основание); //Эту строку убираю
	
	//Построчно копируем из заказа
	Для Каждого Строка ИЗ Основание.Товары Цикл
		НСтр = Товары.Добавить();
		ЗаполнитьЗначенияСвойств(НСтр, Строка);
	КонецЦикла;

Красиво, изящно, согласитесь?!

Среда: Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1 (5.1.20.05)

Объем факт: 0.5 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 8

  1. Павел:

    А что изящного?

  2. Zuko:

    Товары. Загрузить (Основание.Товары.Выгрузить()) ;

  3. Zuko:

    Можно конечно, делать резерв, потом вводить реализацию, потом сразу снимать резерв

    А снимать то зачем? Он же реализован

    • Вопрос в другом. Оформление резерва — это лишняя и ненужная операция в данном случае.

  4. Николай Балакшин:

    добрый день! скажите а можно узнать по подробней как сделать что бы реализация на основании заказа заполнялась автоматически

Добавить комментарий для fixin Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *