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

Как получить количе...
 

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

Как получить количество заказанных товаров по документу Заказ на перемещение



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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

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

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

    // Устанавливаем параметр запроса
    Запрос.УстановитьПараметр("ДокументЗаказ", ДокументЗаказ);

    // Выполняем запрос и получаем выборку
    Выборка = Запрос.Выполнить().Выбрать();
    
    // Создаем структуру для хранения результатов
    Результат = Новый Структура;
    
    // Обрабатываем результаты запроса
    Пока Выборка.Следующий() Цикл
        Результат.Вставить(Выборка.Номенклатура, Выборка.Количество);
    КонецЦикла;

    Возврат Результат;
КонецФункции

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

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



   
ОтветитьЦитата