![]() |
![]() |
|
Табличный запрос к региструсведений | ☑ | ||
---|---|---|---|---|
0
кабанчик
15.04.19
✎
11:16
|
Здравствуйте, что за ошибка в запросе? Не выдаёт никакую цену из него.
Все данные передаются ( Контрагент, номенклатура ). Нужно чтобы при выборе номенклатуры из списка, цена автоматически подставлялась в поле цена. &НаСервере Функция ТоварыНоменклатураПриИзмененииНаСервере(Номенклатура)// Запрос = Новый Запрос; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент.Ссылка); Сообщить("Номенклатура на сервере:" +Номенклатура); Сообщить("Контрагент на сервере:" +Объект.Контрагент.Ссылка); Запрос.Текст = "ВЫБРАТЬ | ЦеныПоставщиковСрезПоследних.Цена КАК Цена, | ЦеныПоставщиковСрезПоследних.Номенклатура.ЦенаПокупки КАК НоменклатураЦенаПокупки, | ЦеныПоставщиковСрезПоследних.Номенклатура.ЦенаПродажи КАК НоменклатураЦенаПродажи |ИЗ | РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК ЦеныПоставщиковСрезПоследних |ГДЕ | ЦеныПоставщиковСрезПоследних.Контрагент = &Контрагент | И ЦеныПоставщиковСрезПоследних.Номенклатура = &Номенклатура"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Сообщить(""+ВыборкаДетальныеЗаписи.Цена); Сообщить(""+ВыборкаДетальныеЗаписи.НоменклатураЦенаПокупки); Сообщить(""+ВыборкаДетальныеЗаписи.НоменклатураЦенаПродажи); Если ВыборкаДетальныеЗаписи.Следующий() Тогда Возврат(ВыборкаДетальныеЗаписи.Цена); КонецЕсли; КонецФункции &НаКлиенте Процедура ТоварыНоменклатураПриИзменении(Элемент) Стр = Элементы.Товары.ТекущиеДанные; Сообщить(""+Стр.Номенклатура); Стр.Цена = ТоварыНоменклатураПриИзмененииНаСервере(Стр.Номенклатура); Сообщить(""+Стр.Цена); КонецПроцедуры Пробовал так, тоже не показывает: Запрос.Текст = "ВЫБРАТЬ | ЦеныПоставщиковСрезПоследних.Цена КАК Цена, | ЦеныПоставщиковСрезПоследних.Номенклатура.ЦенаПокупки КАК НоменклатураЦенаПокупки, | ЦеныПоставщиковСрезПоследних.Номенклатура.ЦенаПродажи КАК НоменклатураЦенаПродажи |ИЗ | РегистрСведений.ЦеныПоставщиков.СрезПоследних(&Дата, Номенклатура = &Номенклатура) КАК ЦеныПоставщиковСрезПоследних"; |
|||
1
СтепаDS
15.04.19
✎
11:18
|
(0) " Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Возврат(ВыборкаДетальныеЗаписи.Цена); КонецЕсли; " Может тут проблема? |
|||
2
VladZ
15.04.19
✎
11:20
|
(0) А отладчик что говорит?
|
|||
3
СтепаDS
15.04.19
✎
11:23
|
(2) Видимо, что рез запроса не пустой, но почему-то ничего не возвращает.
|
|||
4
кабанчик
15.04.19
✎
11:38
|
(1) так даже я до условия вывожу что там есть, то ничего не выводит
Сообщить(""+ВыборкаДетальныеЗаписи.Цена); Сообщить(""+ВыборкаДетальныеЗаписи.НоменклатураЦенаПокупки); Сообщить(""+ВыборкаДетальныеЗаписи.НоменклатураЦенаПродажи); |
|||
5
кабанчик
15.04.19
✎
11:41
|
(2) а как его запустить?
|
|||
6
Salimbek
15.04.19
✎
11:44
|
(4) Ты в свою Выборку заходишь только следующей строкой, поэтому ДО начала перебора твое "Сообщить" ничего не выдаст.
|
|||
7
СтепаDS
15.04.19
✎
11:50
|
(5) а ты там кто?
|
|||
8
кабанчик
15.04.19
✎
11:51
|
В отладчике пишет, что результат запроса = Неопределенно
|
|||
9
СтепаDS
15.04.19
✎
11:52
|
(8) А выборка?
|
|||
10
СтепаDS
15.04.19
✎
11:52
|
И чего-то в запросе не хватает...
|
|||
11
кабанчик
15.04.19
✎
11:56
|
(10) выборка тоже пишет, что неопредленно
|
|||
12
СтепаDS
15.04.19
✎
11:58
|
(11) Попробуй установить условия на виртуальную таблицу. И ответь на (7)
|
|||
13
кабанчик
15.04.19
✎
11:58
|
Чего не хватает? Подскажите, а то уже дня 4 голову ломаю и не могу додуматься
|
|||
14
СтепаDS
15.04.19
✎
11:59
|
(13) см (12)
|
|||
15
СтепаDS
15.04.19
✎
12:03
|
(13) Ну, и да... а цены то есть в регистре? Глазками смотрел?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |