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

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

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

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

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

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

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

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