|
v7: Накладные по телефону | ☑ | ||
---|---|---|---|---|
0
Anempadest
30.10.20
✎
02:15
|
Прошу помочь написать текст запроса. Задача такая.
Есть номер телефона. Нужно выбрать накладные по клиенту с данным телефоном. Телефоны - это подчинённый справочник к справочнику Клиенты. На данный момент меня хватило только на это: ТекстЗапроса=" |ОбрабатыватьДокументы Все; |_Клиент=Документ.Продажа.Клиент; |_Лицо=Документ.Продажа.Лицо; |_Владелец=Справочник.КлиентыТелефоны.Владелец; |_Телефон=Справочник.КлиентыТелефоны.Наименование; |Условие(_Владелец=_Клиент); |Условие(_Телефон=тТелефон); |Группировка Документ; |"; Но запрос не выдаёт ничего. Прошу помочь. |
|||
1
GreyK
30.10.20
✎
02:38
|
(0) Возможно длина строки _Телефон и тТелефон не совпадает.
|
|||
2
osa1C
30.10.20
✎
03:07
|
Прямой запрос не предлагать?
|
|||
3
Anempadest
30.10.20
✎
03:11
|
(2) Пока решил так.
Функция ЕстьТелефон(аКлиент,аТелефон) С=СоздатьОбъект("Справочник.КлиентыТелефоны"); С.ИспользоватьВладельца(аКлиент); Возврат С.НайтиПоНаименованию(аТелефон,1,1); КонецФункции ТекстЗапроса=" |ОбрабатыватьДокументы Все; |_Клиент=Документ.Продажа.Клиент; |_Лицо=Документ.Продажа.Лицо; |Условие(ЕстьТелефон(_Клиент,тТелефон)=1); |Группировка Документ; |" |
|||
4
Ёпрст
30.10.20
✎
08:55
|
ТекстЗапроса="
|ОбрабатыватьДокументы Все; |_Клиент=Документ.Продажа.Клиент, | |Справочник.КлиентыТелефоны.Владелец; |_Телефон=Справочник.КлиентыТелефоны.Наименование; | |Условие(_Телефон=тТелефон); |Группировка Документ; |
|||
5
Мимохожий Однако
30.10.20
✎
09:35
|
ОФФ: Заманивающая тема сабжа. А внутри ветки-как обычно...)
|
|||
6
Anempadest
30.10.20
✎
12:52
|
(4) Если такой запрос...
ТекстЗапроса=" |ОбрабатыватьДокументы Все; |_Клиент=Документ.Продажа.Клиент, Справочник.КлиентыТелефоны.Владелец; |_Телефон=Справочник.КлиентыТелефоны.Наименование; |Условие(_Телефон=тТелефон); |Группировка Документ; |"; ...то выводит все накладные. Абсолютно все. Хотя это странно, ведь должно работать Условие. |
|||
7
Ёпрст
30.10.20
✎
13:05
|
(6) проще переписать на прямой запрос
|
|||
8
Ёпрст
30.10.20
✎
13:06
|
ну и так попробуй..
ТекстЗапроса=" |ОбрабатыватьДокументы Все; |_Клиент=Справочник.КлиентыТелефоны.Владелец,Документ.Продажа.Клиент; |_Телефон=Справочник.КлиентыТелефоны.Наименование; |Условие(_Телефон=тТелефон); |Группировка Документ; |"; |
|||
9
Ёпрст
30.10.20
✎
13:07
|
хотя, тоже не заработает
|
|||
10
johnnik
30.10.20
✎
13:19
|
а что за переменная тТелефон? Она в условии участвует, а не запросе не описана
|
|||
11
Ёпрст
30.10.20
✎
13:22
|
(10) это аналог = &Вася в снеговике,так понятнее ?
|
|||
12
Карст
30.10.20
✎
13:24
|
через функцию заработает
|
|||
13
Builder
30.10.20
✎
13:27
|
1 запрос - найти клиентов с таким телефоном, добавить из в список
2 запрос - выбрать документы по клиентам из списка. |
|||
14
Ёпрст
30.10.20
✎
13:29
|
(12) заработает, только мееееедлеееннно. Особенно, если sql
|
|||
15
Anempadest
30.10.20
✎
21:00
|
(13) Спасибо за подсказку.
Остановился на таком варианте. //шапка тФирма=Константа.Фирма.Представление; тТелефон=гТелефонМаска(Телефон); Т.ВывестиСекцию("Шапка"); //запрос Клиенты Запрос=СоздатьОбъект("Запрос"); ТекстЗапроса=" |_Клиент=Справочник.КлиентыТелефоны.Владелец; |_Телефон=Справочник.КлиентыТелефоны.ТекущийЭлемент; |Условие(_Телефон.Наименование=тТелефон); |Группировка _Клиент Без Групп; |"; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; //выгрузить Список=СоздатьОбъект("СписокЗначений"); Пока Запрос.Группировка(1)=1 Цикл Список.ДобавитьЗначение(Запрос._Клиент); КонецЦикла; //запрос Продажи ТекстЗапроса=" |ОбрабатыватьДокументы Все; |_Клиент=Документ.Продажа.Клиент; |_Лицо=Документ.Продажа.Лицо; |Условие(_Клиент В Список); |Группировка Документ; |"; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; //накладные Пока Запрос.Группировка(1)=1 Цикл тДокумент=гПредставлениеДокумента(Запрос.Документ,"ДатаВидНомер"); тКлиент=Запрос._Клиент; тЛицо=Запрос._Лицо; Состояние(тДокумент); //строка Т.ВывестиСекцию("Строка"); КонецЦикла; Работает. |
|||
16
Mikeware
31.10.20
✎
12:02
|
на что только люди не идут - лишь бы нормальные запросы не использовать...
|
|||
17
trdm
31.10.20
✎
13:58
|
кто-нить из скулеводов растолкует, чем в 2005-м скуле заменить EVENT SESSION?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |