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