|
Выбрать справочник в порядке иерархии запросом | ☑ | ||
---|---|---|---|---|
0
Double_Medved
23.04.13
✎
13:29
|
Помогите пожалуйста, вроде вопрос простой. Мне нужно в запросе выбрать справочник номенклатура иерархически, проще говоря чтобы элементы шли так же как в форме списка - то есть сначала элементы из 1-й группы, потом из второй и т.д. В коде можно сделать как-то так Выборка = Справочники.Номенклатура.ВыбратьИерархически();
Вот такой запрос: ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура ПОМЕСТИТЬ Товары ИЗ Справочник.Номенклатура КАК СпрНоменклатура Что с ним сделать чтобы он выбирал элементы иерархически? |
|||
1
Wobland
23.04.13
✎
13:32
|
Справочники.Номенклатура.ВыбратьИерархически();
|
|||
2
Jonny_Khomich
23.04.13
✎
13:34
|
выборка = запрос.выполнить().выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией)
|
|||
3
butterbean
23.04.13
✎
13:34
|
ПОМЕСТИТЬ надо убрать
написать УПОРЯДОЧИТЬ ПО Ссылка ИЕРАРХИЯ |
|||
4
Wobland
23.04.13
✎
13:35
|
+(2) плюс ЭТОГИ
|
|||
5
Double_Medved
23.04.13
✎
13:40
|
Просто это макет СКД. Там нельзя написать выборка = запрос.выполнить().выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией)
|
|||
6
Double_Medved
23.04.13
✎
13:41
|
ВЫБРАТЬ
СпрНоменклатура.Ссылка КАК Номенклатура ПОМЕСТИТЬ Товары ИЗ Справочник.Номенклатура КАК СпрНоменклатура УПОРЯДОЧИТЬ ПО Номенклатура ИЕРАРХИЯ |
|||
7
Double_Medved
23.04.13
✎
13:41
|
так?
|
|||
8
Wobland
23.04.13
✎
13:46
|
(5) зато там можно всячески крутить упорядочивания, отборы, группировки...
|
|||
9
Maxus43
23.04.13
✎
13:46
|
(5) в СКД это в настройках вывода делается, а не в запросе
|
|||
10
Double_Medved
23.04.13
✎
13:48
|
(9) так там не отчет,а макет.... проще говоря набор данных и все как я понял
|
|||
11
Maxus43
23.04.13
✎
13:50
|
(10) Ещё раз. делаешь в этом макете СКД (макет и есть СКД, а не просто макет) настройки. Программно инициализируешь, выполняешь и т.д. эту схему, а вот результат уже можешь в ТЗ иль куда надо вывести
|
|||
12
Wobland
23.04.13
✎
13:50
|
(11) я б ради ТЗ запрос с итогами сделал. не дорос, видимо, до больших полётов
|
|||
13
Wobland
23.04.13
✎
13:51
|
(12) не ТЗ, а ДЗ, конечно
|
|||
14
Maxus43
23.04.13
✎
13:51
|
(12) я хз, у него СКД, незнаю зачем
|
|||
15
Maxus43
23.04.13
✎
13:53
|
на то, в каком виде данные будут скомпанованы в СКД - влияют настройки, а не запрос, я собсно это хочу сказать то
|
|||
16
Double_Medved
23.04.13
✎
13:59
|
Там просто документ инвентаризация заполняется из СКД, мне надо просто сделать там упорядочивание по иерархии, для удобочитаемости
|
|||
17
Maxus43
23.04.13
✎
14:02
|
(16) ну а как он заполняется? СКД не умеет ничего заполнять, СКД выгружается в ТЗ видимо, и тогда уж заполняется. А в каком виде будет ТЗ - рулят настройки СКД
|
|||
18
Double_Medved
23.04.13
✎
14:17
|
Заполняет он это процедурой: и там похоже какие-то настойки СКД фигурируют
&НаСервере Процедура ЗаполнитьСервер() УстановитьЗначениеПараметраНастроек(ОтборПересчета.Настройки, "ДатаОстатков", ?(ЗначениеЗаполнено(Объект.Дата), Объект.Дата, ТекущаяДата())); Если ИспользоватьАдресноеХранение Тогда СхемаКомпоновкиДанных = Документы.ПересчетТоваров.ПолучитьМакет("ОтборПересчетаПоЯчейкам"); Иначе СхемаКомпоновкиДанных = Документы.ПересчетТоваров.ПолучитьМакет("ОтборПересчетаПоСкладу"); КонецЕсли; СегментыСервер.ВключитьОтборПоСегментуНоменклатурыВСКД(ОтборПересчета); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, ОтборПересчета.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; Объект.Товары.Загрузить(ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных)); НоменклатураСервер.ЗаполнитьСлужебныеРеквизитыПоНоменклатуреВКоллекции( Объект.Товары, Новый Структура("ЗаполнитьПризнакХарактеристикиИспользуются", Новый Структура("Номенклатура", "ХарактеристикиИспользуются") ) ); ЗаполнитьПризнакРасхождение(); КонецПроцедуры |
|||
19
Maxus43
23.04.13
✎
14:27
|
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных) - ВОТ. это формирует ТЗ, ТЗ в том виде, который указан в настройках СКД. Или я непонятно изъясняюсь?
|
|||
20
Double_Medved
23.04.13
✎
14:58
|
(19)понятно,спасибо. Мне копать что там в ПроцессорКомпоновкиДанных?
|
|||
21
Double_Medved
23.04.13
✎
14:59
|
(19) или эта переменная просто считывает то как там что настроено в СКД?
|
|||
22
cw014
23.04.13
✎
15:19
|
Я бы порекомендовал УПОРЯДОЧИТЬ ПО Номенклатура.ЭтоГруппа ИЕРАРХИЯ
|
|||
23
Maxus43
23.04.13
✎
15:47
|
(21) я уже 3 раза говорил, это получает ТЗ на осмновании НАСТРОЕК СКД, настроек в МАКЕТЕ на закладке настройки СКД
|
|||
24
Double_Medved
23.04.13
✎
16:11
|
(23) спасибо, разобрался - в настройках вывода в СКД указал тип группировки иерархия у номенклатуры
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |