1. Изучить теоретический материал, изложенный выше в данной методичке, а также в главах 3.2 и 3.3 методических указаний в формате PDF.
2. Из меню Cache-куба открыть Cache Studio, ознакомиться с его интерфейсом и создать новую программу. См. рисунок 3.

Рисунок 3 – Создание новой программы на языке Cache Object Script.
3. На примерах, изложенных ниже, изучить основные приёмы работы с глобалами с использованием циклических структур:
· Занести следующие данные о пациентах в глобал ^Medizine:
Таблица 1 – Данные о пациентах.
| Фамилия пациента | Возраст | Пол | Кровяное давление | Температура тела |
| Иванов | мужской | 125/60 | 36,6 | |
| Сидорова | женский | Нет данных | Нет данных | |
| Тарасов | мужской | 110/80 | 38,6 | |
| Петров | мужской | Нет данных | 36,6 | |
| Иваненко | женский | 115/85 | Нет данных | |
| Горбунков | мужской | 100/80 | 39,3 | |
| Иващенко | мужской | 140/60 | 36,9 | |
| Турчинов | мужской | Нет данных | Нет данных |
Программа имеет вид, приведённый на рисунке ниже:

После набора кода в центральном окне, рисунок 4, программу следует откомпилировать, путём нажатии клавиш Ctrl+F7. Перекомпилируйте программу каждый раз, когда что-то в ней меняете или исправляете ошибки!
После первой компиляции программа попросит сохранение, см. рисунок 5.

Рисунок 4 – Работа над собственной программой в Cache Studio.

Рисунок 5 – Сохранение программы на диске.
Для выполнения программы используйте программу «Терминал», также вызываемую из меню Cache-куба. См. рисунок 6.
Вызов программы осуществляется с помощью оператора «do», далее пробел, далее знак циркумфлекс «^» и затем полное имя программы, которая тестируется. В конце каждой строки нажимается «Enter».

Рисунок 6 – Выполнение созданной программы в «Терминале».
Убедитесь в том, что все данные сохранены на диске в глобале ^Medizine. Для этого откройте портал управления системой:

Рисунок 7 – Просмотр глобалов в области User.
· Работа с функцией $Data. Функция $Data (коротко $D) – это функция с именем переменной в качестве аргумента. Эта функция может работать с локальной или с глобальной, скалярной или индексированной переменной. Значение функции $Data определяет, существует ли заданная в виде аргумента переменная и какая у неё структура. Функция возвращает четыре различных результата:
1. Если её значение равно 0 (10), то переменная не существует;
2. Если её результат 1(11), то переменная существует.
Пример программы, которая позволяет определить имеется ли данный пациент на лечении или нет, приведена на рисунке ниже:
Программа имеет вид:

Здесь применён оператор косвенности - @, который преобразует в данном случае имя переменной в её значение. В общем случае он предназначен для преобразования строки символов в программный код.
Результат её работы может быть следующим:

Рисунок 8 – Результат работы программы.
· Работа с функцией $Order. Она является основной функцией, служащей для получения очередного в последовательности сортировки индекса локальной или глобальной индексированной переменной. Применяя цикл, в соответствии с последовательностью сортировки могут быть получены все существующие индексы данного уровня. Для того, чтобы задать самый первый индекс в пределах заданного уровня, использую пустую строку. Пример применения выполним в Терминале:
USER> w $O(^Medizine(65))
Получим ответ на следующий вопрос: Пациенты, каких возрастов присутствуют на лечении? Ответом будет программа:

Результат отладки программы в «Терминале» имеет вид, представленный на рисунке 9.

Рисунок 9 – Получение списка возрастов.
Это один из классических циклов Cache ObjectScript, использование которого либо в этой форме, либо в различных модификациях при прямом доступе к глобалам остаётся актуальным.
Каким образом получают к уже заданному индексу (27 к примеру) первый индекс на втором уровне? Это осуществляется точно таким же способом, как и ранее, путём использования пустой строки на втором уровне индексации:
USER>w $O(^Medizine(27,""))






