Имя: Пароль:
1C
1C 7.7
v7: Запрос для получения даты последней продажи
0 AumSej
 
08.08.13
01:13
Доброго времени суток, люди.

Плиз, помогите с сабжем. Есть такой запрос

|ПЕРИОД С ДатаНач ПО ДатаКон;
|Товар = Регистр.Реализация.Товар;
|УСЛОВИЕ(Товар В СписокТоваров);
|УСЛОВИЕ(Регистр.Реализация.Клиент = Клиент);
|ГРУППИРОВКА Товар БЕЗ УПОРЯДОЧИВАНИЯ БЕЗ ГРУПП;
|ФУНКЦИЯ ДатаРасхода = МАКСИМУМ(Регистр.Реализация.ТекущийДокумент.ДатаДок);
|БЕЗ ИТОГОВ;

Только он неизменно оказывается пустым. В чем может быть проблема?
1 DGorgoN
 
08.08.13
01:27
8-ка?
2 AumSej
 
08.08.13
01:29
v7
3 МЮЛЛЕР
 
08.08.13
01:53
Глянул на запрос и пригел, думал что это 8.3
4 МЮЛЛЕР
 
08.08.13
01:54
на 7.7 ты никак не получишь дату последней продажи запросом
5 Злопчинский
 
08.08.13
01:54
вызывает вопрос функция
6 AumSej
 
08.08.13
01:59
Ведь по идее поле Регистр.Реализация.ТекущийДокумент.ДатаДок правильное? Или оно не умеет максимум от даты брать?
7 AumSej
 
08.08.13
02:12
Так тоже не работает

|ПЕРИОД С ДатаНач ПО ДатаКон;
|Товар = Регистр.Реализация.Товар;
|ДатаРасхода = Регистр.Реализация.ТекущийДокумент.НакладнаяРасход.ДатаДок;
|УСЛОВИЕ(Товар В СписокТоваров);
|УСЛОВИЕ(Регистр.Реализация.Клиент = Клиент);
|ГРУППИРОВКА Товар БЕЗ УПОРЯДОЧИВАНИЯ БЕЗ ГРУПП;
|ГРУППИРОВКА ДатаРасхода БЕЗ УПОРЯДОЧИВАНИЯ;
|ФУНКЦИЯ Заглушка = СРЕДНЕЕ(1);
|БЕЗ ИТОГОВ;
8 AumSej
 
08.08.13
02:21
И совсем без функции тоже, хотя и не должно.
9 Злопчинский
 
08.08.13
02:25
Впихни в запрос переменную количество и функцию от нее сделай
10 Злопчинский
 
08.08.13
02:28
можно извернуться суммируюя результат внешней функции, а во внешней функции дату рассматривать как число, обеспечив при этом чтобы на каждом шаге запроса возвращалось значение даты, минусованное на предудущее знгачение даты
11 Злопчинский
 
08.08.13
02:33
не.. не выйдет.. с глобальными переменнымипроблема..
12 Злопчинский
 
08.08.13
02:34
взять запрос, результат выгрузить в ТЗ, сгруппировать ТЗ потовару, для каждого товара вытащитьпоследнюю строку...
13 AumSej
 
08.08.13
02:40
А от чего функцию брать? Запрос к регистру без функции работать не будет. Попробовал еще так.

|ПЕРИОД С ДатаНач ПО ДатаКон;
|Товар = Регистр.Реализация.Товар;
|УСЛОВИЕ(Товар В СписокТоваров);
|УСЛОВИЕ(Регистр.Реализация.Клиент = Клиент);
|ГРУППИРОВКА Товар БЕЗ УПОРЯДОЧИВАНИЯ БЕЗ ГРУПП;
|ФУНКЦИЯ ДатаРасхода = МИНИМУМ(ДатаКон-Регистр.Реализация.ТекущийДокумент.НакладнаяРасход.ДатаДок);
|БЕЗ ИТОГОВ;

Как горох об стену
14 Злопчинский
 
08.08.13
02:49
добавь
Колво = Регистр.Продажи.Колво;
Функция СумКол = Сумма(Колво);
15 AumSej
 
08.08.13
02:54
С ума сойти. А так-то почему не работает??? Уже ж и дату убрал...

|ПЕРИОД С ДатаНач ПО ДатаКон;
|Товар = Регистр.Реализация.Товар;
|ДокРасхода = Регистр.Реализация.ТекущийДокумент;
|Колво = Регистр.Реализация.Количество;
|ГРУППИРОВКА Товар БЕЗ УПОРЯДОЧИВАНИЯ БЕЗ ГРУПП;
|ГРУППИРОВКА ДокРасхода;
|ФУНКЦИЯ СумКол = СУММА(Колво);
16 AumSej
 
08.08.13
03:06
Ну просто хочется рвать и метать!

|ПЕРИОД С ДатаНач ПО ДатаКон;
|Товар = Регистр.Реализация.Товар;
|Колво = Регистр.Реализация.Количество;
|ГРУППИРОВКА Товар;
|ФУНКЦИЯ СумКол = СУММА(Колво);

Очередной фейл. Что-то тут не так
17 NS
 
08.08.13
03:15
Накладываешь фильтр по регистру (продажи) на товар,
обратный порядок, выбрать движения, пропускаешь возвраты, и первое-же движение - это последняя реализация.
На товаре в регистре продажи должен при этом стоять отбор движений.
18 NS
 
08.08.13
03:16
Если есть регистр реализации - то по нему точно так-же.
19 AumSej
 
08.08.13
03:24
(17) Ок, завтра попробую, спасибо...
20 Ёпрст
 
08.08.13
08:57
(0)
добавить в регистр функции для работы с Останковым регистром, а именно - расход.
Наслаждаться.
21 Ёпрст
 
08.08.13
08:58
только такой запрос будет работать.. не очень быстро, он же все движения будет выгребать за период.
Быстрее, или как в (17) или прямым запросом.