Имя: Пароль:
1C
1C 7.7
v7: А Вы помните про передачу параметров по ссылке и рекурсию?
0 slowpoke1C
 
28.08.18
15:40
Забавно, я занимался всякой ерундой, и тут получил тестовое задание по семёрке. В процессе решения задания вспомнил, что объекты "Запрос" и "Таблица" вполне можно передать в процедуру, это будут ссылки на существующий объект. И можно написать подобное:
[Code]
ТекстЗапр = "...";
Запр = СоздатьОбъект("Запрос");
Если Запрос.Выполнить() = 0 Тогда Возврат; КонецЕсли;

Табл = СоздатьОбъект("Таблица");
Табл.ВывестиСекцию("Шапка");
ТекущийУровень = 1;
ПроцедураВыводаУровня(Запр, Табл, ТекущийУровень);
//... а где-то рядом:

Процедура ПроцедураВыводаУровня(Зап, Таб, Ур)
    //Выводим текущий уровень
    // а потом - следующий
    ПроцедураВыводаУровня(Зап, Таб, Ур + 1);
КонецПроцедуры
[/Code]
Собственно вопрос: А вы помните особенности клюшек?
1 2S
 
28.08.18
15:43
Никаких особенностей, вызывай саму себя до условия
2 vde69
 
28.08.18
15:44
а при чем тут клюшки....

это работает и в восьмерке и в дельфи и еще куча где
3 slowpoke1C
 
28.08.18
15:49
(2) Не, не. Я знаю про рекурсию, но забыл, что в клюшках параметры передаются по ссылке, а не копируются.
4 vde69
 
28.08.18
15:56
(3) в клюшакх передаются и по  ссылкам и по значению

фун(знач а)


при передачи в нее простых данных будет передача по значению, при передачи ТЗ будет передача по ссылке вне зависимости от указания "знач",

гдето есть статья на эту тему...
5 Sserj
 
28.08.18
15:58
(3) Всмысле в "клюшках"?
Практически во всех языках объекты передаются по ссылке. Примитивные часто по значению но в слаботипизированных средах как таковых примитивов нет, это тоже неявные объекты.
6 slowpoke1C
 
28.08.18
15:59
(4) Ага.
Два "Тархуна" этому господину!
7 Злопчинский
 
28.08.18
16:40
(0) Кури почаще типовой код торговли. ьтам вовсю рекурсивная ВывестиИтоги при построении отчетов