ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить

Свойства · ApplyAppearance

Применить дополнительное условное оформление.

Полное описание, параметры и ограничения

ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить (DataCompositionDetailsProcessingAction.ApplyAppearance)

ДействиеОбработкиРасшифровкиКомпоновкиДанных (DataCompositionDetailsProcessingAction)

Оформить (ApplyAppearance)

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

Описание:
Применить дополнительное условное оформление.
Использование в версии:

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

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

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

Обработать настоящую расшифровку отчёта: Оформить

Идентификатор берётся из события собственного результата СКД; данные расшифровки получены при его формировании.

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

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

Подготовка

  1. В своей учебной конфигурации создайте иерархический справочник УчебныеИзданияСКД: иерархия групп и элементов, код Строка 10, наименование 100, реквизит КоличествоУчебное Число 10.0.

  2. Вручную создайте только свои записи: группа GROUP с именем Учебные издания, в ней элемент BOOK-1 Учебная книга с количеством 3 и элемент BOOK-2 Учебная тетрадь с количеством 5. Обновите учебную базу; рабочую номенклатуру не используйте.

  3. Группировка должна иметь настоящий ссылочный тип с иерархией. Два строковых названия книг не заменяют такой источник.

  4. BSL, записи справочника и формирование запросов при сборке HTML не выполнялись.

  5. Создайте собственный отчёт УчебныеРасшифровкиКниг, макет ОсновнаяСхемаКомпоновкиДанных, набор-запрос Издания с приведённым запросом. Заполните поля, Количество назначьте ресурсом Сумма(Количество). В настройках по умолчанию выберите Издание и Количество, структура — детальные записи.

  6. Собственная ОБЫЧНАЯ форма обработки в толстом клиенте. Реквизит Результат ТабличныйДокумент и ПолеРезультата типа ПолеТабличногоДокумента, связанное с ним. Событие ОбработкаРасшифровки назначьте основному обработчику. Поддерживающие блоки отдельно в том же модуле; Перем находятся в его начале, ПриОткрытии назначен событию формы.

  7. Это не управляемое поле формы с трёхпараметрическим событием: у обычного ПолеТабличногоДокумента обработчик имеет именно Расшифровка, СтандартнаяОбработка.

  8. Дважды щёлкните количество или собственное издание; задайте оформление подходящего поля и подтвердите. Сравните тот же отчёт до и после.

Процедура ПолеРезультатаОбработкаРасшифровки(Расшифровка, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Обработка = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиКниг, ИсточникКниг);
    Действие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет;
    Доступные = Новый Массив;
    Доступные.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить);
    НовыеНастройки = Обработка.Выполнить(Расшифровка, Действие, Доступные);
    Если Действие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить Тогда
        Сообщить("Результат выбора: Оформить");
    Иначе
        Сообщить("Выбран другой результат или действие недоступно");
    КонецЕсли;
    ПрименитьСвоиНастройки(НовыеНастройки);
КонецПроцедуры
Свой конструктор СКД: настоящий ссылочный источник
ВЫБРАТЬ Издания.Ссылка КАК Издание,
    Издания.КоличествоУчебное КАК Количество
ИЗ Справочник.УчебныеИзданияСКД КАК Издания
ГДЕ НЕ Издания.ЭтоГруппа
    И Издания.Код В ("BOOK-1", "BOOK-2")
Начало того же модуля и событие ПриОткрытии
Перем СхемаКниг, КомпоновщикКниг, ИсточникКниг, ДанныеРасшифровкиКниг;

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

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

  1. Сформируйте свой отчёт, одновременно наполнив объект данных расшифровки.

  2. Дважды щёлкните подходящую ячейку / заголовок и выберите действие.

  3. Передайте возвращённые настройки в тот же компоновщик, если они действительно получены.

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

  1. Массив разрешает только Оформить, но не делает неприменимую команду доступной. Доступность определяется полями настоящей расшифровки. Отмена / отсутствие подходящих полей не считаются успешным действием.

  2. Выполнить самостоятельно выполняет выбранное действие, включая открытие ссылочного значения. Для действий без изменения настроек возвращается Неопределено: это не ошибка открытия.

  3. После нового формирования используется новый объект данных расшифровки и его новые идентификаторы. Случайные числа, UUID и идентификаторы старого табличного документа не подставляются.

  4. Нет записи книги, печати или открытия рабочих объектов. BSL и интерфейсные действия при сборке HTML не исполнялись.

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

Реальное событие связано с реальным результатом компоновки, а не с выдуманным идентификатором.

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

  1. Не передавайте этот толстоклиентский синхронный метод в тонкий / веб-клиент; там нужен асинхронный сценарий.

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

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

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

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

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