Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Запрет использования серверных вызовов и открытия окон в событиях ПередЗакрытием, ПриЗакрытии формы #795

Open
DmitryShvaika opened this issue Sep 24, 2021 · 0 comments
Labels
standards Поддержка стандартов

Comments

@DmitryShvaika
Copy link
Contributor

DmitryShvaika commented Sep 24, 2021

Название проверки

Запрет использования серверных вызовов и открытия окон в событиях ПередЗакрытием, ПриЗакрытии формы

Английское название проверки

Prohibiting the use of server calls and opening windows in the events BeforeClose, OnClose the form

Правило анализа кода/метаданных

В событиях ПередЗакрытием, ПриЗакрытии формы и во всех вложенных процедурах и функциях найти серверные вызовы, методы открытия окон, обновления интерфейса и списков.

Мета-информация:

  • Номер стандарта: 795
  • Код проверки: server-calls-beforeclose
  • Тип ошибки: ERROR
  • Критичность: CRITICAL

Текст ошибки

Серверные вызовы и открытие окон запрещены в событиях ПередЗакрытием, ПриЗкарытии формы.

Пример некорректного решения

&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    Если ДлительнаяОперация Тогда
        ПоказатьПредупреждение(, НСтр("ru = 'Работа помощника не может быть завершена.'"));
        Отказ = Истина;
        Возврат;
    КонецЕсли;
КонецПроцедуры

Описание, почему так делать нельзя

Если форма с серверным вызовом в событии ПередЗакрытием или ПриЗакрытии открыта, то при закрытии приложения возникнет ошибка "Серверные вызовы при завершении работы запрещены".

Пример корректного решения

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
    Если ЗавершениеРаботы Тогда
        ТекстПредупреждения = НСтр("ru = 'Настройка синхронизации данных будет прервана.'");
        Отказ = Истина;
        Возврат;
    КонецЕсли;

    Если ДлительнаяОперация Тогда
        ПоказатьПредупреждение(, НСтр("ru = 'Работа помощника не может быть завершена.'"));
        Отказ = Истина;
        Возврат;
    КонецЕсли;
КонецПроцедуры

Дополнительные материалы

https://its.1c.ru/db/metod8dev/content/5293/hdoc

@DmitryShvaika DmitryShvaika added the standards Поддержка стандартов label Sep 24, 2021
@DmitryShvaika DmitryShvaika changed the title Стандарт NNN: Запрет использования серверных вызовов и открытия окон в событии ПередЗакрытием формы Стандарт 795: Запрет использования серверных вызовов и открытия окон в событии ПередЗакрытием формы Sep 24, 2021
@DmitryShvaika DmitryShvaika changed the title Стандарт 795: Запрет использования серверных вызовов и открытия окон в событии ПередЗакрытием формы Стандарт 795: Запрет использования серверных вызовов и открытия окон в событиях ПередЗакрытием, ПриЗакрытии формы Sep 24, 2021
@DmitryShvaika DmitryShvaika changed the title Стандарт 795: Запрет использования серверных вызовов и открытия окон в событиях ПередЗакрытием, ПриЗакрытии формы Запрет использования серверных вызовов и открытия окон в событиях ПередЗакрытием, ПриЗакрытии формы Nov 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
standards Поддержка стандартов
Projects
None yet
Development

No branches or pull requests

1 participant