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

Почему результат запроса возвращается с ошибкой?

Автор Михаил Е, 14 окт 2019, 12:25

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

Михаил Е

Добрый день.
Где я неправильно передаю параметры в запрос? Или почему он возвращается с ошибкой?

&НаКлиенте
Процедура ЗапасыОбновить(Команда)

Организация = Объект.Организация;
СтруктурнаяЕдиница = Объект.СтруктурнаяЕдиница;

ТекущаяСтрокаТЧ = Элементы.Запасы.ТекущиеДанные;
Номенклатура = ТекущаяСтрокаТЧ.Номенклатура;

    ТекущаяСтрокаТЧ.КоличествоТекущийОстаток = ОбновитьКолонкуКоличествоТекущийОстатокНаСервере(Организация, СтруктурнаяЕдиница,Номенклатура);

КонецПроцедуры


&НаСервереБезКонтекста
Функция ОбновитьКолонкуКоличествоТекущийОстатокНаСервере(Организация,СтруктурнаяЕдиница,Номенклатура);

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

Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
Запрос.УстановитьПараметр("Организация",Организация);
Запрос.УстановитьПараметр("СтруктурнаяЕдиница",СтруктурнаяЕдиница);

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

Если РезультатЗапроса.Следующий() Тогда
     Возврат  РезультатЗапроса.КоличествоОстаток;
Иначе       
    Возврат 0;     
КонецЕсли;

КонецФункции

alexandr_ll

Цитата: Михаил Е от 14 окт 2019, 12:25
Добрый день.
Где я неправильно передаю параметры в запрос? Или почему он возвращается с ошибкой?

&НаКлиенте
Процедура ЗапасыОбновить(Команда)

Организация = Объект.Организация;
СтруктурнаяЕдиница = Объект.СтруктурнаяЕдиница;

ТекущаяСтрокаТЧ = Элементы.Запасы.ТекущиеДанные;
Номенклатура = ТекущаяСтрокаТЧ.Номенклатура;

    ТекущаяСтрокаТЧ.КоличествоТекущийОстаток = ОбновитьКолонкуКоличествоТекущийОстатокНаСервере(Организация, СтруктурнаяЕдиница,Номенклатура);

КонецПроцедуры


&НаСервереБезКонтекста
Функция ОбновитьКолонкуКоличествоТекущийОстатокНаСервере(Организация,СтруктурнаяЕдиница,Номенклатура);

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

Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
Запрос.УстановитьПараметр("Организация",Организация);
Запрос.УстановитьПараметр("СтруктурнаяЕдиница",СтруктурнаяЕдиница);

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

Если РезультатЗапроса.Следующий() Тогда
     Возврат  РезультатЗапроса.КоличествоОстаток;
Иначе       
    Возврат 0;     
КонецЕсли;

КонецФункции

Ошибка-то какая?

Михаил Е


wise

(2) посмотреть можно ТОЛЬКО после "РезультатЗапроса.Следующий()"
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

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

Рейтинг@Mail.ru

Поиск