Консоль операционной системы

В информационных технологиях под термином консоль понимается совокупность устройств ввода/вывода, обеспечивающих диалог человека и компьютера. В данном документе будет использовать более упрощенный вариант этого термина. Под термином консоль мы будем понимать символьный интерфейс ввода/вывода, который система «1С:Исполнитель» «наследует» у командного интерпретатора операционной системы. Для работы с консолью предназначен объект глобального контекста Консоль.

Как и любой интерфейс ввода/вывода, консоль предполагает два основных действия: вывести информацию в консоль и получить информацию из консоли. Сделаем небольшое отступление и кратко рассмотрим такое понятие, как стандартные потоки. С точки зрения программы, стандартные потоки — это предопределенные интерфейсы к механизмам операционной системы, позволяющие выполнять три стандартных действия:
  1. Выводить информацию в консоль. Чтобы сообщить пользователю какую-либо информацию о работе нашей программы, мы будем использовать именно это действие. Используется стандартный поток вывода, также известный как stdout.
  2. Получать информацию из консоли. Получение информации из консоли нужно нам каждый раз, когда надо что-либо получить от пользователя: параметр, ответ на вопрос и т. д. Используется стандартный поток ввода, также известный как stdin.
  3. Отображать информацию об ошибках. Когда в исполняемом скрипте возникает ошибка, которая доходит до интерпретатора системы «1С:Исполнитель», то информация о ней выводится в стандартный поток вывода информации об ошибках и прочих диагностических сообщений. Если во время работы сценарий обнаруживает ошибку, информация об этом также должна выводиться в стандартный поток сообщений об ошибках. Это стандартный поток вывода stderr.

Каждый из упомянутых потоков можно переадресовать средствами операционной системы. Обычный вывод скрипта можно поместить в один файл, а все ошибки, возникающие во время его работы, — в другой.

Вернемся к нашему интерфейсу с пользователем.

Для того чтобы сообщить пользователю какую-либо информацию, используйте методы, имя которых начинается с префикса Записать:
  • Записать() — выводит в стандартный поток вывода строковое представление объекта, указанного в качестве параметра;
  • ЗаписатьОшибку() — выводит сообщение об ошибке в стандартный поток сообщений об ошибках.
Для того чтобы получить от пользователя какую-либо информацию, используйте методы, имя которых начинается с префикса Считать:
  • СчитатьСимвол() — получает от пользователя один символ;
  • СчитатьСтроку() — получает от пользователя несколько символов (строку);
  • СчитатьЧисло() — получает от пользователя числовое значение. Формат ввода определяется локалью, используемой консолью;
  • СчитатьБулево() — запрашивает у пользователя значения типа Булево. Фактически, пользователю предлагается ввести какое-либо из значений: Истина, Ложь, True, False (при вводе учитывается регистр);
  • СчитатьПароль() — считывает и возвращает из входящего потока пароль типа Строка. При вводе символов вывод в консоль не осуществляется.

Работа с консолью

метод Скрипт()
    пер Имя: Строка
    пер Возраст: Число
    пер Уверенность: Булево
    
    пока Имя != "Все"
        Имя = Консоль.СчитатьСтроку("Введите ваше имя: ")
        выбор Имя
        когда "Все"
            прервать
        когда == "Ошибка"
            Консоль.ЗаписатьОшибку("Введено ошибочное имя!")
            продолжить
        иначе
            Возраст = Консоль.СчитатьЧисло("Сколько вам лет: ")
            Уверенность = Консоль.СчитатьБулево("Вы уверены, что вас зовут " + Имя + " ")
            если не Уверенность
                продолжить
            ;
            Консоль.Записать("Вас зовут " + Имя + ", и ваш возраст равен " + Возраст)
        ;
    ;
    Консоль.Записать("Работа завершена")
;