Имя: Пароль:
1C
 
Динамический список с любимой услугой контрагента
0 Anterian
 
naïve
08.07.25
17:07
Всем привет. Есть следующая задача: нужно в динамическом списке справочника контрагенты вывести доп.колонку "любимая услуга", которая покажет услугу, которая больше всего раз была оказана контрагенту (информацию брать из расходной накладной). Как это реализовать? Написал вот такой запрос, но не уверен что в правильном направлении двигаюсь, есть мысли как это можно сделать?
[CODE]ВЫБРАТЬ
    РасходнаяНакладнаяТовары.Номенклатура КАК Номенклатура,
    КОЛИЧЕСТВО(0) КАК ОказаноУслуг
ПОМЕСТИТЬ ВТ_Услуги
ИЗ
    Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
ГДЕ
    РасходнаяНакладнаяТовары.Номенклатура.ВидНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)

СГРУППИРОВАТЬ ПО
    РасходнаяНакладнаяТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СправочникКонтрагенты.Ссылка КАК Ссылка,
    СправочникКонтрагенты.ПометкаУдаления КАК ПометкаУдаления,
    СправочникКонтрагенты.Код КАК Код,
    СправочникКонтрагенты.Наименование КАК Наименование,
    СправочникКонтрагенты.Предопределенный КАК Предопределенный,
    СправочникКонтрагенты.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
ИЗ
    Справочник.Контрагенты КАК СправочникКонтрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Услуги КАК ВТ_Услуги
        ПО СправочникКонтрагенты.Ссылка = ВТ_Услуги.Номенклатура[/CODE]
1 Волшебник
 
08.07.25
17:15
соединение доставило
2 СвинТуз
 
08.07.25
17:17
Как-то утомительно.
Слишком много букв писать, чтобы объяснить.

Литературу полистай.
3 СвинТуз
 
08.07.25
17:19
1. выбрать из документов все услуги с их количеством по контрагентам.
2. Найти услугу по которой максимум
3. Присоединить
4. Не забыть указать ее в списке полей. Иначе зачем?
4 Волшебник
 
08.07.25
17:20
(0) Это не должен быть динамический список. Сделайте отчёт
5 Волшебник
 
08.07.25
17:20
(3) Лучше делать запрос к регистру продаж
6 СвинТуз
 
08.07.25
17:22
(5)
Не пугайте юношу. Хотя верно конечно.

(0)
Прежде чем на форуме позориться. Стоит в консоли помучаться.
Нет желания за Вас жевать. Жеваное в рот класть.
7 СвинТуз
 
08.07.25
17:26
(0)
Любимых услуг может быть больше чем одна.
Не сделаете выбор = будет умножение строк.
8 СвинТуз
 
08.07.25
17:27
Точнее ошибка из-за множественности ключевого поля в динамическом списке.
9 Anterian
 
naïve
08.07.25
17:31
(6) Очевидно, что нужно брать из регистра данные, но я выполняю тестовое, где не говорится о его создании. По поводу позора на форуме, в чем заключается позор? Если нет желания "жевать" - не нужно было отвечать, все просто
10 СвинТуз
 
08.07.25
17:33
&НаСервере  
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)  
    Список.Параметры.УстановитьЗначениеПараметра("Контрагент", Ссылка.Контрагент);
11 СвинТуз
 
08.07.25
17:34
(9)
Вы же в консоли это не запускали?
Не тестировали?
Тогда зачем пришли?
12 СвинТуз
 
08.07.25
17:36
В чем позор не понимаете.

О чем тогда говорить? По вопросу видно, ни одной книги не читали.
Консоль не открывали.

Хочется все и сразу.
13 СвинТуз
 
08.07.25
17:41
(9)
Пардон. Но Личное впечатление.

Офицер не желающий участвовать в СВО
после года сборки мебели по заказу
подался в 1с

Не будете сами делать не научитесь.
14 СвинТуз
 
08.07.25
17:46
(10)
Нужно если контрагент один.
В общем в форме списка справочника не пригодится.
15 Волшебник
 
08.07.25
21:39
(0) будет тормозить.
Лучше заведите реквизит или свойство, которые обновляйте рег. заданием раз в сутки.
Кстати, его можно сделать в расширении. Редкий случай, когда реквизиты в расширениях реально могут быть полезны.
Но я бы рекомендовал вообще не париться, а сделать отчёт. Или просто надпись в карточке контрагента, которую обновлять ПослеОткрытия. В процедуре ПриОткрытии подключите обработчик ожидания с периодом 0.1 сек и режимом "Одноразово", в котором делайте запрос по одному контрагенту. К регистру продаж, разумеется. Убедитесь, что поле Контрагент проиндексировано.
Надпись сделайте гиперссылкой. По клику открывайте отчёт по продажам по контрагенту за последний год.
Всегда помните про период.
Закон Брукера: Даже маленькая практика стоит большой теории.