ДокументОбъект.<Имя документа>.Проведен

Свойства · Posted

Тип: Булево. Содержит признак проведенности документа. Истина - документ проведен.

Полное описание, параметры и ограничения

ДокументОбъект.<Имя документа>.Проведен (DocumentObject.<Document name>.Posted)

ДокументОбъект.<Имя документа> (DocumentObject.<Document name>)

Проведен (Posted)

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

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Содержит признак проведенности документа.
Истина - документ проведен.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
Свойство может быть изменено. Если понятие проведенности документа отличается от стандартного (Проведение документа - процесс изменения состояния регистров, при котором в регистр записываются движения.), то разработчик конфигурации предоставляет пользователям средства формирования движений, а данное свойство может быть использовано для иных, определяемых конкретной задачей, целей (например, построение специального отчета, индикации того, что данный документ уже оказывает влияние на итоговые или учетные данные, и т.д.).
Использование в версии:

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

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

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

Собрать учебную заявку с двумя строками без записи и проведения

Документ создаём в памяти, заполняем дату и строки, считаем стоимость учебного набора и копируем экземпляр. Не используем бизнес-обработчики типовой конфигурации.

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

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

Подготовка

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

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

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

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

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

  6. Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.

  7. Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.

  8. Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.


Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;

Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебный документ по подготовке";
КонецЕсли;
Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
Заявка.Дата = Дата(2026, 10, 2, 10, 0, 0);
Заявка.Комментарий = "Сценарий только в памяти";
Для Номер = 1 По 2 Цикл
    СтрокаЗаявки = Заявка.Товары.Добавить();
    СтрокаЗаявки.Товар = Справочники.УчебныеТовары.ПустаяСсылка();
    СтрокаЗаявки.Количество = ?(Номер = 1, 3, 1);
    СтрокаЗаявки.Цена = ?(Номер = 1, 250, 50);
КонецЦикла;
Итого = 0;
Для Каждого СтрокаЗаявки Из Заявка.Товары Цикл
    Итого = Итого + СтрокаЗаявки.Количество * СтрокаЗаявки.Цена;
КонецЦикла;
Сообщить(Итого = 800);
Сообщить(Заявка.ЭтоНовый());
Сообщить(Не Заявка.Проведен);
Сообщить(Не Заявка.ПометкаУдаления);
Сообщить(Заявка.Ссылка.Пустая());
Сообщить(Заявка.Метаданные().Имя = "УчебнаяЗаявка");
Заявка.ДополнительныеСвойства.Вставить("УчебныйИтог", Итого);
Сообщить(Заявка.ДополнительныеСвойства.УчебныйИтог);
Копия = Заявка.Скопировать();
Копия.Комментарий = "Независимая учебная копия";
Сообщить(Заявка.Комментарий = "Сценарий только в памяти");
Сообщить(Копия.ЭтоНовый());
Сообщить(Копия.Товары.Количество() = 2);

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

  1. СоздатьДокумент создаёт незаписанный экземпляр. Дата — реквизит документа, не строка форматирования.

  2. Количества и цены сохраняем числами, стоимость считаем по двум строкам: 3×250 + 1×50.

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

  4. Скопировать создаёт новый экземпляр с табличной частью. Изменение комментария копии не заменяет комментарий исходного документа.

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

  1. Итог равен 800, обе заявки новые, исходная не проведена и имеет пустую ссылку.

  2. После изменения комментария копии исходный комментарий остался прежним, в копии 2 строки.

  3. В журнале документов УчебнаяЗаявка не появляется новая запись: ни Записать, ни проведение не выполнялись.

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

Составлен и скопирован учебный документ в памяти с явными проверками состояния и табличной части.

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

  1. Это арифметическое упражнение, не расчёт налогов, себестоимости или сумм типового документа.

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

  3. ДополнительныеСвойства не добавляют сохраняемый реквизит УчебныйИтог в метаданные документа.

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

Удалить только свою только что созданную заявку в отменяемом опыте

