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

Запрос с условием

Автор Денис Степанищев, 08 дек 2016, 23:04

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

Денис Степанищев

Есть справочник Ингредиенты и документ Калькуляция блюд с табличной частью Составляющие.
Необходимо при изменении номенклатуры в форме документа поставить значение "Ккал" из справочника Ингредиенты.

&НаКлиенте
Процедура СоставляющиеНаименованиеИнгредиентаПриИзменении(Элемент)
Стр=Элементы.Составляющие.ТекущиеДанные;
Стр.Ккал = ПолучитьКкалории(Стр.НаименованиеИнгредиента);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьКкалории(Ингредиент)

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Ингредиенты.Наименование КАК Наименование,
| Ингредиенты.Ккал КАК Ккал
|ИЗ
| Справочник.Ингредиенты КАК Ингредиенты";

//Запрос.УстановитьПараметр("Наименование", Ингредиент);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Наименование = Ингредиент Тогда

Результат = ВыборкаДетальныеЗаписи.Ккал;
КонецЕсли;
  КонецЦикла;
 

Возврат Результат;
КонецФункции

temrmal


Денис Степанищев

Цитата: temrmal от 09 дек 2016, 00:01
Вопрос в чем?

В том что условие не выполняется. Приведу пример.
В пошаговой отладке значение "ВыборкаДетальныеЗаписи.Наименование" пишется в двойных ковычках, а "Ингредиент" записывается без ковычек. В результате условие выглядит след.образом Если "Рис" = Рис Тогда....

Теги:

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

Рейтинг@Mail.ru

Поиск