Посты с тэгами "Схема"

Смена типа набора данных СКД с сохранением полей

Ваш отзывFavoriteLoadingВ закладки

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

Пусть, мы имеем отчет, построенный на СКД с набором данных – запрос. У полей отчета настроены роли и некое оформление.

Смена типа СКД 1

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

Далее

Полезные примеры: получение данных на основании СКД

Ваш отзывFavoriteLoadingВ закладки

Когда СКД только появилась, я задавал себе вопрос: “СКД для отчетов – замечательная вещь! Может быть, как-то можно ее использовать в работе и в других областях? Вместо запросов”. С одной стороны, СКД – очень мощный инструмент, с другой стороны – как-то не совсем удобно или понятно его использовать (там же надо что-то куда-то вставлять, чтобы получить данные), а запрос написал и выгрузил в таблицу или дерево. Все разрешилось само собой (методом проб и ошибок, конечно), когда я стал решать реальные задачи. Сейчас я даже простые данные получаю с помощю СКД… спросите, почему? Есть одна, но очень серьезная причина:

Когда СКД только появилась, я задавал себе вопрос: “СКД для отчетов – замечательная вещь! Может быть, как-то можно ее использовать в работе и в других областях? Вместо запросов”. С одной стороны, СКД – очень мощный инструмент, с другой стороны – как-то не совсем удобно или понятно его использовать (там же надо что-то куда-то вставлять, чтобы получить данные), а запрос написал и выгрузил в таблицу или дерево. Все разрешилось само собой (методом проб и ошибок, конечно), когда я стал решать реальные задачи. Сейчас я даже простые данные получаю с помощю СКД… спросите, почему? Есть одна, но очень серьезная причина:...

Далее

Использование нескольких схем компоновки данных в одном отчете

Отзывов (13)FavoriteLoadingВ закладки

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

Имеем отчет по продажам:

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

Далее

Устройство системы компоновки данных

Отзывов (6)FavoriteLoadingВ закладки

В данной статье мы попробуем объяснить устройство системы компоновки данных понятным языком.

Фактически, формирование отчета средствами СКД разбито на несколько этапов. Причем нужно понимать, что разработчик может внести свои изменения во время любого из этапов.

В данной статье мы попробуем объяснить устройство системы компоновки данных понятным языком. Фактически, формирование отчета средствами СКД разбито на несколько этапов. Причем нужно понимать, что разработчик может внести свои изменения во время любого из этапов. По сути, формирование отчета это всего лишь два “глобальных” этапа:  сама компоновка данных, согласно схемы, и вывод результата пользователю. На самом деле объектов компоновки немного больше чем два. Для того чтобы скомпоновать данные в СКД существуют объекты: Компоновщик макета и Процессор компоновки данных. Рассмотрим принцип их работы.  Компоновщик макета на основании схемы компоновки данных и настроек компоновки данных формирует макет компоновки данных: Теперь наш сформированный макет необходимо заполнить данными. Именно эту функцию и выполняет Процессор компоновки данных. Процессор формирует результат компоновки. Также покажем это графически: Далее результат компоновки обрабатывается Процессором вывода, который выводит результат компоновки данных в один из следующих форматов: Табличный документ; Таблица значений; Дерево значений. Таким образом, мы познакомились со структурой системы компоновки данных, основными её элементами. Более подробное изучение работы данных объектов в дальнейших статьях цикла “Первые шаги”....

Далее

Как программно установить схему их XML

Ваш отзывFavoriteLoadingВ закладки

Для того, чтобы программно установить схему их XML файла, необходимо выполнить следующее:

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Фильтр = "Файлы XML (*.xml) |*.xml";
Если НЕ Диалог.Выбрать() Тогда
   Возврат;
КонецЕсли;

ЧтениеXML = Новый ЧтениеXML;

Попытка
   ЧтениеXML.ОткрытьФайл(Диалог.ПолноеИмяФайла);
Исключение
   Сообщить("Невозможно открыть xml-файл");
   Возврат;
КонецПопытки;

СхемаКомпоновкиДанных = СериализаторXDTO.ПрочитатьXML(ЧтениеXML,
                                      ,Тип("СхемаКомпоновкиДанных"));

ЧтениеXML.Закрыть();

Теперь в переменной СхемаКомпоновкиДанных содержится схема, с которой можно делать что угодно. Например сформировать отчет по примеру отсюда.

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

Далее
Страница 1 из 212

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.