Имя: Пароль:
1C
1C 7.7
v7: Теоретический вопрос (по количеству вложенности циклов)
0 vova1122
 
28.11.11
11:50
У меня вопрос теоретического характера. Есть ли ограничение на количество вложенных циклов в цикле, или например вложенных условий "Если" в условие?
1 Ёпрст
 
28.11.11
11:51
_нет_
2 povar
 
28.11.11
11:51
было
3 povar
 
28.11.11
11:52
в смысле - тема была
4 orefkov
 
28.11.11
11:52
Ну, учитывая, что 7.7 вряд ли сможет использовать более 2-3х гигов памяти, что чисто теоретически ограничение где-то есть...
5 Злой Бобр
 
28.11.11
12:47
(0) Ограничивается ресурсами железа. Но мой вам совет - не злоупотребляйте такими подходами. У меня от силы 2-3 вложенных получается. И то только в случаях крайней необходимости.
А еще интересен тандем цикла и транзакции. Хотя и старые грабли, но встречается достаточно часто. То ли студенты мануалы нечитают, то ли им пофиг ...
6 Mikeware
 
28.11.11
12:49
(5) Руками такое написать довольно сложно...
А насчет чтения мануалов.... дык сейчас даже википедию не читают. "Многабукв" им там, видите ли...
7 1Сергей
 
28.11.11
13:04
Вместо того, чтобы городить кучу циклов, воспользуйтесь рекурсией
8 andrewks
 
28.11.11
13:28
(6) запросто! генерим программно текстарь, а потом открываем форму объекта, который гребёт код из этого файла ;-)
9 vova1122
 
28.11.11
14:21
(7) У меня циклов не больше двух. Условий "Если" от силы 4-5. Вопрос был чисто теоретический.
10 Эльниньо
 
28.11.11
14:50
(9) Попробуй (8). Отпишись, что получилось.
11 vova1122
 
28.11.11
15:04
(10) не понял что написано в (8)
12 Эльниньо
 
28.11.11
15:36
(11) Купи СП у ДенисЧ. Вот тебе отрывок бесплатно:


#ЗагрузитьИзФайла <?>
Синтаксис:
#ЗагрузитьИзФайла <ИмяФайла>
Назначение:
Переключение загрузки программного модуля на загрузку из текстового файла.
Параметры:
<ИмяФайла> - имя файла, содержащего исходный текст программного модуля (записывается без кавычек и скобок).
Замечание:
Конструкция #ЗагрузитьИзФайла должна записываться в первой строке программного модуля с первой позиции.
13 zelebobi4
 
28.11.11
16:54
(5)
А в чем проблема цикла в транзакции? Где почитать можно?
14 Mikeware
 
28.11.11
16:59
(8) Я, собственно, ровно об этом и говорил. Руками написать сложно, только генерацией кода...
15 Mr_Rm
 
28.11.11
22:22
Проверил. Результаты такие:

Платформа 7.7.027, пустая конфигурация, внешняя обработка, текст модуля загружается с помощью #ЗагрузитьИзФайла

"Для Цикл ... КонецЦикла" - 4685 вложений, долго загружается
"Пока Цикл ... КонецЦикла" - 5868 вложений
"Если Тогда ... КонецЕсли"  - 5063 вложения
"Попытка ... Исключение КонецПопытки" - 5738 вложений
"Если ... Пока ... Попытка ..." (без цикла Для) вперемешку - 5533 вложения

От железа зависит только время загрузки, расход памяти очень мал.
При непустой конфигурации, тексте модуля внутри обработки или изменении некоторых других условий результаты меняются, но несущественно.
16 Эльниньо
 
28.11.11
22:49
(15) Переменные как обзывал?
17 Mr_Rm
 
28.11.11
23:22
(16)
По-разному пробовал: й1 .. й5000, aaa_ .. zzz_ и т.п.
"Пока" и "Если" - и с одной переменной, и с константами.

Тормозит при загрузке именно создание переменных.

Кстати, запускать обработку необязательно. Достаточно в конфигураторе создать новую, вставить сгенеренный текст и выполнить синтаксический контроль. Результат отличается не сильно.
Основная теорема систематики: Новые системы плодят новые проблемы.