Тип: Булево. Содержит признак пометки на удаление документа. Истина - пометка удаления установлена.
Полное описание, параметры и ограничения
ДокументОбъект.<Имя документа>.ПометкаУдаления (DocumentObject.<Document name>.DeletionMark)
ДокументОбъект.<Имя документа> (DocumentObject.<Document name>)
ПометкаУдаления (DeletionMark)
Доступен, начиная с версии 8.0.
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Содержит признак пометки на удаление документа.
Истина - пометка удаления установлена.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Собрать учебную заявку с двумя строками без записи и проведения
Документ создаём в памяти, заполняем дату и строки, считаем стоимость учебного набора и копируем экземпляр. Не используем бизнес-обработчики типовой конфигурации.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.
Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.
Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный документ по подготовке";
КонецЕсли;
Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
Заявка.Дата = Дата(2026, 10, 2, 10, 0, 0);
Заявка.Комментарий = "Сценарий только в памяти";
Для Номер = 1 По 2 Цикл
СтрокаЗаявки = Заявка.Товары.Добавить();
СтрокаЗаявки.Товар = Справочники.УчебныеТовары.ПустаяСсылка();
СтрокаЗаявки.Количество = ?(Номер = 1, 3, 1);
СтрокаЗаявки.Цена = ?(Номер = 1, 250, 50);
КонецЦикла;
Итого = 0;
Для Каждого СтрокаЗаявки Из Заявка.Товары Цикл
Итого = Итого + СтрокаЗаявки.Количество * СтрокаЗаявки.Цена;
КонецЦикла;
Сообщить(Итого = 800);
Сообщить(Заявка.ЭтоНовый());
Сообщить(Не Заявка.Проведен);
Сообщить(Не Заявка.ПометкаУдаления);
Сообщить(Заявка.Ссылка.Пустая());
Сообщить(Заявка.Метаданные().Имя = "УчебнаяЗаявка");
Заявка.ДополнительныеСвойства.Вставить("УчебныйИтог", Итого);
Сообщить(Заявка.ДополнительныеСвойства.УчебныйИтог);
Копия = Заявка.Скопировать();
Копия.Комментарий = "Независимая учебная копия";
Сообщить(Заявка.Комментарий = "Сценарий только в памяти");
Сообщить(Копия.ЭтоНовый());
Сообщить(Копия.Товары.Количество() = 2);Разбор по шагам
СоздатьДокумент создаёт незаписанный экземпляр. Дата — реквизит документа, не строка форматирования.
Количества и цены сохраняем числами, стоимость считаем по двум строкам: 3×250 + 1×50.
ПустаяСсылка использована намеренно, чтобы упражнение не требовало записанных товаров. С такими строками нельзя объявлять заявку готовой к рабочей записи.
Скопировать создаёт новый экземпляр с табличной частью. Изменение комментария копии не заменяет комментарий исходного документа.
Как проверить результат
Итог равен 800, обе заявки новые, исходная не проведена и имеет пустую ссылку.
После изменения комментария копии исходный комментарий остался прежним, в копии 2 строки.
В журнале документов УчебнаяЗаявка не появляется новая запись: ни Записать, ни проведение не выполнялись.
Ожидаемый результат
Составлен и скопирован учебный документ в памяти с явными проверками состояния и табличной части.
На что обратить внимание
Это арифметическое упражнение, не расчёт налогов, себестоимости или сумм типового документа.
Скопировать не делает документ идентичным записанному оригиналу и не сохраняет его в базе.
ДополнительныеСвойства не добавляют сохраняемый реквизит УчебныйИтог в метаданные документа.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Установить и снять пометку только у своей новой непроведённой заявки
Пометка меняет состояние своей записи, но не удаляет её. Перед установкой проверяются отсутствие локальных правок и проведения; всё создание и изменение отменяется.
Где и как запускать
Полный серверный модуль новой собственной Учебная85, точная 8.5.1.1343. Непроводимая заявка; временные собственные записи только с отменой транзакции. Код здесь не запускался.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.
Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.
Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.
У своего документа и товара модули пустые, подписок, расширений и внешних обработчиков нет. История данных выключена; проведение УчебнаяЗаявка запрещено, движения/регистры не создаются.
Номер заявки здесь строковый длиной 9, с автонумерацией. Для иной числовой нумерации нельзя копировать проверки Строка. Дата задаётся собственным литералом, не читается из рабочего документа.
Свойства ссылки readonly. Непустой UUID/ссылка не означает наличие записи, а ВерсияДанных — непрозрачная строка, не номер документа или версия конфигурации.
Примеры здесь не запускались в 1С. Только код и установленная справка 8.5.1.1343; ваши документы не создавались, не проводились и не удалялись.
Создайте серверный общий модуль УчебныеСсылкиДокументов и вставьте весь модуль одного урока. ВыполнитьПример() Экспорт вызывайте из своей процедуры формы с &НаСервереБезКонтекста; обновите конфигурацию БД.
Для этого блока корень Учебная85, единственный справочник УчебныеТовары, единственный непроводимый документ УчебнаяЗаявка; регистров нет. Модули объекта/менеджера и подписки пустые, история выключена, расширений, обменов и фоновых заданий нет.
Запускайте полный модуль одного урока отдельно, единственным пользователем. Нельзя заменять проверки имени/схемы рабочими объектами или передавать документ, найденный по первой строке.
Уроки с записью/пометкой/удалением сами создают новый товар и новую заявку внутри своей транзакции, отслеживают только их ссылки и отменяют всё при успехе/ошибке. Фиксации нет; не вызывайте их внутри чужой транзакции.
Уроки черновика/времени/макета вообще не записывают документы. Все помощники и подготовленные данные предоставлены в полном модуле, внешняя библиотека не нужна.
Прямое Удалить не проверяет ссылочную целостность; откат учебной транзакции не делает этот метод безопасным для рабочего документа. Допустима только своя новая пустая база без внешних обработчиков. Здесь 1С не запускалась.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
ВызватьИсключение "Сначала подготовьте собственную УчебнаяЗаявка";
КонецЕсли;
Если Метаданные.Справочники.Количество() <> 1
Или Метаданные.Документы.Количество() <> 1
Или Метаданные.РегистрыНакопления.Количество() <> 0
Или Метаданные.РегистрыСведений.Количество() <> 0
Или Метаданные.РегистрыБухгалтерии.Количество() <> 0 Тогда
ВызватьИсключение "Нужны только собственные товар и непроводимая заявка, без регистров";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Не запускайте урок внутри чужой транзакции";
КонецЕсли;
СозданныеСсылки = Новый Массив;
НачатьТранзакцию();
Попытка
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.Наименование = "Собственная книга заявки";
Товар.Артикул = "DOC-OWN-01";
Товар.Цена = 250;
Товар.УстановитьНовыйКод("У");
Товар.Записать();
СозданныеСсылки.Добавить(Товар.Ссылка);
Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
Заявка.Дата = Дата(2026, 10, 6, 12, 0, 0);
Заявка.Комментарий = "Собственный источник копии";
Первая = Заявка.Товары.Добавить();
Первая.Товар = Товар.Ссылка;
Первая.Количество = 3;
Первая.Цена = 250;
Вторая = Заявка.Товары.Добавить();
Вторая.Товар = Товар.Ссылка;
Вторая.Количество = 1;
Вторая.Цена = 50;
Заявка.УстановитьНовыйНомер("У");
Заявка.Записать(РежимЗаписиДокумента.Запись);
СозданныеСсылки.Добавить(Заявка.Ссылка);
Читаемая = Заявка.Ссылка;
Объект = Читаемая.ПолучитьОбъект();
Если Объект = Неопределено Или Объект.Ссылка <> СозданныеСсылки.Получить(1) Тогда
ВызватьИсключение "Разрешена только собственная заявка этого запуска";
КонецЕсли;
Если Объект.Модифицированность() Или Объект.Проведен Тогда
ВызватьИсключение "Нужна немодифицированная непроведённая собственная запись";
КонецЕсли;
Объект.УстановитьПометкуУдаления(Истина);
ПослеПометки = Читаемая.ПолучитьОбъект();
Если ПослеПометки = Неопределено Тогда
ВызватьИсключение "Пометка не должна немедленно удалять собственную запись";
КонецЕсли;
Сообщить(ПослеПометки.ПометкаУдаления);
Сообщить(ПослеПометки.Товары.Количество() = 2);
Сообщить(ПослеПометки.Товары.Получить(0).Количество = 3);
Если ПослеПометки.Модифицированность() Тогда
ВызватьИсключение "Нельзя снимать пометку у локально изменённого объекта";
КонецЕсли;
ПослеПометки.УстановитьПометкуУдаления(Ложь);
ПослеСнятия = Читаемая.ПолучитьОбъект();
Если ПослеСнятия = Неопределено Тогда
ВызватьИсключение "Собственная запись после снятия пометки отсутствует";
КонецЕсли;
Сообщить(Не ПослеСнятия.ПометкаУдаления);
Сообщить(Не ПослеСнятия.Проведен);
Сообщить("Обе операции касались только новой собственной записи и будут отменены");
ОтменитьТранзакцию();
Исключение
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Сообщить(Не ТранзакцияАктивна());
Для Каждого СозданнаяСсылка Из СозданныеСсылки Цикл
Сообщить(СозданнаяСсылка.ПолучитьОбъект() = Неопределено);
КонецЦикла;
КонецПроцедурыРазбор по шагам
Создать собственную заявку внутри своей транзакции и сохранить её ссылку в отслеживаемом списке.
Проверить, что объект соответствует именно второй новой ссылке этого запуска, а не произвольному найденному документу.
Перед пометкой исключить Модифицированность и Проведен: модифицированный объект недопустим, проведение при пометке было бы отменено.
УстановитьПометкуУдаления(Истина), затем получить существующий объект по своей ссылке и проверить флаг/сохранность строк.
Для снятия взять свежий немодифицированный объект, вызвать с Ложь и повторно прочитать запись.
Подтвердить отсутствие пометки и проведения; отменить все собственные записи без фиксации.
Как проверить результат
После установки своя запись существует, пометка Истина, две строки и первая с количеством 3.
После снятия пометка Ложь, проведение Ложь.
Код напрямую Удалить не вызывает.
После общего отката обе свои записи отсутствуют.
Ожидаемый результат
Показано изменение пометки без непосредственного удаления и с проверкой допустимого локального состояния.
На что обратить внимание
Непустая ссылка не доказывает существование записи; плановую ссылку не читать как сохранённый документ.
Модифицированность относится к локальным изменениям объекта после чтения, не к изменениям другими пользователями. ВерсияДанных — непрозрачная readonly-строка.
Заблокирован относится к блокировке именно этим объектом языка; это не общий индикатор всех блокировок записи. Собственную явную блокировку освобождайте отдельно, не рассчитывайте только на откат.
Пометка не удаляет запись, а прямое Удалить удаляет сразу без проверки ссылок. Если документ проведён, установка пометки отменяет проведение; модифицированный объект перед пометкой вызывает ошибку.
Статические проверки по справке и тексты контрольных условий не являются выполнением BSL в 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.