Если вы начинающий разработчик - вступайте в мою группу помощник программиста 1С. В ней мы обсуждаем вопросы программирования в 1С для начинающих (Владимир Милькин, школа программирования).

Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат

Библиотека Запросы ПрикладныеОбъекты УниверсальныеФункции

Работа с Диалогами в языке 1С 8.3, 8.2 (в примерах

См. урок для начинающих по диалогам в языке 1С

/// *************************************
/// ***** Немодальные версии диалогов ***
/// *************************************
 
/// Как вывести немодальный диалог вопроса с заголовком и нужными
/// кнопками в 1с 8.3, 8.2
 
&НаКлиенте
Процедура ДиалогСВопросом()
    Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса",
      ЭтотОбъект);	
 
    ПоказатьВопрос(Оповещение,
        "Вы добрый человек?",
        РежимДиалогаВопрос.ДаНетОтмена,
        0, // таймаут в секундах
        КодВозвратаДиалога.Да, // (необ.) кнопка по умолчанию
        "Хороший вопрос" // (необ.) заголовок
    );
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт		
    Если Результат = КодВозвратаДиалога.Да Тогда
        Сообщить("Какой вы молодец!");
    КонецЕсли;	
КонецПроцедуры
 
/// Как вывести немодальное предупреждение пользователю в 1с 8.3, 8.2
 
&НаКлиенте
Процедура ПредупреждениеПользователю()
    Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияПредупреждение",
        ЭтотОбъект);	
 
    ПоказатьПредупреждение(
        Оповещение,
        "Будьте осторожны.", // предупреждение
        0, // (необ.) таймаут в секундах
        "Это предупреждение." // (необ.) заголовок
    );	
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеЗакрытияПредупреждение(Параметры) Экспорт	
КонецПроцедуры
 
/// Как немодально открыть значение для интерактивной
/// работы с ним в 1с 8.3, 8.2
 
&НаКлиенте
Процедура ПоказЗначенияДляИнтерактивнойРаботыСНим()
    Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияЗначения",
        ЭтотОбъект);
 
    ПоказатьЗначение(Оповещение, 23.56);	
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеЗакрытияЗначения(Параметры) Экспорт	
КонецПроцедуры
 
/// Как немодально ввести дату от пользователя
/// в 1с 8.3, 8.2
 
&НаКлиенте
Процедура КакИнтерактивноВвестиДатуОтПользователя()
    Оповещение = Новый ОписаниеОповещения("ПослеВводаДаты", ЭтотОбъект);	
 
    ПоказатьВводДаты(
        Оповещение,
        , // пропускаем начальное значение даты
        "Введите дату рождения", 
        ЧастиДаты.Дата
    );	
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеВводаДаты(Дата, Параметры) Экспорт	
    Если Не Дата = Неопределено Тогда
        Сообщить("Вы родились " + Дата);		
    КонецЕсли;	
КонецПроцедуры
 
/// Как немодально ввести значение определенного
/// типа от пользователя в 1с 8.3, 8.2 
 
&НаКлиенте
Процедура КакИнтерактивноВвестиЗначениеОпределенногоТипа()
    Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", 
      ЭтотОбъект);	
 
    ПоказатьВводЗначения(
        Оповещение,
        , // пропускаем начальное значение
        "Введите значение",
        "Число"
    );	
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеВводаЗначения(Результат, Параметры) Экспорт	
    Если Не Результат = Неопределено Тогда
        Сообщить(Результат);		
    КонецЕсли;	
КонецПроцедуры
 
/// Как немодально ввести строку от пользователя в 1с 8.3, 8.2
 
&НаКлиенте
Процедура КакНемодальноВвестиСтроку()
    Оповещение = Новый ОписаниеОповещения("ПослеВводаСтроки", 
        ЭтотОбъект);
 
    ПоказатьВводСтроки(
        Оповещение,
        , // пропускаем начальное значение
        "Введите строку",
        0, // (необ.) длина
        Истина // (необ.) многострочность
    );
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеВводаСтроки(Результат, Параметры) Экспорт
    Если Не Результат = Неопределено Тогда
        Сообщить(Результат);
    КонецЕсли;
КонецПроцедуры
 
/// Как немодально ввести число определенного типа от
/// пользователя в 1С 8.3, 8.2
 
&НаКлиенте
Процедура КакНемодальноВвестиЧислоОпределенногоТипа()
    Оповещение = Новый ОписаниеОповещения("ПослеВводаЧисла", 
        ЭтотОбъект);
 
    ПоказатьВводЧисла(
        Оповещение,
        , // пропускаем начальное значение
        "Введите число",
        3, // длина числа, включая дробную часть без разделителя
        1 // длина дробной части
    );
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеВводаЧисла(Результат, Параметры) Экспорт
    Если Не Результат = Неопределено Тогда
        Сообщить(Результат);
    КонецЕсли;
КонецПроцедуры
 
/// *************************************
/// ***** Модальные версии диалогов *****
/// *************************************
 
Процедура КнопкаВыполнитьНажатие(Кнопка)
 
    Перем Ч;
    Перем Стр;
    Перем Дата;
 
    /// Как вывести модальный диалог вопроса с заголовком
    ///  и нужными кнопками в 1с 8.3, 8.2
 
    Ответ = Вопрос("Вы добрый человек?",
        РежимДиалогаВопрос.ДаНетОтмена,
        0, // таймаут в секундах
        КодВозвратаДиалога.Да, // (необ.) кнопка по умолчанию
        "Хороший вопрос" // (необ.) заголовок
        );
 
    Если Ответ = КодВозвратаДиалога.Да Тогда
        Сообщить("Какой вы молодец!");
    КонецЕсли;
 
    /// Как обработать прерывание операции от пользователя 
    /// (нажатие Break)
 
    Пока Истина Цикл
        // если пользователь нажал break, чтобы прервать выполнение кода
        // прервется не только цикл, но и весь поток кода
        ОбработкаПрерыванияПользователя();
    КонецЦикла;
 
    /// Как вывести модально предупреждение пользователю в 1с 8.3, 8.2
 
    Предупреждение(
        "Будьте осторожны.", // предупреждение
        0, // (необ.) таймаут в секундах
        "Это предупреждение." // (необ.) заголовок
    );
 
    /// Как открыть значение модально для интерактивной
    ///  работы с ним в 1с 8
 
    ОткрытьЗначение(23.56);
    // откроет элемент справочника с кодом 1
    ОткрытьЗначение(Справочники.Номенклатура.НайтиПоКоду("1"));
 
    /// Как очистить служеб. сообщения и вывести предупреждающий
    /// сигнал 
 
    Для Индекс = 1 По 100 Цикл
        Сообщить(Индекс);
    КонецЦикла;
 
    Предупреждение("Сейчас все сообщения будут удалены.", 5);
    ОчиститьСообщения();
    Сигнал();
 
    /// Как указать статус сообщения при выводе в 1с 8.3, 8.2
 
    Сообщить(
        "Очень важный текст.",
        СтатусСообщения.ОченьВажное //по умолчанию статус Обычное
    );
 
    /// Как модально ввести дату от пользователя в 1с 8.3, 8.2
 
    Если
        ВвестиДату(Дата, "Введите дату рождения", ЧастиДаты.Дата) = Истина
    Тогда
        Сообщить("Вы родились " + Дата);
    КонецЕсли;
 
    /// Как модально ввести значение определенного типа от
    /// пользователя в 1С 8.3, 8.2
 
    Если ВвестиЗначение(Ч, "Введите значение", "Число") Тогда
        Сообщить(Ч);
    КонецЕсли;
 
    /// Как модально ввести строку от пользователя в 1с 8.3, 8.2
 
    Если ВвестиСтроку(
        Стр,
        "Введите строку",
        0, // (необ.) длина
        Истина // (необ.) многострочность
    )
    Тогда
        Сообщить(Стр);
    КонецЕсли;
 
    /// Как модально ввести число определенного типа от
    /// пользователя в 1С 8.3, 8.2
 
    Если ВвестиЧисло(
        Ч,
        "Введите число",
        3, // длина числа, включая дробную часть без разделителя
        1 // длина дробной части
    )
    Тогда
        Сообщить(Ч);
    КонецЕсли;
 
КонецПроцедуры

Если вы начинающий разработчик - вступайте в мою группу помощник программиста 1С. В ней мы обсуждаем вопросы программирования в 1С для начинающих (Владимир Милькин, школа программирования).

Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат

Библиотека Запросы ПрикладныеОбъекты УниверсальныеФункции

Работа с Диалогами в языке 1С 8.3, 8.2 (в примерах

С уважением, (школа 1С программистов).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.