helpf.pro
Регистрация

v8.2 УП: Рекурсия на сервере

Gnost
22.07.2011 14:00Прочитано: 1519
Доброго всем времени суток, подскажите пожалуйста как правильно создавать рекурсивные процедуры на сервере? У меня возникла проблема в том, что когда на сервере происходит попытка процедуры вызвать саму себя, происходит возврат на клиент, если создать промежуточную процедуру клиент - сервер - сервер. Происходит тоже самое

Код 1C v 8.2 УП
 &НаКлиенте
Процедура ОргПодрПриАктивизацииСтроки(Элемент)

Если Элемент.ТекущиеДанные.ЭтоГруппа = Истина Тогда
Промежуток(Элемент.ТекущаяСтрока);
КонецЕсли;

КонецПроцедуры


&НаСервере
Процедура Промежуток(Потомок)
НайтиВсехПотомков(Потомок);
КонецПроцедуры


&НаСервере
Процедура НайтиВсехПотомков(Потомок)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Подразделения.Ссылка
|ИЗ
| Справочник.Подразделения КАК Подразделения
|ГДЕ
| Подразделения.Родитель = &Родитель";
Запрос.УстановитьПараметр("Родитель", Потомок);
Результат = Запрос.Выполнить().Выгрузить();
Для каждого текПотомок Из Результат Цикл

Если текПотомок.ЭтоГруппа = Истина Тогда
НайтиВсехПотомков(текПотомок);
Иначе
// Создать строку
КонецЕсли;

КонецЦикла;
КонецПроцедуры
Yandex
Возможно, вас также заинтересует
Реклама на портале
Gnost
22.07.2011 14:31Ответ № 1
Тупанул ))) Надо было вызывать через общие модули!
Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.