Тип: УдалениеДвижений. Определяет варианты удаления движений документа по регистрам при проведении и отмене проведения (например, УдалятьАвтоматически, НеУдалятьАвтоматически).
Полное описание, параметры и ограничения
ОбъектМетаданных: Документ.УдалениеДвижений (MetadataObject: Document.RegisterRecordsDeletion)
ОбъектМетаданных: Документ (MetadataObject: Document)
УдалениеДвижений (RegisterRecordsDeletion)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: УдалениеДвижений.
Определяет варианты удаления движений документа по регистрам при проведении и отмене проведения (например, УдалятьАвтоматически, НеУдалятьАвтоматически).
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Прочитать возможность проведения и правила движений, не проводить заказ
У ЗаказКлиента разрешено проведение, запрещено оперативное проведение и выбрана запись выбранных движений. Эти флаги не доказывают, что документ готов к проведению.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Варианты = Метаданные.СвойстваОбъектов;
Описание = Метаданные.Документы.Найти("ЗаказКлиента");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Документы.ЗаказКлиента";
КонецЕсли;
Сообщить(Описание.Проведение = Варианты.Проведение.Разрешить);
Сообщить(Описание.ОперативноеПроведение = Варианты.ОперативноеПроведение.Запретить);
Сообщить(Описание.ЗаписьДвиженийПриПроведении = Варианты.ЗаписьДвиженийПриПроведении.ЗаписыватьВыбранные);
Сообщить(Описание.УдалениеДвижений = Варианты.УдалениеДвижений.НеУдалятьАвтоматически);
Сообщить("Заполнение последовательностей: " + Строка(Описание.ЗаполнениеПоследовательностей));
Если Описание.ЗаполнениеПоследовательностей = Варианты.ЗаполнениеПоследовательностей.ЗаполнятьАвтоматически Тогда
Сообщить("Изучите состав последовательностей и обработчики до изменения проведения");
КонецЕсли;
Если Описание.Проведение = Варианты.Проведение.Разрешить Тогда
Сообщить("Следующий шаг — проверить реквизиты, права и модуль проведения в копии базы");
КонецЕсли;Разбор по шагам
Проведение описывает возможность этого режима у вида документа, не статус конкретного экземпляра.
ОперативноеПроведение — отдельное разрешение, его нельзя вывести из Проведение.
Правила записи и удаления движений объясняют, где искать логику в модуле, но ничего здесь не записывают.
ЗаполнениеПоследовательностей читаем без массового изменения настроек конфигурации.
Как проверить результат
По предоставленному XML первые четыре сравнения Истина; дополнительно выводится фактическая политика последовательностей.
Нет вызова Записать или Провести, не меняются регистры и документы.
Ожидаемый результат
Определены разные части контракта проведения без запуска бизнес-операции.
На что обратить внимание
Разрешённое проведение не подтверждает заполнение реквизитов, права, наличие остатков или корректность обработчика.
Не меняйте политику удаления движений ради устранения ошибки без отдельного анализа модуля и проверки в копии.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Отличить разрешение проведения от наличия движений документа
УчебнаяЗаявка намеренно не проводится и не имеет регистров движения. Настройки читаются без попытки провести или перепровести объект.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.
Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.
Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Описание = Метаданные.Документы.Найти("УчебнаяЗаявка");
Если Описание = Неопределено Тогда
ВызватьИсключение "Сначала создайте УчебнаяЗаявка по подготовке";
КонецЕсли;
Сообщить(Описание.Имя = "УчебнаяЗаявка");
Сообщить(Описание.ДлинаНомера = 9);
Сообщить(Описание.ТипНомера = Метаданные.СвойстваОбъектов.ТипНомераДокумента.Строка);
Сообщить(Описание.Автонумерация);
Сообщить(Описание.Проведение = Метаданные.СвойстваОбъектов.Проведение.Запретить);
Сообщить(Описание.Движения.Количество() = 0);
Сообщить("Контроль уникальности: " + Строка(Описание.КонтрольУникальности));
Сообщить("Периодичность номера: " + Строка(Описание.ПериодичностьНомера));
Сообщить("Допустимая длина: " + Строка(Описание.ДопустимаяДлинаНомера));
Сообщить("Оперативное проведение: " + Строка(Описание.ОперативноеПроведение));
Сообщить("Запись движений: " + Строка(Описание.ЗаписьДвиженийПриПроведении));
Сообщить("Удаление движений: " + Строка(Описание.УдалениеДвижений));
Сообщить("Заполнение последовательностей: " + Строка(Описание.ЗаполнениеПоследовательностей));
Сообщить("Привилегированное проведение: " + Строка(Описание.ПривилегированныйРежимПриПроведении));
Сообщить("Привилегированная отмена: " + Строка(Описание.ПривилегированныйРежимПриОтменеПроведения));
Если Описание.Нумератор = Неопределено Тогда
Сообщить("Общий нумератор не назначен");
Иначе
Сообщить("Нумератор: " + Описание.Нумератор.Имя);
КонецЕсли;
Сообщить(Описание.Родитель().Имя = "Учебная85");
Сообщить(Описание.ПолноеИмя());Разбор по шагам
Найти проверяет существование описания документа; нет необъявленной ссылки на типовую ЗаказКлиента.
ТипНомера, ДлинаНомера, ДопустимаяДлинаНомера и ПериодичностьНомера относятся к нумерации, не к порядку проведения.
Проведение определяет разрешение механизма, а Движения — список регистров, с которыми документ может работать. В подготовленной схеме оба аспекта явно ограничены.
ЗаписьДвиженийПриПроведении, УдалениеДвижений и ЗаполнениеПоследовательностей читаем как настройки. У запрещённого проведения они не означают выполненных действий.
Привилегированные флаги только наблюдаем: код не включает привилегированный режим и не изменяет права.
Как проверить результат
Номер Строка/9, автонумерация включена, Проведение=Запретить и Движения имеет размер 0.
В учебной схеме общий нумератор не назначен; описание имеет полное имя Документ.УчебнаяЗаявка.
В списке документов после примера нет новых записей: экземпляр документа не создавался.
Ожидаемый результат
Возможности и настройки учебного документа прочитаны отдельно от фактической работы с его объектами.
На что обратить внимание
Нельзя считать настройки движения доказательством правильности ОбработкаПроведения конкретной конфигурации.
ОперативноеПроведение относится к режиму проведения, не к скорости выполнения.
Эти значения не являются разрешением менять права или массово перепроводить рабочие документы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.