| 
    
        
     
     | 
    
  | 
Связь в запросе по двум полям | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Web00001    
     30.08.12 
            ✎
    10:31 
 | 
         
        Из регистра выбираются остатки в разрезе номенклатуры и складов, делаю левое соединение со второй таблицей в которой данные тоже по двум полям, как мне соединить эти таблицы?     
         | 
|||
| 
    1
    
        Ненавижу 1С    
     гуру 
    30.08.12 
            ✎
    10:32 
 | 
         
        ПО ...=... И ...=...     
         | 
|||
| 
    2
    
        ДенисЧ    
     30.08.12 
            ✎
    10:32 
 | 
         
        Есть такая волшебная буква "И"     
         | 
|||
| 
    3
    
        Web00001    
     30.08.12 
            ✎
    10:37 
 | 
         
        (1)(2)об этом подумал в первую очередь, данные перестают попадать в выборку     
         | 
|||
| 
    4
    
        andrewks    
     30.08.12 
            ✎
    10:38 
 | 
         
        (3) предлагаешь потелепатировать?     
         | 
|||
| 
    5
    
        Web00001    
     30.08.12 
            ✎
    10:38 
 | 
         
        (4)ок     
         | 
|||
| 
    6
    
        Web00001    
     30.08.12 
            ✎
    10:39 
 | 
         
        ВЫБРАТЬ
  
        ЗаказыПродавцовОстатки.Номенклатура, ЗаказыПродавцовОстатки.СкладЗаказчик КАК Склад, ЗаказыПродавцовОстатки.КоличествоОстаток КАК Заказано, ТоварыВРозницеОстатки.КоличествоОстаток КАК ОстатокНаСкладе, ПродажиОбороты.КоличествоОборот КАК Продажи, ПроцентРаспределения.Количество КАК Коэффициент ИЗ РегистрНакопления.ЗаказыПродавцов.Остатки КАК ЗаказыПродавцовОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки КАК ТоварыВРозницеОстатки ПО ЗаказыПродавцовОстатки.Номенклатура = ТоварыВРозницеОстатки.Номенклатура И ЗаказыПродавцовОстатки.СкладЗаказчик = ТоварыВРозницеОстатки.Склад ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2, , ) КАК ПродажиОбороты ПО ЗаказыПродавцовОстатки.Номенклатура = ПродажиОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПроцентРаспределения КАК ПроцентРаспределения ПО ЗаказыПродавцовОстатки.Номенклатура = ПроцентРаспределения.Номенклатура  | 
|||
| 
    7
    
        Ненавижу 1С    
     гуру 
    30.08.12 
            ✎
    10:40 
 | 
         
        (6) и какие данные перестают попадать?
  
        это весь запрос?  | 
|||
| 
    8
    
        vmv    
     30.08.12 
            ✎
    10:41 
 | 
         
        (6) сделай отдельные ВТ для каждой физической таблицы, проиндексировав по полям соединений и потом их соединяй
  
        не тряси ерундой  | 
|||
| 
    9
    
        Web00001    
     30.08.12 
            ✎
    10:43 
 | 
         
        (7)Весь, ТоварыВРозницеОстатки - отсюда пропадают остатки если есть данные в таблице заказы продавцов     
         | 
|||
| 
    10
    
        vmv    
     30.08.12 
            ✎
    10:43 
 | 
         
        +(8) на самом деле в (6) не 4-ре таблицы соединяються, а еще туева кучка служебных     
         | 
|||
| 
    11
    
        Web00001    
     30.08.12 
            ✎
    10:44 
 | 
         
        (8)жестокая жесть какая, а зачем?     
         | 
|||
| 
    12
    
        andrewks    
     30.08.12 
            ✎
    10:44 
 | 
         
        (11) быстродействие     
         | 
|||
| 
    13
    
        Ненавижу 1С    
     гуру 
    30.08.12 
            ✎
    10:45 
 | 
         
        (8) а если они и так имеют индексы?     
         | 
|||
| 
    14
    
        andrewks    
     30.08.12 
            ✎
    10:45 
 | 
         
        что именно и куда не попадает?     
         | 
|||
| 
    15
    
        Ненавижу 1С    
     гуру 
    30.08.12 
            ✎
    10:46 
 | 
         
        (9) может остатков нет? а если без связи складов не пропадают?     
         | 
|||
| 
    16
    
        andrewks    
     30.08.12 
            ✎
    10:47 
 | 
         
        вот параметрами виртуалок воспользоваться было бы неплохо     
         | 
|||
| 
    17
    
        Web00001    
     30.08.12 
            ✎
    10:53 
 | 
         
        (14) в (9)
  
        (15) остатки есть, если убрать И в соединении получаем остатки на том складе на котором было движение, по регистру ЗаказыПродавцов, хотя это не так  | 
|||
| 
    18
    
        Ненавижу 1С    
     гуру 
    30.08.12 
            ✎
    10:55 
 | 
         
        (17) а склады в самих регистрах то совпадают? ))     
         | 
|||
| 
    19
    
        alextom81    
     30.08.12 
            ✎
    11:17 
 | 
         
        Запрос.Текст = "ВЫБРАТЬ
  
        | ВложенныйЗапрос.ВидПродукции КАК ВидПродукции, | ВложенныйЗапрос.Номенклатура, | СУММА(ЕСТЬNULL(ВложенныйЗапрос.КоличествоОстаток, 0)) КАК КоличествоОстаток, | СУММА(ЕСТЬNULL(ВложенныйЗапрос.КоличествоПриход, 0)) КАК КоличествоПриход, | СУММА(ЕСТЬNULL(ВложенныйЗапрос.КоличествоЗаказано, 0)) КАК КоличествоЗаказано, | ЕстьNULL(ВложенныйЗапрос.Ко, 0) Как Ко |ИЗ | (ВЫБРАТЬ | НоменклатураДляЗаказа.Номенклатура КАК Номенклатура, | НоменклатураДляЗаказа.ВидПродукции КАК ВидПродукции, | ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЕСТЬNULL(ТоварыВРозницеОбороты.КоличествоПриход, 0) КАК КоличествоПриход, | ЕСТЬNULL(УДС_ТоварыЗаказанныеМагазиномОбороты.КоличествоПриход, 0) КАК КоличествоЗаказано, | НоменклатураДляЗаказа.КоличествоКГВМесте КАК Ко | ИЗ | РегистрСведений.НоменклатураДляЗаказа КАК НоменклатураДляЗаказа | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&Дата, Склад = &Склад) КАК ТоварыВРозницеОстатки | ПО НоменклатураДляЗаказа.Номенклатура = ТоварыВРозницеОстатки.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Обороты(НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ), КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), День, Склад = Склад) КАК ТоварыВРозницеОбороты | ПО НоменклатураДляЗаказа.Номенклатура = ТоварыВРозницеОбороты.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УДС_ТоварыЗаказанныеМагазином.Обороты(НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ), КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), День, Магазин = &склад) КАК ТоварыЗаказанныеМагазиномОбороты | ПО УДС_НоменклатураДляЗаказа.Номенклатура = ТоварыЗаказанныеМагазиномОбороты.Номенклатура) КАК ВложенныйЗапрос | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.ВидПродукции, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.Ко | |УПОРЯДОЧИТЬ ПО | ВидПродукции |ИТОГИ ПО | ВидПродукции";  | 
|||
| 
    20
    
        alextom81    
     30.08.12 
            ✎
    11:18 
 | 
         
        НоменклатураДляЗаказа - регистр сведений, по которому идут все дальнейшие соединения. Потом красиво в дерево значений выводиться     
         | 
|||
| 
    21
    
        Web00001    
     30.08.12 
            ✎
    11:41 
 | 
         
        (19)В каком месте связь одной таблицы по двум полям? Не могу найти     
         | 
|||
| 
    22
    
        Web00001    
     30.08.12 
            ✎
    11:45 
 | 
         
        что такое УДС_НоменклатураДляЗаказа?     
         | 
|||
| 
    23
    
        Ненавижу 1С    
     гуру 
    30.08.12 
            ✎
    11:52 
 | 
         
        так что с (18)?     
         | 
|||
| 
    24
    
        Web00001    
     30.08.12 
            ✎
    11:57 
 | 
         
        (23)Ты имеешь ввиду на тех ли складах лежат остатки? Да там все нормально, берешь делаешь движение по регистру заказыПродавцов, на нужный склад и на этот склад сразу попадают остатки, берешь документ меняешь склад, остатки переезжают     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |