Перейти к основному содержимому

Консоль

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

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

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

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

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

Для того чтобы сообщить пользователю какую-либо информацию, используйте методы, имя которых начинается с префикса Записать:

  • Записать() — выводит в стандартный поток вывода строковое представление объекта, указанного в качестве параметра;
  • ЗаписатьОшибку() — выводит сообщение об ошибке в стандартный поток сообщений об ошибках.

Для того чтобы получить от пользователя какую-либо информацию, используйте методы, имя которых начинается с префикса Считать:

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

В версии «1С:Предприятие.Элемент Скрипт»-X для Windows для отображения символов в консоли используется кодировка Windows-1251 (cp1251). В остальных версиях используется UTF-8.

Пример работы с консолью

метод ВычислитьКвадратЧисла(Ввод: Строка)
попытка
пер ЧислоИзСтроки = новый Число(Ввод)
Консоль.Записать(Ввод + "^2 = " + ЧислоИзСтроки ** 2)
поймать Исключение: ИсключениеНедопустимыйФормат
Консоль.Записать("Ошибка ввода. " + Исключение.Описание)
;
;

метод Скрипт()
пер Ввод = Консоль.СчитатьСтроку("Введите число: ")
ВычислитьКвадратЧисла(Ввод)
;