Имя: Пароль:
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) Так я его выполняю, и первый отобранный в нем заказ, как и второй имеет связанную с ним реализацию, я так полагаю что это означает что он не корректно работает (((