Посты от Июль 12th, 2010

Параметр – список значений с пустым значением

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

Нашёл такие грабли – когда делаешь параметр списком значений, СКД зачем-то сама в этот список вставляет строку с пустым значением.
Я этот параметр передаю в запрос, и если тип параметра является иерархическим справочником, это пустое значение похоже отбирает любого родителя в иерархии, и как следствие, все значения справочника. Кстати, такой же косяк можно увидеть в отборах, если сделать вид сравнения “в группе из списка” и в список добавить строку с пустым значением.
А так как юзер тупо заполняет этот список подбором, то ему по фигу, что там какие-то пустые значения. Объяснять, что пустых значения в списке надо удалять – бесполезно. Виноват-то программист!
Нашёл, как это лечить, может кому-то пригодится.

Нашёл такие грабли – когда делаешь параметр списком значений, СКД зачем-то сама в этот список вставляет строку с пустым значением. Я этот параметр передаю в запрос, и если тип параметра является иерархическим справочником, это пустое значение похоже отбирает любого родителя в иерархии, и как следствие, все значения справочника. Кстати, такой же косяк можно увидеть в отборах, если сделать вид сравнения “в группе из списка” и в список добавить строку с пустым значением. А так как юзер тупо заполняет этот список подбором, то ему по фигу, что там какие-то пустые значения. Объяснять, что пустых значения в списке надо удалять – бесполезно. Виноват-то программист! Нашёл, как это лечить, может кому-то пригодится....

Далее

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

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

Далее

Авторизация

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

Архивы

Закладки

  • Your favorites will be here.