Диалог ввода данных в 1С
Ввод числа
Для ввода числа в 1С можно использовать одну из двух функций: ВвестиЧисло или ПоказатьВводЧисла. ВвестиЧисло синхронная функция, ПоказатьВводЧисла — асинхронная. ВвестиЧисло считается устаревшей, так как будет работать только если разрешено использование модальности.
Рассмотрим обе функции на примерах.
ВвестиЧисло
ПоказатьВводЧисла
Ввод строки
Для ввода строки в 1С можно использовать одну из двух функций: ВвестиСтроку или ПоказатьВводСтроки. ВвестиСтроку синхронная функция, ПоказатьВводСтроки — асинхронная. ВвестиСтроку считается устаревшей, так как будет работать только если разрешено использование модальности.
Рассмотрим обе функции на примерах.
ВвестиСтроку
ПоказатьВводСтроки
Ввод даты
Для ввода даты в 1С можно использовать одну из двух функций: ВвестиДату или ПоказатьВводДаты. ВвестиДату синхронная функция, ПоказатьВводДаты — асинхронная. ВвестиДату считается устаревшей, так как будет работать только если разрешено использование модальности.
Рассмотрим обе функции на примерах.
ВвестиДату
ПоказатьВводДаты
Ввод значения
Помимо функций для ввода примитивных типов, в 1С есть функции для ввода значения произвольного типа данных: синхронная ВвестиЗначение и асинхронная ПоказатьВводЗначения. ВвестиЗначение можно использовать только если разрешено использование модальности.
В данных функциях последним параметром можно передать тип значения, который нужно будет ввести. Если тип не указать, то будет использоваться тип переменной, в которую будет получен результат. Также можно указать составной тип данных, тогда до ввода значения нужно будет выбрать тип.
Рассмотрим обе функции на примерах.
ВвестиЗначение
ПоказатьВводЗначения
Составной тип
Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Программное решение для сдачи и подготовки к экзаменам
Программирование в 1С 8.3 с нуля — краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки
Для ввода числа в 1С можно использовать одну из двух функций: ВвестиЧисло или ПоказатьВводЧисла. ВвестиЧисло синхронная функция, ПоказатьВводЧисла — асинхронная. ВвестиЧисло считается устаревшей, так как будет работать только если разрешено использование модальности.
Рассмотрим обе функции на примерах.
ВвестиЧисло
&НаКлиенте Процедура Команда1(Команда) Перем ВводимоеЧисло; //Если переменной ВводимоеЧисло присвоить какое-то значение, //то оно будет использоваться как первоначальное значение //число ограничено длиной 15 разрядов и точностью 2 знака Если ВвестиЧисло(ВводимоеЧисло, "Введите число", 15, 2) Тогда //функция вернет Истина, если число введено //в переменной ВводимоеЧисло будет само число Сообщить(ВводимоеЧисло); Иначе //функция вернет Ложь, если пользователь закрыл окно ввода Сообщить("Ничего не введено!"); КонецЕсли; КонецПроцедуры
ПоказатьВводЧисла
&НаКлиенте Процедура Команда1(Команда) Перем ВводимоеЧисло; //Если переменной ВводимоеЧисло присвоить какое-то значение, //то оно будет использоваться как первоначальное значение ОбратныйВызов = Новый ОписаниеОповещения("ОбратныйВызов", ЭтотОбъект); //число ограничено длиной 15 разрядов и точностью 2 знака ПоказатьВводЧисла(ОбратныйВызов, ВводимоеЧисло, "Введите число", 15, 2); КонецПроцедуры &НаКлиенте Процедура ОбратныйВызов(Число, ДопПар) Экспорт Если Число = Неопределено Тогда //Число = Неопределено, если пользователь закрыл окно ввода Сообщить("Ничего не введено!"); Иначе //в переменной Число будет само число Сообщить(Число); КонецЕсли; КонецПроцедуры
Ввод строки
Для ввода строки в 1С можно использовать одну из двух функций: ВвестиСтроку или ПоказатьВводСтроки. ВвестиСтроку синхронная функция, ПоказатьВводСтроки — асинхронная. ВвестиСтроку считается устаревшей, так как будет работать только если разрешено использование модальности.
Рассмотрим обе функции на примерах.
ВвестиСтроку
&НаКлиенте Процедура Команда1(Команда) Перем ВводимаяСтрока; //Если переменной ВводимаяСтрока присвоить какое-то значение, //то оно будет использоваться как первоначальное значение //строка ограничена длиной 100 символов, //Истина - значит что будет многострочное поле ввода Если ВвестиСтроку(ВводимаяСтрока, "Введите строку", 100, Истина) Тогда //функция вернет Истина, если строка введена //в переменной ВводимаяСтрока будет сама строка Сообщить(ВводимаяСтрока); Иначе //функция вернет Ложь, если пользователь закрыл окно ввода Сообщить("Ничего не введено!"); КонецЕсли; КонецПроцедуры
ПоказатьВводСтроки
&НаКлиенте Процедура Команда1(Команда) Перем ВводимаяСтрока; //Если переменной ВводимаяСтрока присвоить какое-то значение, //то оно будет использоваться как первоначальное значение ОбратныйВызов = Новый ОписаниеОповещения("ОбратныйВызов", ЭтотОбъект); //строка ограничена длиной 100, //Истина - значит что будет многострочное поле ввода ПоказатьВводСтроки(ОбратныйВызов, ВводимаяСтрока, "Введите строку", 100, Истина); КонецПроцедуры &НаКлиенте Процедура ОбратныйВызов(Строка, ДопПар) Экспорт Если Строка = Неопределено Тогда //Строка = Неопределено, если пользователь закрыл окно ввода Сообщить("Ничего не введено!"); Иначе //в переменной Строка будет сама строка Сообщить(Строка); КонецЕсли; КонецПроцедуры
Ввод даты
Для ввода даты в 1С можно использовать одну из двух функций: ВвестиДату или ПоказатьВводДаты. ВвестиДату синхронная функция, ПоказатьВводДаты — асинхронная. ВвестиДату считается устаревшей, так как будет работать только если разрешено использование модальности.
Рассмотрим обе функции на примерах.
ВвестиДату
&НаКлиенте Процедура Команда1(Команда) Перем ВводимаяДата; //Если переменной ВводимаяДата присвоить какое-то значение, //то оно будет использоваться как первоначальное значение //будем вводить только дату, без времени Если ВвестиДату(ВводимаяДата, "Введите дату", ЧастиДаты.Дата) Тогда //функция вернет Истина, если дата введена //в переменной ВводимаяДата будет сама дата Сообщить(ВводимаяДата); Иначе //функция вернет Ложь, если пользователь закрыл окно ввода Сообщить("Ничего не введено!"); КонецЕсли; КонецПроцедуры
ПоказатьВводДаты
&НаКлиенте Процедура Команда1(Команда) Перем ВводимаяДата; //Если переменной ВводимаяДата присвоить какое-то значение, //то оно будет использоваться как первоначальное значение ОбратныйВызов = Новый ОписаниеОповещения("ОбратныйВызов", ЭтотОбъект); //будем вводить только дату, без времени ПоказатьВводДаты(ОбратныйВызов, ВводимаяДата, "Введите дату", ЧастиДаты.Дата); КонецПроцедуры &НаКлиенте Процедура ОбратныйВызов(Дата, ДопПар) Экспорт Если Дата = Неопределено Тогда //Дата = Неопределено, если пользователь закрыл окно ввода Сообщить("Ничего не введено!"); Иначе //в переменной Дата будет сама дата Сообщить(Дата); КонецЕсли; КонецПроцедуры
Ввод значения
Помимо функций для ввода примитивных типов, в 1С есть функции для ввода значения произвольного типа данных: синхронная ВвестиЗначение и асинхронная ПоказатьВводЗначения. ВвестиЗначение можно использовать только если разрешено использование модальности.
В данных функциях последним параметром можно передать тип значения, который нужно будет ввести. Если тип не указать, то будет использоваться тип переменной, в которую будет получен результат. Также можно указать составной тип данных, тогда до ввода значения нужно будет выбрать тип.
Рассмотрим обе функции на примерах.
ВвестиЗначение
&НаКлиенте Процедура Команда1(Команда) Перем ВводимоеЗначение; //Если переменной ВводимоеЗначение присвоить какое-то значение, //то оно будет использоваться как первоначальное значение //будем выбирать из справочника товаров Тип = Тип("СправочникСсылка.Товары"); Если ВвестиЗначение(ВводимоеЗначение, "Выберите значение", Тип) Тогда //функция вернет Истина, если пользователь выбрал товар //в переменной ВводимоеЗначение будет сам товар Сообщить(ВводимоеЗначение); Иначе //функция вернет Ложь, если пользователь закрыл окно выбора Сообщить("Ничего не выбрано!"); КонецЕсли; КонецПроцедуры
ПоказатьВводЗначения
&НаКлиенте Процедура Команда1(Команда) Перем ВводимоеЗначение; //Если переменной ВводимоеЗначение присвоить какое-то значение, //то оно будет использоваться как первоначальное значение //будем выбирать из справочника товаров Тип = Тип("СправочникСсылка.Товары"); ОбратныйВызов = Новый ОписаниеОповещения("ПослеВыбораТовара", ЭтотОбъект); ПоказатьВводЗначения(ОбратныйВызов, ВводимоеЗначение, "Выберите значение", Тип); КонецПроцедуры &НаКлиенте Процедура ПослеВыбораТовара(ВыбранныйТовар, ДопПараметры) Экспорт Если ВыбранныйТовар = Неопределено Тогда //ВыбранныйТовар = Неопределено, если пользователь закрыл окно выбора Сообщить("Ничего не введено!"); Иначе //в переменной ВыбранныйТовар будет сам товар Сообщить(ВыбранныйТовар); КонецЕсли; КонецПроцедуры
Составной тип
&НаКлиенте Процедура Команда1(Команда) Перем ВводимоеЗначение; //Если переменной ВводимоеЗначение присвоить какое-то значение, //то оно будет использоваться как первоначальное значение //будем выбирать из справочника товаров или контрагентов ТипТовар = Тип("СправочникСсылка.Товары"); ТипКонтр = Тип("СправочникСсылка.Контрагенты"); Типы = Новый Массив; Типы.Добавить(ТипТовар); Типы.Добавить(ТипКонтр); СоставнойТип = Новый ОписаниеТипов(Типы); ОбратныйВызов = Новый ОписаниеОповещения("ПослеВыбора", ЭтотОбъект); ПоказатьВводЗначения(ОбратныйВызов, ВводимоеЗначение, "Выберите значение", СоставнойТип); КонецПроцедуры &НаКлиенте Процедура ПослеВыбора(ВыбранныйЭлемент, ДопПараметры) Экспорт Если ВыбранныйЭлемент = Неопределено Тогда //ВыбранныйЭлемент = Неопределено, если пользователь закрыл окно выбора Сообщить("Ничего не введено!"); Иначе //в переменной ВыбранныйЭлемент будет товар или контрагент Сообщить(ВыбранныйЭлемент); КонецЕсли; КонецПроцедуры
Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Программное решение для сдачи и подготовки к экзаменам
Программирование в 1С 8.3 с нуля — краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки