|   |   | 
| 
 | Зависает при выполнении запроса( | ☑ | ||
|---|---|---|---|---|
| 0
    
        Droning1C 15.07.19✎ 15:51 | 
        Доброго времени суток! Подскажите, пожалуйста, в чем беда? при выполнении запроса программа зависает... 
 ВЫБРАТЬ РАЗЛИЧНЫЕ РеализацияТоваровУслуг.Сделка КАК Ссылка ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ ВЫБОР КОГДА &ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) ТОГДА РеализацияТоваровУслуг.Сделка В (ВЫБРАТЬ РАЗЛИЧНЫЕ РеализацияТоваровУслуг.Сделка КАК Ссылка ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Дата > &НачалоПериода И РеализацияТоваровУслуг.Сделка.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) И &НачалоПериода) ИНАЧЕ РеализацияТоваровУслуг.Сделка = &ЗаказПокупателя КОНЕЦ СГРУППИРОВАТЬ ПО РеализацияТоваровУслуг.Сделка ОБЪЕДИНИТЬ ВЫБРАТЬ РАЗЛИЧНЫЕ ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка ИЗ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция ГДЕ ВЫБОР КОГДА &ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) ТОГДА ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка В (ВЫБРАТЬ РАЗЛИЧНЫЕ ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка ИЗ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция ГДЕ ОтчетПроизводстваЗаСменуПродукция.Ссылка.Дата > &НачалоПериода И ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) И &НачалоПериода) ИНАЧЕ ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка = &ЗаказПокупателя КОНЕЦ СГРУППИРОВАТЬ ПО ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка | |||
| 1
    
        RomaH naïve 15.07.19✎ 15:52 | 
        вложеных запросов быть не должно - используйте временные таблицы     | |||
| 2
    
        RomaH naïve 15.07.19✎ 15:54 | 
        ВЫБРАТЬ РАЗЛИЧНЫЕ
 ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка ИЗ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция ГДЕ ВЫБОР КОГДА &ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) ТОГДА ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка В (ВЫБРАТЬ РАЗЛИЧНЫЕ ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка ИЗ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция ГДЕ ОтчетПроизводстваЗаСменуПродукция.Ссылка.Дата > &НачалоПериода И ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) И &НачалоПериода) ИНАЧЕ ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Ссылка = &ЗаказПокупателя КОНЕЦ вот это по сути ИЛИ переделать на ОБЪЕДИНИТЬ первая таблица - внутренним соединением | |||
| 3
    
        RomaH naïve 15.07.19✎ 15:55 | 
        т.е. тут 4 таблицы к объединению
 и таблицы из ГДЕ убрать в СОЕДИНЕНИЕ | |||
| 4
    
        Droning1C 15.07.19✎ 16:15 | 
        (3) честно говоря пока плохо понятно... мне нужно выбрать заказы из ОтчетаПроизводстваЗаСмену и из РеализацийТУ по условию на дату. Но, если на форме обработки заполнен реквизит "ЗаказПокупателя", то в результат запроса должен попадать только этот заказ. В результате выполнения запроса хочется видеть либо один заказ, либо одноколоночную таблицу с перечнем неповторяющихся заказов с отбором по периоду     | |||
| 5
    
        Droning1C 15.07.19✎ 16:16 | 
        (3) не могу понять зачем мне внутреннее соединение     | |||
| 6
    
        vicof 15.07.19✎ 16:18 | 
        (0) .Ссылка везде убери     | |||
| 7
    
        Droning1C 15.07.19✎ 16:25 | 
        ВЫБРАТЬ РАЗЛИЧНЫЕ
 РеализацияТоваровУслуг.Сделка КАК Заказ ПОМЕСТИТЬ втРеализации ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Дата > &НачалоПериода И РеализацияТоваровУслуг.Сделка.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) И &НачалоПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв КАК Заказ ПОМЕСТИТЬ втОтчетПрЗаСмену ИЗ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция ГДЕ ОтчетПроизводстваЗаСменуПродукция.Ссылка.Дата > &НачалоПериода И ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) И &НачалоПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втРеализации.Заказ ИЗ втРеализации КАК втРеализации ОБЪЕДИНИТЬ ВЫБРАТЬ РАЗЛИЧНЫЕ втОтчетПрЗаСмену.Заказ ИЗ втОтчетПрЗаСмену КАК втОтчетПрЗаСмену | |||
| 8
    
        Droning1C 15.07.19✎ 16:26 | 
        вот запрос с объединением, но без условия на заполненность реквизита ЗаказПокупателя. Как это условие лучше оформить в запросе?     | |||
| 9
    
        Droning1C 15.07.19✎ 16:30 | 
        (6) Убрал .Ссылка - все так же виснет     | |||
| 10
    
        Droning1C 15.07.19✎ 16:32 | 
        (6) Ан нет, стал выполняться... Но , видимо, мой подход все равно не верен     | |||
| 11
    
        xXeNoNx 15.07.19✎ 16:33 | 
        что такое ЗаказРезерв?     | |||
| 12
    
        xXeNoNx 15.07.19✎ 16:33 | 
        а где проверка на проведение..., удаление?     | |||
| 13
    
        xXeNoNx 15.07.19✎ 16:34 | 
        а данные лучше собирать по регистрам     | |||
| 14
    
        xXeNoNx 15.07.19✎ 16:36 | 
        О.., так тыж тож из Рамы...     | |||
| 15
    
        Droning1C 15.07.19✎ 16:39 | 
        (14) дада, приуэт!     | |||
| 16
    
        xXeNoNx 15.07.19✎ 16:40 | 
        случаем ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв не составного типа?     | |||
| 17
    
        Droning1C 15.07.19✎ 16:41 | 
        (14) Знаю, что лучше по регистрам, но в данной ситуации надо и по непроведенным тоже обрабатывать... Заказ резерв это реквизит табличной части Продукция документа ОтчетПроизводстваЗаСмену. Тип составной, да.     | |||
| 18
    
        Droning1C 15.07.19✎ 16:42 | 
        (16) ДокументСсылка.ЗаказНаПроизводство, ДокументСсылка.ЗаказПокупателя, ДокументСсылка.ВнутреннийЗаказ     | |||
| 19
    
        xXeNoNx 15.07.19✎ 16:43 | ||||
| 20
    
        xXeNoNx 15.07.19✎ 16:45 | 
        если коротко, то нельзя получать данные от составного типа..., точнее можно, но...     | |||
| 21
    
        Droning1C 15.07.19✎ 16:50 | 
        (20) спс. щаща, разбираюсь, читаю)     | |||
| 22
    
        Droning1C 15.07.19✎ 16:57 | 
        (20) чет я нагородил эеробору какую-то видимо.... Зависло...
 ВЫБРАТЬ РАЗЛИЧНЫЕ ВЫРАЗИТЬ(РеализацияТоваровУслуг.Сделка КАК Документ.ЗаказПокупателя) КАК ЗаказРезерв ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ ВЫБОР КОГДА &ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) ТОГДА ВЫРАЗИТЬ(РеализацияТоваровУслуг.Сделка КАК Документ.ЗаказПокупателя) В (ВЫБРАТЬ РАЗЛИЧНЫЕ ВЫРАЗИТЬ(РеализацияТоваровУслуг.Сделка КАК Документ.ЗаказПокупателя) КАК Ссылка ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Дата > &НачалоПериода И ВЫРАЗИТЬ(РеализацияТоваровУслуг.Сделка КАК Документ.ЗаказПокупателя).Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) И &НачалоПериода) ИНАЧЕ (ВЫРАЗИТЬ(РеализацияТоваровУслуг.Сделка КАК Документ.ЗаказПокупателя)) = &ЗаказПокупателя КОНЕЦ СГРУППИРОВАТЬ ПО ВЫРАЗИТЬ(РеализацияТоваровУслуг.Сделка КАК Документ.ЗаказПокупателя) ОБЪЕДИНИТЬ ВЫБРАТЬ РАЗЛИЧНЫЕ ВЫРАЗИТЬ(ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв КАК Документ.ЗаказПокупателя) ИЗ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция ГДЕ ВЫБОР КОГДА &ЗаказПокупателя = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) ТОГДА ВЫРАЗИТЬ(ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв КАК Документ.ЗаказПокупателя) В (ВЫБРАТЬ РАЗЛИЧНЫЕ ВЫРАЗИТЬ(ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв КАК Документ.ЗаказПокупателя) ИЗ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция ГДЕ ОтчетПроизводстваЗаСменуПродукция.Ссылка.Дата > &НачалоПериода И ВЫРАЗИТЬ(ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв КАК Документ.ЗаказПокупателя).Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) И &НачалоПериода) ИНАЧЕ (ВЫРАЗИТЬ(ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв КАК Документ.ЗаказПокупателя)) = &ЗаказПокупателя КОНЕЦ СГРУППИРОВАТЬ ПО ВЫРАЗИТЬ(ОтчетПроизводстваЗаСменуПродукция.ЗаказРезерв КАК Документ.ЗаказПокупателя) | |||
| 23
    
        ptiz 15.07.19✎ 16:59 | 
        (0)
 1) Вместо жуткого ГДЕ сделай объединение из двух вариантов: когда &ЗаказПокупателя - пустой, и когда - непустой. 2) Вместо ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) - передавай посчитанную дату. | |||
| 24
    
        Droning1C 15.07.19✎ 17:02 | 
        (20) ну как? опозорил Раменское я?)))     | |||
| 25
    
        Droning1C 15.07.19✎ 17:03 | 
        (23) пробую     | |||
| 26
    
        xXeNoNx 15.07.19✎ 17:07 | 
        (24) да хз.., я не от туда)     | |||
| 27
    
        Droning1C 15.07.19✎ 17:08 | 
        (26) О.., так тыж тож из Рамы...   А кто тогда?)     | |||
| 28
    
        ptiz 15.07.19✎ 17:08 | 
        (25) И убери нафиг условие "РеализацияТоваровУслуг.Сделка В "     | |||
| 29
    
        xXeNoNx 15.07.19✎ 17:12 | 
        (22) предыдущий запрос мне нравился больше... 
 (23) >> Вместо ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, -365) - передавай посчитанную дату. - много ли это даст прироста... В первую очередь исправь обращение через точку от составного типа... | |||
| 30
    
        xXeNoNx 15.07.19✎ 17:13 | 
        (28) так убрал же в (22)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |