Расшифровка табличного документа без расширения отчета

29.05.17

Разработка - СКД

Быстрая расшифровка в табличном документе вне формы отчета

Скачать файлы

Наименование Файл Версия Размер
Расшифровка табличного документа без расширения отчета:
.epf 10,83Kb
8
.epf 10,83Kb 8 Скачать

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

При программном формировании табличного документа с использованием СКД нужно всего лишь в цикле заполнить параметры поля из данных расшифровки

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

//В цикле перебираем все элементы результата
    ПроцессорВывода.НачатьВывод();
    ЭлементРезультата =  ПроцессорКомпоновкиДанных.Следующий();
    Пока ЭлементРезультата <> Неопределено Цикл
        Для Каждого ЗначениеПараметра из ЭлементРезультата.ЗначенияПараметров Цикл
            Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
// Собственно, само заполнение расшифровки
                ЗначениеПараметра.Значение = ДанныеРасшифровки.Элементы[ЗначениеПараметра.Значение].ПолучитьПоля()[0].Значение;
            КонецЕсли;
        КонецЦикла;
        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
    КонецЦикла;
    ПроцессорВывода.ЗакончитьВывод();
    
    
    Результат.ОтображатьЗаголовки = Ложь;
    Результат.ОтображатьСетку = Ложь;
    Результат.ТолькоПросмотр = Истина;
    
    Результат.Показать();


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

В прикрепленном файле пример для обычного и управляемого приложения.

См. также

SALE! %

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    93592    477    380    

531

Разрыв страницы в СКД. Легко!

СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Когда отчет надо разделить по страницам, это всегда проблема для разработчика. Поскольку в СКД нет стандартных вариантов, как это сделать. Нашел (на свой взгляд) самое простое и оптимальное решение.

01.09.2023    2591    KVIKS    14    

76

Гибкие отборы через СКД на управляемых формах. Демо-обработка

СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

07.06.2023    4214    24    quazare    7    

45

Вывод элементов иерархии верхнего уровня на СКД

СКД Платформа 1С v8.3 Абонемент ($m)

Как получить родителя первого уровня иерархического справочника с помощью СКД.

1 стартмани

06.06.2023    3362    echo77    6    

71

Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

В данной статье вспомним, как обрабатывать результаты запроса в вычисляемых полях СКД, а также сделаем небольшой обзор на новые функции СКД платформы 8.3.20.

07.02.2023    4778    quazare    7    

38

Выборочная свертка группировок для СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Россия Абонемент ($m)

Методика разработки отчета на СКД с возможностью свёртки части группировок по заданному программно условию. - свертка по значению поля (неотрицательные - сворачиваются); - свертка подчиненных в иерархии с произвольным количеством уровней.

1 стартмани

16.01.2023    2839    schthaxe    3    

30
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. rpgshnik 3495 29.05.17 10:06 Сейчас в теме
По коду видно специалист писал. Молодец!
Прикрепленные файлы:
2. romulanin 13.04.21 08:28 Сейчас в теме
Друг, спасибо тебе!!! Долго не мог решить проблему расшифровок в табличном поле документа.
Установил свойство ТолькоЧтение для табличного поля формы и использовал твой код и все заработало!
Оставьте свое сообщение