Удаляет все строки табличной части.
Синтаксис
Очистить()Полное описание, параметры и ограничения
БазовыеВидыРасчета.<Имя плана видов расчета>.Очистить (BaseCalculationTypes.<Chart of calculation types name>.Clear)
БазовыеВидыРасчета.<Имя плана видов расчета> (BaseCalculationTypes.<Chart of calculation types name>)
Очистить (Clear)
Доступен, начиная с версии 8.0.
Синтаксис:
Очистить()
Описание:
Удаляет все строки табличной части.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Данный метод следует использовать осмотрительно в том случае, если в табличной части есть предопределенные строки (т.е. имеются строки, для которых свойство Предопределенный имеет значение Истина). Если удалить все, в том числе, предопределенные строки табличной части, то не будет возможности записать такой вид расчета.
Использование метода допустимо только в том случае, если табличная часть получена из свойства объекта. Если табличная часть получена из свойства ссылки (или выборки), то использование этого метода будет вызывать ошибку выполнения.
Пример:
// см. пример метода Добавить
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Различить три списка зависимостей на собственных плановых ссылках
Списки базовых, ведущих и вытесняющих видов имеют разное назначение. Строки заполняем только в памяти и затем очищаем; реальный расчёт не запускаем.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую базу, имя корня УчебныеРасчеты85. Не изменяйте рабочие ЗУП/КА2/УНФ/УТ/БП. Пример технический: зарплата, налоги и выплаты не рассчитываются.
Планы видов расчёта → Добавить: УчебныеНачисления85. ТипКода Строка, ДлинаКода 10, ДлинаНаименования 100. ИспользованиеПериодаДействия включено; ЗависимостьОтВидовРасчета=ПоПериодуДействия.
В настройке базовых планов видов расчёта выберите только сам УчебныеНачисления85. Это позволяет учебным видам ссылаться на другие виды того же плана. Предопределённые виды, пользовательские реквизиты и табличные части не создавайте.
Модули объекта/менеджера оставьте пустыми, регистры расчёта и бизнес-алгоритмы не добавляйте. Обновите конфигурацию БД и создайте серверный ВыполнитьПример() Экспорт собственной обработки.
Фрагмент вставляется внутрь процедуры. Все виды и строки зависимостей создаются только в памяти; Записать, блокировки, удаления объектов и привилегированный режим не вызываются.
Случайные ссылки зависимостей — ПЛАНОВЫЕ идентификаторы, соответствующих сохранённых видов нет. Они нужны для разбора типизированных списков, а не для запуска расчёта.
Описание = Метаданные.ПланыВидовРасчета.Найти("УчебныеНачисления85");
Если Описание = Неопределено Тогда
ВызватьИсключение "Создайте собственный план УчебныеНачисления85";
КонецЕсли;
Если Описание.ТипКода <> Метаданные.СвойстваОбъектов.ТипКодаПланаВидовРасчета.Строка
Или Описание.ДлинаКода <> 10 Или Описание.ДлинаНаименования <> 100
Или Не Описание.ИспользованиеПериодаДействия
Или Описание.ЗависимостьОтВидовРасчета <> Метаданные.СвойстваОбъектов.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия Тогда
ВызватьИсключение "Настройки учебного плана не соответствуют подготовке";
КонецЕсли;
Если Описание.БазовыеВидыРасчета.Количество() <> 1
Или Не Описание.БазовыеВидыРасчета.Содержит(Описание) Тогда
ВызватьИсключение "Выберите только собственный план как базовый";
КонецЕсли;
Менеджер = ПланыВидовРасчета.УчебныеНачисления85;
Премия = Менеджер.СоздатьВидРасчета();
Премия.Код = "BONUS";
Премия.Наименование = "Учебная премия";
Премия.ПериодДействияБазовый = Истина;
Премия.ДополнительныеСвойства.Вставить("Метка", "Не реальное начисление");
БудущийОклад = Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор);
БудущийЗамещающий = Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор);
База = Премия.БазовыеВидыРасчета.Добавить();
База.ВидРасчета = БудущийОклад;
Ведущий = Премия.ВедущиеВидыРасчета.Добавить();
Ведущий.ВидРасчета = БудущийОклад;
Вытесняющий = Премия.ВытесняющиеВидыРасчета.Добавить();
Вытесняющий.ВидРасчета = БудущийЗамещающий;
Сообщить(Премия.БазовыеВидыРасчета.Количество() = 1);
Сообщить(Премия.ВедущиеВидыРасчета.Количество() = 1);
Сообщить(Премия.ВытесняющиеВидыРасчета.Количество() = 1);
Сообщить(База.ВидРасчета = БудущийОклад);
Сообщить(Ведущий.ВидРасчета = БудущийОклад);
Сообщить(Вытесняющий.ВидРасчета = БудущийЗамещающий);
Сообщить(БудущийОклад.ПолучитьОбъект() = Неопределено);
Сообщить(БудущийЗамещающий.ПолучитьОбъект() = Неопределено);
Премия.БазовыеВидыРасчета.Очистить();
Премия.ВедущиеВидыРасчета.Очистить();
Премия.ВытесняющиеВидыРасчета.Очистить();
Сообщить(Премия.БазовыеВидыРасчета.Количество() = 0);
Сообщить(Премия.ВедущиеВидыРасчета.Количество() = 0);
Сообщить(Премия.ВытесняющиеВидыРасчета.Количество() = 0);Разбор по шагам
Базовые виды задают зависимость получения базы; ведущие связаны с зависимостями перерасчёта, это не автоматически одно и то же.
Вытесняющие виды относятся к конкуренции периода действия. Этот список доступен благодаря включённому флагу подготовки.
ВидРасчета каждой строки — типизированная ссылка. Здесь это плановые UUID несуществующих видов, не реальные Оклад/Отпуск сотрудников.
Проверяем, в какой список попала каждая ссылка; наличие строки само по себе не вычисляет результат.
Очистить вызывается только у трёх частей собственного нового объекта в памяти. Записать не вызывается.
Как проверить результат
Одиннадцать логических проверок дают Истина.
После очистки все три списка нового объекта пусты; сохранённые виды и движения не создавались.
Ожидаемый результат
Показаны разные контейнеры зависимостей и правильный тип поля строки без фиктивного начисления.
На что обратить внимание
Плановые ссылки недостаточны для настоящего расчёта: нужны сохранённые определения и согласованная схема.
Не переносите эти случайные UUID в рабочий план видов расчёта.
Очистка списка у записываемого рабочего объекта могла бы затем сохранить изменения — здесь объект новый и записи нет.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.