Как из регистра сведений получить цену в табличную часть документа?

1. user1838399 13.09.22 12:23 Сейчас в теме
Помогите пожалуйста!) Хочу цену из регистра добавить в документ. Сделала в общем модуле функцию с запросом к регистру
Функция ЦенаПроката(Номенклатура, ТипЦен, Дата) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| &Период,
| Номенклатура = &Номенклатура
| И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("Период", КонецДня(Дата));
Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой()Тогда
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить (" " + ВыборкаДетальныеЗаписи.Цена);
КонецЦикла;
Возврат ВыборкаДетальныеЗаписи.Цена;
КонецЕсли;
КонецФункции

В форме документа прописала при изменении колонки с названием Модели

ТекДанные.ЦенаВЧас = РаботаСоСправочниками.ЦенаПроката(ТекДанные.Модель, Объект.ТипЦены, Объект.Дата);

И не выбирает по запросу Номенклатуру( что-то не так...
По теме из базы знаний
Найденные решения
5. VictorRGB2 14 13.09.22 12:38 Сейчас в теме
(1) как вариант, нет цен по выбранному типу
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Prikum 3 13.09.22 12:26 Сейчас в теме
(1)
ТекДанные.Модель
Типы совпадают?
3. user1838399 13.09.22 12:31 Сейчас в теме
(2) Тип СправочникСсылка.Самокаты и там и там
5. VictorRGB2 14 13.09.22 12:38 Сейчас в теме
(1) как вариант, нет цен по выбранному типу
4. user1838399 13.09.22 12:38 Сейчас в теме
О, сама нашла - ТипЦен был не заполнен. Сначала его записала и подставилось)) ура) Теперь надо сообразить как этот ТипЦен автоматически бы подставлялся)
6. tamidi 8 13.09.22 12:45 Сейчас в теме
При создании документа, если он новый, то заполнять ТипЦен значением по умолчанию.
7. user1838399 13.09.22 12:53 Сейчас в теме
Дописала перед Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
Строчку ТипЦенЦенаПроката = Перечисления.ТипЦены.ЦенаПроката;

Вот что получилось:

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

Вроде работает)) Всем спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот