Answer the question
In order to leave comments, you need to log in
How to get a value from a query result in 1C?
There is a table with goods and prices in the Delivery document. There is a directory of counterparties with a price table for each counterparty. It is necessary to pull out the price for the desired product from the price table of the counterparty. For this I wrote the following code:
&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
Контрагент = Объект.Контрагент;
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
Товар = Элементы.Товары.ТекущиеДанные.Номенклатура;
СтрокаТабличнойЧасти.Цена = ПолучитьЦены(Контрагент,Товар);
КонецПроцедуры
&НаСервере
Функция ПолучитьЦены(Контрагент, Товар)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Контрагенты.Цены.Цена
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Наименование = &Контрагент
| И Контрагенты.Цены.Товар = &Товар";
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("Товар", Товар);
Результат = Запрос.Выполнить();
Возврат Результат.Цена;
КонецФункции
Answer the question
In order to leave comments, you need to log in
And fix your request.
Функция ПолучитьЦены(Контрагент, Товар)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЦеныКонтрагента.Цена КАК Цена
|ИЗ
| Справочник.Контрагенты.Цены КАК ЦеныКонтрагента
|ГДЕ
| ЦеныКонтрагента.Ссылка = &Контрагент
| И ЦеныКонтрагента.Товар = &Товар";
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("Товар", Товар);
Результат = Запрос.Выполнить().Выбрать().Следующий();
Возврат Результат.Цена;
КонецФункции
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question