|
Рекурсивный обход каталога на клиенте без модальности | ☑ | ||
---|---|---|---|---|
0
nicxxx
18.05.19
✎
20:46
|
Вопрос - как это сделать?
Файл.ЭтоКаталог() выдает ошибку. Конструкция Для Каждого Файл Из Файлы Цикл Файл.НачатьПроверкуЭтоКаталог(ОписаниеОповещения); КонецЦикла; сначала проходит весь цикл, а потом начинает проваливаться в оповещения, в рекурсию не уходит. Это фиаско? |
|||
1
Garykom
гуру
18.05.19
✎
20:54
|
Каким место и где оно должно уходить в рекурсию?
|
|||
2
Garykom
гуру
18.05.19
✎
20:55
|
Тебе нужно рекурсивную ОписаниеОповещения ваять с передачей через ДополнительныеПараметры
|
|||
3
Garykom
гуру
18.05.19
✎
20:58
|
Процедура ЭтоКаталогЗавершение(ЭтоКаталог, ДополнительныеПараметры)
... Оповещение = Новый ОписаниеОповещения("ЭтоКаталогЗавершение", ДополнительныеПараметры); Файл = ... Файл.НачатьПроверкуЭтоКаталог(Оповещение); ... КонецПроцедуры |
|||
4
palsergeich
18.05.19
✎
22:24
|
иди от прааативного.
У каталогов - расришение - пустая строка |
|||
5
palsergeich
18.05.19
✎
22:26
|
Конечно существование файлов без расширения допустимо, но я такое видел ну ооочень редко
|
|||
6
Garykom
гуру
18.05.19
✎
22:59
|
||||
7
palsergeich
18.05.19
✎
23:05
|
(6) И в найденных файлах у каталога в расширении что то будет?
|
|||
8
Garykom
гуру
18.05.19
✎
23:06
|
(7) А уй знает не проверял
|
|||
9
palsergeich
18.05.19
✎
23:07
|
Не, то что файл без расширения допустим, не спорю.
Но это редкость. Если надо железобетонно, то страдай с Оповещениями. Если это не критично, то можно пойти по простому пути |
|||
10
Garykom
гуру
18.05.19
✎
23:07
|
(8)+ Смотря как в платформе 1С расширение ищется, по идее должно быть пусто и все засунет в наименование каталога.
Но могут быть нюансы. |
|||
11
palsergeich
18.05.19
✎
23:08
|
Это как правило служебные файлы, и если их опустить, ничего не изменится, я пока необходимости проверки на это файл не встречал.
|
|||
12
Garykom
гуру
18.05.19
✎
23:09
|
(11) Под линуксом файлы без расширений это очень часто и они совершенно не служебные
|
|||
13
vde69
18.05.19
✎
23:17
|
на мой взгляд можно и не использовать НачатьПроверкуЭтоКаталог а просто взять ЭтоКаталог наплевав на асинхронность
|
|||
14
Garykom
гуру
18.05.19
✎
23:31
|
(13) Обращение к файловой системе при запрете модальности?
А если сбой файловой и что будет? Поэтому и запретили с ошибкой как и написано в (0) |
|||
15
Провинциальный 1сник
19.05.19
✎
07:20
|
Блин, вот 1с наложила граблей с этой асинхронностью.. В отличие от запрета модальности, в котором есть логика и смысл, в отказе от синхронных вызовов смысла нет вообще. Только лишний гемор на ровном месте.
|
|||
16
nicxxx
19.05.19
✎
07:48
|
(2) так вот не уходят они в рекурсию.
(13) run-time error: Использование модальных вызовов запрещено! |
|||
17
Garykom
гуру
19.05.19
✎
14:47
|
(16) >так вот не уходят они в рекурсию.
Код покажи что там не уходит |
|||
18
palsergeich
19.05.19
✎
15:24
|
(16) Потому что рекурсия в привычном виде там невозможна, исполнение кода прерывается.
Тебе надо передавать всю коллекцию файлы и текущий элемент. |
|||
19
palsergeich
19.05.19
✎
15:24
|
Там надо хитрее делать
|
|||
20
palsergeich
19.05.19
✎
15:26
|
(18) Неверно выразился, не исполнение кода прерывается, а асинхронный обработчик ломает обычный ход рекурсии
|
|||
21
Garykom
гуру
19.05.19
✎
15:29
|
Имхо надо добавить проверку коллекции файлов на ЭтоКаталог в платформу
|
|||
22
nicxxx
19.05.19
✎
17:09
|
(17) все удалил, сделал &НаСервере.
(20) сразу видно, человек в теме (21) золотые слова |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |