Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

язык запросов: два реквизита в одно поле

язык запросов: два реквизита в одно поле
Я
   PiotrLoginov
 
24.01.13 - 11:50
Здравствуйте всем и удачного дня. Если нетрудно, дайте пожалуйста пример объединения двух реквизитов в одно поле. Поясню: мне нужно получить список партнеров и родитель в одном поле из такого запроса:

ВЫБРАТЬ
    Партнеры.Ссылка КАК Партнер,
    ВложенныйЗапрос.Ссылка КАК Родитель
ИЗ
    (ВЫБРАТЬ
        Партнеры.Ссылка КАК Ссылка
    ИЗ
        Справочник.Партнеры КАК Партнеры
    ГДЕ
        Партнеры.Клиент = &Клиент) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
        ПО ВложенныйЗапрос.Ссылка = Партнеры.Родитель

Сейчас результат запроса - два поля Партнер и Родитель. Надо результаты запроса поместить в одно поле. Заранее спасибо за подсказку.
 
 
   ssh2006
 
1 - 24.01.13 - 11:51
(0) > Надо результаты запроса поместить в одно поле.

Объединение
   DrShad
 
2 - 24.01.13 - 11:52
(1) +1 вместо СОЕДИНЕНИЕ
   dk
 
3 - 24.01.13 - 11:54
либо объединить 
либо выбор когда...
   Wobland
 
4 - 24.01.13 - 11:59
получить представление и посложить?
   Wobland
 
5 - 24.01.13 - 12:00
(4) или наименование
   Reset
 
6 - 24.01.13 - 12:00
(5) Наименование разве :)
   PiotrLoginov
 
7 - 24.01.13 - 12:06
Синтаксис подскажете? Может быть так:

ВЫБРАТЬ
        ВложенныйЗапрос.Родитель КАК Родитель,
        Партнеры.Ссылка КАК Подразделение
    ИЗ
        (ВЫБРАТЬ
            Партнеры.Ссылка КАК Родитель
        ИЗ
            Справочник.Партнеры КАК Партнеры) КАК ВложенныйЗапрос
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
            ПО ВложенныйЗапрос.Родитель = Партнеры.Родитель

ОБЪЕДИНИТЬ ВСЕ


но как указать наименование поля, в которое в итоге объединятся Родитель и Подразделение ?
   Wobland
 
8 - 24.01.13 - 12:07
поле1+поле2 как поле3
   Reset
 
9 - 24.01.13 - 12:09
(8)
(7), очевдно, к (1)(2)(3)
До твоего вариfнта он еще не дошел :)
   plastinin
 
10 - 24.01.13 - 12:09
Типа такого:
ВЫБРАТЬ
   Контрагенты.Ссылка,
    Контрагенты.Наименование
ПОМЕСТИТЬ ВтРодитель
ИЗ
    Справочник.Контрагенты КАК Контрагенты
ГДЕ
    Контрагенты.Ссылка = &Клиент
;

 ////////////////////////////////////////////////////////////////////////////////
 
ВЫБРАТЬ
    Контрагенты.Наименование + " " + ВтРодитель.Наименование КАК Поле1
ИЗ
    ВтРодитель КАК ВтРодитель
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
        ПО ВтРодитель.Ссылка = Контрагенты.Родитель
 
 Рекламное место пустует
   PiotrLoginov
 
11 - 24.01.13 - 12:09
написал

ВЫБРАТЬ
        ВложенныйЗапрос.Родитель КАК Родитель,
        Партнеры.Ссылка КАК Подразделение
    ИЗ
        (ВЫБРАТЬ
            Партнеры.Ссылка КАК Родитель
        ИЗ
            Справочник.Партнеры КАК Партнеры) КАК ВложенныйЗапрос
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
            ПО ВложенныйЗапрос.Родитель = Партнеры.Родитель

ОБЪЕДИНИТЬ Родитель + Подразделение = Партнер



Пишет "ожидается выражение выбрать"...
   Wobland
 
12 - 24.01.13 - 12:09
поможем дойти. что такое объединение полей в одно? какой тип в итоге ожидается?
   PiotrLoginov
 
13 - 24.01.13 - 12:11
Подождите, мне надо получить не одной строкой название подразделения и родителя, а список из подразделений и родителей
   Reset
 
14 - 24.01.13 - 12:12
(13) т.е.

НекийПартнер
НекийПартнер2
РодительнекоегоПартнера
РодительнекоегоПартнера2

?
   Wobland
 
15 - 24.01.13 - 12:12
(13) что такое список? все значения слепить в одно? один хрен вопрос: какого типа поле ожидается?
ну и самое главное: в запросе зачем?
   PiotrLoginov
 
16 - 24.01.13 - 12:13
У меня в результате это

ПОДРАЗДЕЛЕНИЕ      РОДИТЕЛЬ
дочь Пупкина        Пупкин
сын пупкина         Пупкин


А мне надо

ПАРТНЕР
Пупкин
дочь Пупкина
сын Пупкина
   PiotrLoginov
 
17 - 24.01.13 - 12:13
(14)  именно так
   Reset
 
18 - 24.01.13 - 12:13
(16) Тогда иди путем (1)(2)(3)
:)
   Wobland
 
19 - 24.01.13 - 12:14
выбрать
пратнёров
объединить
выбрать
родителей
   PiotrLoginov
 
20 - 24.01.13 - 12:16
дык я понял, что мне поможет ОБЪЕДИНЕНИЕ. Но какой синтаксис?
   PiotrLoginov
 
21 - 24.01.13 - 12:18
(7) не прокатило.  Да и надо ведь как-то указать название поля, в которое будт объединяться Родитель и Подразделение
   Wobland
 
22 - 24.01.13 - 12:18
(21) алиасы указываются в первом запросе
   Reset
 
23 - 24.01.13 - 12:20
вот пример синтаксиса. Хотя следовало бы тебя в справку послать.

ВЫБРАТЬ
        Партнеры.Ссылка КАК Ссылка
    Поместить Родители
    ИЗ
        Справочник.Партнеры КАК Партнеры

    ГДЕ
        Партнеры.Клиент = &Клиент


ВЫБРАТЬ
    Родители.Ссылка КАК ОбщееПоле
    из Родители
Объединить

ВЫБРАТЬ
        Партнеры.Ссылка КАК Ссылка
    ИЗ
        Справочник.Партнеры КАК Партнеры
    ГДЕ
        Партнеры.Родитель в (выбрать Родители.Ссылка из Родители)
   Reset
 
24 - 24.01.13 - 12:21
в последнем выбрать "КАК Ссылка" лишнее, оно будет проигнорировано, т.к. (22) верно
   Wobland
 
25 - 24.01.13 - 12:26
а времеення таблица зачем?
   Reset
 
26 - 24.01.13 - 12:29
(25) Чтобы избежать дважды в одном запросе Клиент = &Клиент
   Reset
 
27 - 24.01.13 - 12:30
(25) вот без вт

ВЫБРАТЬ
        Партнеры.Ссылка КАК Общее
    ИЗ
        Справочник.Партнеры КАК Партнеры

    ГДЕ
        Партнеры.Клиент = &Клиент
Объединить

       Партнеры.Ссылка
    ИЗ
        Справочник.Партнеры КАК Партнеры
    ГДЕ
        Партнеры.Родитель.Клиент = &Клиент
   Reset
 
28 - 24.01.13 - 12:32
Еще есть простор для раскрытия темы в случае, если автору нужны не только непосредственные дочки, но и все ниже по иерархии
   lapinio
 
29 - 24.01.13 - 12:32
Может туплю. 1)Не понятно зачем вложенный запрос. 2) Не проще использовать итоги. Родителя в итоги, а подразделение в итоговое поле.
   Wobland
 
30 - 24.01.13 - 12:35
(29) а как вариант, кстати
   PiotrLoginov
 
31 - 24.01.13 - 12:38
(23) гм. честно:  я не понял, как это работает. Здесь три запроса. При попытке скормить их контруктору он пишет "Синтаксическая ошибка "ВЫБРАТЬ"<<?>>ВЫБРАТЬ"

Первый запрос получает таблицу Родители? Второй превращает её в ОбщееПоле ? Третий находит партнеров, чей родитель содержится в Родители ? В чем смысл ?

------------
Я написал запрос для формирования сегмента, состоящего из Партнеров-родителей. Сегмент формируется исходя из обслуживающего этого самого Партнера и его подразделения конкретного физ. лица - торгового представителя. Все работало чудесно.

Теперь оказалось, что мне надо включить в список Партнеров, входящих в сегмент, не только Родителей, но и их подразделения. Я добавил в исходный запрос строку "ЗапросПартнеров.Подразделение КАК Подразделение", и получилось вот что:


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


Но мне не нужен список партнеров и их подразделений, подобный 

РОДИТЕЛЬ         ПОДРАЗДЕЛЕНИЕ      
Пупкин            дочь Пупкина
Пупкин            сын пупкина


Мне надо получить в итоге для СКД лишь список партнеров и их подразделений:

ПАРТНЕР
Пупкин
дочь Пупкина
сын Пупкина
   lapinio
 
32 - 24.01.13 - 12:40
В СКД делается элементарно. Групировочное поле родитель, детальные записи подразделение
   Reset
 
33 - 24.01.13 - 12:41
(29) Типа так? :

Партнеры.Ссылка как Общее
    ИЗ
        Справочник.Партнеры КАК Партнеры
    ГДЕ
        Партнеры.Родитель.Клиент = &Клиент/// 1 уровень вложенности опять хотя
 
Итоги по Партнеры.Ссылка иерархия КАК Общее
 
 
   Reset
 
34 - 24.01.13 - 12:43
(31) Точку с запятой (;) добавить перед втрым ВЫБРАТЬ
   lapinio
 
35 - 24.01.13 - 12:44
(33) Как то да. Ему вообще нужен простой отчет на скд. Зачем изголяться в запросе. Непонятно
   PiotrLoginov
 
36 - 24.01.13 - 12:46
(34) Оо-о .. кажется начинает структурироваться каша в моей голове :)
   PiotrLoginov
 
37 - 24.01.13 - 12:47
(35) Проще написать запрос, сразу дающий искомое. И на будущее пригодится.
   PR
 
38 - 24.01.13 - 13:12
(0) Дурдом какой-то. От конфигуратора отлучать за такое :))


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует