Получает значение по индексу. Работает аналогично оператору [].
Синтаксис
Получить(<Индекс>)Полное описание, параметры и ограничения
ЭлементыГрафическойСхемы.Получить (GraphicalSchemaItems.Get)
ЭлементыГрафическойСхемы (GraphicalSchemaItems)
Получить (Get)
Доступен, начиная с версии 8.0.
Синтаксис:
Получить(<Индекс>)
Параметры:
<Индекс> (обязательный)
Тип: Число.
Индекс элемента.
Возвращаемое значение:
Тип: ЭлементГрафическойСхемыСоединительнаяЛиния, ЭлементГрафическойСхемыДекорация, ЭлементГрафическойСхемыДействие, ЭлементГрафическойСхемыРазделение, ЭлементГрафическойСхемыУсловие, ЭлементГрафическойСхемыЗавершение, ЭлементГрафическойСхемыСтарт, ЭлементГрафическойСхемыСлияние, ЭлементГрафическойСхемыВложенныйБизнесПроцесс, ЭлементГрафическойСхемыОбработка, ЭлементГрафическойСхемыВыборВарианта.
Описание:
Получает значение по индексу. Работает аналогично оператору [].
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Примечание:
Применяется в случаях, когда использование оператора [] невозможно.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Найти действие по настоящей точке маршрута
Поиск выполняется по ссылке точки ПодготовитьКнигу собственного процесса. Первый элемент читаем только после проверки количества, не выдавая его за нужное действие.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.
Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.
Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.
Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.
Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
В этих упражнениях процесс не записывается и не запускается. Исследуется копия карты маршрута в памяти; печать на физический принтер не вызывается.
Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Схема = Процесс.ПолучитьКартуМаршрута();
Если ТипЗнч(Схема) <> Тип("ГрафическаяСхема") Тогда
ВызватьИсключение "Учебный процесс не вернул графическую схему";
КонецЕсли;
Коллекция = Схема.ЭлементыГрафическойСхемы;
ТочкаКниги = БизнесПроцессы.УчебныйПроцесс.ТочкиМаршрута.ПодготовитьКнигу;
ДействиеКниги = Коллекция.Найти(ТочкаКниги);
Если ДействиеКниги = Неопределено Тогда
ВызватьИсключение "В собственной карте не найдено учебное действие";
КонецЕсли;
Если Коллекция.Количество() = 0 Тогда
ВызватьИсключение "Учебная карта пуста";
КонецЕсли;
ПервыйЭлемент = Коллекция.Получить(0);
Сообщить(ТипЗнч(ДействиеКниги) = Тип("ЭлементГрафическойСхемыДействие"));
Сообщить(ПервыйЭлемент <> Неопределено);
Сообщить(Коллекция.Найти("НетТакогоУчебногоЭлемента") = Неопределено);
Сообщить("Всего элементов, включая соединения: " + Строка(Коллекция.Количество()));Разбор по шагам
Найти имеет два варианта: точка маршрута или строковое имя элемента. Здесь основным является поиск по реальной ссылке собственной точки.
После поиска проверяем Неопределено. В подготовке ПодготовитьКнигу — одиночное действие, поэтому найденный элемент имеет соответствующий тип.
Получить(0) читает первый элемент только при непустой коллекции. Он не обязательно является точкой старта или найденным действием.
Коллекция содержит не только точки, но и соединения. Её количество нельзя приравнивать к числу задач или товаров.
Как проверить результат
Три сравнения Истина и диагностическое количество элементов.
В отладчике ДействиеКниги соответствует выбранной точке, а не случайному первому элементу.
Ожидаемый результат
Нужная точка найдена по идентичности, индексный доступ проверен отдельно.
На что обратить внимание
Имя элемента графической схемы не обязано совпадать с представлением точки.
Коллекция не имеет Добавить: новые точки готовятся в карте маршрута Конфигуратора.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.