0
- 19.12.2014 - 08:41
|
Требуется перебрать и вывести в требуемом виде в макет элементы группы справочника контрагенты. Элементы в группе представлены в следующем виде: требуемая группа Исполнители. Исполнители - Город1 - Класс исполнителя1 - Класс исполнителя2 - Исполнитель1 Исполнитель2 Класс исполнителя4 - Класс исполнителя5 - Исполнитель1 Город2 и тд. То есть в группе исполнители, есть вложенные группы города, и прочие элементы. В группах города есть группы класс исполнителя, в которых как могут быть так и могут отсутствовать исполнители. Можно ли сделав такой запрос, перебирать каждую из групп, проверяя, на группу и элементы, выводить в отчет. Или какой должен быть запрос что бы сделать такой перебор? Задача перебрать каждую из подгрупп, группы Исполнители справочника контрагенты. ВЫБРАТЬ Контрагенты.Ссылка, Контрагенты.Родитель КАК Родитель ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Ссылка В ИЕРАРХИИ(&Исполнители) УПОРЯДОЧИТЬ ПО Родитель.Наименование ИТОГИ ПО Родитель | |
1
- 19.12.2014 - 09:20
| и что не устраивает? | |
2
- 19.12.2014 - 09:21
| (1) да вот пока пробую переберать | |
3
- 19.12.2014 - 09:29
| т.е тема - это не вопрос, а просто так - поговорить? | |
4
- 19.12.2014 - 09:36
| (3) вопрос, пока не очень получается | |
5
- 19.12.2014 - 10:26
|
(3) ну вот так не получается нормально перебрать!!!! По этому вот и вопрос!!! Запрос.УстановитьПараметр("Исполнители", Справочники.Контрагенты.НайтиПоНаименованию("Испол нители")); Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда ВыборкаИсполнитель = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамС Иерархией); Пока ВыборкаИсполнитель.Следующий() Цикл ОбластьСтрока.Параметры.Город = ВыборкаГород = ВыборкаИсполнитель.Выбрать(ОбходРезультатаЗапроса. ПоГруппировкамСИерархией); Пока ВыборкаГород.Следующий() Цикл ВыборкаКлассИсполнителя = ВыборкаГород.Выбрать(ОбходРезультатаЗапроса.ПоГруп пировкамСИерархией); Пока ВыборкаКлассИсполнителя.Следующий() Цикл КонецЦикла; КонецЦикла; КонецЦикла; КонецЕсли; | |
6
- 19.12.2014 - 10:27
| когда на кубани разметку сделают что бы код нормально структурировался????? | |
7
- 19.12.2014 - 10:28
| (3) подскажите пожалуйста как нужно? в запросе что не то или в переборе я что не так делаю? | |
8
- 19.12.2014 - 10:49
| (3) как думаете как нужно правильно что бы шел перебор каждого каталога как при открытии группы в справочнике, как если бы это было перебором каталога через быбрвть | |
9
- 19.12.2014 - 11:46
| | |
10
- 19.12.2014 - 12:00
|
8-LivingStar > я вообще не понимаю, что надо то? код из (0) - рабочий. В чем тогда вопрос? зы. а разметка давно уже есть, например: Код: ВЫБРАТЬ Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты | |
11
- 20.12.2014 - 00:25
| сразу запросом сгруппируй как надо | |
12
- 20.12.2014 - 07:46
|
(11) а как сгруппировать подскажите? (10) я перебираю выборку но она идет беспорядочно, не так как в справочнике если я делал перебором через выбрать, то шло по порядку, все группы вложенного уровня выбираемого каталога как они идут по порядку тут же идет в зазноброс все каталоги, вот я и думаю как выбрать то структуру справочника как она есть, и обойти каждую ветку последовательно вложенных каталогов, требуемой папки (11) как так нужно сгруппировать? | |
13
- 20.12.2014 - 09:03
| (12) отсортируй | |
14
- 20.12.2014 - 09:06
|
(13) ну так вот же УПОРЯДОЧИТЬ ПО Родитель.Наименование дело в том что хочу что бы при переборе вначале шли первые вложенные группы требуемого каталога, их под группы, элементы, и так следующий но выбмрает все группы в куче ((( че то я не так понимаю видимо!!! | |
15
- 20.12.2014 - 09:18
| (14) ну так не по наименованию же | |
16
- 21.12.2014 - 10:13
|
подскажите как правильно обойти данную выборку, уже более менее но все равно не то, может в запросе что подправить??? Запрос.Текст = " |ВЫБРАТЬ | Контрагенты.Ссылка, | Контрагенты.Родитель КАК Родитель |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Ссылка В ИЕРАРХИИ(&Исполнители) | |УПОРЯДОЧИТЬ ПО | Контрагенты.Ссылка.Наименование |ИТОГИ ПО | Ссылка ИЕРАРХИЯ"; Запрос.УстановитьПараметр("Исполнители", Справочники.Контрагенты.НайтиПоНаименованию("Испол нители")); Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда ВыборкаИсполнитель = Рез.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока ВыборкаИсполнитель.Следующий() Цикл //ОбластьСтрока.Параметры.Город = ВыборкаГород = ВыборкаИсполнитель.Выбрать(ОбходРезультатаЗапроса. ПоГруппировкамСИерархией); Пока ВыборкаГород.Следующий() Цикл ВыборкаКлассИсполнителя = ВыборкаГород.Выбрать(ОбходРезультатаЗапроса.ПоГруп пировкамСИерархией); Пока ВыборкаКлассИсполнителя.Следующий() Цикл КонецЦикла; КонецЦикла; КонецЦикла; КонецЕсли; | |
17
- 21.12.2014 - 10:23
|
Вот так вижу, что значения групп повторяются!!! Как от этого избавиться? ТО есть входит в группу, потом элемент, потом снова эта же группа в переборе... Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Контрагенты.Ссылка, | Контрагенты.Родитель КАК Родитель |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Ссылка В ИЕРАРХИИ(&Исполнители) | |УПОРЯДОЧИТЬ ПО | Контрагенты.Ссылка.Наименование |ИТОГИ ПО | Ссылка ИЕРАРХИЯ"; Запрос.УстановитьПараметр("Исполнители", Справочники.Контрагенты.НайтиПоНаименованию("Испол нители")); Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда ВыборкаИсполнитель = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам) ; Пока ВыборкаИсполнитель.Следующий() Цикл //ОбластьСтрока.Параметры.Город = ВыборкаГород = ВыборкаИсполнитель.Выбрать(ОбходРезультатаЗапроса. Прямой); Пока ВыборкаГород.Следующий() Цикл ВыборкаКлассИсполнителя = ВыборкаГород.Выбрать(ОбходРезультатаЗапроса.ПоГруп пировкамСИерархией); Пока ВыборкаКлассИсполнителя.Следующий() Цикл КонецЦикла; КонецЦикла; КонецЦикла; КонецЕсли; | |
| Интернет-форум Краснодарского края и Краснодара |