v8: КД: передача параметров в алгоритм #624596


#0 by Aleksei_Pro
Создал алгоритм "ОбойтиУровеньДерева", в нем процедуру написал: Этот алгоритм запускается из справочника "Контрагенты" в после выгрузке ПКО, есть запрос: Вопрос как передать дерево в алгоритм? через параметр?
#1 by Aleksei_Pro
не так написал:
#2 by Popkorm
ОбойтиУровеньДерева(Дерево);
#3 by Mort
запрос_2.выполнить.Выгрузить - это не дерево. Кури параметры функции Выгрузить
#4 by Aleksei_Pro
Выполнить(Алгоритмы.ОбойтиУровеньДерева(Дерево.Строки)); // т.е так взлетит?
#5 by Aleksei_Pro
я знаю "ОбходРезультатаЗапроса.ПоГруппировкамСИерархией"
#6 by Asmody
в терминах языка 1С это называется "процедура", у вас она объявлена с параметром 'строки', вот и вызывать ее надо с этим параметром
#7 by Йохохо
#8 by andrewks
ты прямо в алгоритме прописал Процедура ОбойтиУровеньДерева(Строки) и у тебя работает?
#9 by Йохохо
не, в кд ^^, это "параметры" "функции" алгоритм
#10 by andrewks
чё-то я нихрена не понял, это конвертация, или чё?
#11 by andrewks
короче, если я правильно понял, и это КД, то да - через параметр
#12 by Popkorm
вот ты блин........в запросе группировку, делай потом: ЁкорныйТы  и будит тебе ДеревоЗначений;
#13 by Aleksei_Pro
да это КД, я процедуру прописал в алгоритме, в процедуру мне надо передать "Дерево.Строки", а параметр если - какой тип ему задать?
#14 by Aleksei_Pro
кури , я знаю
#15 by andrewks
не надо в алгоритме начинать с  "Процедура бла-бла-бла" параметры юзай как хочешь, можешь даже не прописывать явно на закладке "Параметры" - это же обычная стркутура, добавь значение перед вызовом алгоритма, а в самом алгоритме извлекай
#16 by Йохохо
в посте ответ ) первый параметр будет доступен в алгоритме как ИсходящиеДанные
#17 by andrewks
ну да, можно и через исходящие. я через параметры привык
#18 by Aleksei_Pro
не вижу , можно подробнее запутался уже
#19 by andrewks
при вызове алгоритма ОбойтиУровеньДерева(ЗдесьТвоёЗначение) можешь в самом алгоритме обращаться к этому значению как ИсходящиеДанные
#20 by Aleksei_Pro
Т.е так: И уже алгоритм: Процедура ОбойтиУровеньДерева(Строки)
#21 by andrewks
блеать, опять процедура... выкини процедуру!
#22 by Aleksei_Pro
ок понял
#23 by Aleksei_Pro
тогда не понял как цикл строить, ведь передаю "Дерево.Строки"
#24 by andrewks
Строки=Параметры["НазваниеТвоегоПараметра"] Для каждого Строка из Строки Цикл если через исходящие - то просто Для каждого Строка из ИсходящиеДанные Цикл
#25 by Aleksei_Pro
пишет метод объекта не обнаружен "ОбойтиУровеньДерева":
#26 by acsent
алгоритм без параметра, а вызывать Выполнить(Алгоритмы.ОбойтиУровеньДерева); ----
#27 by Infsams654
Выполнить(<Строка>)
#29 by andrewks
в каких академиях учат этой хрени? алгоритм вызывает так: ОбойтиУровеньДерева; (если без исходящих)
#30 by Bugmenot
#31 by Bugmenot
Тоже, если алгоритм находится не в общем модуле, а прям за запросом в модуле объекта(или формы) справочника:
#32 by Йохохо
ты всё еще не угадал
#33 by Bugmenot
Поди угадай. Хм... прочитал буквы КД :) Согласен. Не угадал.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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