Вход | Регистрация


1С:Предприятие ::

Метки:запросы, Запросы и построители

1c 7.7.021 пишу конфу с нуля, не работают запросы к документам... need help

Я
   nikn
 
31.05.04 - 16:23
1c 7.7.021 пишу конфу с нуля, не работают запросы к документам...

т.е. они выполняются, но результат пустой...
делаю такой же запрос к справочникам, всё работет

что делаю не так ? может в шапке документа не так что ? или галку где поставить ?

ещё раз повторяюсь - пишу с нуля..., конфа чистая

вот кусок кода

-----------------------------
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = 
"ОбрабатыватьДокументы все;
|ТекущийДокумент = Документ.ПродуктыБНК.ТекущийДокумент;
|Наименование = Документ.ПродуктыБНК.Наименование;
|Группировка ТекущийДокумент;
|Функция Колво = Счётчик();
|//}}ЗАПРОС

;    


Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
КонецЕсли;

Сообщить(Запрос.Колво);
-----------------------------
 
 
   lexa
 
1 - 31.05.04 - 16:34
Запрос = СоздатьОбъект("Запрос"); 
ТекстЗапроса = 
"ОбрабатыватьДокументы все; 
|ТекущийДокумент = Документ.ПродуктыБНК.ТекущийДокумент; 
|Наименование = Документ.ПродуктыБНК.Наименование; 
|Группировка ТекущийДокумент; 
|Функция Колво = Счётчик(); 
|//}}ЗАПРОС 

;     


Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда 
   Возврат; 
КонецЕсли; 
Пока Запрос.Группировка() = 1 Цикл

Сообщить(Запрос.Колво); 
КонецЦикла;
   nikn
 
2 - 31.05.04 - 16:47
да не...

Пока Запрос.Группировка() = 1 Цикл
Сообщить(Запрос.Колво); 
КонецЦикла;


это всё мелочи, уже испробовано. дело в том что запрос вообще пустой возвращается.... т.е. ничего не выбирается(нет групировок)... хотя там точно есть 6 документов...
   nikn
 
3 - 31.05.04 - 16:51
запрос не проходит ни по одному документу в конфе...
хотя по справочникам всё ок
   Bzzzzz
 
4 - 31.05.04 - 16:52
Добавь Период ...
   lexa
 
5 - 31.05.04 - 16:54
а Счётчик() - это что?
   lexa
 
6 - 31.05.04 - 16:58
Чт запрос должен подсчитать?
Кол-во доков?
Кол-во стпок в доках?
   Bzzzzz
 
7 - 31.05.04 - 16:59
(5) Предопределенная функция языка запросов.
Хм.мм у меня подобный запрос нормально работает
   nikn
 
8 - 31.05.04 - 17:02
да Счётчик тут не важен, период не помогае - пробовал

даже если его убрать (счётчик) - тоже самое

ТекстЗапроса =
"ОбрабатыватьДокументы все;
|ТекущийДокумент = Документ.ПродуктыБанков.ТекущийДокумент;
|Наименование = Документ.ПродуктыБанков.Наименование;
|Группировка ТекущийДокумент;
|//}}ЗАПРОС

;    

...

Пока Запрос.Группировка() = 1 Цикл
    Сообщить(Запрос.ТекущийДокумент);
КонецЦикла;    

и тишина, запрос пустой
   nikn
 
9 - 31.05.04 - 17:03
в том то и дело что Торговле 9.2 такое работает без проблем, но я ещё раз повторюсь, всё делаю в чистой конфигурации...
   Bzzzzz
 
10 - 31.05.04 - 17:12
(9) Ну, ты волшебник млин тадысь. У меня и в самописной работает.
Выгрузи запрос в ТЗ и глянь чего-там вообще есть то
 
 
   lexa
 
11 - 31.05.04 - 17:12
Запрос = СоздатьОбъект("Запрос"); 
НачПериод =  Дата(0);
ТекстЗапроса = 
"
|ОбрабатыватьДокументы все; 
|Период с НачПериод;
|ТекущийДокумент = Документ.ПродуктыБНК.ТекущийДокумент; 
|Наименование = Документ.ПродуктыБНК.Наименование; 
|Группировка ТекущийДокумент; 
|Функция Колво = Счётчик(); 
|//}}ЗАПРОС 

;     


Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда 
  Возврат; 
КонецЕсли; 
Пока Запрос.Группировка() = 1 Цикл 

Сообщить(Запрос.Колво); 
КонецЦикла;
   Z1
12 - 31.05.04 - 17:17
(8)
Надо добавить период.
Ошибся с выбором периода
покажи свой запрос с периодом.
   Bzzzzz
 
13 - 31.05.04 - 17:19
(12) период не обязателен. тока что проверено
   DimG
 
14 - 31.05.04 - 17:19
объяви переменную запроса как не текущийдокумент, а, например, текдок, ну и период...
   lexa
 
15 - 31.05.04 - 17:20
(12)согласен и перед ОбрабатыватьДокументы все; нет символа |
   Z1
16 - 31.05.04 - 17:20
(13) на чем проверил если у тебя не работает ?
говорят же тебе период нужен.
   Z1
17 - 31.05.04 - 17:24
(15) перед "нет символа | " не нужен у него определение начинается со второй
строки а не с первой.
   lexa
 
18 - 31.05.04 - 17:25
Период точно нужен, а потом не факт что Документ.ПродуктыБанков.Наименование - реквизит табличной части
   nikn
 
19 - 31.05.04 - 17:29
я всё выбираю из Шапки...
   Bzzzzz
 
20 - 31.05.04 - 17:29
ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)ОбрабатыватьДокументы все; 

//    |Период с ВыбНачПериода по ВыбКонПериода;    
    |ТекущийДокумент = Документ.ТоварныйЧек.ТекущийДокумент;
    |НомерДок = Документ.ТоварныйЧек.НомерДок;
    |Функция Колво = Счётчик();
    |Группировка ТекущийДокумент;
    |//}}ЗАПРОС
   ;
Во, конфа - "самописная". Всё работает и без периода, и без "|"
   nikn
 
21 - 31.05.04 - 17:34
помогло вот это
если убрать период или ОбрабатыватьДокументы - запрос пустой :)

    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)

    |Период с (НачГода(ТекущаяДата())) по (КонГода(ТекущаяДата()));
    |ОбрабатыватьДокументы все;
    |ТекущийДокумент = Документ.ПродуктыБанков.ТекущийДокумент;
    |НомерДок = Документ.ПродуктыБанков.НомерДок;
    |Наименование = Документ.ПродуктыБанков.Наименование;
    |Группировка ТекущийДокумент упорядочить по ТекущийДокумент.Наименование;
    |//}}ЗАПРОС

    ;
   lexa
 
22 - 31.05.04 - 17:35
(20) и чего он у тебя считает?
   nikn
 
23 - 31.05.04 - 17:37
PS народ у меня документы эти не проводятся... мне кажется загвоздка в этом...

кстати мне нужно все документы выбрать а тут получается только за текущий год...
   Z1
24 - 31.05.04 - 17:38
(20) Приведи свой нерабоающий запрос c периодом.
Зачем анализировать то что работает.
Если хочешь искать сам грабли то и ищи их.грабли как раз в 21 релизе.
И при чем тут самописная-несамописная конфа. Надеюсь документы то у тебя есть?
   lexa
 
25 - 31.05.04 - 17:45
(21) если у тебя доки непроведенные, то по умолчанию без ОбрабатыватьДокументы все он тебе ничего не покажет, а период необязателен, ты бы сразу все объяснил бы по человечески, так что ты хотел посчитаь - то?
   nikn
 
26 - 31.05.04 - 18:34
да мне в общем то надо просто выбрать по определённому критерию продукты
и потом более детальный отсев делать, но там уже матиматика, правда не из тривиальных... :)

без периода не получается :( - пустой запрос

т.е. если одно из двук убираю
    |Период с (Дата(0)) по (КонГода(ТекущаяДата()));
    |ОбрабатыватьДокументы все;    

ничего не получается
   Z1
27 - 31.05.04 - 18:47
(26) Все правильно. Группировка по чистым документам без выбора периода не работает. А когда убираешь обрабатыватьдокументы Все - то выбираются только проведенные документы а у тебя доки скорее всего непроведенные, вот поэтому и нужны обязательно два условия.
Замечание : Не используйте зарезервированные слова для названия внутрених переменных.
ну также я не понял что такое у документа наименование ( из 21 )
   lexa
 
28 - 31.05.04 - 18:55
(26) согласен
нет постановки задачи и условий
   nikn
 
29 - 31.05.04 - 19:03
наименование - регист...

не бейте меня, в первый раз пишу... :) многих тонкостей не знаю
   lexa
 
30 - 31.05.04 - 19:10
(29) да никто и не собирается, а ты типовые смотрел. как оно все устроено?
   nikn
 
31 - 31.05.04 - 19:24
ага, только мне торговлю не надо вообще делать
мне аналитику нужно сделать...
   SnarkHunter
 
32 - 31.05.04 - 19:46
(31)Какую такую аналитику?

Кстати...
"нет символа |" - символ "|" в тексте запроса вообще необязателен...

"Группировка по чистым документам без выбора периода не работает" - если не указана конструкция "Период С ... По ...", то период запроса устанавливается на ТА (или на РабочуюДату(), если нет ОУ), т.е. при наличии документов за эту дату все будет работать...
   nikn
 
33 - 31.05.04 - 19:50
мда...
документы были на это число.... на 0:30 - но ни чего не выводило...
 
 
   SnarkHunter
 
34 - 31.05.04 - 19:55
На какое на это число?
   nikn
 
35 - 31.05.04 - 21:36
на сегодня
   SnarkHunter
 
36 - 01.06.04 - 06:25
Ну и как соотносятся "сегодня" и дата ТА в твоей базе?
   MAAlekseev
 
37 - 01.06.04 - 08:38
Потеха, но читать интересно
   lexa
 
38 - 01.06.04 - 10:23
я думаю , что раз конфа самописная, то прка не озаботились ни ТА, ни рабочей датой
   nikn
 
39 - 01.06.04 - 16:54
мне ТА и рабочая дата не нужны в принципе... я же сказал что мне торговать в ней не надо...
   SnarkHunter
 
40 - 01.06.04 - 16:55
Как связана торговля и ТА?
   lexa
 
41 - 01.06.04 - 16:56
(39) а причем здесь торговля
   alxkorvin
 
42 - 01.06.04 - 17:06
По крайней мере в 021 релизе, запросы с участием документов в группировках при выборке результата могут выдавать пустую таблицу. Хотя если результат запроса выгрузить в ТЗ, то в ТЗ будет нужная выборка.
   aqua
43 - 03.06.04 - 19:41
насколько я помню запрос идет только по проведенным докам. если явно не указать ОбрабатыватьДокументы все, то туда не попадут непроведенные, в т.ч те, по которым проведение не предусмотрено



Список тем форума
  Рекламное место пустует
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит Тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует