Имя: Пароль:
1C
1С v8
Нужна помощь с запросом по 1с 8
0 memogolik
 
01.03.12
11:47
Есть простой запрос.

ВЫБРАТЬ
   Ссылка.Контрагент,
   Номенклатура,
   Минимум(Количество)
ИЗ
   Документ.РеализацияТоваровУслуг.Товары
СГРУППИРОВАТЬ ПО
   Ссылка.Контрагент, Номенклатура

с некоторыми "где". Но функция на Количество почему то не работает, ни максимум ни минимум, среднее етц. В чем может быть проблема?
Заранее спасибо за ответ.
1 memogolik
 
01.03.12
11:48
т.е. Минимум(Количество) всегда выводит 2, хотя по факту в одной записи это значение должно быть 1, в другой 4
2 zak555
 
01.03.12
11:49
> с некоторыми "где"

это что ?
3 Kom-off
 
01.03.12
11:49
(0) Использовать предикат ИМЕЮЩИЕ. На поля выборки при группировки ограничения накладываются в предикате ГДЕ, на результаты агрегатных функций в предикате ИМЕЮЩИЕ.
4 memogolik
 
01.03.12
11:50
ВЫБРАТЬ
   Ссылка.Контрагент,
   Номенклатура,
   //КОЛИЧЕСТВО(Ссылка) КАК КоличествоФ,
   Минимум(Количество)
   //,
   //Максимум(цена)КАК Сумма
ИЗ
   Документ.РеализацияТоваровУслуг.Товары
ГДЕ
   Ссылка.Контрагент В ИЕРАРХИИ (&ВыбКонтрагент) И
   Ссылка.Дата <=    КонецПериода(&ВыбКонецПериода) И
   Ссылка.Дата >=    НачалоПериода(&ВыбНачалоПериода) И
   Номенклатура В ИЕРАРХИИ (&ВыбНоменклатура) И
   Ссылка.Проведен
СГРУППИРОВАТЬ ПО
   Ссылка.Контрагент, Номенклатура
5 memogolik
 
01.03.12
11:51
(3) как в конкретном примере подкрутить?
6 memogolik
 
01.03.12
12:03
есть идеи?
на моем конкретно примере(с учетом фильтра по "где") получается выборка из двух документов, в одном из них количество 1 упаковка, в другом - 4 штуки, но результат функции Минимум(Количество) также как и Максимум(Количество)=1. Контрагент один.
7 palpetrovich
 
01.03.12
12:37
(6) хз, у меня работает
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка.Контрагент,
   РеализацияТоваровУслугТовары.Номенклатура,
   МИНИМУМ(РеализацияТоваровУслугТовары.Количество) КАК КоличествоМИНИМУМ,
   МАКСИМУМ(РеализацияТоваровУслугТовары.Количество) КАК КоличествоМАКСИМУМ
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаОконч
   И РеализацияТоваровУслугТовары.Ссылка.Контрагент В ИЕРАРХИИ(&ВыбКонтр)

СГРУППИРОВАТЬ ПО
   РеализацияТоваровУслугТовары.Ссылка.Контрагент,
   РеализацияТоваровУслугТовары.Номенклатура
8 hhhh
 
01.03.12
12:48
(6) может УТ11 у вас?
9 Humandra
 
01.03.12
12:53
попробуйте в консоли запросов выполнить ваш запрос и такой:

ВЫБРАТЬ
   Ссылка.Контрагент,
   Номенклатура,
   Количество
ИЗ
   Документ.РеализацияТоваровУслуг.Товары
ГДЕ
   Ссылка.Контрагент В ИЕРАРХИИ (&ВыбКонтрагент) И
   Ссылка.Дата <=    КонецПериода(&ВыбКонецПериода) И
   Ссылка.Дата >=    НачалоПериода(&ВыбНачалоПериода) И
   Номенклатура В ИЕРАРХИИ (&ВыбНоменклатура) И
   Ссылка.Проведен

и посмотреть глазами, что возвращается. А то может документ с другим количеством в период не попадает
10 Humandra
 
01.03.12
12:55
(10) Другой вариант, если база скульная - посмотреть какой запрос формируется на сервере (в Profiler). Ну или через технологический журнал. Если непонятно будет  скиньте сюда...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший