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


1С:Предприятие ::

Метки: 

Запросом выбрать макс заполненную реквизитами строку тч справочника

Я
   skupidom
 
30.07.18 - 21:35
Есть самописный справочник Контрагенты.У него табличная часть - подчиненный справочник клиенты. У справочника клиенты есть реквизит - вес с типом число.Как запросом получить 1 элемент с максимальным весом ?
 
 
   ColonelAp4u
 
1 - 30.07.18 - 22:32
выбрать первый
группировка максимум
   ColonelAp4u
 
2 - 30.07.18 - 22:32
даже максимум достаточно
   skupidom
 
3 - 30.07.18 - 22:52
а если нужно выбрать много элементов и у каждого подчиненный справочник клиентов?
   Cyberhawk
 
4 - 31.07.18 - 06:36
Сгруппировать по числу, клиенту и владельцу
   Cyberhawk
 
5 - 31.07.18 - 06:37
*число в максимум
   skupidom
 
6 - 31.07.18 - 10:06
Вместо 1 записи выбирает 3 почему-то, хотя вес у этих записей 5,2,2
Запрос:
ВЫБРАТЬ
    КонтрагентыТЧСостав.Контрагент КАК ПервичныйКонтрагент,
    МАКСИМУМ(КонтрагентыТЧСостав.Контрагент.ВесЗаполненности) КАК Вес
ИЗ
    Справочник.КонтрагентыТЧ.Состав КАК КонтрагентыТЧСостав
ГДЕ
    КонтрагентыТЧСостав.Ссылка = &Выб

СГРУППИРОВАТЬ ПО
    КонтрагентыТЧСостав.Контрагент
   ColonelAp4u
 
7 - 31.07.18 - 10:35
(6) можно без группировки, используй сортировку по убыв вес, и выбери первый
   Serg_1960
 
Модератор
8 - 31.07.18 - 10:38
Автору в первом посте советовали ВЫБРАТЬ ПЕРВЫЕ.

"а если нужно выбрать много элементов и у каждого..." - ну тогда ВЫБРАТЬ РАЗЛИЧНЫЕ :)
   skupidom
 
9 - 31.07.18 - 12:23
а как запрос под 1 контрагента, переписать под множество,чтобы не использовать &, но желательно в 1 запросе
мой запрос по 1 контрагенту:
"ВЫБРАТЬ
    |    МАКСИМУМ(КонтрагентыТЧСостав.Контрагент.ВесЗаполненности) КАК Вес
    |ПОМЕСТИТЬ ТМакс
    |ИЗ
    |    Справочник.КонтрагентыТЧ.Состав КАК КонтрагентыТЧСостав
    |ГДЕ
    |    КонтрагентыТЧСостав.Ссылка = &Выб
    |;
    |
    ////////////////////////////////////////////////////////////////////////////////

    |ВЫБРАТЬ
    |    КонтрагентыТЧСостав.Ссылка КАК Ссылка,
    |    ТМакс.Вес КАК Вес,
    |    КонтрагентыТЧСостав.Контрагент КАК Контрагент
    |ИЗ
    |    Справочник.КонтрагентыТЧ.Состав КАК КонтрагентыТЧСостав
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТМакс КАК ТМакс
    |        ПО КонтрагентыТЧСостав.Контрагент.ВесЗаполненности = ТМакс.Вес
    |ГДЕ
    |    КонтрагентыТЧСостав.Ссылка = &Выб";
   novichok79
 
10 - 31.07.18 - 12:26
(0) какая-то дичь имхо
 
  Рекламное место пустует
   novichok79
 
11 - 31.07.18 - 12:31
ВЫБРАТЬ
    КонтрагентыТЧСостав.Контрагент КАК Контрагент,
    МАКСИМУМ(КонтрагентыТЧСостав.Контрагент.ВесЗаполненности) КАК Вес
ИЗ
    Справочник.КонтрагентыТЧ.Состав КАК КонтрагентыТЧСостав

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

тут ты выбираешь самого крутого контрагента,
а потом берешь и выбираешь ссылки, где этот контрагент используется. как-то так наверное. непонятна структура метаданных, поэтому помочь невозможно.
   skupidom
 
12 - 31.07.18 - 12:41
есть справочник контрагенты1, у него табличная часть Состав.В этой тч содержатся контрагенты № 2 относящиеся к 1 контрагенту. У каждого контрагента №2 есть реквизит вес. Нужно в отчете вывести контрагента №1 и 1 контрагента №2 из тч с максимальным значением веса. Все это сделать в 1 запросе
   Вафель
 
13 - 31.07.18 - 12:44
нужно начинать с такого запроса

Запрос:
ВЫБРАТЬ
    КонтрагентыТЧСостав.ССЫЛКА КАК ПервичныйКонтрагент,
    МАКСИМУМ(КонтрагентыТЧСостав.Контрагент.ВесЗаполненности) КАК Вес
ИЗ
    Справочник.КонтрагентыТЧ.Состав КАК КонтрагентыТЧСостав
ГДЕ
    КонтрагентыТЧСостав.Ссылка = &Выб

СГРУППИРОВАТЬ ПО
    КонтрагентыТЧСостав.Контрагент
   novichok79
 
14 - 31.07.18 - 12:47
(12) задание на собеседование что-ли?
   skupidom
 
15 - 31.07.18 - 12:47
а если без &Выб ?
   Вафель
 
16 - 31.07.18 - 12:48
Вернее так
ВЫБРАТЬ
    КонтрагентыТЧСостав.ССЫЛКА КАК ПервичныйКонтрагент,
    МАКСИМУМ(КонтрагентыТЧСостав.Контрагент.ВесЗаполненности) КАК Вес
ИЗ
    Справочник.КонтрагентыТЧ.Состав КАК КонтрагентыТЧСостав
СГРУППИРОВАТЬ ПО
    КонтрагентыТЧСостав.ССЫЛКА
   novichok79
 
17 - 31.07.18 - 12:56
Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ТабличнаяЧасть.Ссылка КАК Ссылка,
    |    МАКСИМУМ(РеквизитыКонтрагентов.Вес) КАК Вес
    |ПОМЕСТИТЬ МаксимальныйВес
    |ИЗ
    |    Справочник.Контрагенты.Состав КАК ТабличнаяЧасть
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК РеквизитыКонтрагентов
    |        ПО ТабличнаяЧасть.Контрагент = РеквизитыКонтрагентов.Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    |    ТабличнаяЧасть.Ссылка
    |;
    |
    ////////////////////////////////////////////////////////////////////////////////

    |ВЫБРАТЬ
    |    ТабличнаяЧасть.Ссылка КАК Ссылка,
    |    МАКСИМУМ(ТабличнаяЧасть.Контрагент) КАК Контрагент
    |ИЗ
    |    Справочник.Контрагенты.Состав КАК ТабличнаяЧасть
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК РеквизитыКонтрагентов
    |        ПО ТабличнаяЧасть.Контрагент = РеквизитыКонтрагентов.Ссылка
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ МаксимальныйВес КАК МаксимальныйВес
    |        ПО ТабличнаяЧасть.Ссылка = МаксимальныйВес.Ссылка
    |            И (РеквизитыКонтрагентов.Вес = МаксимальныйВес.Вес)
    |
    |СГРУППИРОВАТЬ ПО
    |    ТабличнаяЧасть.Ссылка";

написал за 3 минуты, задача лоховская
   skupidom
 
18 - 31.07.18 - 14:19
Доп. условие: в тч контрагента №1 помимо ключевого показателя = вес, есть показатель категория контрагента, как добавить чтобы выбирался не просто контрагент № 2 с макс весом,а с макс весом в разрезе каждой категории.
Категории: 1,2,3
   novichok79
 
19 - 31.07.18 - 15:09
(18) сколько вы заплатите мне за работу?
   skupidom
 
20 - 31.07.18 - 15:09
там немного нужно доработать
   novichok79
 
21 - 31.07.18 - 15:11
(20) так вперед и с песней.



Список тем форума
Рекламное место пустует   Рекламное место пустует
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует