Имя: Пароль:
1C
 
Почему при добавлении в запрос условие соединения он повисает намертво?
0 Shur1cIT
 
04.08.17
13:32
Вот какие два условия добавил, по сути необходимо соедениться с таблицей продажи у которого документ продажи был "Реализация товаров", криминала в этом не вижу. запрос работает очень долго до ошибки на SQl сервера "Журнал транзакции для базы данных заполнен"


ТИПЗНАЧЕНИЯ(ПродажиОбороты.ДокументПродажи) = ТИП(Документ.РеализацияТоваровУслуг)

(ТИПЗНАЧЕНИЯ(ПродажиОборотыПоЗаказу.ДокументПродажи) = ТИП(Документ.РеализацияТоваровУслуг))

Вот текст соединения


ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ДатаОстатков, {(Организация).* КАК Организация, (Контрагент).* КАК Контрагент, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (Сделка).* КАК Сделка}) КАК ВзаиморасчетыПоДокументамОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
        ПО ВзаиморасчетыПоДокументамОстатки.Сделка = ПродажиОбороты.ЗаказПокупателя
            И (ТИПЗНАЧЕНИЯ(ПродажиОбороты.ДокументПродажи) = ТИП(Документ.РеализацияТоваровУслуг))
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОборотыПоЗаказу
        ПО ВзаиморасчетыПоДокументамОстатки.Сделка = ПродажиОборотыПоЗаказу.ЗаказПокупателя
            И (ТИПЗНАЧЕНИЯ(ПродажиОборотыПоЗаказу.ДокументПродажи) = ТИП(Документ.РеализацияТоваровУслуг))
1 Dvoe4nik
 
04.08.17
13:35
(0) для теста внутренним соедини
2 Dvoe4nik
 
04.08.17
13:36
и выбери первые n штук
3 Ёпрст
 
04.08.17
13:36
используй выразить и ссылка
4 1dvd
 
04.08.17
13:36
ССЫЛКА
5 h-sp
 
04.08.17
13:38
(0) РегистрНакопления.Продажи.Обороты(&Дата1, &Даа2)
6 LordCMEPTb
 
04.08.17
13:40
А нельзя в параметрах вирт.таблиц ставить условие?

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(,,Период, ДокументПродажи Ссылка Документ.РеализацияТоваровУслуг) КАК ПродажиОбороты
ПО ВзаиморасчетыПоДокументамОстатки.Сделка = ПродажиОбороты.ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(,,Период, ДокументПродажи Ссылка Документ.РеализацияТоваровУслуг) КАК ПродажиОборотыПоЗаказу
ПО ВзаиморасчетыПоДокументамОстатки.Сделка = ПродажиОборотыПоЗаказу.ЗаказПокупателя
7 LordCMEPTb
 
04.08.17
13:42
Плюс, как пишут на разных форумах оптимизации, лучше виртуальные таблицы получать отдельно, и создавать временные, а уже временные соединять..
8 1dvd
 
04.08.17
13:43
(6) нельзя
9 1dvd
 
04.08.17
13:49
хотя, нет.
(6) правильное решение
10 Shur1cIT
 
04.08.17
14:11
Быстрее и даже работает, но всеравно долго, видимо 1с пытаеться по смоему оптимизировать запрос
Закон Брукера: Даже маленькая практика стоит большой теории.