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

Проверка на модальность #46

Closed
Stepa86 opened this issue Feb 7, 2019 · 5 comments
Closed

Проверка на модальность #46

Stepa86 opened this issue Feb 7, 2019 · 5 comments
Labels
component/diagnostics Доработка / создание диагностики

Comments

@Stepa86
Copy link
Contributor

Stepa86 commented Feb 7, 2019

Диагностика: Использование модальных окон

Модальный метод Немодальный аналог
Вопрос ПоказатьВопрос
Предупреждение ПоказатьПредупреждение
ОткрытьЗначение ПоказатьЗначение
ВвестиДату ПоказатьВводДаты
ВвестиЗначение ПоказатьВводЗначения
ВвестиСтроку ПоказатьВводСтроки
ВвестиЧисло ПоказатьВводЧисла
УстановитьВнешнююКомпоненту НачатьУстановкуВнешнейКомпоненты
УстановитьРасширениеРаботыСФайлами НачатьУстановкуРасширенияРаботыСФайлами
УстановитьРасширениеРаботыСКриптографией НачатьУстановкуРасширенияРаботыСКриптографией
ПоместитьФайл НачатьПомещениеФайла
ОткрытьФормуМодально ОткрытьФорму
СписокЗначений.ОтметитьЭлементы СписокЗначений.ПоказатьОтметкуЭлементов
СписокЗначений.ВыбратьЭлемент СписокЗначений.ПоказатьВыборЭлемента
УправляемаяФорма.ВыбратьИзМеню УправляемаяФорма.ПоказатьВыборИзМеню
УправляемаяФорма.ВыбратьИзСписка УправляемаяФорма.ПоказатьВыборИзСписка
УправляемаяФорма.ОткрытьМодально УправляемаяФорма.Открыть
ДиалогРасписанияРегламентногоЗадания.ОткрытьМодально ДиалогРасписанияРегламентногоЗадания.Показать
КонструкторФорматнойСтроки.ОткрытьМодально КонструкторФорматнойСтроки.Показать
ДиалогРедактированияСтандартногоПериода.Редактировать ДиалогРедактированияСтандартногоПериода.Показать
ДиалогВыбораШрифта.Выбрать ДиалогВыбораШрифта.Показать
ДиалогВыбораЦвета.Выбрать ДиалогВыбораЦвета.Показать
ОбработкаРасшифровкиКомпоновкиДанных.ВыбратьДействие ОбработкаРасшифровкиКомпоновкиДанных.ПоказатьВыборДействия
@asosnoviy asosnoviy added the component/diagnostics Доработка / создание диагностики label Feb 7, 2019
@Stepa86
Copy link
Contributor Author

Stepa86 commented Feb 7, 2019

Пример плохо:

&НаКлиенте
Процедура ДобавитьХарактеристику(Команда)
   
    // Выбор вида характеристики
    ВидХарактеристики = ОткрытьФормуМодально("ПланВидовХарактеристик.ФормаВыбора");
   
    Если ВидХарактеристики = Неопределено Тогда
        Возврат;
    КонецЕсли;
   
   
    // Обработка результата выбора
   // ...
КонецПроцедуры

Пример хорошо:

&НаКлиенте
Процедура ДобавитьХарактеристику(Команда)
    // Выбор вида характеристики
    Обработчик = Новый ОписаниеОповещения("ДобавитьХарактеристикуЗавершение", ЭтотОбъект);
    Режим = РежимОткрытияОкнаФормы.БлокироватьВеcьИнтерфейс;
    ОткрытьФорму("ПланВидовХарактеристик.ВидыХарактеристик.ФормаВыбора",,,,,, Обработчик, Режим);
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьХарактеристикуЗавершение(ВидХарактеристики, Параметры) Экспорт

    Если ВидХарактеристики = Неопределено Тогда
        Возврат;
    КонецЕсли;
   
    // Обработка результата выбора
    // ...
КонецПроцедуры

@Stepa86
Copy link
Contributor Author

Stepa86 commented Feb 7, 2019

Пример плохо:

&НаКлиенте
Процедура ПредставлениеРасписаниеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;   
    Если РегламентныеЗаданияКлиент.ИзменитьРасписание(Расписание) Тогда
        ЭтаФорма.Модифицированность = Истина;
        ПредставлениеРасписание = Строка(Расписание);   
    КонецЕсли;
КонецПроцедуры

Пример хорошо:

&НаКлиенте
Процедура ПредставлениеРасписаниеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ДополнительныеПараметры = Новый Структура("Модифицированность", Истина);
    ОписаниеОповещения = Новый ОписаниеОповещения("ИзменитьРасписаниеЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    РегламентныеЗаданияКлиент.ИзменитьРасписание(ОписаниеОповещения, Расписание);
КонецПроцедуры

&НаКлиенте
Процедура ИзменитьРасписаниеЗавершение(Результат, ДополнительныеПараметры) Экспорт
    Если ТипЗнч(Результат) = Тип("РасписаниеРегламентногоЗадания") Тогда
        Расписание = Результат;
        ПредставлениеРасписание = Строка(Расписание);
        ДополнительныеПараметры.Свойство("Модифицированность", Модифицированность)
   КонецЕсли;
КонецПроцедуры

@Stepa86
Copy link
Contributor Author

Stepa86 commented Feb 7, 2019

Пример плохо:

Функция ИзменитьРасписание(Расписание) Экспорт
    ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(Расписание);
   Если ДиалогРасписания.ОткрытьМодально() Тогда
        Расписание = ДиалогРасписания.Расписание;
        Возврат Истина;
    КонецЕсли;
    Возврат Ложь;
КонецФункции

Пример хорошо:

Процедура ИзменитьРасписание(ОписаниеОповещения, Расписание) Экспорт
    ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(Расписание);
    ДиалогРасписания.Показать(ОписаниеОповещения);
КонецПроцедуры

@theshadowco
Copy link
Member

@Stepa86
Я создал две задачи для реализации проверок, требующих информацию о типах.

Реализация для глобальных методов в PR #335

@theshadowco
Copy link
Member

Эту ишузу закрываю, продолжим по созданны (см связи)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/diagnostics Доработка / создание диагностики
Projects
None yet
Development

No branches or pull requests

3 participants