Синтаксис и применение ПометкаУдаления в платформе 1С:Предприятие. Описание и примеры кода.
Полное описание, параметры и ограничения
ПометкаУдаления (DeletionMark)
ПометкаУдаления (DeletionMark)
Тип: Булево.
Содержит признак пометки на удаление бизнес-процесса.
Методическая информация
Практические примеры
Прочитать созданный учебный объект: ВедущаяЗадача, ПометкаУдаления, ВерсияДанных, Дата, Завершен, Стартован, Номер
Запрос выбирает именно показанные поля; ссылки, состояния и номер версии не подменяются текстовыми заглушками.
Где и как запускать
Серверная процедура ВыполнитьПример в общем модуле УчебныеПроцессы. Функция подготовки размещена отдельно в том же модуле.
Подготовка
Работайте в отдельной пустой учебной конфигурации. Создайте справочник УчебныеИсполнители и предопределённый элемент Демонстрационный с наименованием Учебный исполнитель.
Создайте задачу УчебныеСогласования: строковый номер длиной 12, автонумерация, наименование длиной 100. Добавьте реквизит адресации Исполнитель типа СправочникСсылка.УчебныеИсполнители и выберите его основным реквизитом адресации. Здесь используется прямая адресация; регистр ролевой адресации не нужен.
Создайте параметр сеанса УчебныйИсполнитель того же ссылочного типа. В свойстве задачи Текущий исполнитель выберите этот параметр. Запросы урока передают исполнителя явно и не зависят от начального значения параметра сеанса.
Создайте бизнес-процесс УчебноеСогласование со строковым номером длиной 12 и автонумерацией. В свойстве Задача выберите УчебныеСогласования. Карта маршрута: Старт (начало) → Согласовать (действие) → Завершение. В точке Согласовать задайте адресацию Исполнитель = Демонстрационный, Групповая = Ложь.
И у задачи, и у бизнес-процесса создайте обычные реквизиты КомментарийУчебный (Строка 100), Сумма (Число 12.2), Подтверждено (Булево), ЗапретУдаления (Булево). Добавьте табличную часть Детали с колонками Наименование (Строка 100) и Количество (Число 10.0).
Создайте общий реквизит УчебныйИсточник типа Строка 20, Разделение данных = Не использовать. Включите только учебную задачу и бизнес-процесс в его состав. Это не разделитель и не настройка рабочей конфигурации.
В модуле объекта бизнес-процесса разместите отдельный обработчик СогласоватьПриСозданииЗадач из дополнительного блока. В свойствах точки Согласовать назначьте его событию ПриСозданииЗадач. Платформа записывает сформированные задачи после обработчика; внутри него Записать не вызывается.
Обновите учебную базу. Создайте серверный общий модуль УчебныеПроцессы: поместите туда функцию ПодготовитьУчебныйПроцесс из отдельного блока и процедуру ВыполнитьПример() Экспорт. Основной код без заголовка вставляйте в тело этой процедуры и вызывайте её из серверной команды своей обработки.
Каждый запуск подготовки действительно создаёт новый учебный бизнес-процесс и его задачу. Не используйте рабочую базу. Табличные части и обычные реквизиты заполняются только у этих новых объектов; ничего не отправляется по сети.
Контекст = ПодготовитьУчебныйПроцесс();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Данные.ВедущаяЗадача КАК ВедущаяЗадача,
| Данные.ПометкаУдаления КАК ПометкаУдаления,
| Данные.ВерсияДанных КАК ВерсияДанных,
| Данные.Дата КАК Дата,
| Данные.Завершен КАК Завершен,
| Данные.Стартован КАК Стартован,
| Данные.Номер КАК Номер
|ИЗ БизнесПроцесс.УчебноеСогласование КАК Данные
|ГДЕ Данные.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Контекст.Процесс);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("ВедущаяЗадача: " + Строка(Выборка.ВедущаяЗадача));
Сообщить("ПометкаУдаления: " + Строка(Выборка.ПометкаУдаления));
Сообщить("ВерсияДанных: " + Строка(Выборка.ВерсияДанных));
Сообщить("Дата: " + Строка(Выборка.Дата));
Сообщить("Завершен: " + Строка(Выборка.Завершен));
Сообщить("Стартован: " + Строка(Выборка.Стартован));
Сообщить("Номер: " + Строка(Выборка.Номер));
КонецЦикла;Серверный общий модуль УчебныеПроцессы: реальное создание процесса и задачи
Функция ПодготовитьУчебныйПроцесс(ЗапуститьМаршрут = Истина) Экспорт
Процесс = БизнесПроцессы.УчебноеСогласование.СоздатьБизнесПроцесс();
Процесс.Дата = Дата(2026, 10, 14, 10, 0, 0);
Процесс.КомментарийУчебный = "Согласовать учебную покупку";
Процесс.Сумма = 100;
Процесс.Подтверждено = Ложь;
Процесс.УчебныйИсточник = "ПРИМЕР";
Деталь = Процесс.Детали.Добавить();
Деталь.Наименование = "Книга";
Деталь.Количество = 2;
Процесс.Записать();
Если Не ЗапуститьМаршрут Тогда
Возврат Новый Структура("Процесс,Задача", Процесс.Ссылка, Задачи.УчебныеСогласования.ПустаяСсылка());
КонецЕсли;
Процесс.Старт();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Задача.УчебныеСогласования ГДЕ БизнесПроцесс = &Процесс";
Запрос.УстановитьПараметр("Процесс", Процесс.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Не Выборка.Следующий() Тогда
ВызватьИсключение "Маршрут не создал учебную задачу: проверьте подготовку";
КонецЕсли;
Возврат Новый Структура("Процесс,Задача", Процесс.Ссылка, Выборка.Ссылка);
КонецФункцииМодуль объекта бизнес-процесса: назначенный обработчик точки Согласовать
Процедура СогласоватьПриСозданииЗадач(ТочкаМаршрута, ФормируемыеЗадачи, Отказ)
Для Каждого НоваяЗадача Из ФормируемыеЗадачи Цикл
НоваяЗадача.КомментарийУчебный = "Проверить учебную покупку";
НоваяЗадача.Сумма = 100;
НоваяЗадача.УчебныйИсточник = "ПРИМЕР";
Деталь = НоваяЗадача.Детали.Добавить();
Деталь.Наименование = "Книга";
Деталь.Количество = 2;
КонецЦикла;
КонецПроцедурыРазбор по шагам
Подготовка создаёт один собственный процесс и задачу; таблица Точки описывает точки карты маршрута, а не выполненные экземпляры задач.
ВЫБРАТЬ перечисляет реальные поля таблицы. Условие Ссылка = &Ссылка ограничивает результат своим объектом или своей точкой.
Выборка.Следующий переводит указатель к строке; её значения выводятся по отдельности.
Как проверить результат
Показаны значения только собственного объекта или точки Согласовать, а не всех данных базы.
После выполнения задачи виртуальная таблица с условием Выполнена = ЛОЖЬ не вернёт её. Порядок точки не является датой выполнения, ВерсияДанных не является номером платформы.
Ожидаемый результат
Показан результат для собственных подготовленных объектов учебного согласования.
На что обратить внимание
Все имена метаданных берутся из подготовки; в типовой конфигурации таких учебных объектов может не быть.
Каждый блок вставляется в указанный модуль отдельно. Не вызывайте процедуру события вручную вместо реального действия платформы.
Запись и старт относятся только к новым учебным объектам. Пример не выполняет обработку реальных согласований и не гарантирует правильность чужого маршрута.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.