Имя: Пароль:
1C
1С v8
отбор заявок без введенных на основании них реализаций ☑
0 LivingStar
 
27.09.13
✎
13:12
УТ 10.3, нужно отобрать документы ЗаказПокупателя, на основании которых не было введено документов реализация товаров услуг. Как это можно сделать?
71 alexiv79
 
30.09.13
✎
10:22
(68) А под суммой документа Реализация товара что понимается? Сумма всего. А если в реализации скидку сделали и сумма заявки больше получилась?
72 alexiv79
 
30.09.13
✎
10:23
(68) ИМХО-надо номенклатуру и количество смотреть
73 LivingStar
 
30.09.13
✎
10:27
(72)  Возможно да, нужно смотреть номенклатуру, или количество. Или пусть уже сам менеджер разбирается и находит свой ответ почему сымма разная. Или действительно сравнивать номенклатуру и количество.
74 Мимохожий Однако
 
30.09.13
✎
10:28
А еще есть "Рабочее место менеджера по продажам". Но не в коня корм.
75 alexiv79
 
30.09.13
✎
10:34
(73) Я думал это для какой-то обработки нужно-если для отчетов-используй сткандартные отчеты-выше уже все написали. Для ускорения ставь как можно больше фильтров-по организации, подразделению, группе номенклатуры и т.д.-может дать существенное ускорение
76 alexiv79
 
30.09.13
✎
10:36
+(75) Или сохранить стандартный отчет и модернизировать - чтобы ускорить-но там надо понимать. что делаешь
77 LivingStar
 
30.09.13
✎
10:44
(76) Если в запрос что в (57) перенести НачДата и КонДата в условие. Что бы не обрабатывать весь период. Как вы думаете стоит это делать?
78 LivingStar
 
30.09.13
✎
10:48
(77+) Думал что установка периода между будет как то влиять на скорость выполнения запроса. Но нет никак не влияет! Практически столько же стоит выполняется запрос.
79 alexiv79
 
30.09.13
✎
11:10
(77) Тут такая ситуация - нужны остатки по заказам покупателя- они в принципе могут быть от любой даты-те.е. месячной давности и т.д.- в данной ситуации период выставить получится только по дате окончания периода. Чтобы сделать отбор более полный, нужно использовать врем таблицу- поставить условие на реализации по заказам покупателей из врем таблицы А мой запрос из (54) долго выполняется?
80 alexiv79
 
30.09.13
✎
11:13
+(79) можно еще добавить отбор по номенклатуре из врем таблицы-но мне кажется, что отбора по заказам хватит-проверять надо
81 alexiv79
 
30.09.13
✎
11:22
(78) Запрос в врем таблицей - развернуто по заказу, номенклатуре и характеристике
ВЫБРАТЬ
    ЗаказыПокупателейОстатки.ЗаказПокупателя КАК ЗаказПокупателя,
    СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК ОстатокПоЗаказам,
    ЗаказыПокупателейОстатки.Номенклатура,
    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
ПОМЕСТИТЬ времОстаткиПоЗаказам
ИЗ
    РегистрНакопления.ЗаказыПокупателей.Остатки(&КонПериода, ) КАК ЗаказыПокупателейОстатки

СГРУППИРОВАТЬ ПО
    ЗаказыПокупателейОстатки.ЗаказПокупателя,
    ЗаказыПокупателейОстатки.Номенклатура,
    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    времОстаткиПоЗаказам.ЗаказПокупателя КАК ЗаказПокупателя,
    времОстаткиПоЗаказам.Номенклатура КАК Номенклатура,
    времОстаткиПоЗаказам.ОстатокПоЗаказам КАК ОстатокПоЗаказам,
    ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) КАК КоличествоПродажи
ИЗ
    времОстаткиПоЗаказам КАК времОстаткиПоЗаказам
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(
                ,
                &КонПериода,
                ,
                ЗаказПокупателя В
                    (ВЫБРАТЬ
                        времОстаткиПозаказам.ЗаказПокупателя
                    ИЗ
                        времОстаткиПозаказам КАК времОстаткиПозаказам)) КАК ПродажиОбороты
        ПО времОстаткиПоЗаказам.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя
            И времОстаткиПоЗаказам.Номенклатура = ПродажиОбороты.Номенклатура

СГРУППИРОВАТЬ ПО
    времОстаткиПоЗаказам.ЗаказПокупателя,
    времОстаткиПоЗаказам.Номенклатура,
    времОстаткиПоЗаказам.ОстатокПоЗаказам,
    ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)

УПОРЯДОЧИТЬ ПО
    КоличествоПродажи,
    ЗаказПокупателя,
    Номенклатура
ИТОГИ
    СУММА(ОстатокПоЗаказам),
    СУММА(КоличествоПродажи)
ПО
    ОБЩИЕ,
    ЗаказПокупателя,
    Номенклатура
82 alexiv79
 
30.09.13
✎
11:27
+(81) еще связь по характеристике номенклатуры не сделал - но это уже по аналогии. Это пример как делать через врем таблицу- в консоли запросов посмотри что где устанавливается
83 LivingStar
 
30.09.13
✎
11:42
(79) Да вот запрос ваш + условие между НачДата и КонДата, все не могу дождаться пока выполнится ((((
84 LivingStar
 
30.09.13
✎
11:44
(81) Спасибо большое, переношу в консоль.
85 LivingStar
 
30.09.13
✎
11:47
К примеру на сервере запустил отчет Анализ заказов покупателей, так результата так и не дождался... Вышло сообщение не достаточно памяти. Сервер похоже не тянет. Рассматривается перевод УТ, на новый сервер, это вероятно поможет!!!
86 alexiv79
 
30.09.13
✎
12:00
(85) Сколько пользователей? какой объем оперативы? терминал? SQL?
87 alexiv79
 
30.09.13
✎
12:02
Для терминала надо 200 -250 метров оперативы на пользователя примерно у нас примерно 80 пользователей, 24 гига оперативы - пока нормально все
88 LivingStar
 
30.09.13
✎
12:16
(86) Терминал KRDC, SQL Server,  пользователей около 20, памяти 15 Гб
89 eklmn
 
гуру
30.09.13
✎
12:24
интересно, когда alexiv79 устанет? делаем ставки, господа!
90 alexiv79
 
30.09.13
✎
12:31
(89) Да в принципе не напрягает-другое дело что LivingStar явный семерочник, 8-ку только изучает, азы надо подтягивать. Я 2-года назад также спрашивал, вовремя перещел на 8-ку-сейчас у нас только с 7.7 делать нечего, рабоыт почти нет
91 LivingStar
 
30.09.13
✎
13:25
(90) Я не изучаю восьмерку, есть определенные пробелы в некоторых местах, таких как СКД, Запросы, Конвертация данных. Так как любая из этих тем может быть как угодно углублена.
92 LivingStar
 
30.09.13
✎
13:27
(91+) Там где я счейчас работаю ставят разные задачи, последнее время касающиеся различных выборок, для чего нужно использовать запросы. Этот опыт мне интересен!!! Жаль только что ни один из запросов из этой темы я не могу нормально посмотреть и поэксперементировать с ними. Так как они все весят ((( Или это дело в сервере, или в объеме объектов в базе, может в чем ещё.
93 alexiv79
 
30.09.13
✎
13:27
(91) СКД тема хорошая, конвертацию тоже смотрел, но не глубоко - планы простые создавал. В запросах вроде немного понимаю что-то уже - короче на текущую деятельность знаний хватает, но спец по платформе это уже уровень
94 alexiv79
 
30.09.13
✎
13:29
(92) Ну я отчетов наверное около сотни за 2 года сделал, разбирался в том числе и по отчетам в УПП, УТ.Для ЗУп делал отчеты. Еще тема- когда в СКд используются внешние данные - например тз-удобно тем, что Тз заполняешь как хочешь, потом на ее базе СКд делаешь и выводишь в отчет-удобно
95 LivingStar
 
30.09.13
✎
13:32
(94) Нравится когда результат отчета можно проверять оперативно. А не сидеть как сейчас вот я не ждать когда он там что выведет!!! Может есть какое то решение подобной ситуации что в (81), что бы тянкть не по конец периода, а как то ограничивать выборку!!!
96 alexiv79
 
30.09.13
✎
13:33
(95) Уже этот запрос выполняется?
97 alexiv79
 
30.09.13
✎
13:33
(95) Копию базы на свой комп и там эксперементировать - если комп конечно не овощной
98 LivingStar
 
30.09.13
✎
13:34
(96) Да взял его попробовать. Ничего из того что накидал в дереве запросов сегодня не получилось корректно посмотреть. В основном все зависает!!!

(97) На моем компе вообще под virtual box копия базы, тама это дело висит ещё сильнее....
99 LivingStar
 
30.09.13
✎
13:36
(97) Это уж тогда дома ставить 16Гб и 64х битную систему, ускорит ли это работу???
100 alexiv79
 
30.09.13
✎
13:37
(98) Печаль. Надо базу смотреть-объем таблиц, может сжатие базы сделать - может регистры не закрываются.
(99)  у меня дома 2-х ядерный Intel E5200, SSD Диск и 4 гига оперативы-все нормально работает, достаточно быстро
101 LivingStar
 
30.09.13
✎
13:38
(100) Видимо SSD диск способствует этому!!!
102 alexiv79
 
30.09.13
✎
13:41
(101)  Ну диск неплохой OCZ Vertex 4 - рекомендую
103 LivingStar
 
01.10.13
✎
05:03
(102) Похоже что по регистрам мне не получится пока сделать данную выборку. Так как сильно подвисает, не возможно потестировать. Пришла мысль делать по документам, может по ним удастся.
104 LivingStar
 
01.10.13
✎
05:39
(13) Подскажите пожалуйста, вы пишете что можно связать 2 виртуальные таблицы, где в 1ой выборка ЗаказаПокупателя, во второй РеализацияТоваровУслуг связав их примерно как вы указали:

Документ.ЗаказПокупателя.Ссылка=Документ.РеализацияТоваровУслуг.Основание

мне не понятно что вот это Документ.РеализацияТоваровУслуг.Основание, у документа РеализацияТоваровУслуг нет реквизита Основание.
105 goleaff2006
 
01.10.13
✎
06:13
(104)В реализаций, где то же указывается ссылка на заказ вот по этому реквизиту и связывать =)Может реквизит сделка называется, точно не помню.
106 LivingStar
 
01.10.13
✎
06:21
(105)
Сделал вот такую выборку, которая без труда открывается за день, как наверное и на более большие периоды. Реквизит "ЗаказПокупателя" который виден в консоле запросов у документа РеализацияТоваровУслуг назвал как "Основание". В выборке видно что выбираются документы ЗаказПокупателя и РеализацияТоваровУслуг которые были введены на их основании!

Почему, добавляя условие

ИЛИ (ВТ_ЗаказПокупателя.ЗаказПокупателя = NULL)

или такое

И (ВТ_ЗаказПокупателя.ЗаказПокупателя = NULL)

в выборке появляются строки, у которых нет в выборке реализации, но открыв сам документ реализация есть в структуре подчиненности

тогда такая строка не должна попадать, а она есть, как быть в этом случае? Как отобрать те к которым не привязаны документы РеализацияТоваровУслуг


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

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

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

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслугТовары.ЗаказПокупателя
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ЗаказПокупателя.ЗаказПокупателя,
    ВТ_ЗаказПокупателя.СуммаЗаказаПокупателя,
    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.СуммаРеализацииТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.Основание
ИЗ
    ВТ_ЗаказПокупателя КАК ВТ_ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РеализацияТоваровУслуг КАК ВТ_РеализацияТоваровУслуг
        ПО ВТ_ЗаказПокупателя.ЗаказПокупателя = ВТ_РеализацияТоваровУслуг.Основание
107 goleaff2006
 
01.10.13
✎
06:21
либо в табчасти колонка заказ покупателя если она заполняется.
108 goleaff2006
 
01.10.13
✎
06:24
ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = null или is null точно не помню
109 LivingStar
 
01.10.13
✎
06:25
(106+) В выборках по документу ЗаказПокупателя и реализацияТоваровУслуг так же учет табличные части но не использовал их, это я так на всякий случай. Пока хочу разобраться почему не выбирает ЗаказыПокупателя без РеализацииТоваровУслуг, когда я указываю NULL в соединении

(108) Попробую, получается мы проверяем на Null не существующий документ а вообще отсутствующий !!! Как то не совсем это в голове укладывается.
110 goleaff2006
 
01.10.13
✎
06:26
в правой части заказы а левое соединение даст null по реализации если ее нету для заказа.
111 goleaff2006
 
01.10.13
✎
06:28
112 LivingStar
 
01.10.13
✎
06:34
(111) Попробовал вот так, то же самое. Не знаете случайно что я не так делаю???

ИЗ
    ВТ_ЗаказПокупателя КАК ВТ_ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РеализацияТоваровУслуг КАК ВТ_РеализацияТоваровУслуг
        ПО ВТ_ЗаказПокупателя.ЗаказПокупателя = ВТ_РеализацияТоваровУслуг.Основание
            И (ВТ_РеализацияТоваровУслуг.Основание Is NULL)
113 goleaff2006
 
01.10.13
✎
06:37
не и ,а  
имеющие ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = NULL
114 goleaff2006
 
01.10.13
✎
06:37
отбор нужно наложить уже на результат, а ты сразу отбираешь с условием.
115 LivingStar
 
01.10.13
✎
06:48
(114) пишет что поле не входит в группа ВТ_ЗаказПокупателя.ЗаказПокупателя


ИЗ
    ВТ_ЗаказПокупателя КАК ВТ_ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РеализацияТоваровУслуг КАК ВТ_РеализацияТоваровУслуг
        ПО ВТ_ЗаказПокупателя.ЗаказПокупателя = ВТ_РеализацияТоваровУслуг.Основание
            ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = NULL
116 LivingStar
 
01.10.13
✎
06:49
(115+) Что то нужно видимо поправить, пока не понял что...
117 goleaff2006
 
01.10.13
✎
06:52
результат сначала сгруппируй , учи язык запросов.
118 LivingStar
 
01.10.13
✎
06:56
(117) А как его там сгруппировать? Там и Ссылка на документ ЗаказПокупателя есть, и ссылка на документ реализацияТоваровУслуг и Основание документа РеализацияТоваровУслуг и их суммы
119 chelentano
 
01.10.13
✎
06:59
(118) забей, не твоё это, смени профессию
120 LivingStar
 
01.10.13
✎
07:03
(117)
Вот так сгруппировал, в выборке присутствуют строки по ЗаказамПокупателя, без записей по документам РеализацииТоваровУслуг, но открывая сам документ ЗаказПокупателя видно что у него в структуре подчиненности есть документы РеализацияТоваровУслуг

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

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

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

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслугТовары.ЗаказПокупателя
;

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

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказПокупателя.ЗаказПокупателя,
    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.Основание
121 goleaff2006
 
01.10.13
✎
07:06
А открывая реализацию что в ней видно?
122 goleaff2006
 
01.10.13
✎
07:07
что то в запросе не вижу  ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = NULL этой строчки.
123 LivingStar
 
01.10.13
✎
07:08
(122) я не могу никуда прилепить эту строку, ругается на неё ((((
124 chelentano
 
01.10.13
✎
07:08
(120) ты всё ещё не понял, что заказы находятся в табличной части реализации?
125 goleaff2006
 
01.10.13
✎
07:11
(123) быть такого не может
126 LivingStar
 
01.10.13
✎
07:14
(123) Сейчас ругается синтаксическая ошибка СГРУППИРОВАТЬ

ИЗ
    ВТ_ЗаказПокупателя КАК ВТ_ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РеализацияТоваровУслуг КАК ВТ_РеализацияТоваровУслуг
        ПО ВТ_ЗаказПокупателя.ЗаказПокупателя = ВТ_РеализацияТоваровУслуг.Основание
        ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = NULL

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказПокупателя.ЗаказПокупателя,
    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.Основание
127 goleaff2006
 
01.10.13
✎
07:17
это клиника!!
ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = NULL это в самый конец надо запихать после сгруппировать.
128 LivingStar
 
01.10.13
✎
07:19
(127) Извиниие!!! Один момент!!!
129 LivingStar
 
01.10.13
✎
07:28
Приведенный ниже запрос ничего не выбирает. Можно выявить почему? Я уже пробовал и проведение комментировать, все равно ничего. А документы такие есть!!! Как понять почему он не выводит?

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

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

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

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслугТовары.ЗаказПокупателя
;

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

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказПокупателя.ЗаказПокупателя,
    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.Основание

ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = NULL
130 goleaff2006
 
01.10.13
✎
07:30
107 пост и 124 пост =))
131 goleaff2006
 
01.10.13
✎
07:33
может "Есть Null" вместо "= null" попробуй написать
132 goleaff2006
 
01.10.13
✎
07:33
что тогда выдает?
133 LivingStar
 
01.10.13
✎
07:34
(130)
меняю
ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг = NULL

на

ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.Основание = NULL

выборка отсутствует (((
134 LivingStar
 
01.10.13
✎
07:34
(132) попробую, но не думаю что он не понимает того что я написал....
135 goleaff2006
 
01.10.13
✎
07:35
должно частично взлететь ..
136 LivingStar
 
01.10.13
✎
07:36
(132) Видимо я ошибался, исправил на

ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.Основание Есть Null

первая строка была без реализации, буду проверять дальше!
(135) Спасибо! А почему частично? До этого пробовал тоже всякие запросики, бывало что и без реализации попадают и с реализацией ((( Как то не точно выбирает чтоли?
137 goleaff2006
 
01.10.13
✎
07:38
яя уже писал 107 пост и 124 пост =))вот эти реализации ты не как в запросе не  отлавливаешь.
138 goleaff2006
 
01.10.13
✎
07:38
то есть в документе реализации основание может быть не указанно а в таб части для конкретной номенклатуры, может быть указан заказ.
139 LivingStar
 
01.10.13
✎
07:43
(135) первыя строка в выборке без реализации, последняя с реализацией, и видно это все только в структуре подчинения... Не сбита ли какая логическая целостность?

(138) Понятно!!! То есть документы РеализацияТоваровПоставщику могут быть созданы на основании ЗаказаПоставщику, а могут быть созданы независимо, то есть без связи по реквизиту Основание. Я правильно понимаю?

И если я учту в выборке отбор по табличной части, то она будет точнее?
140 goleaff2006
 
01.10.13
✎
07:45
так ты эту реализацию открой посмотри, что в ней есть и дальше думай что да как и  почему.
141 LivingStar
 
01.10.13
✎
07:45
(139) Отсутствовать это поле ЗаказПокупателя которое является основанием не может же случайным образом? Я думал Реализацию всегда делают на основании, спрошу сейчас!!!!
142 goleaff2006
 
01.10.13
✎
07:54
(139)и вообще задача получается такая  два множества из одного вычесть другое. http://www.1c-h.ru/?p=917
можно обойтись запрсом по регистру заказы покупателей.Первое множество где регистртор заказ покупателей, второе где регистратор реализация товаров и услуг, и измерение Заказ покупателя не пустое.Вроде как то так.
143 LivingStar
 
01.10.13
✎
07:57
(140) Кажется я понял! Запрос представленный ниже, отбирается по документам. И если попадаются документы ЗаказПокупателя с привязанными к ним документами РеализацииТоваровУслуг, а по условию такого не должно быть, то эти документы выходят за отбираемый период. То есть если стоит сентябрь, то попадут все документы ЗаказПокупателя по которым нет документов РеализацияТоваровУслуг в этом же периоде. Но так же попадут документы ЗаказПокупателя по которым есть документы РеализацияТоваровУслуг за 01.10.2013 например. Это уже нужно обрабатывать видимо отдельно, если так делать.
144 LivingStar
 
01.10.13
✎
07:58
(142) Там только нельзя будет наложить условие на выборку? Зависает она.
145 LivingStar
 
01.10.13
✎
07:59
(143+) Запрос

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

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

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

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслугТовары.ЗаказПокупателя
;

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

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказПокупателя.ЗаказПокупателя,
    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.Основание

ИМЕЮЩИЕ ВТ_РеализацияТоваровУслуг.Основание Есть Null
146 LivingStar
 
01.10.13
✎
08:00
(142) Или же можно подумать как сделать подобное по документам, принимая в счет то что можно будет наложить период.
147 goleaff2006
 
01.10.13
✎
08:00
(144) если правильно  написать запрос то не должно зависнуть по идее =)
148 goleaff2006
 
01.10.13
✎
08:01
145 И РеализацияТоваровУслуг.Дата МЕЖДУ &НачДата И &КонДата  если это убрать то тогда  нормально отработает.
149 LivingStar
 
01.10.13
✎
08:06
(148) Ок, спасибо, попробую.
150 alexiv79
 
01.10.13
✎
11:14
(129) Шел второй день... А ты упорный
Вот здесь непонял совсем
ВЫБРАТЬ
    ЗаказПокупателя.Ссылка КАК ЗаказПокупателя,
    СУММА(ЗаказПокупателя.СуммаДокумента) КАК СуммаЗаказаПокупателя
ПОМЕСТИТЬ ВТ_ЗаказПокупателя
ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ПО ЗаказПокупателяТовары.Ссылка = ЗаказПокупателя.Ссылка
ГДЕ
    ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
    И ЗаказПокупателя.Проведен

    И ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;
151 alexiv79
 
01.10.13
✎
11:14
+(150)  Нахрена так сложно? Что хотел получить в этом куске?
152 alexiv79
 
01.10.13
✎
11:17
+(151) Вот так не проще?
ВЫБРАТЬ
    ЗаказПокупателяТовары.Ссылка,
    СУММА(ЗаказПокупателяТовары.Ссылка.СуммаДокумента) КАК СуммаДокумента
ПОМЕСТИТЬ ВТ_ЗаказПокупателя
ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ГДЕ
    ЗаказПокупателяТовары.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода

СГРУППИРОВАТЬ ПО
    ЗаказПокупателяТовары.Ссылка
153 alexiv79
 
01.10.13
✎
11:19
+(150) И зачем здесь соединение между табличной частью и доком? Если бы номенклатуру допустим добавил в времТаблицу, еще понятно, хотя ит не оптимально. И то просто по табличной части делаешь и все
154 alexiv79
 
01.10.13
✎
11:23
(145) 2 запрос-надо делать по регистру продажи
ИМЕЮЩИЕ - это итоги по группировка.
Проверка на NULL это ЕстьNULL(ВТ_РеализацияТоваровУслуг.Основание,0)=0
155 LivingStar
 
02.10.13
✎
07:29
(152) Проше, я попробовал выбрать вместе с табличной частью на будущее, может придется её использовать, но пока она просто прицеплена.
(153) Связал её с документом по ссылке потому что видел что так делают. Сам до конце не понимая зачем, можно же выбрать Тч а из неё и ссылку и все другие реквизиты через точки. То есть так то же выбирает. Оставил.

в пакетах по ЗаказуПокупателя и РеализациитоваровУслуг убрал СУММА( по сумме документа, так как суммы в итоговом запросе были не из документов а ссуммированные каким то образом от куда то...

В итоге сейчас в тоговом запросе увидел что он выбирает и документы у которых есть реализации, не понял пока почему. Период задан на пакет ЗаказПокупателя и попала в выборку запись с реализацией из этого же периода

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

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка,
    ЗаказПокупателя.СуммаДокумента
;

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

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслугТовары.ЗаказПокупателя,
    РеализацияТоваровУслуг.СуммаДокумента
;

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

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказПокупателя.ЗаказПокупателя,
    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.ОснованиеРеализацииТоваровУслуг

ИМЕЮЩИЕ
    ВТ_РеализацияТоваровУслуг.ОснованиеРеализацииТоваровУслуг ЕСТЬ NULL
156 LivingStar
 
02.10.13
✎
07:34
(148) видимо не помогло это (((
157 LivingStar
 
02.10.13
✎
10:59
(154) предлагаете эту проверку включить за  место

   ВТ_РеализацияТоваровУслуг.ОснованиеРеализацииТоваровУслуг ЕСТЬ NULL

и в выборке останутся только заказы покупателей без привязанной реализации товаров услуг?
158 alexiv79
 
02.10.13
✎
12:06
(157) ИМЕЮЩИЕ    ВТ_РеализацияТоваровУслуг.ОснованиеРеализацииТоваровУслуг ЕСТЬ NULL

Еще раз ИМЕЮЩИЕ проверяет сумма ан Условие,
к примеру в данном запросе можно так сделать
ИМЕЮЩИЕ
СУММА(ВТ_РеализацияТоваровУслуг.СуммаРеализацииТоваровУслуг) > 1000

Проверку на NULL надо делать в секции ГДЕ
ЕстьNULL(ВТ_РеализацияТоваровУслуг.ОснованиеРеализацииТоваровУслуг,0) = 0
159 ProProg
 
02.10.13
✎
12:08
.... сколько дятлов собралось.
160 alexiv79
 
02.10.13
✎
12:09
+ (158) или ЕстьNULL можно использовать в секции ВЫБРАТЬ, к примеру
ВЫБОР КОГДА ЕстьNULL(ВТ_РеализацияТоваровУслуг.ОснованиеРеализацииТоваровУслуг,0) = 0 ТОГДА "Нет дока-основания" ИНАЧЕ "Есть док-основание" КОНЕЦ
161 LivingStar
 
02.10.13
✎
12:31
(158) Может я конечно чего не допонял, но вот в этом запросе в первом выбранном заказе есть подчиненная реализация.
(160) ВЫБОР это видимо можно использовать в пакетном запросе по документу РеализацияТоваровУслуг ?




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

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

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

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслугТовары.ЗаказПокупателя
;

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

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказПокупателя.ЗаказПокупателя,
    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
    ВТ_РеализацияТоваровУслуг.Основание

ИМЕЮЩИЕ
    ЕСТЬNULL(ВТ_РеализацияТоваровУслуг.Основание, 0) = 0
162 alexiv79
 
02.10.13
✎
12:32
(161) про ВЫБОР написал просто, как пример, где использовать ЕстьNULL
163 alexiv79
 
02.10.13
✎
12:34
+(162) Изучай курсы по запросам - я так же поначалу пытался понять, только больше запутываешься. Надо базовые знания. Видеокурсы Павла Чистова посмотрим - там немного, только главное рассказано
164 LivingStar
 
02.10.13
✎
12:36
(163) Так запрос то в (161) или в (155), эти запросы можно как то подстроить что бы выбиралось как нужно, только ЗаказыПокупателя за установленный период, без подчиненных документов РеализацияТоваровУслуг?
165 alexiv79
 
02.10.13
✎
13:02
(164) Вот запрос
ВЫБРАТЬ
    ЗаказПокупателя.Ссылка КАК ЗаказПокупателя,
    СУММА(ЗаказПокупателя.СуммаДокумента) КАК СуммаЗаказаПокупателя
ПОМЕСТИТЬ ВТ_ЗаказыПокупателей
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
ГДЕ
    ЗаказПокупателя.Проведен
    И ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ЗаказыПокупателей.ЗаказПокупателя,
    СУММА(ВТ_ЗаказыПокупателей.СуммаЗаказаПокупателя) КАК СуммаЗаказаПокупателя,
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.СтоимостьОборот,
    ПродажиОбороты.Регистратор.СуммаДокумента
ИЗ
    ВТ_ЗаказыПокупателей КАК ВТ_ЗаказыПокупателей
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(
                ,
                ,
                Регистратор,
                ЗаказПокупателя В
                    (ВЫБРАТЬ
                        ВТ_ЗаказыПокупателей.ЗаказПокупателя
                    ИЗ
                        ВТ_ЗаказыПокупателей КАК ВТ_ЗаказыПокупателей)) КАК ПродажиОбороты
        ПО ВТ_ЗаказыПокупателей.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя
ГДЕ
    ЕСТЬNULL(ПродажиОбороты.Регистратор, 0) = 0

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказыПокупателей.ЗаказПокупателя,
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.СтоимостьОборот,
    ПродажиОбороты.Регистратор.СуммаДокумента
166 LivingStar
 
02.10.13
✎
13:09
(165) То есть из регистра Продаживыбирается заранее ограниченный список документов ЗаказПокупателя где отсутствует регистратор.

Спасибо!!! При возможности проверю его, посмотрю выборку.

Но а запросы (161) и (155) обречены на провал и не излечимы???
167 alexiv79
 
02.10.13
✎
13:14
(166) первым шагом выбираем заказы за период и помещаем в врем таблицу. Во втором делаем выборку по регистру продажи -выбираем реализации - дял ускорения ставлю условие на физическую таблицу -

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(
                ,
                ,
                Регистратор,
                ЗаказПокупателя В
                    (ВЫБРАТЬ
                        ВТ_ЗаказыПокупателей.ЗаказПокупателя
                    ИЗ
                        ВТ_ЗаказыПокупателей КАК ВТ_ЗаказыПокупателей)
В отличии от условия в ГДЕ, это уловие устанавливается до выборки - т.е. установили, потом сделали выборку. Условие в ГДЕ действует подругому-сначала запрос выполнится, потом по условию отберутся нужные.
168 alexiv79
 
02.10.13
✎
13:16
+ (167) Т.к. делаю левое соединение, то попадут все записи из ВТ_ЗаказыПокупателей и только те записи регистра продаж, которые соответствую условие. Где не выбирутся, регистратор будет NULL - на что и ставится проверка в
ГДЕ
    ЕСТЬNULL(ПродажиОбороты.Регистратор, 0) = 0
169 alexiv79
 
02.10.13
✎
13:17
Запрос в (161) работает, только по-моему много лишнего в нем
170 LivingStar
 
02.10.13
✎
16:27
(161) Так я его выполняю, и первый отобранный в нем заказ, как и второй имеет связанную с ним реализацию, я так полагаю что это означает что он не корректно работает (((