![]() |
|
Цикл в запросе, (не запрос в цикле) | ☑ | ||
---|---|---|---|---|
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)
только в СКД нельзя |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |