Имя: Пароль:
1C
1С v8
Использование синхронных методов на клиенте запрещено! (Текст.Прочитать)
,
0 Gobo
 
05.01.17
19:01
Доброе время суток,

Использую управляемые приложения 8.3.
Как можно решить данную проблему при чтения данных их текстового файла ?

Написано:

{Документ.Ведомость.Форма.ФормаДокумента.Форма(32)}: Ошибка при вызове метода контекста (Прочитать)
            Текст.Прочитать(ЗнИмяФайла, Кодир);
по причине:
Использование синхронных методов на клиенте запрещено!
1 mehfk
 
05.01.17
19:03
Включить использование синхронных методов либо не использовать их.
2 Gobo
 
05.01.17
19:38
(1) Спасибо, понял.
3 Провинциальный 1сник
 
05.01.17
19:57
Что-то 1с перегнуло с этим запретом синхронных методов.. В порядке доведения до абсурда - оператор присваивания до сих пор синхронный, непорядок!
4 Cyberhawk
 
05.01.17
20:02
(3) Предлагаешь ввести методы НачатьЗагрузкуМассива, НачатьЗагрузкуТаблицыЗначений, НачатьКопированиеТаблицыЗначений и т.д.?
5 Провинциальный 1сник
 
05.01.17
20:06
(4) Им не надо предлагать - это следующий очевидный шаг. Мне больше интересно, как они присваивание асинхронным сделают.
6 Torquader
 
06.01.17
01:28
(5) А что мешает сделать присваивание асинхронным ?
Другое дело, что без присваивания никак не изготовишь завершитель.
7 Fram
 
06.01.17
02:05
(6) Дык универсальный сделают, на все случаи жизни )
8 Провинциальный 1сник
 
06.01.17
07:39
Вообще, какой смысл в требовании асинхронности методов, не являющихся интерактивными?
9 Fedor-1971
 
06.01.17
10:09
(8) Смысл в работе всяких обработчиков ожиданий при длительном процессе (например, чтение текстового файла на 1Гб) и гипотетическое уменьшение нагрузки на несущую систему.

По большому счёту, все асинхронные методы больше рассчитаны на мобильную платформу и ВЕБ-приложения из-за среды выполнения, а вот зачем их пытаются использовать всюду это большой вопрос. Типа в 1С реализуют принцип "один код работает в разных средах", но эффективность его работы представляет собой не слабую техническую задачу и код, всё равно, пишется с учётом места использования и архитектуры системы (даже работа с несущей БД различается MSSQL или Postgree не говоря про работу в мобильных средах). Так что, пока только реально реализовать принцип "Код выглядит одинаково" и пудрить мозг "Используйте асинхронные методы - и будет вам +5 в карму"
10 z80a
 
06.01.17
10:13
(0) Web-приложение? Зачем сходить с ума?
11 Провинциальный 1сник
 
06.01.17
10:21
(9) А что, обычным циклом без всяких методов нельзя веб-приложение повесить в ожидание? Да легко. Еще проще, чем гигабайт в память грузить.
12 Провинциальный 1сник
 
06.01.17
10:26
+(11) Тогда уж и циклы в коде запрещать надо.. а все циклические алгоритмы реализовывать через асинхронные обработчики.
13 Fedor-1971
 
06.01.17
10:41
(11) да не вопрос поломать, а вот сделать по уму - это проблема
(12) это край маразма. В СССР на системах Эверест мощность функций ассемблера была сравнима с Pascal - это иллюстрация обратной крайности "Все функции по максимуму реализовать аппаратно для увеличения надёжности и скорости выполнения". Другой вопрос, что системы строились для вояк и были избыточно устойчивы ко всему, что не попадя.
Важен разумный баланс, а не лозунги "Все в асинхронность - панацею от технических проблем" или "Модальность - это кирдык всей системе и фу как плохо".
Надо проповедовать принцип диверсанта - "используем различные инструменты, максимально подходящие для конкретной решаемой задачи в оговоренных условиях" Если поделку никогда не выткнут в ВЕБ, для чего там максимальная асинхронность? И модальные действия, используемые по уму и в определённых условиях, очень даже полезны.
Основная теорема систематики: Новые системы плодят новые проблемы.