БизнесПроцессСсылка.<Имя бизнес-процесса>.Пустая

Методы · IsEmpty

Определяет, является ли ссылка пустой или нет.

Синтаксис

Пустая()

Примеры платформы

Если ВыбБизнесПроцесс.Пустая() Тогда
    Предупреждение(НСтр("ru = 'Выберите бизнес-процесс!';
        | en = 'Select a business process!'"));
КонецЕсли;
Полное описание, параметры и ограничения

БизнесПроцессСсылка.<Имя бизнес-процесса>.Пустая (BusinessProcessRef.<Business process name>.IsEmpty)

БизнесПроцессСсылка.<Имя бизнес-процесса> (BusinessProcessRef.<Business process name>)

Пустая (IsEmpty)

Доступен, начиная с версии 8.0.

Синтаксис:
Пустая()
Возвращаемое значение:
Тип: Булево.
Истина - ссылка не указывает ни на какой объект (пустая ссылка); Ложь - в противном случае.
Описание:

Определяет, является ли ссылка пустой или нет.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

Пример:

Если ВыбБизнесПроцесс.Пустая() Тогда
Предупреждение(НСтр("ru = 'Выберите бизнес-процесс!';
| en = 'Select a business process!'"));
КонецЕсли;

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Скопировать комментарии, не клонируя исполненный маршрут

Получаем новые экземпляры процесса и задачи. Меняем их учебные комментарии и имя задачи, проверяя исходные значения и новое состояние копий.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.

  7. Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.

  8. Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.

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

  10. Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.

Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
    Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
Процесс.Комментарий = "Подготовка трёх книг";
Задача.Наименование = "Подготовить учебную книгу";
Задача.Комментарий = "Первый учебный экземпляр";
КопияПроцесса = Процесс.Скопировать();
КопияЗадачи = Задача.Скопировать();
КопияПроцесса.Комментарий = "Отдельная учебная копия";
КопияЗадачи.Наименование = "Подготовить учебную тетрадь";
КопияЗадачи.Комментарий = "Второй учебный экземпляр";
Сообщить(Процесс.Комментарий = "Подготовка трёх книг");
Сообщить(Задача.Наименование = "Подготовить учебную книгу");
Сообщить(Задача.Комментарий = "Первый учебный экземпляр");
Сообщить(КопияПроцесса.ЭтоНовый());
Сообщить(КопияЗадачи.ЭтоНовый());
Сообщить(КопияПроцесса.Ссылка.Пустая());
Сообщить(КопияЗадачи.Ссылка.Пустая());

Разбор по шагам

  1. Комментарий — собственный реквизит, явно созданный в подготовке, не обязательное поле всех бизнес-процессов.

  2. Скопировать возвращает новые экземпляры. Присваивание другого имени/комментария не меняет исходный объект.

  3. Проверяем новое состояние и пустые ссылки копий; Записать отсутствует.

  4. Урок не переносит историю исполнения, адресацию и выполненные задачи рабочего процесса.

Как проверить результат

  1. Семь сравнений Истина. Исходные комментарии/имя сохранены, копии новые.

  2. Новые строки в списках задач и процессов не появились.

Ожидаемый результат

Получены независимые учебные копии данных двух незаписанных объектов.

На что обратить внимание

  1. Не используйте копирование как способ восстановить выполненный маршрут.

  2. Обработчики ПриКопировании типовой конфигурации могут иначе заполнять данные; здесь их нет.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Создать процесс и задачу, не запуская маршрут

Новые экземпляры ещё не записаны и не связаны друг с другом. Стартован, Завершен и Выполнена читаем как состояние, не присваиваем их для имитации выполнения.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.

  7. Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.

  8. Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.

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

  10. Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.

Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
    Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
Процесс.Комментарий = "Учебный экземпляр только в памяти";
Задача.Наименование = "Подготовить учебную книгу";
Задача.Комментарий = "Задача пока не записана";
Процесс.ДополнительныеСвойства.Вставить("Цель", "Изучить маршрут");
Задача.ДополнительныеСвойства.Вставить("КоличествоКниг", 3);
Сообщить(Процесс.ЭтоНовый());
Сообщить(Задача.ЭтоНовый());
Сообщить(Процесс.Ссылка.Пустая());
Сообщить(Задача.Ссылка.Пустая());
Сообщить(Не Процесс.Стартован);
Сообщить(Не Процесс.Завершен);
Сообщить(Не Задача.Выполнена);
Сообщить(Не Процесс.ПометкаУдаления);
Сообщить(Не Задача.ПометкаУдаления);
Сообщить(Задача.БизнесПроцесс.Пустая());
Сообщить(Процесс.ВедущаяЗадача.Пустая());
Сообщить(Процесс.Метаданные().Имя = "УчебныйПроцесс");
Сообщить(Задача.Метаданные().Имя = "УчебнаяЗадача");
Сообщить(Процесс.ДополнительныеСвойства.Цель = "Изучить маршрут");
Сообщить(Задача.ДополнительныеСвойства.КоличествоКниг = 3);

Разбор по шагам

  1. Менеджеры создают два самостоятельных экземпляра. СоздатьЗадачу сам по себе не назначает ей бизнес-процесс.

  2. Стартован/Завершен/Выполнена — разные состояния. Их чтение не запускает маршрут и не уведомляет процесс.

  3. ДополнительныеСвойства содержат наши временные учебные метки, не сохраняемые реквизиты схемы.

  4. ВедущаяЗадача нужна для вложенного процесса, который при завершении выполняет ведущую задачу родительского процесса. В нашем новом корневом экземпляре она пустая.

Как проверить результат

  1. Пятнадцать сообщений Истина. Два списка в учебной базе не получили новых строк.

  2. Не заменяйте отсутствие Старт на присваивание Стартован=Истина: это не эквивалент движения по карте.

Ожидаемый результат

Созданы и исследованы два незаписанных объекта с раздельными состояниями.

На что обратить внимание

  1. Рабочие процессы могут иметь обработчики создания и другую адресацию. Урок требует именно описанную пустую конфигурацию.

  2. Пустая ссылка и отсутствие записи не равны завершению бизнес-задачи.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.