TestIB8x - Разное - глСообщить() - приглашение к обсуждению

17.01.08

Разработка - Механизмы платформы 1С

Данная статья - приглашение к обсуждению такого приема проектирования, как избавления от использования команд Сообщить(), Состояние(), Предупреждение().
Когда будет реализован тест, пока не известно, но основные идеи хотелось бы обсудить с сообществом.
Введение
Вред от использования команд Сообщить(), Состояние(), Предупреждение() не проявляется сразу. В режиме клиентского соединения все может работать долгое время очень хорошо.
Но наступает момент, когда хочется, работать с конфигурацией в режиме COM-соединения или перенести часть функций на сервер. И вот тут мы сталкиваемся с проблемой - данные команды не могут быть использованы в этих режимах.
Плюс к этому, команда Предупреждение(), вызванная в неудачном месте без параметра времени ожидания ответа, может остановить даже нужные обработки в режиме OLE-соединения.

Решение
Первое решение, которое может прийти на ум - использование вместо Сообщить() функцию из типовых конфигураций 1С СообщитьОбОшибке(). В этой функции предусмотрены такие моменты, как вызов в разных режимах.

Далее, следуя логике вещей, можно "обернуть" Состояние и Предупреждение(). При этом, можно обеспечить совместимость функций по параметрам, чтобы позволить себе автоматическую замену Сосотояние на глСостояние, и Предупреждение на глПредупреждение.
При этом в функции глПредупреждение() можно определить значение задержки ожидания ответа от пользователя по умолчанию, например 3 минуты - это время позволит не сильно задерживать ночные обработки и в то же время снимет проблему ожидания "пользовательского хрюка".

Для обеспечения симметричности картины можно предложить такой вариант:
Сообщить() -> глСообщить(), обёртка вокруг СообщитьОбОшибке() от 1С.
Состояние() -> глСостояние()
Предупреждение() -> глПредупреждение()

Как идея? Что забыто? Что хотелось бы еще? Где подводные камни?



См. также

Динамическое обновление - это зло?

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    27413    Infostart    83    

243

Совместимость работы со строками. Жизнь до 8.3.6 и после

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Немного о совместимости со старыми версиям платформы 1С в работе со строками.

21.02.2020    8401    Infostart    25    

69

Эволюция расширения конфигурации

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

С каждым днем всё больше возможностей появляется в расширении конфигурации, но не все до сих пор работают даже на платформе 8.3.6! Давайте окунемся в историю появления и эволюции расширения конфигурации, чтобы знать и понимать, когда можно применить тот или иной функционал!

06.02.2020    26774    Xershi    51    

223

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

Механизмы платформы 1С Управляемые формы Бесплатно (free)

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    25143    TitanLuchs    23    

100

30 задач. Странных и не очень

Математика и алгоритмы Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    50764    Infostart    65    

164

Фишечки-рюшечки

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

За годы работы с 1С собрался определенный багаж хитростей, который позволяет разрабатывать быстрее/эффективнее/качественнее. Поделюсь ими в данной статье.

06.11.2019    11204    mpeg1989    95    

66

ЧтениеДанных и ЗаписьДанных. Работа со строками

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Использование потоков и двоичных данных для работы со строками.

04.10.2019    23851    Yashazz    16    

76
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alexkr 18.01.08 17:00 Сейчас в теме
Если речь идет о 8-ке, то забыты команды препроцессора, которые позволяют определить режим работы и соответственно вариант выполнения, кроме этого функции сообщить() и состояние() работают как на сервере так и в клиентстком режиме.
А в общем случае можно сообщить и предупредить заменять одной функцией, и там уже определять, что нужно какому пользователю: сообщение, или можно в пользовательском режиме видать предупреждение с таймером.
+
2. hopter 36 21.01.08 03:45 Сейчас в теме
Команды не забыты, т.к. в СообщитьОбОшибке() все и прописано. Об этом автор написал в первом абзаце решения.
+
3. brix8x 523 21.01.08 09:09 Сейчас в теме
Есть желание "обернуть" команду Вопрос, но вот логического обоснования под это подвести не могу, уж больно эта команда интерактивна, в потому желательно, чтобы проверка в контексте внешнего соединения или сервера показывала ошибку на Вопрос.
Так что, наверное, остановлюсь на "Трех Богатырях" ж-)
+
Оставьте свое сообщение