Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:24

Запросы

Автор Новенькая, 10 окт 2012, 21:45

0 Пользователей и 1 гость просматривают эту тему.

Новенькая

Здравствуйте, помогите, пожалуйста, с запросами....никак не могу совладать. Есть запрос по табличной части документа:
ВЫБРАТЬ
   ЭтапыСогласованияСогласующие.Пользователь,
   ЭтапыСогласованияСогласующие.Состояние
ИЗ
   Документ.ЭтапыСогласования.Согласующие КАК ЭтапыСогласованияСогласующие
ГДЕ
   ЭтапыСогласованияСогласующие.Ссылка.Ссылка = &Этап
Его результатом является, например, таблица:
Пользователь                               Состояние
Администратор                               Запуск
Абрамова Дарья Александровна   Согласовано
Администратор                               Согласовано
Арзамазова Елена

И есть запрос по списку документов:
ВЫБРАТЬ
   ЭтапыСогласования.Комментарий
ИЗ
   Документ.ЭтапыСогласования КАК ЭтапыСогласования
ГДЕ
   ЭтапыСогласования.ВходящееОбязательство = &ВхОбяз

Его результатом является, например, таблица:

Комментарий
ком №2
ком №3
ком №3

В результате надо получить следующее:
Пользователь                               Состояние                           Комментарий
Администратор                               Запуск                                 
Абрамова Дарья Александровна   Согласовано                       ком №2       
Администратор                               Согласовано                       ком №3
Арзамазова Елена                                                             ком №3

Т.е. надо присоединить вторую таблицу к первой начиная со второй строчки. Можно ли это сделать??? заранее спасибо.....

mixqn

Цитата: Новенькая от 10 окт 2012, 21:45Можно ли это сделать???
Можно.
Для этого нужно использовать соединение - левое или внутреннее.
Исходя из ваших запросов, итоговый будет выглядеть примерно так:
ВЫБРАТЬ
   ЭтапыСогласованияСогласующие.Пользователь,
   ЭтапыСогласованияСогласующие.Состояние,
   ЭтапыСогласования.Комментарий
ИЗ
   Документ.ЭтапыСогласования.Согласующие КАК ЭтапыСогласованияСогласующие
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЭтапыСогласования КАК ЭтапыСогласования
   ПО ЭтапыСогласованияСогласующие.Ссылка = ЭтапыСогласования.Ссылка


Условия не стал добавлять, т.к. оба условия тут не нужны. Либо
ГДЕ
   ЭтапыСогласованияСогласующие.Ссылка = &Этап

(вторая ссылка через точку не нужна)
либо
ГДЕ
   ЭтапыСогласования.ВходящееОбязательство = &ВхОбяз

Новенькая

Этот вариант меня не устраивает, так как в результате я получу комментарий только из одного документа(последнего) и результат будет такой:
Пользователь                               Состояние                           Комментарий
Администратор                               Запуск                             ком №3     
Абрамова Дарья Александровна   Согласовано                       ком №3       
Администратор                               Согласовано                       ком №3
Арзамазова Елена                                                             ком №3

mixqn

Цитата: Новенькая от 11 окт 2012, 08:58Этот вариант меня не устраивает, так как в результате я получу комментарий только из одного документа(последнего)
Неправильно.
Вы получите комментарий не из последнего документа, а из тогоже самого, из которого будет список пользователей.
Добавлено: 11 окт 2012, 11:18


У вас отношение комментариев к пользователям один ко многим - на 1 комментарий много пользователей, т.к. комментарий у вас в "шапке" документа, а пользователи - в табличной части того же документа. Поэтому логично, что к разным пользователям внутри 1 документа будет 1 комментарий.
Если вам нужны комментарии пользователей (у каждого свой), то вам надо поле комментарий добавить в табличную часть.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск