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

Заполнение колонки в списке элементов справочника

Автор Alex066, Вчера в 10:30

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

Alex066

Добрый день!
Необходимо вывести популярную услугу в колонку списка элементов справочника контрагентов


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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ОборотыУслугПоКонтрагентамОбороты.Услуга КАК Услуга,
   ОборотыУслугПоКонтрагентамОбороты.Контрагент КАК Контрагент,
   МАКСИМУМ(ОборотыУслугПоКонтрагентамОбороты.КоличествоОборот) КАК КоличествоОборот
ПОМЕСТИТЬ ВТУслуг
ИЗ
   РегистрНакопления.ОборотыУслугПоКонтрагентам.Обороты КАК ОборотыУслугПоКонтрагентамОбороты

СГРУППИРОВАТЬ ПО
   ОборотыУслугПоКонтрагентамОбороты.Услуга,
   ОборотыУслугПоКонтрагентамОбороты.Контрагент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МАКСИМУМ(ВТУслуг.КоличествоОборот) КАК КоличествоОборот,
   ВТКонтрагентов.Ссылка КАК Ссылка
ПОМЕСТИТЬ ПопулярныеУслуги
ИЗ
   ВТКонтрагентов КАК ВТКонтрагентов
      ЛЕВОЕ СОЕДИНЕНИЕ ВТУслуг КАК ВТУслуг
      ПО ВТКонтрагентов.Ссылка = ВТУслуг.Контрагент

СГРУППИРОВАТЬ ПО
   ВТКонтрагентов.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ПопулярныеУслуги.Ссылка КАК Ссылка,
   ВТУслуг.Услуга КАК Услуга
ИЗ
   ВТУслуг КАК ВТУслуг
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПопулярныеУслуги КАК ПопулярныеУслуги
      ПО (ВТУслуг.КоличествоОборот = ПопулярныеУслуги.КоличествоОборот)

По итогу должно 3 записи контрагент - услуга, Почему выводится лишняя запись?
Скрин результатов запросов во вложении



sali

Цитата: Alex066 от Вчера в 10:30Почему выводится лишняя запись?
почему ? вроде не дубль, один и тот же контрагент , но разная услуга. также и в первых двух

Alex066

sali, должно на каждого контрагента по одной популярной услуге, т.е. 3 контрагенты - 3 услуги

Alex066

Цитата: Alex066 от Вчера в 12:03sali, должно на каждого контрагента по одной популярной услуге, т.е. 3 контрагенты - 3 услуги
Петров П - забить гвоздь
Иванова Л - забить гвоздь
Михаил Иванов - сверлить стену

antoneus

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ОборотыУслугПоКонтрагентамОбороты.Услуга КАК Услуга,
   ОборотыУслугПоКонтрагентамОбороты.Контрагент КАК Контрагент,
   ОборотыУслугПоКонтрагентамОбороты.КоличествоОборот КАК КоличествоОборот
ПОМЕСТИТЬ ВТУслуг
ИЗ
   РегистрНакопления.ОборотыУслугПоКонтрагентам.Обороты КАК ОборотыУслугПоКонтрагентамОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МАКСИМУМ(ВТУслуг.КоличествоОборот) КАК КоличествоОборот,
   ВТУслуг.Контрагент КАК Контрагент
ПОМЕСТИТЬ ПопулярныеУслуги
ИЗ
 ВТУслуг КАК ВТУслуг

СГРУППИРОВАТЬ ПО
   ВТУслуг.Контрагент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТКонтрагенты.Контрагент КАК Контрагент,
   МАКСИМУМ(ВТУслуг.Услуга) КАК Услуга
ИЗ
   ВТКонтрагенты КАК ВТКонтрагенты
      ЛЕВОЕ СОЕДИНЕНИЕ ПопулярныеУслуги КАК ПопулярныеУслуги
      ПО (ВТКонтрагенты.Контрагент = ПопулярныеУслуги.Контрагент)
      ЛЕВОЕ СОЕДИНЕНИЕ ВТУслуги КАК ВТУслуги
      ПО ВТКонтрагенты.Контрагент = ВТУслуги.Контрагент
      И ПопулярныеУслуги.КоличествоОборот = ВТУслуги.КоличествоОборот
СГРУППИРОВАТЬ ПО
    ВТКонтрагенты.Контрагент

Alex066


Теги:
Рейтинг@Mail.ru

Поиск