В информационных технологиях под термином консоль понимается совокупность устройств ввода/вывода, обеспечивающих диалог человека и компьютера. В данном документе будет использовать более упрощенный вариант этого термина. Под термином консоль мы будем понимать символьный интерфейс ввода/вывода, который система «1С:Предприятие.Элемент Скрипт» «наследует» у командного интерпретатора операционной системы. Для работы с консолью предназначен объект глобального контекста Консоль
.
Как и любой интерфейс ввода/вывода, консоль предполагает два основных действия: вывести информацию в консоль и получить информацию из кон соли. Сделаем небольшое отступление и кратко рассмотрим такое понятие, как стандартные потоки. С точки зрения программы, стандартные потоки — это предопределенные интерфейсы к механизмам операционной системы, позволяющие выполнять три стандартных действия:
- Выводить информацию в консоль. Чтобы сообщить пользователю какую-либо информацию о работе нашей программы, мы будем использовать именно это действие. Используется стандартный поток вывода, также известный как
stdout
.
- Получать информацию из консоли. Получение информации из консоли нужно нам каждый раз, когда надо что-либо получить от пользователя: параметр, ответ на вопрос и т. д. Используется стандартный поток ввода, также известный как
stdin
.
- Отображать информацию об ошибках. Когда в исполняемом скрипте возникает ошибка, которая доходит до интерпретатора системы «1С:Предприятие.Элемент Скрипт», то информация о ней выводится в стандартный поток вывода информации об ошибках и прочих диагностических сообщений. Если во время работы сценарий обнаруживает ошибку, информация об этом также должна выводиться в стандартный поток сообщений об ошибках. Это стандартный поток вывода
stderr
.
Каждый из упомянутых потоков можно переадресовать средствами операционной системы. Обычный вывод скрипта можно поместить в один файл, а все ошибки, возникающие во время его работы, — в другой.
Вернемся к нашему интерфейсу с пользователем.
Для того чтобы сообщить пользователю какую-либо информацию, используйте методы, имя которых начинается с префикса Записать
:
Записать()
— выводит в стандартный поток вывода строковое представление объекта, указанного в качестве параметра;
ЗаписатьОшибку()
— выводит сообщение об ошибке в стандартный поток сообщений об ошибках.
Для того чтобы получить от пользователя какую-либо информацию, используйте методы, имя которых начинается с префикса Считать
:
СчитатьСимвол()
— получает от пользователя один символ.
СчитатьСтроку()
— получает от пользователя несколько символов (строку).
СчитатьЧисло()
— получает от пользователя числовое значение. Формат ввода определяется локалью, которую использует консоль.
СчитатьБулево()
— запрашивает у пользователя значения типа Булево
. Фактически, пользователю предлагается ввести какое-либо из значений: Истина
, Ложь
, True
, False
(при вводе учитывается регистр).
СчитатьПароль()
— считывает и возвращает из входящего потока пароль типа Строка
. При вводе символов вывод в консоль не осуществляется.
В версии «1С:Предприятие.Элемент Скрипт»-X для Windows для отображения символов в консоли используется кодировка Windows-1251 (cp1251). В остальных версиях используется UTF-8.
Пример работы с консолью
метод ВычислитьКвадратЧисла(Ввод: Строка)
попытка
пер ЧислоИзСтроки = новый Число(Ввод)
Консоль.Записать(Ввод + "^2 = " + ЧислоИзСтроки ** 2)
поймать Исключение: ИсключениеНедопустимыйФормат
Консоль.Записать("Ошибка ввода. " + Исключение.Описание)
;
;
метод Скрипт()
пер Ввод = Консоль.СчитатьСтроку("Введите число: ")
ВычислитьКвадратЧисла(Ввод)
;