Удаление строк таблицы по заданному параметру в коде конфигурации Mobile SMARTS

Последние изменения: 25.11.2020

Автоматическое удаление строк произвольной таблицы Mobile SMARTS по заданному параметру используется для:

  • оптимизации времени выполнения удаления строк;
  • сокращения объема потребляемой оперативной памяти (ПК или мобильного устройства);
  • облегчения структуры внутреннего кода и повышения его читабельности.

Реализовать автоматическое удаление строк таблицы по заданному параметру можно с помощью панели управления Mobile SMARTS. Для этого:

  1. Выберите в панели управления нужную коллекцию действий, описывающих логику обработки (например, алгоритм операции или типа документа).

  2. Откройте вкладку «Действия» → «Программирование», выберите действие «Присваивание» и перетащите его в нужное место алгоритма выполнения операции.

  3. Далее реализовать удаление строк таблицы можно одним из нижеуказанных способов:

    Способ 1 (более быстрый и эффективный)

    В действии «Присваивание» задается запрос на удаление строк:

    {числоУдаленных} = delete from {Наименование таблицы} where {Условное выражение}, где:

    • числоУдаленных - число удаленных строк, т.е. в результате выполнения выражения возвращается число удаленных строк.
    • Наименование таблицы - наименование заданной таблицы.
    • Условное выражение - выражение условия, по которому происходит удаление (например, Item.{Поле таблицы} == {Значение}).

    Пример:

    удалено = delete from Марки where Item.КИТУ == SSCC

    Способ 2

    В действии «Присваивание» методу внутреннего объекта передается коллекция строк на удаление:

    {удалено} = {Наименование таблицы}.Remove({Коллекция строк на удаление}), где:

    • удалено - число удаленных строк, т.е. в результате выполнения выражения возвращается число удаленных строк.
    • Наименование таблицы - наименование заданной таблицы.
    • Коллекция строк на удаление - коллекция строк, подлежащая удалению.

    Пример:

    удалено = Марки.Remove(СтрокиНаУдаление), где СтрокиНаУдаление - переменная активной сессии