ТаблицаФормы.ОбработкаЗаписиНового

События · NewWriteProcessing

Вызывается при добавлении объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода формы ОповеститьОЗаписиНового.

Синтаксис

ОбработкаЗаписиНового(<НовыйОбъект>, <Источник>, <СтандартнаяОбработка>)
Полное описание, параметры и ограничения

ТаблицаФормы.ОбработкаЗаписиНового (FormTable.NewWriteProcessing)

ТаблицаФормы (FormTable)

ОбработкаЗаписиНового (NewWriteProcessing)

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

Синтаксис:
ОбработкаЗаписиНового(<НовыйОбъект>, <Источник>, <СтандартнаяОбработка>)
Параметры:

<НовыйОбъект>
Тип: Ссылка на объект информационной базы.
Объект, который был добавлен.
Если событие вызывается из формы выбора, то через этот параметр можно вернуть новый объект. В режиме выбора, если форма нового объекта закрыта, будет предложено немедленно выбрать переопределенный объект. Если отказаться от выбора, то на этот объект при возможности будет осуществленно позиционирование.
Тип возвращаемого значения параметра должен соответствовать типу ключей строк таблицы.

<Источник>
Тип: ФормаКлиентскогоПриложения.
Форма - источник события.

<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет. Отказ от стандартной обработки не отменяет действие.
Стандартная обработка заключается в позиционировании на записанный элемент основной таблицы формы списка (если форма является формой списка типа записываемого объекта).
Значение по умолчанию: Истина.
Описание:

Вызывается при добавлении объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода формы ОповеститьОЗаписиНового.

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

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент).

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

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

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

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

ОбработкаЗаписиНового: собственная управляемая таблица

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

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

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

Подготовка

  1. Создайте внешнюю учебную обработку с управляемой формой и запускайте в тонком клиенте (кроме отдельного мобильного урока).

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

  3. У таблицы Товары колонки Наименование (Строка 100), Количество (Число 10.0), Фиксирована (Булево). Имя элемента таблицы — Товары, данные / путь — Товары; разрешите интерактивное редактирование строк.

  4. Основной обработчик назначьте указанному событию элемента Товары, не событию формы. Первый параметр Элемент уже включён в процедуру; платформа передаёт его автоматически.

  5. Каждый урок проверяйте в отдельном варианте своей формы. Не объединяйте повторяющиеся процедуры подготовки и обработчики с одинаковыми именами.

  6. Колонки реквизита ТаблицаЗначений создайте в редакторе реквизитов формы до добавления элемента-таблицы. На клиенте это данные формы, а не серверный объект ТаблицаЗначений.

  7. Общие → Общие формы: создайте собственную управляемую форму УчебныйВыборТаблицы с кнопкой / командой ПередатьРезультат. Дополнительный дочерний обработчик находится только в её модуле.

  8. В исходной форме добавьте кнопку / команду ОткрытьДочернийУрок с дополнительным обработчиком. Владельцем дочерней формы передаётся именно элемент Товары, поэтому уведомление адресуется его событию.

  9. Создайте собственный справочник УчебныеТоварыКонтроля: строковый код 10 с автонумерацией, наименование 100. Серверный общий модуль УчебныеОповещения с флагами Сервер и Вызов сервера; функция ниже создаёт только свой новый товар.

&НаКлиенте
Процедура ТоварыОбработкаЗаписиНового(Элемент, НовыйОбъект, Источник, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Статус = "Записан собственный новый товар: " + Строка(НовыйОбъект);
    Сообщить(Статус);
КонецПроцедуры
Та же управляемая форма: отдельная серверная процедура подготовки
&НаСервере
Процедура ЗаполнитьТоварыНаСервере()
    Товары.Очистить();
    СтрокаТовара = Товары.Добавить();
    СтрокаТовара.Наименование = "Книга";
    СтрокаТовара.Количество = 2;
    СтрокаТовара.Фиксирована = Ложь;
    СтрокаТовара = Товары.Добавить();
    СтрокаТовара.Наименование = "Ручка";
    СтрокаТовара.Количество = 3;
    СтрокаТовара.Фиксирована = Истина;
    РазрешитьУдаление = Ложь;
    ЗапретитьСворачивание = Истина;
    ИтогКоличество = 5;
    Статус = "Готово";
КонецПроцедуры
Назначить событию формы ПриСозданииНаСервере
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ЗаполнитьТоварыНаСервере();
    Сообщить("Собственная таблица подготовлена");
КонецПроцедуры
Исходная форма: открыть свою дочернюю форму для таблицы
&НаКлиенте
Процедура ОткрытьДочернийУрок(Команда)
    ОткрытьФорму("ОбщаяФорма.УчебныйВыборТаблицы", , Элементы.Товары);
    Сообщить("Дочерняя форма открыта с владельцем-таблицей");
КонецПроцедуры
Дочерняя общая форма: реальное оповещение своего владельца
&НаКлиенте
Процедура ПередатьРезультат(Команда)
    Ссылка = УчебныеОповещения.СоздатьСвойТовар();
    ОповеститьОЗаписиНового(Ссылка);
    Закрыть();
КонецПроцедуры
Серверный общий модуль УчебныеОповещения: новый собственный объект
Функция СоздатьСвойТовар() Экспорт
    Товар = Справочники.УчебныеТоварыКонтроля.СоздатьЭлемент();
    Товар.Наименование = "Книга из дочерней формы";
    Товар.Записать();
    Возврат Товар.Ссылка;
КонецФункции

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

  1. Подготавливаем настоящую собственную таблицу / список и назначаем точное событие.

  2. Параметры после Элемент соответствуют установленной справке конкретного типа.

  3. Собственная дочерняя форма действительно создаёт новый товар, затем передаёт его ссылку оповещением владельцу-таблице.

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

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

  2. Таблица значений сама не становится динамическим списком и не заполняется этим уведомлением автоматически.

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

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

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

  1. Не вызывайте обработчики событий вручную: проверяйте указанное пользовательское действие.

  2. События активизации, наведения, раскрытия и смены родителя не должны вызывать серверные методы формы.

  3. Обычная и управляемая формы имеют разные API; не переносите между ними элементы и процедуры без адаптации.

  4. Таблица значений хранит данные формы, не записывает их в регистр автоматически.

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

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

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

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

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