Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:44

Запрос по регистру накопления в УТ 10

Автор Ламия, 23 ноя 2011, 12:00

0 Пользователей и 1 гость просматривают эту тему.

Ламия

Здравствуйте! Помогите,пожалуйста,начинающему мученику. Текст запроса следующий:

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

конкретно хочу получить Себестоимость номенклатуры по Поступлению и поступлению Доп Расходов
выдает ошибку
{ОбщийМодуль.РасчетСебестоимости.Модуль(31)}: Значение не является значением объектного типа (Стоимость)
Стрном.Цена = СтрЗн.Стоимость/СтрЗн.Количество;

Подскажите,где ошибка?

sergejK74

Синтакс-помощник предлагает так
СтрЗн = ТабномРез.Найти(СтрНом.Номенклатура,"Номенклатура");
Если СтрЗн = Неопределено Тогда
   Предупреждение("Товар не найден!");
Иначе
   Стрном.Цена = СтрЗн.Стоимость/СтрЗн.Количество;;
КонецЕсли;
Кнопочка Спасибо - слева!

Ламия

Чтож,теперь выдает ошибку Товар не найден)
и в итоге не работает

sergejK74

Товар не найден - это не ошибка. Это признак того, что номенклатура не найдена в таблице ТабномРез. Посмотрите отладчиком, что ищется и есть ли какие то значения в ТабномРез.
Кнопочка Спасибо - слева!

Ламия

Данный запрос используется в документе установка цен,запрос находится в общем модуле,после ошибки товар не найден начинает ругаться на модуль документа.
а если проверять отладчиком то номенклатуру в ТабНомРез он находит а вот со стоимостью и количеством не очень.
кстати модуль установки цен тоже немного изменен,может и его выложить?
Очень хочется разобраться

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск