Имя: Пароль:
1C
 
Не выполняетсяя условие в ВЫБОР запрос
0 myr4ik07
 
21.02.15
19:02
Добрый вечер. когда количество документов больше 1 нужно написать "разовая", делаю

ВЫБРАТЬ
    КОЛИЧЕСТВО(ВЫБОР
            КОГДА РасходныеНакладныеТовары.Ссылка <= 1
                ТОГДА "разовая"
            ИНАЧЕ РасходныеНакладныеТовары.Ссылка
        КОНЕЦ) КАК Ссылка,
    РасходныеНакладныеТовары.Номенклатура,
    РасходныеНакладныеТовары.Количество КАК Количество
ИЗ
    Документ.РасходныеНакладные.Товары КАК РасходныеНакладныеТовары

СГРУППИРОВАТЬ ПО
    РасходныеНакладныеТовары.Номенклатура,
    РасходныеНакладныеТовары.Количество


но ничего не выводит
1 myr4ik07
 
21.02.15
19:03
да и >= ничего не выводит
2 ДенисЧ
 
21.02.15
19:04
РасходныеНакладныеТовары.Ссылка <= 1

Это как???
3 myr4ik07
 
21.02.15
19:06
(2) ну, сгруппировал ссылки что бы знать сколько накладных было если было больше 1 тогда иначе "разовая"
4 myr4ik07
 
21.02.15
19:07
(2) ладно, тогда как реализовать "В том случае, когда отгрузка была только одна, то в колонке Интервал выводится «разовая».
5 ДенисЧ
 
21.02.15
19:09
(3) ты не ссылки сгруппировал. Ты хотел сгруппировать строки...
Сначала посчитай КОЛИЧЕСТВО(Ссылка), потом выбирай
6 myr4ik07
 
21.02.15
19:17
(5) как вы это поняли?
7 myr4ik07
 
21.02.15
19:23
(5) вот не могу понять

ВЫБРАТЬ
    ВЫБОР
        КОГДА КОЛИЧЕСТВО(РасходныеНакладныеТовары.Ссылка) <= 1
            ТОГДА "разовая"
        ИНАЧЕ РасходныеНакладныеТовары.Ссылка
    КОНЕЦ КАК Ссылка,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РасходныеНакладныеТовары.Номенклатура) КАК Номенклатура
ИЗ
    Документ.РасходныеНакладные.Товары КАК РасходныеНакладныеТовары

СГРУППИРОВАТЬ ПО
    РасходныеНакладныеТовары.Ссылка

сначала количество потом сгруппировал, но как понять какую агрегатную функцию к полю номенклатура приклеить?! не понимаю
8 Cyberhawk
 
21.02.15
19:30
(7) покажи на картинке, как должен выглядеть результат, которого ты пытаешься достичь
9 SeraFim
 
21.02.15
19:32
скорей всего это задача на спеца?
10 myr4ik07
 
21.02.15
19:33
(8)

анализ продаж

Номенклатура Интервал
Ложка           10
Вилка          разовая


разовая это отгрузка, если по данной номенклатуре один раз продавался товар тогда разовая
11 myr4ik07
 
21.02.15
19:34
(8) я не так прошу что бы мне написали как прошу пояснить
12 Cyberhawk
 
21.02.15
19:43
А теперь покажи на картинке результат своего запроса в виде таблицы
13 myr4ik07
 
21.02.15
19:46
(12) если минимум тогда получаю

разовая    Куртка замшевая    1
разовая    Портсигар    1
Расходная накладная 000000006 від 21.02.2015 17:52:02    Куртка замшевая    3
разовая    Ложка    1
разовая    Ложка    1

если максимусм тогда получаю

разовая    Куртка замшевая    1
разовая    Портсигар    1
Расходная накладная 000000006 від 21.02.2015 17:52:02    Доставка    3
разовая    Ложка    1
разовая    Ложка    1

в минимум доставки нету
14 PR
 
21.02.15
19:46
(12) Да хочет понять, продажи конкретной номенклатуры были разовые или нет
15 myr4ik07
 
21.02.15
19:49
почему "Доставка" упускается при разных применениях агрегатных функций?
16 Cyberhawk
 
21.02.15
19:52
Ты картинки-то делать будешь? ))
17 myr4ik07
 
21.02.15
19:54
18 myr4ik07
 
21.02.15
19:56
(16) заметил, что когда в документе указано 2 и более товара то условие ВЫБОР не исполняется, что не подходит для меня )
19 Cyberhawk
 
21.02.15
19:56
(17) а в целевой таблице у тебя сколько должно быть столбиков?
20 myr4ik07
 
21.02.15
19:57
(19) целевая это что?
21 Cyberhawk
 
21.02.15
19:57
+(17) судя по (10) - два столбика. Вывод: убирай из запроса лишнее
22 Cyberhawk
 
21.02.15
19:57
(20) то, что принадлежит цели
23 myr4ik07
 
21.02.15
19:58
(21) ну ... количество поле убрал но ничего нового не появилось
24 dmpl
 
21.02.15
19:58
(0) Сгруппируй в временную таблицу соответствие Номенклатура - Количество ссылок, потом по ней и выводи.

(18) А это потому что ссылки надо выбирать не из табличной части Товары, а, например, из регистра накопления.
25 myr4ik07
 
21.02.15
20:06
(24) ну так сгруппировать с какой агрегатной функцией поле номенклатура?
26 Cyberhawk
 
21.02.15
20:06
(23) а что должен показывать столбик "Интервал" в целевой таблице?
27 myr4ik07
 
21.02.15
20:09
(26) интервал = «Дата первой отгрузки» - «Дата последней отгрузки» / «количество отгрузок»

первое, второе я получил, а вот количество отгрузок вот это загвоздка для меня
28 Cyberhawk
 
21.02.15
20:12
Про соединения таблиц в запросах уже что-нибудь слышал?
29 myr4ik07
 
21.02.15
20:14
(24) хочу сказать что с регистром аналогично

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

СГРУППИРОВАТЬ ПО
    ОстаткиТоваров.Регистратор

минимум максимум упускают "Доставка"
30 myr4ik07
 
21.02.15
20:14
(28) например? Что имеешь ввиду?
31 myr4ik07
 
21.02.15
20:15
(28) что бы соеденять мне нужно получить, что соединять
32 Cyberhawk
 
21.02.15
20:15
(29) с регистром ОстаткиТоваров это ты промахнулся. Если все товары на данный момент проданы, то запрос тебе ничего и не вернет по таким товарам
(30) левое, внутреннее, внешнее соединение
33 myr4ik07
 
21.02.15
20:16
(32) так он оборотный, я могу не только остатки получить, а и оборот.расход, что в моем случаи нормально
34 myr4ik07
 
21.02.15
20:17
(32) точнее не оборотны, а остаточный этот регистр, а соответственно в нем есть вирт поля оборот
35 Cyberhawk
 
21.02.15
20:17
(31) сделай запрос к оборотам регистра остатков (все поля), сформулируй здесь на словах алгоритм получения целевой таблицы из полученного результата (запроса к оборотам регистра остатков). Типа "берем записи регистра, объединяем по номенклатуре, считаем то-то и т.д."
36 myr4ik07
 
21.02.15
20:18
(32) я понимаю о чем вы, я прошу пример написать каким образом я могу себе облегчить жизнь соединением и узнать количество отгрузок?!
37 myr4ik07
 
21.02.15
20:35
(35)
так а зачем мне регистр? Там же всеровно нужно получать регистратор, что бы узнать сколько раз номенклатура продавалась или я ошибаюсь?
или вы имеете ввиду, что бы я суммировал оборот с условием типдвижения расход?
38 Cyberhawk
 
21.02.15
21:04
(37) вариантов решения, чего там и как суммировать - много
Посмотри, что у тебя хранится в оборотах, оттуда и пляши
Одним из понятных для тебя вариантов может быть соединение трех таблиц:
1) товар - кол-во регистраторов
2) товар - минимальная дата продажи
3) товар - максимальная дата продажи
Как покажешь все три запроса с результатами (на картинке), так обращайся
39 myr4ik07
 
21.02.15
22:27
шось таке вийшло

ВЫБРАТЬ
    РасходныеНакладныеТовары.Номенклатура КАК Номенклатура,
    СУММА(РасходныеНакладныеТовары.Количество) КАК Количество,
    РасходныеНакладные.Ссылка
ПОМЕСТИТЬ вт
ИЗ
    Документ.РасходныеНакладные.Товары КАК РасходныеНакладныеТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходныеНакладные КАК РасходныеНакладные
        ПО РасходныеНакладныеТовары.Номенклатура = РасходныеНакладные.Товары.Номенклатура

СГРУППИРОВАТЬ ПО
    РасходныеНакладные.Ссылка,
    РасходныеНакладныеТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    вт.Номенклатура,
    ВЫБОР
        КОГДА вт.Количество = 1
            ТОГДА "разовая"
        ИНАЧЕ вт.Количество
    КОНЕЦ КАК Поле1,
    вт.Ссылка
ИЗ
    вт КАК вт

как бы оно, не додумал сначала, что нужно во Временную кидать сгруппированное, а потом уже ВЫБОР КОГДА применять
Независимо от того, куда вы едете — это в гору и против ветра!