Как программно получить данные которые были переданы в вызывающую процедуру? #647565


#0 by D_Pavel
Одна процедура вызывает вторую. Во второй процедуре нужно получить значения переменных или переданных параметров первой процедуры. В отладчике это легко. А программно как?
#1 by DrShad
передать их в ту процедуру где они нужны, коли они не глобальные
#2 by ДенисЧ
ммм.. передать эти параметры как параметры второй процедуры?
#3 by Maxus43
как может быть в отладчике легко, а в коде не легко?
#4 by Starhan
вселенская тайна.
#5 by acsent
как раз можно. Открыть стек вызовов, посмотреть значения
#6 by cw014
После третьей "передачи параметров процедуре" у меня моск сломался
#7 by D_Pavel
В частный случай. А если это одна и та же процедура, вызывает сама себя рекурсивно много раз. И нужно на уровне вложенности "N" вытащить параметры из уровня "D".
#8 by D_Pavel
Ну мне не легко. А тебе легко?
#9 by Starhan
давай нормальный пример, пока не понятно чем не подходят параметры методов.
#10 by Starhan
и вообще похоже на проблему в архитектуре :)
#11 by Deniskind
Два параметра - ссылка на массив и уровень вложенности не подойдет?
#12 by D_Pavel
Что именно не понятно? Вроде в всё проще некуда расписал
#13 by Reset
Программно никак, параметры процедуры видны только в ней. Только передавать параметры явно, в том или ином виде.
#14 by Maxus43
код покажи, или пример нормальный. Если внутри процедуры2 ты отладчиком видишь значение нужное - где проблема его в коде получить?
#15 by Reset
Не тормози, он переключает контекст с помощью стека вызовов :)
#16 by D_Pavel
там скорее не массив, а ветвистая структура со вложенными структурами получается.
#17 by D_Pavel
Понятно. Очень жаль.
#18 by D_Pavel
+ это не туда. Для
#19 by Maxus43
хорошо, пойду кофя пить
#20 by Starhan
Давай пример. А про уже сказали либо передаешь параметры дальше по процедурам. Либо переменные модуля и т.п.
#21 by Deniskind
Тогда ДеревоЗначений
#22 by D_Pavel
Зачем тебе пример?
#23 by ДенисЧ
а узнать, что сейчас думает президент Гондураса, в этот момент программно не надо?
#24 by D_Pavel
что за бред?
#25 by D_Pavel
можно. Но сложно
#26 by ДенисЧ
бред - это то, что ты несёшь.
#27 by D_Pavel
Где именно?
#28 by eklmn
че за бред ?
#29 by D_Pavel
Просили пример.
#30 by eklmn
чувак по ходу не познал циклы?
#31 by Rovan
поддерживаю
#32 by D_Pavel
цыкл тебя познал. Иди отсюда
#33 by Maxus43
тебе в помощь. Но ИМХО - не должен алгоритм опираться на данные, не относящиеся к данной итерации
#34 by Starhan
просили нормальный пример :)
#36 by D_Pavel
Этот самый простой. в получше
#37 by Maxus43
да не суть
#38 by eklmn
у тебя ошибка в голове
#39 by Starhan
правильнее так :) но поскольку пример простой то и ответ простой. Все таки интересно что хочет автор
#40 by D_Pavel
А если нужно на несколько уровней выше получить, то придется много параметров передавать. Или массив параметров.
#41 by Starhan
ну скажи зачем..... дай пример с чем ты столкнулся
#42 by D_Pavel
Только вопрос: Массив не будет каждый раз копироваться и забивать память?
#43 by Maxus43
> . Пример алгоритма где это может требоваться есть? Опираться на предыдущие итерации? Рекурсия не для этого придумана, чтоб в 10-й итерации смотреть что было в 1-й
#44 by Rovan
дык про массив же сразу сказали - см
#45 by D_Pavel
У меня в функции случается что параметр принимает определенное значение, и нужно проследить цепочку как это случилось.
#46 by Rovan
нет...это ссылка на массив
#47 by D_Pavel
Там про "Два параметра - ссылка на массив и уровень вложенности" Да, слово массив тоже присутствует, но для другой цели
#48 by Rovan
(+43) да... обычно так делают: рекурсией заполняют некий список (массив, деревозначений), а затем уже его обрабатывают
#49 by D_Pavel
ок
#50 by Rovan
в рамках твоей задачи цель только 1
#51 by D_Pavel
У меня уже заполнена структура, ветвистая, с массивами структур и структурами структур. Функция рекурсивно пробегает по этой структуре и копирует ее в другое хранилище. И на каком-то уровне вложенности по переданной подструктуре нельзя определить в каком месте первоначальной структуры мы находимся.
#52 by D_Pavel
+ то есть нужно зная подструктуру получить ее родителя и дедушку и прапрадедушку.
#53 by Reset
Хранить в подструктурах родителя не подойдет?
#54 by Reset
+Это как дерево получится, но с произвольными наборами колонко в узлах
#55 by Maxus43
а тупо ТЗ не прокатит? индекс - вот тебе и номер цикла рекурсии
#56 by D_Pavel
Сильно много переделывать. Много веток у структуры.
#57 by D_Pavel
не
#58 by D_Pavel
Блин, не подходит. В параллельных ветвях рекурсии будут попадать данные из других веток. Придется каждый раз новый массив создавать.
#59 by D_Pavel
Как вызывать процедуру чтобы массив передавался не ссылкой?
#60 by acsent
итого вывод: ты неправильно реализовал алгоритм изначально
#61 by D_Pavel
о_О ничего себе какие выводы ты делаешь!
#62 by Reset
Это называется дать намыленную веревку:
#63 by D_Pavel
точно
#64 by Reset
Он правильные выводы делает. Когда для продолжения работы с алгоритмом внезапно потребовались нестандартные (даже кривые) методы, это значит требуется рефакторинг алгоритма.
#65 by D_Pavel
алгоритм хороший. Просто нет методов для того чтобы его улучшить.
#66 by D_Pavel
+ просто хотелось сделать более информативные сообщения пользователю. Вместо: "Не правильный номер дома (питнацать)" Хотелось: "Не правильный номер дома (питнацать) по улице (Ленина) в городе (Чемкент)" Ну да ладно, обойдутся.
#67 by Privalov
Бред!
#68 by ДенисЧ
Баян! :-)
#69 by D_Pavel
Просили пример, написал ))))
#70 by Starhan
да полюбэ все реально, проблема у тя в архитектуре.  эт я еще в сказал
#71 by D_Pavel
Да я видел, ты еще в ошибся. Никак не реально
#72 by D_Pavel
Точнее нормальным способом не реально, только извращаться
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С