Работа с Диалогами в языке 1С 8.3, 8.2 (в примерах
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
2017-12-18T22:12:33+00:00Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат
ОбщиеОбъекты Запросы ПрикладныеОбъекты УниверсальныеФункции
См. урок для начинающих по диалогам в 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 // Выполнять этот код на сервере, а не на клиенте: // ОткрытьЗначение(Справочники.Номенклатура.НайтиПоКоду("000000001")); /// Как очистить служеб. сообщения и вывести предупреждающий /// сигнал Для Индекс = 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С 8.3, 8.2 (в примерах
Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат
ОбщиеОбъекты Запросы ПрикладныеОбъекты УниверсальныеФункции