Запрос по регистрам

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Уважаемые профи, решите пожалуйста ребус, теоретически должно работать, а не работает.
Методом "ВыбратьДвижения" всё показывает, а запросом нет.

Процедура СформироватьЗапрос()

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

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

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

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

КонецЦикла;
КонецПроцедуры
 
M

mialord

#2
Если хотите чтобы люди начали вам отвечать, то для начала укажите необходимые параметры системы<Версия, Конфига для начала>. :(
 

puh14

Well-known member
11.07.2008
1 412
0
#4
Процедура СформироватьЗапрос()

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с Выбнач по ВыбКон;// период обязателен! а то непонятно на какой момент количества считать
|Наименование = Регистр.Остатки.Товар;// ну не любит запрос подсссылки на реквизиты, лучше без них
|Кол = Регистр.Остатки.Количество;
|Группировка Наименование;
|Функция КолНач = НачОст(Кол);
|Функция КолПрих = Приход(Кол);// само количество только ресурс - движение получают через функции, вот если бы был измерением - тогда да, нужна //была бы группировка.
|Функция КолНач = Расход(Кол);
|Функция КолКон = КонОст(Кол);
|"//}}ЗАПРОС
;

// если регистр оборотов, то там можно узнать только сумму |Функция КолКон = Сумма(Кол); и остатки
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

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

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

КонецЦикла;
КонецПроцедуры
 
G

Guest

#5
Спасибо Puh, очень подробно ответили! теперь ясно, что основная причина была в отсутствии интервала периода, но очень хотелось чтобы всю базу лопатил, вот осознанно даты не указывал.
Но с Вашими пояснениями теперь хоть в голове устаканилось!
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#6
Неужели после прочтения книжки ничего не устаканивалось? Там же русским по белому написано: при выполнении запроса к регистрам в обязательном порядке должна быть функция...
 
G

Guest

#7
Неужели после прочтения книжки ничего не устаканивалось? Там же русским по белому написано: при выполнении запроса к регистрам в обязательном порядке должна быть функция...
Ну всё и не упомниш из книг, там же столько всего )