|
таблица Значений в Дерево значений | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
15.05.19
✎
09:29
|
Всем доброго дня. Нашла много вариантов выгрузки ТЗ в ДЗ, но так и не нашла работающий. Подскажите пожалуйста.
Есть таблица значений вида: Номенклатура | кол-во остаток | Дней закупа Все выводимые данные в виде элементов без иерархии. Как теперь добавить иерархию в ТЗ. Изначально в запрос добавить иерархию и вывести можно, но после запроса есть гигантский код, который переделывать не вариант, а при добавлении иерархии все ломается и перестает работать. Поэтому хочу уже к готовой таблице добавить иерархию. Возможно ли это, может ссылки какие-нибудь полезные есть? Скажу честно, перелазила много форумов, так и не смогла осуществить задуманное. Может не там искала, а может и.....))) |
|||
1
shadow_sw
15.05.19
✎
09:31
|
||||
2
MAPATNK2
naïve
15.05.19
✎
09:31
|
Находила и такое:
ТЗ = новый таблицазначений; ТЗ = ИсточникДанных.ИсточникДанных; ПЗ = Новый ПостроительЗапроса; ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗ);//передаем ТЗ ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять; ПЗ.ИсточникДанных.Колонки.Номенклатура.Измерение = Истина;//по этой колонке идет группировка ПЗ.ЗаполнитьНастройки(); ПЗ.Выполнить(); Дерево = ПЗ.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); Дерево.ВыбратьСтроку(); И такое //////////////////////////////// Процедура Запрос = Новый Запрос; Результат = Запрос.Выполнить(); ДеревоИсточников = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); Дерево = Список.ПолучитьЭлементы(); Дерево.Очистить(); РекурсивныйВыводДереваЗначений(Дерево, ДеревоИсточников); КонецПроцедуры // ОбновитьСписокНоменклатуры() // Процедура выводит дерево значений на форму. // Процедура РекурсивныйВыводДереваЗначений(ЭлементыДерева, ЭлементыДереваСтроки) Для каждого СтрокаДеревоЗначений Из ЭлементыДереваСтроки.Строки Цикл Если СтрокаДеревоЗначений.ЭтоГруппа Тогда СтрокаДерево = ЭлементыДерева.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаДерево, СтрокаДеревоЗначений); ЭлементыДереваНовый = СтрокаДерево.ПолучитьЭлементы(); РекурсивныйВыводДереваЗначений(ЭлементыДереваНовый, СтрокаДеревоЗначений); ИначеЕсли НЕ СтрокаДеревоЗначений.ЭтоГруппа Тогда СтрокаДерево = ЭлементыДерева.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаДерево, СтрокаДеревоЗначений); ЭлементыДереваНовый = СтрокаДерево.ПолучитьЭлементы(); РекурсивныйВыводДереваЗначений(ЭлементыДереваНовый, СтрокаДеревоЗначений); Иначе СтрокаДерево = ЭлементыДерева.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаДерево, СтрокаДеревоЗначений); КонецЕсли; ///////////////// |
|||
3
MAPATNK2
naïve
15.05.19
✎
09:35
|
(1) Сложный код, который выдает ошибки и ссылки на несуществующие процедуры или функции
|
|||
4
sqr4
15.05.19
✎
09:37
|
Загружаем таблицу в запрос, выгружаем дерево с иерархией или я не правильно понял?
|
|||
5
MAPATNK2
naïve
15.05.19
✎
09:38
|
Есть вариант запросом к таблице с итогами и выгрузкой результата "с группировкой".
Но я так и не смогла сделать. Могу код отправить, может кто подскажет где ошибка. |
|||
6
MAPATNK2
naïve
15.05.19
✎
09:38
|
(4) Правильно. Пыталась много раз, не выходит.
|
|||
7
sqr4
15.05.19
✎
09:39
|
(6) А в чем проблема, какие ошибки?
|
|||
8
MAPATNK2
naïve
15.05.19
✎
09:40
|
(7) Ни в чем. Просто не появляется никакой иерархии.
|
|||
9
MAPATNK2
naïve
15.05.19
✎
09:40
|
Из последнего пыталась так:
/////////////////////////////// ТЗ = новый таблицазначений; ТЗ = ИсточникДанных.ИсточникДанных; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МояТаблицаЗначений.КоличествоКонечныйОстаток, | МояТаблицаЗначений.КоличествоНачальныйОстаток, | МояТаблицаЗначений.Номенклатура, | МояТаблицаЗначений.ОстатокНаДатуНачалаЗакупок, | МояТаблицаЗначений.Период, | МояТаблицаЗначений.ХарактеристикаНоменклатуры, | МояТаблицаЗначений.Продано, | МояТаблицаЗначений.ДнейПродажи, | МояТаблицаЗначений.СредняяПродажаЗаДень, | МояТаблицаЗначений.Остаток, | МояТаблицаЗначений.НеобходимыйОбъемЗакупки, | МояТаблицаЗначений.ПланируемыйОбъемПродаж |ПОМЕСТИТЬ МояТаблица |ИЗ | &МояТаблицаЗначений КАК МояТаблицаЗначений |; | //////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МояТаблица.КоличествоКонечныйОстаток, | МояТаблица.КоличествоНачальныйОстаток, | МояТаблица.Номенклатура, | МояТаблица.ОстатокНаДатуНачалаЗакупок, | МояТаблица.Период, | МояТаблица.ХарактеристикаНоменклатуры, | МояТаблица.Продано, | МояТаблица.ДнейПродажи, | МояТаблица.СредняяПродажаЗаДень, | МояТаблица.Остаток, | МояТаблица.НеобходимыйОбъемЗакупки, | МояТаблица.ПланируемыйОбъемПродаж |ИЗ | МояТаблица КАК МояТаблица |ИТОГИ ПО |Номенклатура"; Запрос.УстановитьПараметр("МояТаблицаЗначений", ТЗ); РезультатЗапроса = Запрос.Выполнить(); ДеревоКатегорий = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); |
|||
10
sqr4
15.05.19
✎
09:40
|
да кидай что есть посмотрим
|
|||
11
MAPATNK2
naïve
15.05.19
✎
09:41
|
последне вот так было
|ВЫБРАТЬ | МояТаблица.КоличествоКонечныйОстаток, | МояТаблица.КоличествоНачальныйОстаток, | МояТаблица.Номенклатура, | МояТаблица.ОстатокНаДатуНачалаЗакупок, | МояТаблица.Период, | МояТаблица.ХарактеристикаНоменклатуры, | МояТаблица.Продано, | МояТаблица.ДнейПродажи, | МояТаблица.СредняяПродажаЗаДень, | МояТаблица.Остаток, | МояТаблица.НеобходимыйОбъемЗакупки, | МояТаблица.ПланируемыйОбъемПродаж |ИЗ | МояТаблица КАК МояТаблица |ИТОГИ ПО |Номенклатура Иерархия"; |
|||
12
sqr4
15.05.19
✎
09:42
|
Наверно, нужно как до дать понять запросу, какой тип в поле номенклатура
| Выразить(МояТаблицаЗначений.Номенклатура как Справочник.Номенклатура) как Номенклатура, |
|||
13
MAPATNK2
naïve
15.05.19
✎
09:48
|
(12) Ну да. Родители появились. Вот только все, что было указано в остальных колонках - удалилось. ((Просто номенклатура с иерархией, без нужных данных.
|
|||
14
PaulBC
15.05.19
✎
09:53
|
(13) итоговые поля-то укажи
ИТОГИ СУММА(КоличествоКонечныйОстаток) ..... ПО Номенклатура ИЕРАРХИЯ |
|||
15
sqr4
15.05.19
✎
09:59
|
(13) это должно быть видно только на последнем уровне иерархии, т.е где сама номенклатура. Добавление итогов, даст расчет по всем группировкам.
|
|||
16
MAPATNK2
naïve
15.05.19
✎
11:07
|
ТЗ = новый таблицазначений;
ТЗ = ИсточникДанных.ИсточникДанных; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МояТаблицаЗначений.ДнейПродажи, | МояТаблицаЗначений.НеобходимыйОбъемЗакупки, | МояТаблицаЗначений.Номенклатура, | МояТаблицаЗначений.Остаток, | МояТаблицаЗначений.ПланируемыйОбъемПродаж, | МояТаблицаЗначений.Продано, | МояТаблицаЗначений.СредняяПродажаЗаДень, | МояТаблицаЗначений.ХарактеристикаНоменклатуры |ПОМЕСТИТЬ МояТаблица |ИЗ | &МояТаблицаЗначений КАК МояТаблицаЗначений |; | //////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | МояТаблица.ДнейПродажи, | МояТаблица.НеобходимыйОбъемЗакупки, | МояТаблица.Номенклатура, | МояТаблица.Остаток, | МояТаблица.ПланируемыйОбъемПродаж, | МояТаблица.Продано, | МояТаблица.СредняяПродажаЗаДень, | МояТаблица.ХарактеристикаНоменклатуры |ИЗ | МояТаблица КАК МояТаблица |ИТОГИ |СУММА(Продано), |СУММА(ДнейПродажи), |СУММА(СредняяПродажаЗаДень), |СУММА(Остаток), |СУММА(НеобходимыйОбъемЗакупки), |СУММА(ПланируемыйОбъемПродаж) |ПО |Номенклатура ИЕРАРХИЯ"; Запрос.УстановитьПараметр("МояТаблицаЗначений", ТЗ); РезультатЗапроса = Запрос.Выполнить(); ТЗ = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); ЭлементыФормы.ТАБДЕР.Значение = ТЗ.Скопировать(); |
|||
17
MAPATNK2
naïve
15.05.19
✎
11:07
|
Вывела дерево .... НО ПОЧЕМУ БЛИН ДЕРЕВО В СВЕРНУТОМ ВИДЕ ВЫВОДИТСЯ В ТАБЛИЧНУЮ ЧАСТЬ С ТИПОМ ДЕРЕВО ЗНАЧЕНИЙ?
|
|||
18
MAPATNK2
naïve
15.05.19
✎
11:08
|
и НИКАК НЕ РАЗВЕРНЕШЬ ( Как теперь добавить возможность эту?
|
|||
19
MAPATNK2
naïve
15.05.19
✎
11:13
|
Взяла это
//////////// Для каждого Строка Из ЭлементыФормы.ТАБДЕР.Значение.Строки Цикл ЭлементыФормы.ТАБДЕР.Развернуть(Строка); КонецЦикла; ///////////// Думала поможет, но нет же, дерево превратилось в обычную таблицу значений. Что за бред, кто вообще это создавал. Ппц просто. расскажите пожалуйста, как вывести нормальное дерево значений, где можно сворачивать, разворачивать и т.д и т.п. |
|||
20
sqr4
15.05.19
✎
11:16
|
(17) дерево значений надо выводить в дерево!
|
|||
21
sqr4
15.05.19
✎
11:20
|
а в табличную часть потом перегружайте, при записи
|
|||
22
MAPATNK2
naïve
15.05.19
✎
11:21
|
Не поняла. У меня на форме дерево значений есть, в коде я вывожу дерево значений, помещаю его на форме. программно все выглядит отлично, при на на Shift+F9, но при формировании отчета, дерево свернуто. Что именно я пропустила?
|
|||
23
MAPATNK2
naïve
15.05.19
✎
11:23
|
(20) У меня на форме такого нет элемента. можно выбрать только Табличное поле с типом значения "Дерево значений". никаких деревьев у меня нет. Обычные формы.
|
|||
24
MAPATNK2
naïve
15.05.19
✎
11:25
|
||||
25
sqr4
15.05.19
✎
11:26
|
(24) не робит
|
|||
26
MAPATNK2
naïve
15.05.19
✎
11:27
|
||||
27
MAPATNK2
naïve
15.05.19
✎
11:27
|
Выводится вот такая вот фигня. Без возможности что либо открыть и посмотреть
|
|||
28
sqr4
15.05.19
✎
11:29
|
ЭлементыФормы.ТАБДЕР.СоздатьКолонки()
|
|||
29
MAPATNK2
naïve
15.05.19
✎
11:30
|
почему уровней нет, не понятно. Причем в отладчике у элемента формы все отлично выводится, а при формировании, нет ничего.
https://yadi.sk/i/N1oq_eQybtm7YQ |
|||
30
sqr4
15.05.19
✎
11:30
|
и соответственно, на форме чтобы он был без колонок
|
|||
31
MAPATNK2
naïve
15.05.19
✎
11:32
|
(30) Издевательство какое то, я ведь делала так блииин, он мне ошибку выводил, что мол для этого элемента такая процедура не выполнима. а сейчас все выполнилось. Спасибо большое!!!!!!!!!!!!!!!!!
|
|||
32
sqr4
15.05.19
✎
11:34
|
(31) наверное что то не учли.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |