Добрый день. Есть ВПФ Заказ покупателя, мне нужно вывести МассуБрутто , с помощью запроса получила данные,но когда происходит цикл
программа читате только последнее значение и получается что у меня массаБрутто одна и таже по двум позициям.
Отрывок модуля:
ЗапросМассаБрутто = Новый Запрос;
ЗапросМассаБрутто.Текст = "ВЫБРАТЬ
| ЗаказПокупателяТовары.НомерСтроки КАК НомерСтроки,
| ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
| ЗаказПокупателяТовары.Количество КАК Количество,
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА ЗаказПокупателяТовары.Количество > 0
| ТОГДА ЗаказПокупателяТовары.Количество * ЗаказПокупателяТовары.ЕдиницаИзмерения.Вес
| КОНЕЦ КАК ЧИСЛО(15, 0)) КАК МассаБрутто,
| ЗаказПокупателяТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
|ГДЕ
| ЗаказПокупателяТовары.Ссылка = &ТекущийДокумент
|
|СГРУППИРОВАТЬ ПО
| ЗаказПокупателяТовары.Номенклатура,
| ЗаказПокупателяТовары.НомерСтроки,
| ЗаказПокупателяТовары.Количество,
| ЗаказПокупателяТовары.ЕдиницаИзмерения,
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА ЗаказПокупателяТовары.Количество > 0
| ТОГДА ЗаказПокупателяТовары.Количество * ЗаказПокупателяТовары.ЕдиницаИзмерения.Вес
| КОНЕЦ КАК ЧИСЛО(15, 0))";
ЗапросМассаБрутто.УстановитьПараметр("ТекущийДокумент",СсылкаНаОбъект);
РезультатЗапроса=ЗапросМассаБрутто.Выполнить();
ВыборкаМассаБрутто= РезультатЗапроса.Выбрать();
Пока ВыборкаМассаБрутто.Следующий() ЦИКЛ
МассаБрутто=ВыборкаМассаБрутто.МассаБрутто;
КонецЦикла;
ПараметрыПозиции.Вставить("МассаБрутто", ВыборкаМассаБрутто.МассаБрутто);
Группировку в запросе убирала не помогает, ПараметрыПозиции вставляла в цикл тоже. Что не так подскажите?
guru
пн, 13/07/2020 - 10:51
Что хранится в переменной ПараметрыПозиции?
Как происходит вывод данных на печать? Отдельный запрос и цикл?
У Вас присвоение значения ПараметрыПозиции.МассаБрутто происходит только после окончания цикла обхода выборки. Разумеется, что там будет храниться последнее значение.
ПС. Группировка в запросе абсолютно не нужна.
Лиана0988
пн, 13/07/2020 - 13:29
1. ПараметрыПозиции = Новый Структура
2. Да отдельный запрос и цикл.
Тогда куда мне написать ПАраметрыПозиции.МассаБрутто чтобы одельно по каждой строке выходило массаБрутто и итоговая МассаБрутто?
guru
пн, 13/07/2020 - 13:47
Для расчёта итоговой массы брутто можно добавить в запрос секцию ИТОГИ.
Если не хотите или не можете вставить расчёт массы брутто в основной запрос, то можно результат запроса массы брутто выгрузить в таблицу значений. В основном цикле построчного вывода на печать искать нужную строку в этой таблице (по реквизиту НомерСтроки) и получать значение массы брутто из найденной строки. Это как вариант.
Лиана0988
пн, 13/07/2020 - 13:54
guru
пн, 13/07/2020 - 13:57
ИТОГИ только ПО ОБЩИЕ. По номенклатуре не нужны.
Лиана0988
пн, 13/07/2020 - 14:02
"В основном цикле построчного вывода на печать" напишите пожалуйста пример
guru
пн, 13/07/2020 - 14:17
Пример поиска строки таблицы? Или сам цикл?
Лиана0988
пн, 13/07/2020 - 15:33
поиска строки
guru
пн, 13/07/2020 - 18:51
Как-то так:
Лиана0988
ср, 15/07/2020 - 07:40
Спасибо)
Лиана0988
пн, 20/07/2020 - 15:44
Я еще раз к вам за помощью :) . Вывела массуБрутто чуть переиграла запрос. возникла другая проблема Если есть услуга печатная форма не выходит.
Появляется ошибка: Преобразование значения к типу Число не может быть выполнено
guru
вт, 21/07/2020 - 01:14
Неправильная последовательность полей во втором запросе (по таблице Услуги). Надо поставить поле МассаБрутто после СчетНаОплату.Номенклатура.ЕдиницаХраненияОстатков (как в запросе по таблице Товары).
Лиана0988
вт, 21/07/2020 - 08:11
СчетНаОплату.ЕдиницаИзмерения.Вес КАК МассаБрутто,?
Лиана0988
вт, 21/07/2020 - 08:15
как можно скачать вложенный файл чтобы посмотреть?
Лиана0988
вт, 21/07/2020 - 08:33
СПАСИБО ОГРОМНОЕ получилось))) УРА!!