Удалить действует немедленно и не проверяет ссылочную целостность. Единственная цель — новый собственный документ из этой же транзакции; чужие документы не выбираются.

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

Полный серверный модуль новой собственной Учебная85, точная 8.5.1.1343. Непроводимая заявка; временные собственные записи только с отменой транзакции. Код здесь не запускался.

Подготовка

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

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

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

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

  5. Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.

  6. Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.

  7. Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.

  8. У своего документа и товара модули пустые, подписок, расширений и внешних обработчиков нет. История данных выключена; проведение УчебнаяЗаявка запрещено, движения/регистры не создаются.

  9. Номер заявки здесь строковый длиной 9, с автонумерацией. Для иной числовой нумерации нельзя копировать проверки Строка. Дата задаётся собственным литералом, не читается из рабочего документа.

  10. Свойства ссылки readonly. Непустой UUID/ссылка не означает наличие записи, а ВерсияДанных — непрозрачная строка, не номер документа или версия конфигурации.

  11. Примеры здесь не запускались в 1С. Только код и установленная справка 8.5.1.1343; ваши документы не создавались, не проводились и не удалялись.

  12. Создайте серверный общий модуль УчебныеСсылкиДокументов и вставьте весь модуль одного урока. ВыполнитьПример() Экспорт вызывайте из своей процедуры формы с &НаСервереБезКонтекста; обновите конфигурацию БД.

  13. Для этого блока корень Учебная85, единственный справочник УчебныеТовары, единственный непроводимый документ УчебнаяЗаявка; регистров нет. Модули объекта/менеджера и подписки пустые, история выключена, расширений, обменов и фоновых заданий нет.

  14. Запускайте полный модуль одного урока отдельно, единственным пользователем. Нельзя заменять проверки имени/схемы рабочими объектами или передавать документ, найденный по первой строке.

  15. Уроки с записью/пометкой/удалением сами создают новый товар и новую заявку внутри своей транзакции, отслеживают только их ссылки и отменяют всё при успехе/ошибке. Фиксации нет; не вызывайте их внутри чужой транзакции.

  16. Уроки черновика/времени/макета вообще не записывают документы. Все помощники и подготовленные данные предоставлены в полном модуле, внешняя библиотека не нужна.

  17. Прямое Удалить не проверяет ссылочную целостность; откат учебной транзакции не делает этот метод безопасным для рабочего документа. Допустима только своя новая пустая база без внешних обработчиков. Здесь 1С не запускалась.

Процедура ВыполнитьПример() Экспорт
    
    Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
        ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
    КонецЕсли;
    Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
        ВызватьИсключение "Сначала подготовьте собственную УчебнаяЗаявка";
    КонецЕсли;
    Если Метаданные.Справочники.Количество() <> 1
        Или Метаданные.Документы.Количество() <> 1
        Или Метаданные.РегистрыНакопления.Количество() <> 0
        Или Метаданные.РегистрыСведений.Количество() <> 0
        Или Метаданные.РегистрыБухгалтерии.Количество() <> 0 Тогда
        ВызватьИсключение "Нужны только собственные товар и непроводимая заявка, без регистров";
    КонецЕсли;
    Если ТранзакцияАктивна() Тогда
        ВызватьИсключение "Не запускайте урок внутри чужой транзакции";
    КонецЕсли;
    СозданныеСсылки = Новый Массив;
    НачатьТранзакцию();
    Попытка
        Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
        Товар.Наименование = "Собственная книга заявки";
        Товар.Артикул = "DOC-OWN-01";
        Товар.Цена = 250;
        Товар.УстановитьНовыйКод("У");
        Товар.Записать();
        СозданныеСсылки.Добавить(Товар.Ссылка);
        Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
        Заявка.Дата = Дата(2026, 10, 6, 12, 0, 0);
        Заявка.Комментарий = "Собственный источник копии";
        Первая = Заявка.Товары.Добавить();
        Первая.Товар = Товар.Ссылка;
        Первая.Количество = 3;
        Первая.Цена = 250;
        Вторая = Заявка.Товары.Добавить();
        Вторая.Товар = Товар.Ссылка;
        Вторая.Количество = 1;
        Вторая.Цена = 50;
        Заявка.УстановитьНовыйНомер("У");
        Заявка.Записать(РежимЗаписиДокумента.Запись);
        СозданныеСсылки.Добавить(Заявка.Ссылка);
        Читаемая = Заявка.Ссылка;
        Объект = Читаемая.ПолучитьОбъект();
        Если Объект = Неопределено Или Объект.Ссылка <> СозданныеСсылки.Получить(1) Тогда
            ВызватьИсключение "Удалять допустимо только новую собственную заявку этого запуска";
        КонецЕсли;
        Если Объект.Проведен Или Объект.Комментарий <> "Собственный источник копии" Тогда
            ВызватьИсключение "Собственная запись не совпала с подготовленным непроведённым образцом";
        КонецЕсли;
        СсылкаУдаляемой = Объект.Ссылка;
        СсылкаТовара = СозданныеСсылки.Получить(0);
        Объект.Удалить();
        Сообщить(СсылкаУдаляемой.ПолучитьОбъект() = Неопределено);
        ОставшийсяТовар = СсылкаТовара.ПолучитьОбъект();
        Если ОставшийсяТовар = Неопределено Тогда
            ВызватьИсключение "Удаление заявки не должно удалять собственный товар";
        КонецЕсли;
        Сообщить(ОставшийсяТовар.Артикул = "DOC-OWN-01");
        Сообщить("Свою новую заявку удалили сразу; отмена всей учебной транзакции завершит опыт без записей");
        ОтменитьТранзакцию();
    Исключение
        Если ТранзакцияАктивна() Тогда
            ОтменитьТранзакцию();
        КонецЕсли;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Не ТранзакцияАктивна());
    Для Каждого СозданнаяСсылка Из СозданныеСсылки Цикл
        Сообщить(СозданнаяСсылка.ПолучитьОбъект() = Неопределено);
    КонецЦикла;
КонецПроцедуры

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

  1. Использовать только новую пустую подготовленную базу; не переносить этот урок на рабочие документы.

  2. Создать свой товар/заявку в своей транзакции и отслеживать обе новые ссылки.

  3. До удаления сверить объект со второй новой ссылкой, собственным комментарием и непроведённостью.

  4. Сохранить ссылки в переменные, вызвать Удалить только на собственном объекте. После удаления этот объект не читать как действующую запись.

  5. Через сохранённую ссылку проверить отсутствие заявки, через другую — существование своего товара: удаление не является каскадным удалением товара.

  6. Отменить весь опыт, включая создание товара; не фиксировать ни одну операцию.

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

  1. После Удалить своя ссылка возвращает Неопределено.

  2. Свой товар всё ещё существует и имеет DOC-OWN-01 до общего отката.

  3. Нет выборки чужих документов, удаления по номеру/названию и обхода списка рабочей базы.

  4. После отмены опыта товар и заявка отсутствуют; это не способ восстановить ранее существовавший рабочий документ.

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

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

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

  1. Непустая ссылка не доказывает существование записи; плановую ссылку не читать как сохранённый документ.

  2. Модифицированность относится к локальным изменениям объекта после чтения, не к изменениям другими пользователями. ВерсияДанных — непрозрачная readonly-строка.

  3. Заблокирован относится к блокировке именно этим объектом языка; это не общий индикатор всех блокировок записи. Собственную явную блокировку освобождайте отдельно, не рассчитывайте только на откат.

  4. Пометка не удаляет запись, а прямое Удалить удаляет сразу без проверки ссылок. Если документ проведён, установка пометки отменяет проведение; модифицированный объект перед пометкой вызывает ошибку.

  5. Статические проверки по справке и тексты контрольных условий не являются выполнением BSL в 1С.

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

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

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

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

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