![]() |
![]() |
|
Подскажите по простейшему запросу плз. | ☑ | ||
---|---|---|---|---|
0
BigShmax
30.08.11
✎
17:36
|
Есть документ ЗаказПокупателя и есть регистр сведений с информацией о ЗаказПокупателя/ФИО/Телефон/Адрес. задача если по заказу есть инфа в РС то брать в печатную форму из него, иначе из заказа.
привожу поделку та что с ошибками ЗапросПодстановка = Новый Запрос; ЗапросПодстановка.Текст = "ВЫБРАТЬ | ИнформацияОКонечномПотребителе.ФИОКонтрагента |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИнформацияОКонечномПотребителе КАК ИнформацияОКонечномПотребителе | ПО ЗаказПокупателя.Ссылка = ИнформацияОКонечномПотребителе.ЗаказПокупателя"; .... Область.Параметры.Контрагент = ЗапросПодстановка.Контрагент; ЗапросПодстановка.УстановитьПараметр("ЗаказПокупателя", ЗаказПокупателя); |
|||
1
BigShmax
30.08.11
✎
17:37
|
ну параметр ессно идет сразу под запросом а вывод позже
|
|||
2
BigShmax
30.08.11
✎
17:40
|
тьфу
в ВЫБРАТЬ конечно же | ЕСТЬNULL(ИнформацияОКонечномПотребителе.ФИОКонтрагента, ЗаказПокупателя.Контрагент) КАК Контрагент, |
|||
3
Eugene_life
30.08.11
✎
17:41
|
(0) как-то так:
.... запрос затем: ЗапросПодстановка.УстановитьПараметр("ЗаказПокупателя", ЗаказПокупателя); РезультатЗапроса = ЗапросПодстановка.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() Цикл Область.Параметры.Контрагент = ЗапросПодстановка.Контрагент; КонецЦикла; |
|||
4
Eugene_life
30.08.11
✎
17:41
|
(2) см выше - запрос надо сначала выполнить и выбрать данные, а потом уже перебирать выборку
|
|||
5
WF72
30.08.11
✎
17:42
|
Параметр не обязательно должен идти под запросом.
Вопроса я не увидел. В чем собсно проблема? |
|||
6
Eugene_life
30.08.11
✎
17:43
|
(3) ошибся маленько:
Пока РезультатЗапроса.Следующий() Цикл Область.Параметры.Контрагент = РезультатЗапроса.ФИОКонтрагента; КонецЦикла; |
|||
7
luckyluke
30.08.11
✎
17:43
|
(0) ты наверное про это:
ВЫБРАТЬ ЕСТЬNULL(ИнформацияОКонечномПотребителе.ФИОКонтрагента, ЗаказПокупателя.Контрагент) КАК Контрагент, .... |
|||
8
BigShmax
30.08.11
✎
17:44
|
я привел запрос после того как проигнорировал ошибки. не могу собрать запрос :-(
(4) Выборка не нужна. на один заказ не больше одной строки в РС мне тупо нужно выбрать контрагента из заказа и из РС . Инфа из РС приоритетнее. |
|||
9
BigShmax
30.08.11
✎
17:47
|
на те заказы на которые нет инфы в РС выводим из документа.
немогу собрать запрос на одно поле из двух таблиц :-( |
|||
10
Eugene_life
30.08.11
✎
17:47
|
(8) все равно запрос надо выполнить и выбрать. Просто вместо цикла пишешь
Если РезультатЗапроса.Следующий() Тогда Область.Параметры.Контрагент = РезультатЗапроса.Контрагент; КонецЕсли; |
|||
11
Fram
30.08.11
✎
17:48
|
(9) вроде все верно в запросе.. в чем ошибка?
|
|||
12
luckyluke
30.08.11
✎
17:50
|
(9) ну так смотри (7), что не понятно?
|
|||
13
hhhh
30.08.11
✎
17:52
|
(11) похоже здесь
Область.Параметры.Контрагент = ЗапросПодстановка.Контрагент; |
|||
14
BigShmax
30.08.11
✎
17:54
|
ЗапросПодстановка = Новый Запрос;
ЗапросПодстановка.Текст = "ВЫБРАТЬ |ЕСТЬNULL(ИнформацияОКонечномПотребителе.ФИОКонтрагента, ЗаказПокупателя.Контрагент) КАК Контрагент |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИнформацияОКонечномПотребителе КАК ИнформацияОКонечномПотребителе | ПО ЗаказПокупателя.Ссылка = ИнформацияОКонечномПотребителе.ЗаказПокупателя"; ЗапросПодстановка.УстановитьПараметр("ЗаказПокупателя", ЗаказПокупателя); пытаюсь войтиконструктором и получаю ошибку (6,6) Неоднозначное поле "ЗаказПокупателя.Ссылка" ПО <?> ЗаказПокупателя.Ссылка = ИнформацияОКонечномПотребителе.ЗаказПокупателя |
|||
15
BigShmax
30.08.11
✎
17:55
|
фиг с ней с областью откинем все на текущий момент не могу завести запрос.
|
|||
16
Fram
30.08.11
✎
17:58
|
(14) сделай Документ.ЗаказПокупателя КАК ЗаказПокупателя2 например
|
|||
17
shuhard
30.08.11
✎
17:59
|
(15) Неоднозначное поле
и что в ошибке не понятно ? ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя_ххх |
|||
18
BigShmax
30.08.11
✎
18:00
|
(16) сработало а что это было
(17) ну не встречался я с такой ошибкой ранее, не пинайте ногами то |
|||
19
Fram
30.08.11
✎
18:04
|
(18) ИнформацияОКонечномПотребителе.ЗаказПокупателя
видишь тут тоже ЗаказПокупателя |
|||
20
BigShmax
30.08.11
✎
18:08
|
ну тада допинайте мой разум чтобы это вывести и я буду счастлив :-)
Результат = ЗапросПодстановка.Выполнить(); Область = Макет.ПолучитьОбласть("ШапкаТовары"); Область.Параметры.Контрагент = Результат.Контрагент; дает {Форма.Форма.Форма(2222)}: Поле объекта не обнаружено (Контрагент) Область.Параметры.Контрагент = Результат.Контрагент; Итоги пробовал по контрагенту |
|||
21
BigShmax
30.08.11
✎
18:09
|
(19) спасиб, ошибка действительно несла в себе всю инфу
|
|||
22
Fram
30.08.11
✎
18:26
|
(20) Открой переменную Результат в отладчике.. Думаю сам поймешь
|
|||
23
BigShmax
30.08.11
✎
18:31
|
ща чайку хлебну разберусь - главное что в консоли открыл то что мне надо там есть :-)
|
|||
24
BigShmax
30.08.11
✎
18:37
|
Метод объекта следующий гооврит не обнаружен :-(
я понимаю что нужно выполнить запрос и взять из него то что вижу в консоли но не дается сволочь. оба обхода ругаются одинаково :-( РезультатЗапроса = ЗапросПодстановка.Выполнить(); Область = Макет.ПолучитьОбласть("ШапкаТовары"); Пока РезультатЗапроса.Следующий() Цикл Область.Параметры.Контрагент = РезультатЗапроса.Контрагент; КонецЦикла; //Если РезультатЗапроса.Следующий() Тогда // Область.Параметры.Контрагент = РезультатЗапроса.Контрагент; //КонецЕсли; |
|||
25
BigShmax
30.08.11
✎
18:38
|
{Форма.Форма.Форма(2225)}: Метод объекта не обнаружен (Следующий)
Пока РезультатЗапроса.Следующий() Цикл |
|||
26
Eugene_life
30.08.11
✎
18:39
|
(25) РезультатЗапроса = ЗапросПодстановка.Выполнить().Выбрать();
|
|||
27
BigShmax
30.08.11
✎
18:42
|
(26) век тебя помнить буду
спасибо, пойду убьюсь ап стену :-) все работает на ура |
|||
28
Fram
30.08.11
✎
19:18
|
(27) только перешел на 8ку?
пожалей стену :) изучай типовые, например БСП посмотри |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |