Имя: Пароль:
1C
1С v8
проверка выборки на корректность
0 LivingStar
 
08.10.13
12:53
Выборка осуществляет отбор документов ЗаказПокупателя, за установленный период по которым не было введено документов РеализациятоваровУслуг. Она стала работать криво, за один период отобрала документы, ко всем им были привязанны документы РеализацияТоваровУслуг в структуре подчиненности. Закомментировал условие на дату в документах РеализацияТоваровУслуг. Будет ли она правильно работать?



    Запрос.Текст = "
        |ВЫБРАТЬ
        |    ЗаказПокупателя.Ссылка КАК ЗаказПокупателя,
        |    СУММА(ЕСТЬNULL(ЗаказПокупателя.СуммаДокумента, 0)) КАК СуммаЗаказаПокупателя
        |ПОМЕСТИТЬ ВТ_ЗаказПокупателя
        |ИЗ
        |    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
        |        ПО ЗаказПокупателяТовары.Ссылка = ЗаказПокупателя.Ссылка
        |ГДЕ
        |    ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
        |    И ЗаказПокупателя.Проведен
        |    И ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата
        |
        |СГРУППИРОВАТЬ ПО
        |    ЗаказПокупателя.Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Ссылка КАК РеализацияТоваровУслуг,
        |    СУММА(ЕСТЬNULL(РеализацияТоваровУслуг.СуммаДокумента, 0)) КАК СуммаРеализацииТоваровУслуг,
        |    РеализацияТоваровУслугТовары.ЗаказПокупателя КАК Основание
        |ПОМЕСТИТЬ ВТ_РеализацияТоваровУслуг
        |ИЗ
        |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |        ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка
        |ГДЕ
        |    НЕ РеализацияТоваровУслуг.ПометкаУдаления
        |    И РеализацияТоваровУслуг.Проведен
        //|    И РеализацияТоваровУслуг.Дата МЕЖДУ &НачДата И &КонДата
        |
        |СГРУППИРОВАТЬ ПО
        |    РеализацияТоваровУслуг.Ссылка,
        |    РеализацияТоваровУслугТовары.ЗаказПокупателя
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ_ЗаказПокупателя.ЗаказПокупателя КАК ЗаказПокупателя,
        |    СУММА(ЕСТЬNULL(ВТ_ЗаказПокупателя.СуммаЗаказаПокупателя, 0)) КАК СуммаЗаказаПокупателя,
        |    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг,
        |    СУММА(ЕСТЬNULL(ВТ_РеализацияТоваровУслуг.СуммаРеализацииТоваровУслуг, 0)) КАК СуммаРеализацииТоваровУслуг,
        |    ВТ_РеализацияТоваровУслуг.Основание КАК ОснованиеРеализацииТоваровУслуг
        |ИЗ
        |    ВТ_ЗаказПокупателя КАК ВТ_ЗаказПокупателя
        |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РеализацияТоваровУслуг КАК ВТ_РеализацияТоваровУслуг
        |        ПО ВТ_ЗаказПокупателя.ЗаказПокупателя = ВТ_РеализацияТоваровУслуг.Основание
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ_ЗаказПокупателя.ЗаказПокупателя,
        |    ВТ_РеализацияТоваровУслуг.РеализацияТоваровУслуг,
        |    ВТ_РеализацияТоваровУслуг.Основание
        |
        |ИМЕЮЩИЕ
        |    ЕСТЬNULL(ВТ_РеализацияТоваровУслуг.Основание, 0) = 0";
    Запрос.УстановитьПараметр("НачДата", НачалоДня(ЭлементыФормы.НачДата.Значение));
    Запрос.УстановитьПараметр("КонДата", КонецДня(Элементыформы.КонДата.Значение));
1 Wobland
 
08.10.13
12:57
ни стыда, ни совести, ни отладчика
2 Wobland
 
08.10.13
12:58
|    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
        |        ПО ЗаказПокупателяТовары.Ссылка = ЗаказПокупателя.Ссылка
        
к чему это всё? //я знаю ответ
3 catena
 
08.10.13
13:00
(0)Если "правильно" - это реализации за любой период, то будет.
4 Галахад
 
гуру
08.10.13
13:01
Жесть какая-то. По нормальному регистр надо смотреть.
5 catena
 
08.10.13
13:02
(4)Тщщщ, это авторский стиль.
6 Wobland
 
08.10.13
13:03
Аттестация по системе "1С:Предприятие 8"
Экзамен "1С:Специалист" по платформе "1С:Предприятие 8"

Получение расчетных данных не из регистра.
Единственной достоверной информацией в системе учета следует считать информацию регистров. Информация из документов может рассматриваться лишь как вспомогательная и не может быть абсолютно достоверной. Например, при наличии документа (аналога ручной операции в бухгалтерском учете), позволяющего интерактивно вводить записи в регистр    3,0
7 Wobland
 
08.10.13
13:04
(6) 3.0 - это количество снимаемых баллов
8 LivingStar
 
08.10.13
13:05
сейчас проблема в том что в запросе суммы по ЗаказуПокупателя очень сильно разнятся с реальностью, почему?
9 anaed
 
08.10.13
13:06
(4) Если мне память не изменяет все началось с того что АнализЗаказов "тормозил" и на регистрах все "тормозит" поэтому вот такое оригинальное решение. Для чего (2) вообще не понятно, наверное у ТСа в родне есть индусы.
10 anaed
 
08.10.13
13:07
(8) а ты проверь подели получившиеся суммы на количество номенклатуры в заказе, не получится ли сумма заказа?)
11 Wobland
 
08.10.13
13:07
(8) я тебе даже скажу правило. сумма заказа в запросе больше ровно во столько же раз, сколько строк в ТЧ
12 Галахад
 
гуру
08.10.13
13:10
Почитал запрос.
Вначале размножил заказы по количеству строк.
Затем сгруппировал.

Красиво.
13 wms
 
08.10.13
13:12
набросал в консоли, проверяй:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаказПокупателя.Ссылка
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
ГДЕ
    ЗаказПокупателя.Дата МЕЖДУ &Дата1 И &Дата2
    И ЗаказПокупателя.Проведен
    И НЕ ЗаказПокупателя.Ссылка В
                (ВЫБРАТЬ
                    вр.ЗаказПокупателя
                ИЗ
                    вр)
14 LivingStar
 
08.10.13
13:21
(13) Это что то новое! Не изследованное....
15 LivingStar
 
08.10.13
13:23
Под конец дня отупел, запрос в (0) реально не рабочий. Вообще не догоняю, вокруг лешие бегают отбирают последнее соображение....
16 Wobland
 
08.10.13
13:23
(15) выдыхай! срочно выдыхай!
17 LivingStar
 
08.10.13
13:26
(16) Вчера накачал все сборники MusicBox, PlanetHits, DanceMax! Они должны помочь!!!

(13) Работает, большое спасибо!!! Соображаю как это все устаканить. А то в одном периоде бывает работает выборка, в другом отказывает....
18 LivingStar
 
08.10.13
13:30
(13) Ловко вы это развели!!! Буду тестировать!!!
19 Wobland
 
08.10.13
13:31
PlanetHits - это который? не 95(?) ли года?
20 LivingStar
 
08.10.13
13:34
(19) прищел домой меня бесы душат!!! транс не берёт, а негатиыный рэп достал уже, вспомнил себя лет в 16, 17... начал рыскать по торрентам. скачал все части этих сборников. Везде есть картинки с распечатками как на аудиокассетах были. И сидел я сегодня в тех годах....
21 LivingStar
 
08.10.13
13:35
(19) именно тех!!!
22 Wobland
 
08.10.13
13:35
ооо!! аудиокассеты.. ;)
23 Wobland
 
08.10.13
13:36
(19) а у меня ж штук 15 их было. вкусы радикально изменились потом
//смахиваю слезу ностальгии
24 FIXXXL
 
08.10.13
13:38
(0) посмотри функцию ПолныеПрава.ПолучитьСписокДокументовПоКритериюОтбора
25 LivingStar
 
08.10.13
13:46
(24) Гляну спасибо!!!!
(23) Вкусы меняются, много из того меня не устраивало совсем. Но вот например:

The Free - Dance The Night Away (Radio Mix)

я помню как торкнуло меня тогда с Music box vol. 18

То есть сейчас я это не откажусь слушать, только бывает слушаешь часто и тогда просто надоедает. Но у меня их более 100 сейчас сборников этих, думаю достаточно разнообразия...
26 Wobland
 
08.10.13
13:53
сейчас есть на свете такие слова как "аэростат" и "две жизни спустя". Борис Борисыч несколько зануден, а Бычков лишён такого свойства ;)
27 LivingStar
 
08.10.13
13:55
Досадно но в выборке (13) появились реализации ((((

в этой вывборке реализаций нет


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

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

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

////////////////////////////////////////////////////////////////////////////////

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

СГРУППИРОВАТЬ ПО
    ВТ_ЗаказыПокупателей.ЗаказПокупателя,
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.СтоимостьОборот,
    ПродажиОбороты.Регистратор.СуммаДокумента
28 Starhan
 
08.10.13
13:57
(27) хм ...ты так сказал будто запрос в (27) писал не сам, и вообще просто не разбираешься в запросах.
29 Wobland
 
08.10.13
13:58
в выборке (13) в результат попадают строго заказы
30 LivingStar
 
08.10.13
14:00
(28) Мне помогали

(29) естественно что заказы только.....

только к ним имеются привязанные реализации......

задача в том что бы отобрать заказы только те к которым не было бы привязанных реализаций.....
31 Галахад
 
гуру
08.10.13
14:02
Это потому, что реализации в другом периоде.
32 catena
 
08.10.13
14:03
(30)Перечитай (0)
33 palpetrovich
 
08.10.13
14:12
рисовал нечто подобное для одного клиента любящего раскраски :) ..если заказ - строго впереди расходок и оплат - прокатит:
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Если НЕ ПроверятьРеализациюВЗаказе Тогда
        Возврат;
    КонецЕсли;
    
    ТЗЗаказов.Очистить();
    Для Каждого ЭлементОформления Из ОформленияСтрок Цикл
        Если ЭлементОформления.ДанныеСтроки.Ссылка.Проведен  Тогда
            НоваяСтрока = ТЗЗаказов.Добавить();
            НоваяСтрока.Ссылка = ЭлементОформления.ДанныеСтроки.Ссылка;
        КонецЕсли;
    КонецЦикла;  
    Если ТЗЗаказов.Количество()=0  Тогда
        Возврат;
    КонецЕсли;
    Запрос = Новый Запрос("
    |ВЫБРАТЬ
    |    ТЗЗаказов.Ссылка
    |ПОМЕСТИТЬ ВТЗаказов
    |ИЗ &ТЗЗаказов КАК ТЗЗаказов
    |;
    |ВЫБРАТЬ
    |    ВТЗаказов.Ссылка,
    |    ЕСТЬNULL(СУММА(ЗаказыПокупателейОстатки.СуммаВзаиморасчетовОстаток), 0) КАК СуммаПоЗаказуОстаток,
    |    ЕСТЬNULL(СУММА(РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток), 0) КАК СуммаВзаиморасчетовОстаток
    |ИЗ ВТЗаказов КАК ВТЗаказов
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |    РегистрНакопления.ЗаказыПокупателей.Остатки(&Дата,) КАК ЗаказыПокупателейОстатки
    |ПО
    |    ЗаказыПокупателейОстатки.ЗаказПокупателя = ВТЗаказов.Ссылка
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |    РегистрНакопления.РасчетыСКонтрагентами.Остатки(&Дата,) КАК РасчетыСКонтрагентамиОстатки
    |ПО
    |    РасчетыСКонтрагентамиОстатки.Сделка = ВТЗаказов.Ссылка
    |СГРУППИРОВАТЬ ПО
    |    ВТЗаказов.Ссылка");
    Запрос.УстановитьПараметр("ТЗЗаказов", ТЗЗаказов);
    Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
    Результат = Запрос.Выполнить();
    Если Результат.Пустой()Тогда
        Возврат;
    КонецЕсли;
    Выборка = Результат.Выбрать();
    Для Каждого ЭлементОформления Из ОформленияСтрок Цикл
        Выборка.Сбросить();
        ТекущийЗаказ = ЭлементОформления.ДанныеСтроки.Ссылка;
        Если Выборка.НайтиСледующий(ТекущийЗаказ, "Ссылка") Тогда
            Если (Выборка.СуммаПоЗаказуОстаток <= 0) И (Выборка.СуммаВзаиморасчетовОстаток <= 0) Тогда
                ЭлементОформления.ЦветФона = WebЦвета.НейтральноЗеленый;
            ИначеЕсли (Выборка.СуммаВзаиморасчетовОстаток <> ТекущийЗаказ.СуммаДокумента)
                  ИЛИ (Выборка.СуммаПоЗаказуОстаток <> ТекущийЗаказ.СуммаДокумента) Тогда
                ЭлементОформления.ЦветФона = WebЦвета.БледноЗолотистый;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры
34 LivingStar
 
08.10.13
15:07
(31) А ну это то есть та же тема что не нужно отбирать заявки по реализациям из другого периода, получается выборка (27) самая адекватная.... а то на правки сейчас не способен, утомился, да и базы нет под рукой....
35 LivingStar
 
08.10.13
15:08
(33) спасибо, завтра буду собирать все это во едино.....
36 wms
 
08.10.13
15:14
(18)для реализаций можно др. период задать побольше, например на несколько месяцев раньше и по текущ. дату, а можно и без периода , но работать будет дольше
37 LivingStar
 
08.10.13
15:23
(36) Да сколько будет работать не суть важно, нужно:

1. Заказы без реализаций за установленный период, то есть те у которых реально не было реализаций вообще (завтра буду думать, пока не принимает ум всю задачу). принесли что в (0) не работает, я посмотрел и ужаснулся... Я же проверял не было такого!!!!

2. Ну и реализации у которых сумма документа меньше суммы документа заказа.
38 wms
 
08.10.13
16:06
(37)  условия уже изменились :-),
ВЫБРАТЬ
    ЗаказПокуп.Ссылка КАК Заказ,
    ЗаказПокуп.СуммаДокумента КАК СуммаЗаказа,
    РТУСуммаЗаказы.РТУ,
    ЕСТЬNULL(РТУСуммаЗаказы.СуммаРТУ, 0) КАК СуммаРТУ
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокуп
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РеализацияТоваровУслугТовары.ЗаказПокупателя КАК ЗаказПокупателя,
            СУММА(РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента) КАК СуммаРТУ,
            РеализацияТоваровУслугТовары.Ссылка КАК РТУ
        ИЗ
            Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ГДЕ
            РеализацияТоваровУслугТовары.Ссылка.Проведен
        
        СГРУППИРОВАТЬ ПО
            РеализацияТоваровУслугТовары.ЗаказПокупателя,
            РеализацияТоваровУслугТовары.Ссылка) КАК РТУСуммаЗаказы
        ПО ЗаказПокуп.Ссылка = РТУСуммаЗаказы.ЗаказПокупателя
ГДЕ
    ЗаказПокуп.Дата МЕЖДУ &Дата1 И &Дата2
    И ЗаказПокуп.Проведен
    И (РТУСуммаЗаказы.ЗаказПокупателя ЕСТЬ NULL
            ИЛИ ЕСТЬNULL(РТУСуммаЗаказы.СуммаРТУ, 0) < ЗаказПокуп.СуммаДокумента)
39 wms
 
08.10.13
16:08
даже и так наверно сработает

И (ЕСТЬNULL(РТУСуммаЗаказы.СуммаРТУ, 0) < ЗаказПокуп.СуммаДокумента)
40 LivingStar
 
09.10.13
05:33
(38) Да!!! Новая оригинальная выборка!!! Спасибо!!!
41 LivingStar
 
09.10.13
05:42
В выборке (13) закомментировал условие на документ РеализацияТоваровУслуг, так она зависла на продолжительное время. Период же задается на документ ЗаказПокупателя, почему зависает? Что то не пойму....
42 anaed
 
09.10.13
06:29
(37)
Для первого тебе надо просто получить вирт таблицу остатки РН ЗаказыПокупателей где дата Заказа в нужном тебе интервале. И хватит любить всем мозг этой дикой выборкой документов.
43 LivingStar
 
09.10.13
06:29
Протестировал 2 запроса. Если я не ошибаюсь данные выбирают одинаковые. Отличие только в том что второй выполняется значительно дольше.



Запрос 1

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


Запрос 2

        Запрос.Текст = "
            |ВЫБРАТЬ РАЗЛИЧНЫЕ
            |    РеализацияТоваровУслугТовары.ЗаказПокупателя
            |ПОМЕСТИТЬ Вр
            |ИЗ
            |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
            |ГДЕ
            |    РеализацияТоваровУслугТовары.Ссылка.Проведен
            |;
            |
            |////////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ
            |    ЗаказПокупателя.Ссылка         КАК ЗаказПокупателя,
            |    ЗаказПокупателя.СуммаДокумента КАК СуммаЗаказаПокупателя,
            |    ЗаказПокупателя.Дата КАК Дата
            |ИЗ
            |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
            |ГДЕ
            |    ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата
            |    И ЗаказПокупателя.Проведен
            |    И НЕ ЗаказПокупателя.Ссылка В
            |                (ВЫБРАТЬ
            |                    вр.ЗаказПокупателя
            |                ИЗ
            |                    вр)
            |
            |УПОРЯДОЧИТЬ ПО
            |    Дата";
44 anaed
 
09.10.13
06:36
(43) что должно лишь раз подтвердить тебе что работать надо с регистрами.
45 LivingStar
 
09.10.13
06:50
Запрос 3 выигрывает!!! Он отобрал и те ЗаказыПокупателей по которым нет реализаций, и те по которым сумма реализации меньше суммы Заказа!!!

        Запрос.Текст = "
            |ВЫБРАТЬ
            |    ЗаказПокуп.Ссылка КАК ЗаказПокупателя,
            |    ЗаказПокуп.СуммаДокумента КАК СуммаЗаказаПокупателя,
            |    РТУСуммаЗаказы.РТУ КАК РеализацияТоваровУслуг,
            |    ЕСТЬNULL(РТУСуммаЗаказы.СуммаРТУ, 0) КАК СуммаРеализацииТоваровУслуг,
            |    ЗаказПокуп.Дата КАК Дата
            |ИЗ
            |    Документ.ЗаказПокупателя КАК ЗаказПокуп
            |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |            РеализацияТоваровУслугТовары.ЗаказПокупателя КАК ЗаказПокупателя,
            |            СУММА(РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента) КАК СуммаРТУ,
            |            РеализацияТоваровУслугТовары.Ссылка КАК РТУ
            |        ИЗ
            |            Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
            |        ГДЕ
            |            РеализацияТоваровУслугТовары.Ссылка.Проведен
            |        
            |        СГРУППИРОВАТЬ ПО
            |            РеализацияТоваровУслугТовары.ЗаказПокупателя,
            |            РеализацияТоваровУслугТовары.Ссылка) КАК РТУСуммаЗаказы
            |        ПО ЗаказПокуп.Ссылка = РТУСуммаЗаказы.ЗаказПокупателя
            |ГДЕ
            |    ЗаказПокуп.Дата МЕЖДУ &НачДата И &КонДата
            |    И ЗаказПокуп.Проведен
            |    И (РТУСуммаЗаказы.ЗаказПокупателя ЕСТЬ NULL
            |            ИЛИ ЕСТЬNULL(РТУСуммаЗаказы.СуммаРТУ, 0) < ЗаказПокуп.СуммаДокумента)
            |
            |УПОРЯДОЧИТЬ ПО
            |    Дата";
46 LivingStar
 
09.10.13
06:51
в (0) моя конструкция, - полная чушь!!!!
47 anaed
 
09.10.13
06:58
(46) как и в (45), читай (42)