|
v7: не отрабатывает запрос | ☑ | ||
---|---|---|---|---|
0
_barracuda_
06.06.18
✎
17:40
|
Добрый день.работал запрос а сейчас почему то не проходит цикл группировки.Что могло сбиться?
|Период с НачПериод; |ОбрабатыватьДокументы все; |Без итогов; |ТекДокумент = Документ."+ТипДок+".ТекущийДокумент; |Идентификатор = Документ."+ТипДок+".Идентификатор; |Группировка ТекДокумент; |Условие(Идентификатор = ИдентификаторПоиск); Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат ПолучитьПустоеЗначение(); КонецЕсли; Пока Запрос.Группировка() = 1 Цикл//сюда не доходит |
|||
1
Ёпрст
06.06.18
✎
17:49
|
ну, нет документов данного типа с таким реквизитом поиска
|
|||
2
_barracuda_
06.06.18
✎
17:50
|
(1) да есть.идентификатор заполнен.создаются каждый раз новые доки.а должен выполнятся поиск по запросу и далее цикл по группировке.но не доходит до группировки
|
|||
3
big
06.06.18
✎
17:53
|
Имя группировки можно не указывать?
|
|||
4
_barracuda_
06.06.18
✎
17:53
|
(3)всмысле?
|
|||
5
big
06.06.18
✎
17:55
|
Запрос.Группировка() - нет ни имени группировки, ни номера.
Если честно, м.б. при единственной группировке и не нужно, но я пишу всегда. |
|||
6
azernot
06.06.18
✎
17:56
|
Вообще не доходит или сразу Запрос.Группировка() = 0?
|
|||
7
_barracuda_
06.06.18
✎
17:58
|
(6)сорян.отладчиком доходит Запрос.Группировка() = 0 но дальше не идет
|
|||
8
_barracuda_
06.06.18
✎
17:59
|
идентификатор 10000% есть
|
|||
9
big
06.06.18
✎
18:00
|
(8) И все-таки - Запрос.Группировка("ТекДокумент") пробовал писать?
|
|||
10
_barracuda_
06.06.18
✎
18:00
|
Пока Запрос.Группировка(1) = 1 Цикл
поставил.не идет дальше |
|||
11
_barracuda_
06.06.18
✎
18:01
|
Пока Запрос.Группировка("ТекДокумент") = 1 Цикл
так тоже не сработал |
|||
12
big
06.06.18
✎
18:02
|
тогда пробовать убрать БезИтогов (какие итоги, если функций нте?), добавить КонецПериода, убрать условие идентфикатора. ))) Для "бубна" тут даже перебирать нечего ))
|
|||
13
_barracuda_
06.06.18
✎
18:02
|
Идентификатор это в документа тип строка 36 символов, ИдентификаторПоиск это искомый 36 символьный код.куча доков уже создались с этим кодом но он существует в других 1000%
|
|||
14
big
06.06.18
✎
18:04
|
О! Тогда (СокрЛП(Идентификатор) = СокрЛП(ИдентификаторПоиск))
|
|||
15
Builder
06.06.18
✎
18:04
|
(13) Тогда 100% Идентификатор<>ИдентификаторПоиск
Либо длины строк отличаются, либо пробелы где то лишние. |
|||
16
Ёпрст
06.06.18
✎
18:06
|
дату то какую хоть втыкаешь в запрос ?
|
|||
17
_barracuda_
06.06.18
✎
18:09
|
(14)не прокатило
(16) дата с 01,01,17 |
|||
18
Ёпрст
06.06.18
✎
18:11
|
вид документа хоть тот ?
А так, проще проиндексировать этот реквизит и делать ВыбратьПоЗначению (или как там метод назывался, не помню) |
|||
19
_barracuda_
06.06.18
✎
18:13
|
|Период с НачПериод;
|ОбрабатыватьДокументы все; //|Без итогов; |ТекДокумент = Документ."+ТипДок+".ТекущийДокумент; |Идентификатор = Документ."+ТипДок+".Идентификатор; //|Группировка ТекДокумент; // |Условие(Идентификатор = ИдентификаторПоиск); не идет дальше Пока Запрос.Группировка() = 1 Цикл |
|||
20
Builder
06.06.18
✎
18:13
|
> |Период с НачПериод;
А вторую дату не хочешь выбрать? |
|||
21
johnny17
06.06.18
✎
18:13
|
Вопрос, а зачем с ИД париться, мож по другому доки искать?
|
|||
22
_barracuda_
06.06.18
✎
18:14
|
(21)можно то можно но какого лешего простой запрос не идет дальше по группировке
|
|||
23
Builder
06.06.18
✎
18:17
|
(22)
1. Укажи вторую дату 2. Убери условие. Если документы вышли - кривое условие. |
|||
24
_barracuda_
06.06.18
✎
18:18
|
|Период с (НачПериод) по (ТекущаяДата());
не идет |
|||
25
_barracuda_
06.06.18
✎
18:18
|
|Период с (НачПериод) по (ТекущаяДата());
|ОбрабатыватьДокументы все; //|Без итогов; |ТекДокумент = Документ."+ТипДок+".ТекущийДокумент; |Идентификатор = Документ."+ТипДок+".Идентификатор; //|Группировка ТекДокумент; // |Условие(Идентификатор = ИдентификаторПоиск); не идет дальше Пока Запрос.Группировка() = 1 Цикл |
|||
26
Ёпрст
06.06.18
✎
18:19
|
(22) в запросе из (0) добавь вторую дату, всё
|
|||
27
_barracuda_
06.06.18
✎
18:21
|
|ТекДокумент = Документ.СчетВходящий.ТекущийДокумент;
|Идентификатор = Документ.СчетВходящий.Идентификатор; так прошел дальше |
|||
28
Ёпрст
06.06.18
✎
18:21
|
ИдентификаторПоиск - реквизит формы поди ?
|
|||
29
_barracuda_
06.06.18
✎
18:25
|
(28)
Функция ПолучитьДокументПоИдентификатору(ИдентификаторПоиск,Признак,ВидДокумента) |
|||
30
_barracuda_
06.06.18
✎
18:26
|
(28)нет.переменная с 36 символами.ну косвенно ДА.из файла тяну этот поиск
|
|||
31
_barracuda_
06.06.18
✎
18:40
|
какие идеи
|
|||
32
_barracuda_
06.06.18
✎
18:43
|
(26) спасибо ДРУГ
|
|||
33
_barracuda_
06.06.18
✎
18:43
|
дай Бог всем удачи
|
|||
34
johnny17
06.06.18
✎
18:44
|
Единственная идея, если я все правильно помню, то 7.7 можно в запрос воткнуть свою функцию, типа ф(а, б) = 1, а в самой функции проверить типы и значения...
|
|||
35
Злопчинский
06.06.18
✎
19:21
|
А разве запрос к документам без Функция в запросе - вернет что-нибудь..?
вроде как при запросе к регистрам и документам - чтобы результат был не пустой - надо чтобы была хотя бы одна функция...? |
|||
36
big
06.06.18
✎
20:11
|
(35) Совсем заработался ;)
|
|||
37
johnny17
06.06.18
✎
20:21
|
Я не это имел ввиду, в запросе УСЛОВИЕ(ф(а,б) = 1)
а отдельно Функция ф(а, б) Сообщить(а + ТипЗначения(а)); Сообщить(б + ТипЗначения(б)); Возврат ?(а = б, 1, 0); КонецФункции Как-то так, по идее конструкция должна работать |
|||
38
johnny17
06.06.18
✎
20:25
|
Работает, проверил
|
|||
39
big
06.06.18
✎
20:38
|
(37) Замедление сильное, а так то работает, иногда без этого никак
|
|||
40
johnny17
06.06.18
✎
20:42
|
(39) я для теста, чтоб он проверил что типы и значения совпадают
|
|||
41
big
06.06.18
✎
20:45
|
(40) ТС похоже что-то лихорадочно ваял, потому как написанное в ветке нечётко накладывал на свой опыт клюшника ))) До типов он так и не добрался )
|
|||
42
Злопчинский
06.06.18
✎
22:15
|
(36) а шо, запрос по докам работает без функций?
|
|||
43
GreyK
07.06.18
✎
00:06
|
(0) А зачем делать такой запрос в 7.7? Выборка по скорости победит такой запрос.
|
|||
44
Злопчинский
07.06.18
✎
02:44
|
(43) потому что запросом - няшно. и кузяво.
|
|||
45
Эльниньо
07.06.18
✎
09:36
|
Нет смысла запросом, если выборка быстрее.
Нет смысла в прямом, если обычный быстрее |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |