|
Цикл в запросе, (не запрос в цикле) |
☑ |
0
drdroid
11.05.10
✎
09:53
|
Необходимо в запросе который выводит отчет по контрагентам выводить рядом с наименованиями контрагентов колонку менеджеры контрагентов где в одной ячейке выводить всех менеджеров поставщика/покупателя через запятую. Т.е. в запросе необходимо пройтись по табличной части справочника и сцепить всех контрагентов в одну строку.
Как такое сделать в запросе 1С??? В оракле можно было воспользоваться курсором и циклом, в запросах 1С не вижу ничего подобного...
Есть ли возможность в запросе из табличной части сделать одну строку с разделителями?
|
|
1
also
11.05.10
✎
09:55
|
в запросе, строку с запятыми не получишь
|
|
2
also
11.05.10
✎
09:57
|
можешь в запросе например положить рядом с контрагентом в ячейку вложенную таблицу, а потом циклом из таблички сделать строчку с запятыми
|
|
3
drdroid
11.05.10
✎
11:12
|
Пока делаю через цикл при обработке вывода отчета, хотелось бы элегантней в запросе все сделать.
|
|
4
also
11.05.10
✎
11:13
|
(3) прочитай (1) еще раз
|
|
5
shuhard
11.05.10
✎
11:19
|
(3) СКД + функция
|
|
6
Abracadabra
11.05.10
✎
11:28
|
(0) в СКД: ВЫБРАТЬ Контрагенты.Ссылка, ПолучитьСписокМенеджеров(Контрагенты.МенеджерыПокупателя.( Ссылка, НомерСтроки, МенеджерПокупателя )) КАК СписокМенеджеров ИЗ Справочник.Контрагенты КАК Контрагенты в глобальном модуле: Функция ПолучитьСписокМенеджеров(ТаблицаМенеджеров) СтрокаМенеджеров = ""; Для Каждого ТекСтрока Из ТаблицаМенеджеров Цикл СтрокаМенеджеров = СтрокаМенеджеров + ТекСтрока.МенеджерПокупателя + ", "; КонецЦикла; Возврат СтрокаМенеджеров; КонецФункции Привет старикам и их любимому ПостроителюОтчетов :)
|
|
7
Abracadabra
11.05.10
✎
11:29
|
У функции только нужно ляпнуть Экспорт
|
|
8
Serg_1960
11.05.10
✎
11:34
|
Выводить менеджеров "через запятую", незная сколько их там в списке... ммм... не оптимальное решение.
Привет молодым и их любимому СКД - умный иструмент для... эээ... не оптимальных разработчиков :))
|
|
9
Abracadabra
11.05.10
✎
11:36
|
(8) Во-первых, автор и так хочет выводить ВСЕХ менеджеров. Во-вторых, сложно себе представить базу, в которой у каждого контрагента будет прописано несколько сотен менеджеров ;)
|
|
10
Abracadabra
11.05.10
✎
11:38
|
а в-третьих, на ПостроителеОтчета нужно будет наштамповать лишних пару сотен строчек кода, чтобы все это сделать :)
|
|
11
drdroid
11.05.10
✎
13:15
|
(6) Это то что надо! Спасибо, еще пару вопросов: Интересненько, а использовать функцию можно только в СКД или в любом запросе? И без глобализации (для внешнего отчета) не обойтись?
|
|
12
shuhard
11.05.10
✎
13:19
|
(11) только в СКД нельзя
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший