Выбор периода для управляемых форм



Форма выбора стандартного периода для управляемых форм

Пример (8.3 интерфейс такси):

 

На любой форме добавляем кнопку.

в команде кнопки прописываем:

 

&НаКлиенте
Процедура ВыбратьПериод(Команда)

ОписаниеОповещения = Новый ОписаниеОповещения("РезультатВыбораПериода",ЭтотОбъект);
ОткрытьФорму("ОбщаяФорма.ФормаВыбораПериода",,,,,,ОписаниеОповещения);

КонецПроцедуры



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

Если Результат <> Неопределено Тогда
ЭтотОбъект.ДатаНачала = Результат.ДатаНачала;
ЭтотОбъект.ДатаОкончания = Результат.ДатаОкончания;
КонецЕсли;

КонецПроцедуры

9 Comments

  1. w-divin

    (0) я просто в шоке от таких публикаций. А сделайте еще публикации с «ПоказатьВопрос» и «ПоказатьПредупреждение». А еще можно вообще весь СП выложить…

    (1) Adeptus, лучше, но не канает в УФ )))

    Reply
  2. w-divin

    А еще и обработку скачивать с 2мя реквизитами и 12ю строками текста — вообще превосходно…

    Reply
  3. MaxxiMiliSan

    стандратная удобней)

    Reply
  4. Nuuq

    Я вот так сделал:

    — в обработке определено 2 реквизита Дата1 и Дата2

    — в УФ форме добавлена кнопка и команда формы

    &НаКлиенте
    Процедура КомандаВыбратьПериод(Команда)
    
    Диалог = Новый ДиалогРедактированияСтандартногоПериода();
    Диалог.Период = Новый СтандартныйПериод(Объект.Дата1, Объект.Дата2);
    Если (Диалог.Редактировать()) Тогда
    Объект.Дата1 = Диалог.Период.ДатаНачала;
    Объект.Дата2 = Диалог.Период.ДатаОкончания;
    КонецЕсли;
    
    КонецПроцедуры

    Показать

    … по-моему просто и удобно

    Reply
  5. Katano

    (5) Nuuq, А как же модальность ))

    Reply
  6. chmv

    а как её вызвать из СКД?

    Reply
  7. ehcore

    (5) Nuuq, спасибо! Изменил немного код для использования в режиме модальности:

    &НаКлиенте
    Процедура ВыбратьПериод(Команда)
    Диалог = Новый ДиалогРедактированияСтандартногоПериода();
    Диалог.Период = Новый СтандартныйПериод(Объект.Дата1, Объект.Дата2);
    ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения(«ВыполнитьПослеВыбораПериода»,ЭтотОбъект);
    Диалог.Показать(ОписаниеОповещенияОЗакрытии);
    КонецПроцедуры
    
    &НаКлиенте
    Процедура ВыполнитьПослеВыбораПериода(Результат, Параметры) Экспорт
    Если Результат <> Неопределено Тогда
    Объект.Дата1 = Результат.ДатаНачала;
    Объект.Дата2 = Результат.ДатаОкончания;
    КонецЕсли;
    КонецПроцедуры
    

    Показать

    Написав сообщение увидел, что код почти повторяет код автора темы, за исключением использования выбора периода через стандартные периоды.

    Reply
  8. irvin12345

    (8) ehcore, Сначала сделал то же самое, а потом увидел ваш комментарий.

    Ваш вариант все равно лучше, тк не везде есть общая форма выбора периода, а в моём случае — выбирает дату а не период (ЗУП ГУ)

    Reply
  9. Xershi

    (7) в СКД проще использовать общую форму!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *