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