|
ЕРП 2.4. Попытка вывести дерево себестоимости в таблицу | ☑ | ||
---|---|---|---|---|
0
1cv78
07.10.19
✎
13:11
|
Хелп, плиз! Уже месяц пытаюсь добить сабж.
В отчете выходит здоровое дерево с множеством ветвей и листьев, а при рекурсивном переборе строк, только верхний уровень. При рекурсивном проваливании в нижние дает одну пустую сроку, хотя там их дофига. Пробовал разными путями, из клиента и из сервера - результат один. Вот фрагмент кода: С сервера: &НаСервере Процедура ПечатьДереваТест(Строки) Для Каждого стр Из Строки Цикл Сообщить("Выводим строки: " + Стр.Номенклатура); ПечатьДереваТест(Стр.Строки); КонецЦикла; КонецПроцедуры &НаСервере Процедура СформироватьТест() Дерево = РеквизитФОрмыВЗначение("ПолноеДеревоСебестоимости"); ПечатьДереваТест(Дерево.Строки); КонецПроцедуры ЗЫ: Тут пробовал и не из формы брать, а в момент построения отчета перехватывать, когда из хранилища передает. Но результат тот же. На клиенте вот так брал: &НаКлиенте Процедура ОбойтиДеревоЗначений(Элемент) ПодчиненныйЭлемент=Элемент.ПолучитьЭлементы(); Для Каждого Строка из ПодчиненныйЭлемент Цикл Сообщить("Выводим строки: " + Строка.Номенклатура); ОбойтиДеревоЗначений(Строка); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ПоказатьТаблицу(Команда) ОбойтиДеревоЗначений(ПолноеДеревоСебестоимости) КонецПроцедуры В итоге та же фигня. ЧЯДНТ? Спасибо, если кто прольет свет... |
|||
1
1cv78
07.10.19
✎
14:40
|
ап
|
|||
2
aleks_default
07.10.19
✎
14:47
|
А отладчик у тебя в поставку не входит?
|
|||
3
1cv78
07.10.19
✎
15:59
|
Да я ж сообщения вывожу, все видно, что тут еще смотреть.
На всех уровнях рекурсии показывает, какие строки обходит. В результате первый уровень нормально, а когда проваливается, по одной пустой строке проходит, хотя их там сто штук. |
|||
4
1cv78
07.10.19
✎
16:00
|
Думал, может, глюк платформы, если кто сталкивался...
|
|||
5
shuhard
07.10.19
✎
16:02
|
(4) [может, глюк платформы]
Дерево себестоимости работает в ERP на всех платформах последние лет 5 |
|||
6
1cv78
07.10.19
✎
16:18
|
А в коде-то все нормально? Косяков не видно?
вроде ж сложно ошибиться.. |
|||
7
shuhard
07.10.19
✎
17:07
|
(6) [А в коде-то все нормально? Косяков не видно?]
форум не смотрит на код, есть отладчик - зачем мозг нагружать |
|||
8
1cv78
09.10.19
✎
01:30
|
Насиделся в отладчике, ничего нового не узнал, да и раньше все выводил в сообщениях.
Видит дерево, как верхний уровень, плюс по одной подчиненной строке с пустыми значениями, хотя визуально, там их дофига. Заколдованное дерево, как и все в этом ЕРП. Пробовал на демо базе - та же фигня. Кстати, народу очень нужно дерево распечатывать. Кто разгадает тайну мистического дерева, скину доработанный отчет на почту. Не ахти, какой шедевр, но хоть что-то.. просто уже крыша едет... |
|||
9
1cv78
17.10.19
✎
17:10
|
На всякий случай пишу, кому интересно в рамках ликбеза...
Только не смейтесь: оказывается, свернутое дерево не читается из программы. Развернуть типо надо, тогда ветки читаются)) |
|||
10
SergeyKB
17.10.19
✎
18:07
|
(0)
Чтобы получить результаты разузлования нужно типо ПараметрыВыборки = Справочники.РесурсныеСпецификации.ПараметрыВыборкиДанных(); РезультатРазузлования = Справочники.РесурсныеСпецификации.ДанныеСпецификацииПоПотребности(ВходящиеПотребности, ПараметрыВыборки); параметры можете посмотреть в описании функций (9) Если дерево читается на клиента, то там используется оптимизация (передачи большого объема данных на тонкого клиента, через http медленно, нежели раньше в 8.2 через tcp) поэтому придумывают костыли, передать только видимую часть дерева, далее подкачивать по мере разворачивания строк дерева Сами данные в той форме ERP что вызывается из спецификации хранятся во временном хранилище |
|||
11
HeKrendel
17.10.19
✎
18:35
|
(0) чем тебя типовой отчет не устраивает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |