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