Имя: Пароль:
1C
1С v8
Не соединяет запрос - замылился
0 Маленький Вопросик
 
12.08.19
10:06
ВЫБРАТЬ
    Контрагенты.Ссылка,
    Контрагенты.ИНН,
    Контрагенты.КПП
ПОМЕСТИТЬ ВТ_Контрагенты
ИЗ
    Справочник.Контрагенты КАК Контрагенты
ГДЕ
    Контрагенты.ПометкаУдаления = ЛОЖЬ
    И Контрагенты.ЭтоГруппа = ЛОЖЬ
    И Контрагенты.ИНН = &ИНН
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Контрагенты.Ссылка,
    ВТ_Контрагенты.ИНН,
    ВТ_Контрагенты.КПП,
    КонтактнаяИнформация.Представление КАК ФактическийАдресКонтрагента
ПОМЕСТИТЬ ВТ_ФактическийАдресКонтрагента
ИЗ
    ВТ_Контрагенты КАК ВТ_Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО ВТ_Контрагенты.Ссылка = КонтактнаяИнформация.Объект
ГДЕ
    КонтактнаяИнформация.Тип = &Тип
    И КонтактнаяИнформация.Вид = &ВидФакт
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ФактическийАдресКонтрагента.Ссылка,
    ВТ_ФактическийАдресКонтрагента.ИНН,
    ВТ_ФактическийАдресКонтрагента.КПП,
    ВТ_ФактическийАдресКонтрагента.ФактическийАдресКонтрагента,
    КонтактнаяИнформация.Представление КАК ЮрАдресКонтрагента
ИЗ
    ВТ_ФактическийАдресКонтрагента КАК ВТ_ФактическийАдресКонтрагента
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО ВТ_ФактическийАдресКонтрагента.Ссылка = КонтактнаяИнформация.Объект
ГДЕ
    КонтактнаяИнформация.Тип = &Тип
    И КонтактнаяИнформация.Вид = &ВидЮР


Здравствуйте, данные во временных таблицах есть, при соединении последней таблицы - не выводит результат. Не могу понять в чем дело
1 aleks_default
 
12.08.19
10:08
ВидЮР
2 Маленький Вопросик
 
12.08.19
10:09
Юридический адрес контрагента
3 Маленький Вопросик
 
12.08.19
10:10
все понял! спасибо!
4 1Сергей
 
12.08.19
10:10
Смысл третьего запроса непонятен
5 aleks_default
 
12.08.19
10:10
Ну проверь параметры может, тип КИ у них разный может юр адреса нет. По запросу все правильно, дело в параметрах
6 Вафель
 
12.08.19
10:17
условие в где а нужно в соединении
7 Маленький Вопросик
 
12.08.19
10:17
(4) чисто для проверки, собираю таблицу по частям
8 Вафель
 
12.08.19
10:18
да и вообще проще сразу 2 соединения сделать
9 Маленький Вопросик
 
12.08.19
10:23
(6) напиши условие в соединении
10 Маленький Вопросик
 
12.08.19
10:24
ток не через вирт таблицу юрадресов
11 Маленький Вопросик
 
12.08.19
11:12
Запрос.Текст = "
|ВЫБРАТЬ
|    Контрагенты.Ссылка,
|    Контрагенты.ИНН,
|    Контрагенты.КПП
|ПОМЕСТИТЬ ВТ_Контрагенты
|ИЗ
|    Справочник.Контрагенты КАК Контрагенты
|ГДЕ
|    Контрагенты.ПометкаУдаления = ЛОЖЬ
|    И Контрагенты.ЭтоГруппа = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_Контрагенты.Ссылка,
|    ВТ_Контрагенты.ИНН,
|    ВТ_Контрагенты.КПП,
|    КонтактнаяИнформация.Представление КАК ФактическийАдресКонтрагента
|ПОМЕСТИТЬ ВТ_ФактическийАдресКонтрагента
|ИЗ
|    ВТ_Контрагенты КАК ВТ_Контрагенты
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|        ПО ВТ_Контрагенты.Ссылка = КонтактнаяИнформация.Объект
|ГДЕ
|    КонтактнаяИнформация.Тип = &Тип
|    И КонтактнаяИнформация.Вид = &ВидФакт
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_Контрагенты.Ссылка,
|    ВТ_Контрагенты.ИНН,
|    ВТ_Контрагенты.КПП,
|    КонтактнаяИнформация.Представление КАК ЮрАдресКонтрагента
|ПОМЕСТИТЬ ВТ_ЮрАдресКонтрагента
|ИЗ
|    ВТ_Контрагенты КАК ВТ_Контрагенты
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|        ПО ВТ_Контрагенты.Ссылка = КонтактнаяИнформация.Объект
|ГДЕ
|    КонтактнаяИнформация.Тип = &Тип
|    И КонтактнаяИнформация.Вид = &ВидЮР
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_ФактическийАдресКонтрагента.Ссылка,
|    ВТ_ФактическийАдресКонтрагента.ИНН,
|    ВТ_ФактическийАдресКонтрагента.КПП,
|    ВТ_ФактическийАдресКонтрагента.ФактическийАдресКонтрагента,
|    ВТ_ЮрАдресКонтрагента.ЮрАдресКонтрагента
|ИЗ
|    ВТ_ФактическийАдресКонтрагента КАК ВТ_ФактическийАдресКонтрагента
|        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЮрАдресКонтрагента КАК ВТ_ЮрАдресКонтрагента
|        ПО ВТ_ФактическийАдресКонтрагента.Ссылка = ВТ_ЮрАдресКонтрагента.Ссылка";


кому надобно - когда есть фактический, но нет юридического.....
12 Маленький Вопросик
 
12.08.19
11:46
Запрос.Текст = "
|ВЫБРАТЬ
|    Контрагенты.Ссылка,
|    Контрагенты.ИНН,
|    Контрагенты.КПП
|ПОМЕСТИТЬ ВТ_Контрагенты
|ИЗ
|    Справочник.Контрагенты КАК Контрагенты
|ГДЕ
|    Контрагенты.ПометкаУдаления = ЛОЖЬ
|    И Контрагенты.ЭтоГруппа = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_Контрагенты.Ссылка,
|    ВТ_Контрагенты.ИНН,
|    ВТ_Контрагенты.КПП,
|    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(255)) КАК ФактическийАдресКонтрагента
|ПОМЕСТИТЬ ВТ_ФактическийАдресКонтрагента
|ИЗ
|    ВТ_Контрагенты КАК ВТ_Контрагенты
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|        ПО ВТ_Контрагенты.Ссылка = КонтактнаяИнформация.Объект
|ГДЕ
|    КонтактнаяИнформация.Тип = &Тип
|    И КонтактнаяИнформация.Вид = &ВидФакт
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_Контрагенты.Ссылка,
|    ВТ_Контрагенты.ИНН,
|    ВТ_Контрагенты.КПП,
|    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(255)) КАК ЮрАдресКонтрагента
|ПОМЕСТИТЬ ВТ_ЮрАдресКонтрагента
|ИЗ
|    ВТ_Контрагенты КАК ВТ_Контрагенты
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|        ПО ВТ_Контрагенты.Ссылка = КонтактнаяИнформация.Объект
|ГДЕ
|    КонтактнаяИнформация.Тип = &Тип
|    И КонтактнаяИнформация.Вид = &ВидЮР
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_ФактическийАдресКонтрагента.Ссылка,
|    ВТ_ФактическийАдресКонтрагента.ИНН,
|    ВТ_ФактическийАдресКонтрагента.КПП,
|    ВТ_ФактическийАдресКонтрагента.ФактическийАдресКонтрагента,
|    ЕСТЬNULL(ВТ_ЮрАдресКонтрагента.ЮрАдресКонтрагента, 0) КАК ЮрАдресКонтрагента
|ПОМЕСТИТЬ ВТ_Все
|ИЗ
|    ВТ_ФактическийАдресКонтрагента КАК ВТ_ФактическийАдресКонтрагента
|        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЮрАдресКонтрагента КАК ВТ_ЮрАдресКонтрагента
|        ПО ВТ_ФактическийАдресКонтрагента.Ссылка = ВТ_ЮрАдресКонтрагента.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    ВТ_Все.Ссылка КАК Контрагент,
|    ВТ_Все.ИНН КАК ИНН,
|    ВТ_Все.КПП КАК КПП,
|    ВТ_Все.ФактическийАдресКонтрагента КАК ФактическийАдрес,
|    ВТ_Все.ЮрАдресКонтрагента КАК ЮридическийАдрес
|ИЗ
|    ВТ_Все КАК ВТ_Все
|ГДЕ
|    ВТ_Все.ЮрАдресКонтрагента = 0";
13 Simod
 
12.08.19
13:35
(12) Это делается в один запрос:

ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.ИНН КАК ИНН,
    Контрагенты.КПП КАК КПП,
    МАКСИМУМ(ВЫРАЗИТЬ(ВЫБОР
                КОГДА КонтактнаяИнформация.Вид = &ВидФакт
                    ТОГДА КонтактнаяИнформация.Представление
            КОНЕЦ КАК СТРОКА(500))) КАК ФактическийАдресКонтрагента,
    МАКСИМУМ(ВЫРАЗИТЬ(ВЫБОР
                КОГДА КонтактнаяИнформация.Вид = &ВидЮР
                    ТОГДА КонтактнаяИнформация.Представление
            КОНЕЦ КАК СТРОКА(500))) КАК ЮрАдресКонтрагента
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект
ГДЕ
    Контрагенты.ИНН = &ИНН
    И НЕ Контрагенты.ПометкаУдаления
    И КонтактнаяИнформация.Тип = &Тип
    И КонтактнаяИнформация.Вид В (&ВидФакт, &ВидЮР)

СГРУППИРОВАТЬ ПО
    Контрагенты.Ссылка,
    Контрагенты.ИНН,
    Контрагенты.КПП
14 Маленький Вопросик
 
12.08.19
15:52
ну когда есть пример - то да!
15 ptiz
 
12.08.19
16:01
(14) Условие ГДЕ превращает все твои ЛЕВЫЕ соединения во ВНУТРЕННИЕ
16 Маленький Вопросик
 
12.08.19
16:14
(15) именно поэтому я и задал вопрос в (1)

1.выбираем контрагента
2.привязываем к нему фактический адрес
3.привязыывем к нему юр адрес
4.соединяем исходя из наличия факт адреса
5.выбираем пустые Юр адреса