Имя: Пароль:
1C
1C 7.7
v7: Запрос к регистру остатков
,
0 manatin
 
24.11.12
09:15
Подскажите пожалуйста почему запрос ничего не выбирает

   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
       "//{{ЗАПРОС(Сформировать)
   "Регистры = Регистр.ОстаткиТоваров.Товар;
   |Функция Счётчик = Счётчик();
   |"//}}ЗАПРОС  
   ;            

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;
   
   Сообщить(Запрос.Счётчик);
1 manatin
 
24.11.12
09:32
Сообщить(Запрос.Счётчик);
Сообщает 0
2 rphosts
 
24.11.12
09:39
а чего выбрать хочешь-то из регистра?  то, что возвращает твоя самописная функция, тогда каки местом тут регистр? ты вообще уверен что самопальные функции можно использовать в запросах?
3 ChMikle
 
24.11.12
09:40
группировку товара добавьте
4 rphosts
 
24.11.12
09:42
(3) что-бы чем-то группировать, нужно раньше это отобрать
5 Попытка1С
 
24.11.12
09:45
(2) Счётчик() если что это не "твоя самописная функция".
6 rphosts
 
24.11.12
09:55
(5) а что это?
7 SlavaR
 
24.11.12
10:02
(5) это как бы её (1С) "несамописная функция" запроса.
8 SlavaR
 
24.11.12
10:02
7-6
9 rphosts
 
24.11.12
10:04
а может "не самописная" это Счетчик() а не Счётчик()?
10 SlavaR
 
24.11.12
10:05
(9) в том то и дело что чере "ё" :)
11 rphosts
 
24.11.12
10:06
(10) в какой типовой таковая используется? или это из 1с++/прямых запросов и т.п.?
12 manatin
 
24.11.12
10:07
Функция Счётчик = Счётчик();
Взято из справки по встроенному языку.
13 SlavaR
 
24.11.12
10:08
(11) |Период с ВыбНачПериода по ВыбКонПериода;
|Номенклатура = Регистр.Продажи.Номенклатура;
|Количество = Регистр.Продажи.Количество;
|Покупатель = Регистр.Продажи.Покупатель;
|Функция Счётчик = Счётчик(); //Счётчик(Покупатель);
|Функция КоличествоСумма = Сумма(Количество);
|Группировка Покупатель без групп;
|Группировка Номенклатура без групп;
|Условие(Номенклатура в ВыбНоменклатура);

вот код, это на типовой ТиС 9,3

стырено с форума 1С
http://www.buh.ru/forum/thread.jsp?id=577986
14 manatin
 
24.11.12
10:08
Со справочнком то работает
15 SlavaR
 
24.11.12
10:09
(14) ты скажи что ты хочешь посчитать ?
в регистре остатков ?
16 manatin
 
24.11.12
10:09
Вот так
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Товар = Справочник.Товары.Наименование;
   |Функция КолВо = Счётчик();    
   |"//}}ЗАПРОС
17 manatin
 
24.11.12
10:10
(15) просто для проверки получить количество записей, для дальнейшей работы
18 rphosts
 
24.11.12
10:10
(13) забавно...
19 rphosts
 
24.11.12
10:12
(17)может нужно не использовать предопределённые имена?
типа так:
"Регистр1111 = Регистр.ОстаткиТоваров.Товар;
|Функция Счётчик = Счётчик();
20 SlavaR
 
24.11.12
10:13
(17) это не справочник! а регистр
кол записей зависит от кол измерений и того что именно ты хочешь посчитать.
кол записей остатков, движений (приход, расход) и т.д.

поставь группировку по товару без групп
21 rphosts
 
24.11.12
10:15
(20) видимо количествыо позиций номенклатуры которы есть в остатках на актуаьную дату.... хотя конечно лучше-бы ТС озвучил задачу...
22 manatin
 
24.11.12
10:15
(20) попробую с группировкой
Закон Брукера: Даже маленькая практика стоит большой теории.