Базовый курс. МГ сессия от 27.10.10
Очередная сессия мастер-группы базового курса.
Сегодня рассмотрены следующие вопросы.
1. Ниже описана функция с различными вариантами описания логической проверки в конструкции “Если-Тогда”. В 1-м варианте в условии используется операция сравнения “<>”, во втором – булева операция НЕ. Какой вариант описания функции предпочтительнее? Какой код будет выполнятся быстрее?
2. Давайте возьмем конфигурацию после второго блока базового курса. В свойствах конфигурации “Режим управления блокировкой данных” установлен “управляемый”. У документа “Поступления товаров” свойство “Режим управления блокировкой данных” установлено “управляемый”. НО формируя движения документа по регистрам оперативного учета, мы блокировками никак “не управляем”. В каком случае тогда как работает конфигурация ? Какие блокировки ? Автоматические ? Или какие ?
Такой режим хуже чем автоматический ?
3. Как лучше организовать вывод пользователю надписи за какой период у него открыт список документов!? Не смог найти какое событие срабатывает при изменении периода!?
по третьему вопросу:
а не интересней прям на форме сделать установку периода? два поля ввода поместить и с их помощью делать отбор. тогда пользователю и лазить никуда не надо будет лишний раз, пошустрее будет…
А это все зависит от контекста решаемой задачи.
Если пользователь действительно часто меняет период, то имеет смысл его разместить в форме.
По моим наблюдениям пользователи редко обращаются к диалогу выбора периода.
Здравствуйте Евгений.
Ответ на третий вопрос имеет замечательное, красивое решение. Никакой чехарды с переопределением стандартной панели городить совершенно не нужно.
Для показа пользователю текущего выбранного периода можно использовать следующий подход:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключитьОбработчикОжидания(“ОтобразитьПериод”, 1);
КонецПроцедуры
&НаКлиенте
Процедура ОтобразитьПериод()
Период = Элементы.Список.Период;
ДатаНачала = Период.ДатаНачала;
ДатаОкончания = Период.ДатаОкончания;
Если ДатаНачала=’00010101′ И ДатаОкончания=’00010101′ Тогда
Заголовок = “Весь период (без ограничения)”;
Иначе
Заголовок = Строка(Период.Вариант) + ” (” + ДатаНачала + ” – ” + ДатаОкончания + “)”;
КонецЕсли;
КонецПроцедуры
Да, спасибо, это решение поставленной задачи.
Нельзя называть его абсолютно красивым и замечательным.
Поэтому надеемся, что разработчики платформы реализуют нужное событие..