Привет всем.
Никак не могу составить запрос так, чтобы не было повторов. Подскажите, как сделать.
Смысл запроса - отобрать контрагентов из документов реализации за определенный период и получить их адреса.
Никак не могу составить запрос так, чтобы не было повторов. Подскажите, как сделать.
Запрос.Текст =
"ВЫБРАТЬ
| КонтактнаяИнформация.Объект,
| КонтактнаяИнформация.Представление
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО РеализацияТоваровУслуг.Контрагент = КонтактнаяИнформация.Объект
|ГДЕ
| КонтактнаяИнформация.Тип = &Адрес
| И РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода";
ЗапросКлиенты.УстановитьПараметр("НачалоПериода",НачалоПериода);
ЗапросКлиенты.УстановитьПараметр("КонецПериода",КонецПериода);
ЗапросКлиенты.УстановитьПараметр("Адрес",Перечисления.ТипыКонтактнойИнформации.Адрес);
ПоказатьСмысл запроса - отобрать контрагентов из документов реализации за определенный период и получить их адреса.
По теме из базы знаний
Найденные решения
Всем спасибо за участие, сделал сам с помощью вложенного запроса. Получилось так:
ВЫБРАТЬ
ВложенныйЗапрос.Контрагент,
КонтактнаяИнформация.Представление КАК Адрес
ИЗ
(ВЫБРАТЬ
РеализацияТоваровУслуг.Контрагент КАК Контрагент
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
РеализацияТоваровУслуг.Контрагент) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО ВложенныйЗапрос.Контрагент = КонтактнаяИнформация.Объект
ГДЕ
КонтактнаяИнформация.Тип = &Адрес
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В результате будет столько строк, сколько доков Реализация.
След-но, один Контрик может повториться.
Используйте "Группировать".
След-но, один Контрик может повториться.
Используйте "Группировать".
или группировать ,
или соединение "с другой стороны" РегистрСведений левое соед Док реализации,
или в виртуальную таблицу выбрать котрагентов из документов реализаций по условию с датами, и далее и регистра сведений брать инфу с условием контрагент в списке из виртуальной таблицы+условие с типом адреса.
или соединение "с другой стороны" РегистрСведений левое соед Док реализации,
или в виртуальную таблицу выбрать котрагентов из документов реализаций по условию с датами, и далее и регистра сведений брать инфу с условием контрагент в списке из виртуальной таблицы+условие с типом адреса.
Всем спасибо за участие, сделал сам с помощью вложенного запроса. Получилось так:
ВЫБРАТЬ
ВложенныйЗапрос.Контрагент,
КонтактнаяИнформация.Представление КАК Адрес
ИЗ
(ВЫБРАТЬ
РеализацияТоваровУслуг.Контрагент КАК Контрагент
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
РеализацияТоваровУслуг.Контрагент) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО ВложенныйЗапрос.Контрагент = КонтактнаяИнформация.Объект
ГДЕ
КонтактнаяИнформация.Тип = &Адрес
Показать
(6) Так без вложенного запроса, группировать то он и не позволяет. Во вложенном запросе провел группировку, потом через ЛЕВОЕ СОЕДИНЕНИЕ добрал нужное. Хотя еще можно через регистр накопления Продажи попробовать выбрать контрагентов.
В вашем запросе выбираются все адреса. Используйте Внутреннее соединение, Для исключения дублей добавьте сгруппировать:
"ВЫБРАТЬ
| КонтактнаяИнформация.Объект,
| КонтактнаяИнформация.Представление
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК | | КонтактнаяИнформация
| ПО РеализацияТоваровУслуг.Контрагент = КонтактнаяИнформация.Объект
|ГДЕ
| КонтактнаяИнформация.Тип = &Адрес
| И РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| СГРУППИРОВАТЬ ПО
| КонтактнаяИнформация.Объект,
| КонтактнаяИнформация.Представление
"
Показать
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот