Имя: Пароль:
1C
1С v8
v8: Как выбрать контрагентов, по которым не было продаж
0 iceborn
 
25.10.13
12:59
В отчет по продажам должны попадать контрагенты по которым не было продаж. Как в запросе это реализовать? Пробовал выбрать контрагентов затем расходные и все это объеденил. В запросе вообще это реально сделать?
1 PR
 
25.10.13
13:00
ЛС
2 iceborn
 
25.10.13
13:00
Пробовал выбирать сначала контрагентов потом полное соединение с вложенным запросом по контрагенту где выбираются расходные. Но продажи так же были только по тем у кого есть продажи.
3 Галахад
 
гуру
25.10.13
13:03
Зачем полное-то? Левое.
4 Нуф-Нуф
 
25.10.13
13:04
дать задание менеджерам, пусть сформируют отчет по продажам по каждому контрагенту
5 iceborn
 
25.10.13
13:05
"ВЫБРАТЬ
               |    РеализацияТоваровУслуг.Подразделение КАК Подразделение,
               |    РеализацияТоваровУслуг.Агент КАК Агент,
               |    РеализацияТоваровУслуг.Ссылка КАК КоличествоЗаявок,
               |    РеализацияТоваровУслуг.Ссылка КАК Документ,
               |    АгентКонтрагента.Владелец КАК Контрагент
               |{ВЫБРАТЬ
               |    Подразделение.*,
               |    Агент.*,
               |    КоличествоЗаявок.*,
               |    Документ.*}
               |ИЗ
               |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
               |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АгентКонтрагента КАК АгентКонтрагента
               |        ПО РеализацияТоваровУслуг.ТорговаяТочка = АгентКонтрагента.Владелец
               |ГДЕ
               |    РеализацияТоваровУслуг.ПометкаУдаления = ЛОЖЬ
               |    И РеализацияТоваровУслуг.Проведен
               |    И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
               |    И РеализацияТоваровУслуг.Агент В ИЕРАРХИИ(&Агент)
               |    И РеализацияТоваровУслуг.Агент <> &ПустаяСсылка
               |{ГДЕ
               |    РеализацияТоваровУслуг.Подразделение.*,
               |    РеализацияТоваровУслуг.Агент.*,
               |    РеализацияТоваровУслуг.Контрагент.*}
               |
               |СГРУППИРОВАТЬ ПО
               |    РеализацияТоваровУслуг.Подразделение,
               |    РеализацияТоваровУслуг.Агент,
               |    РеализацияТоваровУслуг.Контрагент,
               |    РеализацияТоваровУслуг.Ссылка,
               |    АгентКонтрагента.Владелец,
               |    РеализацияТоваровУслуг.Ссылка
               |
               |УПОРЯДОЧИТЬ ПО
               |    Подразделение,
               |    Агент,
               |    РеализацияТоваровУслуг.Контрагент.Наименование
               |{УПОРЯДОЧИТЬ ПО
               |    Подразделение.*,
               |    Агент.*}
               |ИТОГИ
               |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ КоличествоЗаявок)
               |ПО
               |    Подразделение,
               |    Агент,
               |    Контрагент,
               |    Документ
               |{ИТОГИ ПО
               |    Подразделение.*,
               |    Агент.*,
               |    Документ.*}"

Даже с левым не работает
6 PLUT
 
25.10.13
13:05
(0)

Где НЕ блаблабла.Контрагенты В
(ВЫБРАТЬ
блаблабла.Контрагенты
ИЗ
блаблабла ) //в подзапросе выбираешь контрагентов, у которых продажа есть
7 palpetrovich
 
25.10.13
13:08
(5) выбирать  из Справочника Контрагенты, соединять с РН Продажи с условием отсутсвия продаж
так как-то
8 PLUT
 
25.10.13
13:09
(0) похоже на тест при приеме на работу)
9 PLUT
 
25.10.13
13:10
следующий вопрос будет - как получить валюту на каждую дату в запросе
10 iceborn
 
25.10.13
13:13
(8) Нет, задача от аналитика. В этом отчете мы смотрим количество продаж по контрагенту и сравниваем с планом. Но теперь он захотел видеть даже тех контрагентов у которых не было продаж. Не раз такое делал, но с этим заданием второй день мозг е*у.
11 PLUT
 
25.10.13
13:15
(10) ответ в (6)
12 iceborn
 
25.10.13
13:15
(9) Вопрос для стажеров.
13 User_Agronom
 
25.10.13
13:16
Почему документ? Может всё-таки лучше регистр? Например Продажи.

Выбрать
Контра.Ссылка,
Продажи.Сумма
ИЗ Справочник.Контрагенты как Контра
левое соединение
(продажи сумма за период)
Где Продажи.Сумма=0

Как-то так, я думаю
14 Нуф-Нуф
 
25.10.13
13:16
(9) фигассе у вас стажеры.
15 iceborn
 
25.10.13
13:20
(14) О, да, получить валюту на каждую дату в запросе - это задача для гения!
16 PLUT
 
25.10.13
13:20
(15) и пронумеровать строки в запросе еще
17 zak555
 
25.10.13
13:21
(13) ужас
18 User_Agronom
 
25.10.13
13:22
(17) Работать будет.
19 palpetrovich
 
25.10.13
13:23
(10) Если "он захотел видеть даже тех контрагентов у которых не было продаж", а не ТОЛЬКО у которых нет продаж - тогда вообще просто:
ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Продажи.ДокументПродажи,
    Продажи.Стоимость
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
        ПО Контрагенты.Ссылка = Продажи.Контрагент
20 zak555
 
25.10.13
13:23
(18) ну-ну

где продажи.контр is null
21 PR
 
25.10.13
13:25
(13) Садись, два :))
22 User_Agronom
 
25.10.13
13:28
(20) (21) Читать нужно внимательнее.
Если готовы на бутылку коньяка - покажу полный текст запроса под УТ или УПП.
Предмет спора:
"Нужен запрос, который выведет всех контрагентов, по которым не было продаж за последний год."
23 zak555
 
25.10.13
13:30
(22) это кто тебя научил ?
24 User_Agronom
 
25.10.13
13:31
(23) Чему?
25 Wobland
 
25.10.13
13:37
очень интересно посмотреть на запись в таблице оборотов по контрагенту, который появился в базе пол-секунды назад. правда нулевая сумма будет?
26 1dvd
 
25.10.13
13:39
(22) не позорься
27 zak555
 
25.10.13
13:43
(26) с невкусным коньяком ))
28 User_Agronom
 
25.10.13
13:44
(26) Я не при чём. Нормальный обмен: я пишу запрос - они бутылку коньяка. Попросят вежливо - напишу так. Хотя, ИМХО, они сами могут его написать.
(27) Французского если что.
29 zak555
 
25.10.13
13:49
(28) Просвети тайну
30 Wobland
 
25.10.13
13:50
(28) ты всё ещё собираешься писать "Где Продажи.Сумма=0"?
31 User_Agronom
 
25.10.13
13:58
(30) Нет, конечно. Понятно, что там будет null, так как не найдет записи во второй таблице.
Но я же писал не запрос, а примерную схему запроса.
32 zak555
 
25.10.13
13:59
(31) что значит "примерная схема" ?
33 PLUT
 
25.10.13
13:59
(31) фигню ты написал, даже на молдавский баланешт не тянет
34 zak555
 
25.10.13
14:00
во франции нет коньяков, только ужасное бренди
оставляй себе =)
35 User_Agronom
 
25.10.13
14:04
(33) Не пользуйся. Я не против.
(34) Коньяк может быть только французским или армянским. Всё остальное не коньяк. Это может кому-то нравиться или нет (ибо о вкусах не спорят), но это не коньяк.
36 Eugeneer
 
25.10.13
14:08
Выбрать ллялялял
КОнтрагенты.Ссылка КАК Контрагент
Продажи.КОл КАК ляляляля

ИЗ

Справочник.КОнтрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ
Регистр.ляляляля КАК Продажи
ПО КОнтрагенты.Ссылка = Продажи.КОнтрагент
37 PLUT
 
25.10.13
14:11
(36) это что?
38 zak555
 
25.10.13
14:16
(37) ляляля