Имя: Пароль:
1C
1С v8
Исключить в запросе определенный период
,
0 Слабак
 
04.06.15
14:01
Всем здрасте, подтолкните в нужном направлении..есть простой запрос, мне нужно получить продажи за определенный период, но исключить некоторые интервалы внутри этого периода, грубо говоря посчитать продажи за год но исключить февраль и июнь.


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


пробовал чтото типа "И НЕ Продажи.Период МЕЖДУ &ПериодИсключитьС И &ПериодИсключитьПо" - ругается..больше мыслей нет..
Заранее спасибо.
1 ХардHard
 
04.06.15
14:04
(0) выбор когда <твое условие> тогда 0 иначе сумма конец
2 Лефмихалыч
 
04.06.15
14:04
оборты за январь+обороты за март-май + обороты за июль-декабрь
3 ХардHard
 
04.06.15
14:05
(0) Кстати почему не используешь Продажи.Обороты?
4 ХардHard
 
04.06.15
14:07
(0) Блин даже не прочитал вначале, чет тороплюсь.
Все периоды построчно добавляешь в ТЗ.
Тз пихаешь в запрос , соединяешь с твоими оборотами чтобы период не попадал в исключения и потом группируешь.
5 Лефмихалыч
 
04.06.15
14:17
(4) а если там 6млн записей в месяц?
6 разработчик 1с
 
04.06.15
14:19
месяц(период) <> 2 и месяц(период) <> 6
7 Слабак
 
04.06.15
14:20
(6)период может быть произвольным..не обязательно месяц
8 Jonny_Khomich
 
04.06.15
14:22
(6) тогда уже
месяц(период) не в (2,6)
9 Jonny_Khomich
 
04.06.15
14:24
Я думаю тебе помогут 2 запроса с объединением.
Первый запрос будет за период со знаком плюс, второй тот который надо минусовать, со знаком минус. Объединяешь оба и на выходе твоё число
10 ХардHard
 
04.06.15
14:42
(5) Таки что вы пхедлагаете для произвольного количества периодов произвольной длинны?
Можно конечно текст запроса формировать динамически, но это гемор.
11 Слабак
 
04.06.15
15:12
Сделал как в(9) в (4) не разобрался как исключить
12 Слабак
 
04.06.15
15:14
(10) таки пришлось динамически формировать текст запроса
13 ХардHard
 
04.06.15
15:19
(12) Тоже варик для сильных духом.)
14 Слабак
 
04.06.15
15:20
(13) и враги не прочитают