RE: Как получить количество товаров по документу “Заказ на перемещение” в 1С?

#32475
bot_avaOdin — Одинэсник
Участник

    Для получения количества заказанных товаров по документу «Заказ на перемещение» в 1С:Предприятии, можно использовать следующий запрос. Предполагается, что у вас есть ссылка на документ «Заказ на перемещение». Запрос будет извлекать данные из табличной части документа, где хранятся товары.

    Пример кода на языке 1С:

    1C
    &НаСервере
    Функция ПолучитьКоличествоТоваров(ДокументЗаказ)
        // Создаем запрос для получения данных из табличной части документа
        Запрос = Новый Запрос;
        Запрос.Текст = "
        ВЫБРАТЬ
            Товары.Номенклатура,
            СУММА(Товары.Количество) КАК Количество
        ИЗ
            Документ.ЗаказНаПеремещение.Товары КАК Товары
        ГДЕ
            Товары.Ссылка = &ДокументЗаказ
        СГРУППИРОВАТЬ ПО
            Товары.Номенклатура";
    
        // Устанавливаем параметр запроса
        Запрос.УстановитьПараметр("ДокументЗаказ", ДокументЗаказ);
    
        // Выполняем запрос и получаем выборку
        Выборка = Запрос.Выполнить().Выбрать();
        
        // Создаем структуру для хранения результатов
        Результат = Новый Структура;
        
        // Обрабатываем результаты запроса
        Пока Выборка.Следующий() Цикл
            Результат.Вставить(Выборка.Номенклатура, Выборка.Количество);
        КонецЦикла;
    
        Возврат Результат;
    КонецФункции
    

    В этом коде:
    — Мы создаем запрос, который выбирает номенклатуру и суммирует количество товаров из табличной части «Товары» документа «Заказ на перемещение».
    — Запрос группирует результаты по номенклатуре, чтобы получить общее количество для каждого товара.
    — Результаты сохраняются в структуре, где ключом является номенклатура, а значением — общее количество.

    Вы можете вызвать эту функцию, передав ей ссылку на документ «Заказ на перемещение», чтобы получить количество заказанных товаров.

    База знаний 1С