![]() |
![]() |
![]() |
|
1c 7.7.021 пишу конфу с нуля, не работают запросы к документам... need help | ☑ | ||
---|---|---|---|---|
0
nikn
31.05.04
✎
16:23
|
1c 7.7.021 пишу конфу с нуля, не работают запросы к документам...
т.е. они выполняются, но результат пустой... делаю такой же запрос к справочникам, всё работет что делаю не так ? может в шапке документа не так что ? или галку где поставить ? ещё раз повторяюсь - пишу с нуля..., конфа чистая вот кусок кода ----------------------------- Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "ОбрабатыватьДокументы все; |ТекущийДокумент = Документ.ПродуктыБНК.ТекущийДокумент; |Наименование = Документ.ПродуктыБНК.Наименование; |Группировка ТекущийДокумент; |Функция Колво = Счётчик(); |"//}}ЗАПРОС ; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Сообщить(Запрос.Колво); ----------------------------- |
|||
1
lexa
31.05.04
✎
16:34
|
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "ОбрабатыватьДокументы все; |ТекущийДокумент = Документ.ПродуктыБНК.ТекущийДокумент; |Наименование = Документ.ПродуктыБНК.Наименование; |Группировка ТекущийДокумент; |Функция Колво = Счётчик(); |"//}}ЗАПРОС ; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка() = 1 Цикл Сообщить(Запрос.Колво); КонецЦикла; |
|||
2
nikn
31.05.04
✎
16:47
|
да не...
Пока Запрос.Группировка() = 1 Цикл Сообщить(Запрос.Колво); КонецЦикла; это всё мелочи, уже испробовано. дело в том что запрос вообще пустой возвращается.... т.е. ничего не выбирается(нет групировок)... хотя там точно есть 6 документов... |
|||
3
nikn
31.05.04
✎
16:51
|
запрос не проходит ни по одному документу в конфе...
хотя по справочникам всё ок |
|||
4
Bzzzzz
31.05.04
✎
16:52
|
Добавь Период ...
|
|||
5
lexa
31.05.04
✎
16:54
|
а Счётчик() - это что?
|
|||
6
lexa
31.05.04
✎
16:58
|
Чт запрос должен подсчитать?
Кол-во доков? Кол-во стпок в доках? |
|||
7
Bzzzzz
31.05.04
✎
16:59
|
(5) Предопределенная функция языка запросов.
Хм.мм у меня подобный запрос нормально работает |
|||
8
nikn
31.05.04
✎
17:02
|
да Счётчик тут не важен, период не помогае - пробовал
даже если его убрать (счётчик) - тоже самое ТекстЗапроса = "ОбрабатыватьДокументы все; |ТекущийДокумент = Документ.ПродуктыБанков.ТекущийДокумент; |Наименование = Документ.ПродуктыБанков.Наименование; |Группировка ТекущийДокумент; |"//}}ЗАПРОС ; ... Пока Запрос.Группировка() = 1 Цикл Сообщить(Запрос.ТекущийДокумент); КонецЦикла; и тишина, запрос пустой |
|||
9
nikn
31.05.04
✎
17:03
|
в том то и дело что Торговле 9.2 такое работает без проблем, но я ещё раз повторюсь, всё делаю в чистой конфигурации...
|
|||
10
Bzzzzz
31.05.04
✎
17:12
|
(9) Ну, ты волшебник млин тадысь. У меня и в самописной работает.
Выгрузи запрос в ТЗ и глянь чего-там вообще есть то |
|||
11
lexa
31.05.04
✎
17:12
|
Запрос = СоздатьОбъект("Запрос");
НачПериод = Дата(0); ТекстЗапроса = " |ОбрабатыватьДокументы все; |Период с НачПериод; |ТекущийДокумент = Документ.ПродуктыБНК.ТекущийДокумент; |Наименование = Документ.ПродуктыБНК.Наименование; |Группировка ТекущийДокумент; |Функция Колво = Счётчик(); |"//}}ЗАПРОС ; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка() = 1 Цикл Сообщить(Запрос.Колво); КонецЦикла; |
|||
12
Z1
31.05.04
✎
17:17
|
(8)
Надо добавить период. Ошибся с выбором периода покажи свой запрос с периодом. |
|||
13
Bzzzzz
31.05.04
✎
17:19
|
(12) период не обязателен. тока что проверено
|
|||
14
DimG
31.05.04
✎
17:19
|
объяви переменную запроса как не текущийдокумент, а, например, текдок, ну и период...
|
|||
15
lexa
31.05.04
✎
17:20
|
(12)согласен и перед ОбрабатыватьДокументы все; нет символа |
|
|||
16
Z1
31.05.04
✎
17:20
|
(13) на чем проверил если у тебя не работает ?
говорят же тебе период нужен. |
|||
17
Z1
31.05.04
✎
17:24
|
(15) перед "нет символа | " не нужен у него определение начинается со второй
строки а не с первой. |
|||
18
lexa
31.05.04
✎
17:25
|
Период точно нужен, а потом не факт что Документ.ПродуктыБанков.Наименование - реквизит табличной части
|
|||
19
nikn
31.05.04
✎
17:29
|
я всё выбираю из Шапки...
|
|||
20
Bzzzzz
31.05.04
✎
17:29
|
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)ОбрабатыватьДокументы все; // |Период с ВыбНачПериода по ВыбКонПериода; |ТекущийДокумент = Документ.ТоварныйЧек.ТекущийДокумент; |НомерДок = Документ.ТоварныйЧек.НомерДок; |Функция Колво = Счётчик(); |Группировка ТекущийДокумент; |"//}}ЗАПРОС ; Во, конфа - "самописная". Всё работает и без периода, и без "|" |
|||
21
nikn
31.05.04
✎
17:34
|
помогло вот это
если убрать период или ОбрабатыватьДокументы - запрос пустой :) ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с (НачГода(ТекущаяДата())) по (КонГода(ТекущаяДата())); |ОбрабатыватьДокументы все; |ТекущийДокумент = Документ.ПродуктыБанков.ТекущийДокумент; |НомерДок = Документ.ПродуктыБанков.НомерДок; |Наименование = Документ.ПродуктыБанков.Наименование; |Группировка ТекущийДокумент упорядочить по ТекущийДокумент.Наименование; |"//}}ЗАПРОС ; |
|||
22
lexa
31.05.04
✎
17:35
|
(20) и чего он у тебя считает?
|
|||
23
nikn
31.05.04
✎
17:37
|
PS народ у меня документы эти не проводятся... мне кажется загвоздка в этом...
кстати мне нужно все документы выбрать а тут получается только за текущий год... |
|||
24
Z1
31.05.04
✎
17:38
|
(20) Приведи свой нерабоающий запрос c периодом.
Зачем анализировать то что работает. Если хочешь искать сам грабли то и ищи их.грабли как раз в 21 релизе. И при чем тут самописная-несамописная конфа. Надеюсь документы то у тебя есть? |
|||
25
lexa
31.05.04
✎
17:45
|
(21) если у тебя доки непроведенные, то по умолчанию без ОбрабатыватьДокументы все он тебе ничего не покажет, а период необязателен, ты бы сразу все объяснил бы по человечески, так что ты хотел посчитаь - то?
|
|||
26
nikn
31.05.04
✎
18:34
|
да мне в общем то надо просто выбрать по определённому критерию продукты
и потом более детальный отсев делать, но там уже матиматика, правда не из тривиальных... :) без периода не получается :( - пустой запрос т.е. если одно из двук убираю |Период с (Дата(0)) по (КонГода(ТекущаяДата())); |ОбрабатыватьДокументы все; ничего не получается |
|||
27
Z1
31.05.04
✎
18:47
|
(26) Все правильно. Группировка по чистым документам без выбора периода не работает. А когда убираешь обрабатыватьдокументы Все - то выбираются только проведенные документы а у тебя доки скорее всего непроведенные, вот поэтому и нужны обязательно два условия.
Замечание : Не используйте зарезервированные слова для названия внутрених переменных. ну также я не понял что такое у документа наименование ( из 21 ) |
|||
28
lexa
31.05.04
✎
18:55
|
(26) согласен
нет постановки задачи и условий |
|||
29
nikn
31.05.04
✎
19:03
|
наименование - регист...
не бейте меня, в первый раз пишу... :) многих тонкостей не знаю |
|||
30
lexa
31.05.04
✎
19:10
|
(29) да никто и не собирается, а ты типовые смотрел. как оно все устроено?
|
|||
31
nikn
31.05.04
✎
19:24
|
ага, только мне торговлю не надо вообще делать
мне аналитику нужно сделать... |
|||
32
SnarkHunter
31.05.04
✎
19:46
|
(31)Какую такую аналитику?
Кстати... "нет символа |" - символ "|" в тексте запроса вообще необязателен... "Группировка по чистым документам без выбора периода не работает" - если не указана конструкция "Период С ... По ...", то период запроса устанавливается на ТА (или на РабочуюДату(), если нет ОУ), т.е. при наличии документов за эту дату все будет работать... |
|||
33
nikn
31.05.04
✎
19:50
|
мда...
документы были на это число.... на 0:30 - но ни чего не выводило... |
|||
34
SnarkHunter
31.05.04
✎
19:55
|
На какое на это число?
|
|||
35
nikn
31.05.04
✎
21:36
|
на сегодня
|
|||
36
SnarkHunter
01.06.04
✎
06:25
|
Ну и как соотносятся "сегодня" и дата ТА в твоей базе?
|
|||
37
MAAlekseev
01.06.04
✎
08:38
|
Потеха, но читать интересно
|
|||
38
lexa
01.06.04
✎
10:23
|
я думаю , что раз конфа самописная, то прка не озаботились ни ТА, ни рабочей датой
|
|||
39
nikn
01.06.04
✎
16:54
|
мне ТА и рабочая дата не нужны в принципе... я же сказал что мне торговать в ней не надо...
|
|||
40
SnarkHunter
01.06.04
✎
16:55
|
Как связана торговля и ТА?
|
|||
41
lexa
01.06.04
✎
16:56
|
(39) а причем здесь торговля
|
|||
42
alxkorvin
01.06.04
✎
17:06
|
По крайней мере в 021 релизе, запросы с участием документов в группировках при выборке результата могут выдавать пустую таблицу. Хотя если результат запроса выгрузить в ТЗ, то в ТЗ будет нужная выборка.
|
|||
43
aqua
03.06.04
✎
19:41
|
насколько я помню запрос идет только по проведенным докам. если явно не указать ОбрабатыватьДокументы все, то туда не попадут непроведенные, в т.ч те, по которым проведение не предусмотрено
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |