ОбработкаРасшифровки: свой табличный документ

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

Действие выполняется над явно подготовленными собственными данными и элементами; источник параметров — настоящее событие формы / поля.

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

Модуль собственной обычной формы, толстый клиент в обычном режиме.

Подготовка

  1. Создайте собственную обработку с обычной формой; толстый клиент в обычном режиме. Реквизит Статус Строка 200 выведите на форму. Директивы &НаКлиенте / &НаСервере здесь не добавляются.

  2. Реквизиты ЛистИсточник и ЛистПриемник типа ТабличныйДокумент; два обычных поля табличного документа Источник и Приемник связаны с ними. У приёмника разрешите редактирование, не устанавливайте ТолькоПросмотр.

  3. Дополнительный блок назначьте ПриОткрытии своей формы. Начало / окончание перетаскивания назначаются Источник, проверка / сброс — Приемник. Для полного опыта назначьте все четыре обработчика этой группы из соседних страниц.

  4. Переносите собственный объект из Источник в Приемник с Ctrl. Событие должно вызвать действие пользователя; прямой вызов процедуры события не заменяет перетаскивание.

  5. Для этого отдельного урока дважды щёлкните именно A1 источника: дополнительный блок назначает ей Структура с Наименование и Количество. Это собственная произвольная расшифровка, не идентификатор расшифровки СКД.

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

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

  1. Создайте свои реквизиты, элементы и указанные начальные данные.

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

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

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

  1. Получены Учебная книга и 3 из настоящего свойства Расшифровка собственной A1.

  2. Структура создана явно до нажатия. Код не предполагает такой состав у произвольной расшифровки чужого отчёта.

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

Событие связано с воспроизводимым действием собственной обычной формы.

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

  1. В событиях поля первый Элемент добавляет редактор; у событий самой формы его нет.

  2. Собственная структура расшифровки, маркер переноса и настройки формы — разные контракты; они не выдаются за произвольные объекты.

  3. BSL и сохранение пользовательских значений здесь не запускались, рабочие данные и печать не использовались.

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

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

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

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

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