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

Отзывов (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.Закрыть(); Теперь в переменной СхемаКомпоновкиДанных содержится схема, с которой можно делать что угодно. Например сформировать отчет по примеру отсюда. Перейти к...

Далее

Программный вывод отчета

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

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

//Получаем схему из макета
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

//Из схемы возьмем настройки по умолчанию
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
                                        Настройки, ДанныеРасшифровки);

//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,
                                                   ДанныеРасшифровки);

//Очищаем поле табличного документа
Результат = ЭлементыФормы.Результат;
Результат.Очистить();

//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанных
                                                  ВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

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

Далее

Консоль отчетов СКД+

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

О разработке

Внешний отчет “Консоль отчетов” основан на системе компоновки данных и использует большинство ее возможностей (c) 1С.

В начале освоения системы компоновки данных не понятно, во что превращается запрос написанный в ней. Особенно это касается параметров. Включив “Выводить текст запроса” мы увидим привычный запрос.
Возможность увидеть время выполнение запроса + вывод в табличный документ положительно влияет на качество кода :)

О разработке Внешний отчет “Консоль отчетов” основан на системе компоновки данных и использует большинство ее возможностей (c) 1С. В начале освоения системы компоновки данных не понятно, во что превращается запрос написанный в ней. Особенно это касается параметров. Включив “Выводить текст запроса” мы увидим привычный запрос. Возможность увидеть время выполнение запроса + вывод в табличный документ положительно влияет на качество кода Скриншоты Скачать Внешний отчет “Колнсоль отчетов СКД+”...

Далее

Использование СКД для хранения настроек (8.2)

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

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

Скачать

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

Далее

Авторы, присоединяйтесь!

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

Еще раз всем доброго времени суток! Наш ресурс начинает активно развиваться. Уже зарегистрировалось около 200 пользователей…Толи еще будет! Авторы, не стесняйтесь, и делитесь своими материалами.

Для того, чтобы добавить статью необходимо зарегистрироваться. Для вас станет доступным удобная админка для просмотра и редактирования записей. Попасть в нее можно через кнопку “Добавить статью”:

Еще раз всем доброго времени суток! Наш ресурс начинает активно развиваться. Уже зарегистрировалось около 200 пользователей…Толи еще будет! Авторы, не стесняйтесь, и делитесь своими материалами. Для того, чтобы добавить статью необходимо зарегистрироваться. Для вас станет доступным удобная админка для просмотра и редактирования записей. Попасть в нее можно через кнопку “Добавить статью”: Также рекомендуем прочитать статью Рекомендации к публикации статей Ждем от Вас новых поступлений! Удачи!...

Далее

Примеры отчетов на СКД

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

О разработке

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

В данной публикации приведены следующие примеры отчетов на СКД:

1. Сортировка одного поля по другому (без вывода этого доп. поля)

2. СКД в обработке:
Пример ручного формирования отчета во внешней обработке (для возможности подключения как печ. форму)

3. СКД (Только отбор):
Использование отбора СКД при ручном формировании отчета

4. Защита СКД:
Схема храниться в макете в виде zip архива с паролем

5. Остатки и таблица значений:
Использование ролей полей для получения отчета по остакам с разворотом по дополнительным периодам

6. По всем контрагентам:
Дополнение отчета всеми контрагентами (через объединение наборов)

7. Вложенные схемы

8. Объединение наборов данных:
Вычисление разных ресурсов на разных уровнях

9. Два отчета в 1 схеме

10. Две схемы в одном отчете

11. Остатки и движения по вертикали
Дополнение движений строками: “Остатки на []”

12. Модуль “ПроцедурыРаботыСКомпоновкой”:

ПолучитьПараметрОтчета()
УстановитьПараметрОтчета()
НайтиГруппировку()
ОтборПоНепустым()
УстановитьПользовательскоеПолеИнтервал()

13. Подсистема “Шаблон типового отчета”:
Формы, модули, справочники и т.д. из БП 1.6.13 необходимые для работы
отчета “Шаблон типового отчета”

О разработке Отличный набор примеров по работе с СКД. В первые был опубликован здесь. В данной публикации приведены следующие примеры отчетов на СКД: 1. Сортировка одного поля по другому (без вывода этого доп. поля) 2. СКД в обработке: Пример ручного формирования отчета во внешней обработке (для возможности подключения как печ. форму) 3. СКД (Только отбор): Использование отбора СКД при ручном формировании отчета 4. Защита СКД: Схема храниться в макете в виде zip архива с паролем 5. Остатки и таблица значений: Использование ролей полей для получения отчета по остакам с разворотом по дополнительным периодам 6. По всем контрагентам: Дополнение отчета всеми контрагентами (через объединение наборов) 7. Вложенные схемы 8. Объединение наборов данных: Вычисление разных ресурсов на разных уровнях 9. Два отчета в 1 схеме 10. Две схемы в одном отчете 11. Остатки и движения по вертикали Дополнение движений строками: “Остатки на []” 12. Модуль “ПроцедурыРаботыСКомпоновкой”: ПолучитьПараметрОтчета() УстановитьПараметрОтчета() НайтиГруппировку() ОтборПоНепустым() УстановитьПользовательскоеПолеИнтервал() 13. Подсистема “Шаблон типового отчета”: Формы, модули, справочники и т.д. из БП 1.6.13 необходимые для работы отчета “Шаблон типового отчета” Скриншоты Скачать все файлы одним архивом...

Далее
Страница 75 из 77« Первая...102030...7374757677

Авторизация

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

Архивы

Закладки

  • Your favorites will be here.