Расширение табличного поля списка видов расчета.ПередНачаломДобавления

События · BeforeAddLine

Вызывается при вызове пользователем добавления вида расчета при редактировании в строке.

Синтаксис

ПередНачаломДобавления(<Отказ>, <Копирование>)
Полное описание, параметры и ограничения

Расширение табличного поля списка видов расчета.ПередНачаломДобавления (Calculation types list table box extension.BeforeAddLine)

Расширение табличного поля списка видов расчета (Calculation types list table box extension)

ПередНачаломДобавления (BeforeAddLine)

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

Синтаксис:
ПередНачаломДобавления(<Отказ>, <Копирование>)
Параметры:

<Отказ>
Тип: Булево.
Признак отказа от добавления вида расчета. Если в теле процедуры-обработчика установить данному параметру значение Истина, добавление выполнено не будет.
Значение по умолчанию: Ложь.

<Копирование>
Тип: Булево.
Определяет режим копирования. Если установлено Истина, то происходит копирование строки.
Описание:

Вызывается при вызове пользователем добавления вида расчета при редактировании в строке.

Доступность:

Толстый клиент.

Примечание:
Расширяется набор параметров по сравнению с одноименным событием объекта ТабличноеПоле.
См. также:
ТабличноеПоле, событие ПередНачаломДобавления

Использование в версии:

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

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

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

ПередНачаломДобавления: ПланыВидовРасчета → УчебныеНачисленияКниг, свой обычный список

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

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

Модуль собственной обычной формы списка, толстый клиент; событие табличного поля СписокУрока.

Подготовка

  1. В своей учебной конфигурации подготовьте ПланыВидовРасчета → УчебныеНачисленияКниг. Строковый код 10, наименование 100, без зависимости по базовому периоду и без периода действия. Введите только свой вид расчета РазборКниги / Разбор учебной книги. Для ПередНачаломДобавления задайте редактирование списка ВСтроке / ВСписке.

  2. Мастером создайте именно обычную форму списка этого объекта. Основной реквизит и табличное поле должны остаться реальным списком метаданных, не ТаблицаЗначений. Поле назовите СписокУрока. Для журнала создаётся форма списка журнала, не форма документа.

  3. Добавьте реквизиты формы РазрешитьИзменение (Булево, исходно Ложь), ЗапретитьСворачивание (Булево, исходно Истина), Статус (Строка 200) и выведите их. Значения по умолчанию задайте в редакторе или при открытии своей формы.

  4. Основной блок назначьте событию СписокУрока → ПередНачаломДобавления через редактор. Обычная форма, толстый клиент в обычном режиме. Дополнительный первый параметр Элемент создаётся редактором поля; серверные директивы здесь не нужны.

  5. Каждый урок самостоятельный и использует только свои строки. Для положительного действия флажок снимается / устанавливается явно; ничего не проверяйте на рабочем справочнике, документе, плане обмена или задаче.

  6. Нажмите штатную команду Копировать своей строки: она отклоняется независимо от флажка. Затем попробуйте Добавить с выключенным и включенным РазрешитьИзменение. Новую строку / карточку после положительной проверки закройте без сохранения.

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

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

  1. Подготовьте собственные метаданные, сохраненные строки и обычную форму списка.

  2. Назначьте обработчик точному событию расширения своего списка.

  3. Выполните указанную команду и сравните отказ / разрешение на своей строке.

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

  1. Копирование собственной строки отклонено, обычное добавление разрешается только после подтверждения.

  2. Сигнатура расширения списка содержит Копирование, а у иерархических видов также Родитель и ЭтоГруппа. Она не подменяется базовым событием ТабличноеПоле с меньшим набором параметров.

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

Показан типичный интерфейсный контроль конкретной команды своего списка.

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

  1. Это не проверка прав и не серверный запрет записи. Защита данных должна дополнительно выполняться правами и серверной логикой объекта.

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

  3. BSL, проведение, обмен, изменение пометок и рабочего состояния агентом не запускались.

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

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

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

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

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