Ограничить учебную таблицу пятью строками

Учебные задачи

Ограничение применяется перед интерактивным добавлением, включая копирование.

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

Клиентский модуль собственной управляемой формы. Параметр Элемент передаёт платформа; он уже включён в сигнатуру.

Подготовка

  1. Создайте внешнюю учебную обработку с управляемой формой. Реквизит формы Товары — ТаблицаЗначений: Наименование (Строка 100), Количество (Число 10.0), Фиксирована (Булево). Перетащите Товары на форму; имя элемента-таблицы тоже Товары.

  2. Разрешите интерактивное добавление, изменение и удаление строк, редактирование непосредственно в таблице. Добавьте реквизиты формы ИтогКоличество (Число 10.0), Статус (Строка 200), РазрешитьУдаление (Булево) и выведите их на форму.

  3. Для уроков с существующей строкой вручную добавьте Книга, количество 2, Фиксирована Ложь; ещё одну строку Ручка, количество 3. Данные находятся в форме, не в справочнике или документе.

  4. В свойствах элемента Товары назначьте указанному событию процедуру из примера. Вставляйте её на уровне модуля формы; открывайте обработку в тонком клиенте учебной базы.

  5. Событие ПередНачаломДобавления назначьте процедуре ТоварыПередНачаломДобавления.

&НаКлиенте
Процедура ТоварыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа, Параметр)
    Если Товары.Количество() >= 5 Тогда
        Отказ = Истина;
        Сообщить("В учебной таблице разрешено не больше пяти строк");
    КонецЕсли;
КонецПроцедуры

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

  1. Платформа передаёт элемент таблицы в параметре Элемент.

  2. Ограничение применяется перед интерактивным добавлением, включая копирование.

  3. Обработчик работает только с реквизитами и строками из подготовки.

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

  1. Добавьте строки до количества 5: шестая не добавляется.

  2. Копирование шестой строки тоже отменяется этим событием.

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

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

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

  1. Эти данные не являются строками рабочего динамического списка.

  2. Не вызывайте серверные процедуры из этих клиентских обработчиков и не заменяйте ими проверки модуля объекта базы.

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

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

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

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

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