Скачать презентацию 4 4 Отчеты в V 8 Введение Для Скачать презентацию 4 4 Отчеты в V 8 Введение Для

V8_5_Отчеты.ppt

  • Количество слайдов: 22

4. 4. Отчеты в V 8. Введение Для формирования печатных форм в V 8 4. 4. Отчеты в V 8. Введение Для формирования печатных форм в V 8 предназначен табличный документ (ТД). Табличный документ также иногда используется для ввода данных в систему, поскольку его ячейки могут содержать значения, изменяемые с помощью элементов управления.

(продолжение) С помощью элемента управления Поле. Табличного. Документа ТД может быть отображен в экранной (продолжение) С помощью элемента управления Поле. Табличного. Документа ТД может быть отображен в экранной форме.

(продолжение) Обычно табличный документ формируется на основе макета, то есть шаблона (см. V 7 (продолжение) Обычно табличный документ формируется на основе макета, то есть шаблона (см. V 7 -Таблица). На основе макета средствами встроенного языка формируется готовая печатная форма - табличный документ.

Особенности табличного документа • Поддерживается механизм расшифровок (см. V 7) • В табличном документе Особенности табличного документа • Поддерживается механизм расшифровок (см. V 7) • В табличном документе могут быть группировки, с помощью которых можно отражать промежуточные итоги, например, объем продаж по каждому отделу. Пользователь может легко разворачивать и сворачивать группы специальными маркерами. Есть возможность сделать так, чтобы текст в ячейке автоматически сдвигался вправо в соответствии с уровнем группировки. • У ячеек могут быть примечания, содержащие дополнительную информацию. Ячейка с примечанием имеет маленький треугольник в правом верхнем углу. При наведении курсора мыши на ячейку примечание показывается во всплывающем окне. • В табличном документе может быть расположено поле сводной таблицы, которая позволяет отобразить многомерные данные в виде плоской таблицы с вложенными заголовками

Макет Ячейки табличного документа обычно содержат текст или параметры, а также могут содержать одновременно Макет Ячейки табличного документа обычно содержат текст или параметры, а также могут содержать одновременно текст и параметры, заключенные в квадратные скобки. В последнем случае у таких ячеек свойство Заполнение должно быть установлено в значение «Шаблон» . При формировании печатной формы средствами встроенного языка на место параметров будут подставлены конкретные значения.

Сохранение и восстановление печатных форм В конфигурации могут быть общие макеты, которые не принадлежат Сохранение и восстановление печатных форм В конфигурации могут быть общие макеты, которые не принадлежат конкретному объекту. Сформированная печатная форма может быть записана в файл интерактивно или с помощью метода Записать. Поддерживаются следующие форматы файлов: MXL, HTML, XLS , TXT. С помощью меню «Файл ->Открыть» или кнопки на панели инструментов можно загрузить табличный документ из файла. Это также можно сделать программно с помощью метода Прочитать.

Области Областью табличного документа называется группа ячеек, имеющая имя. Обычно области включают в себя Области Областью табличного документа называется группа ячеек, имеющая имя. Обычно области включают в себя одну или несколько строк, колонок или любой прямоугольный диапазон ячеек. К области можно обратиться по координатам или имени (см. V 7)] Примеры: Обл = Макет. Получить. Область("Строка | Колонка"). Обл 1=Макет. Получить. Область( «Шапка | Основа"). Обл 2 = Макет. Получить. Область("Строка").

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

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

Параметры Чтобы вывести в ячейку информацию из базы данных, нужно установить свойство Заполнение в Параметры Чтобы вывести в ячейку информацию из базы данных, нужно установить свойство Заполнение в значение «Параметр» или «Шаблон» . Если выбрано значение «Параметр» , то затем указывается имя параметра, которое будет доступно в модуле. Если выбрано значение «Шаблон» , то имена параметров указываются в самой ячейке в квадратных скобках.

Пример отчета с параметрами //получим область как новый табличный документ Область = Макет. Получить. Пример отчета с параметрами //получим область как новый табличный документ Область = Макет. Получить. Область("Заголовок"); //укажем параметры области Область. Параметры. Номер. Документа = Номер; Область. Параметры. От = Дата; Область. Параметры. Кому = Контрагент; Таб. Док. Вывести(Область); Область = Макет. Получить. Область("Строка"); Для Каждого Стр. Состава Из Состав Цикл Область. Параметры. Заполнить(Стр. Состава); Таб. Док. Вывести(Область); Конец. Цикла; Область = Макет. Получить. Область("Подвал"); Область. Параметры. Итого. Количество= Состав. Итог("Количество"); Область. Параметры. Итого. Сумма = Состав. Итог("Сумма");

(продолжение) Таб. Док. Вывести(Область); Метод Заполнить позволяет в краткой форме присвоить значения всем параметрам. (продолжение) Таб. Док. Вывести(Область); Метод Заполнить позволяет в краткой форме присвоить значения всем параметрам. Соответствие устанавливается по именам параметров области и именам свойств переданного объекта.

Расшифровки делятся на стандартные и нестандартные. Стандартные расшифровки обрабатываются системой автоматически. Возможности – см. Расшифровки делятся на стандартные и нестандартные. Стандартные расшифровки обрабатываются системой автоматически. Возможности – см. V 7 Для обеспечения стандартной расшифровки необходимо: в свойствах ячейки, которая нуждается в расшифровке, найти свойство "парам. расшифровки" и ввести имя переменнойссылки на элемент справочника, форму элемента которого необходимо показать (Например "Расшифровка") В тексте процедуры печати означить данную переменную

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

пример стандартной расшифровки (продолжение) Иначе Секция = Макет. Получить. Область( пример стандартной расшифровки (продолжение) Иначе Секция = Макет. Получить. Область("Элемент"); Секция. Параметры. Код=Объект. Код; Секция. Параметры. Расшифровка=Объект; Секция. Параметры. Наименование=Объект. Наименование; Таб. Док. Вывести(Секция); Конец. Если; Конец. Цикла; Таб. Док. Только. Просмотр = Истина; // только в данном режиме работает расшифровка!!! Таб. Док. Показать(); Конец. Процедуры

Нестандартная расшифровка Для выполнения нестандартной расшифровки предназначено событие Обработка. Расшифровки. Замечание. Событие Обработка. Расшифровки Нестандартная расшифровка Для выполнения нестандартной расшифровки предназначено событие Обработка. Расшифровки. Замечание. Событие Обработка. Расшифровки можно обработать только, если табличный документ отображается в форме в элементе управления Поле. Табличного. Документа, а не открывается в отдельном окне. Таб. Док = Элементы. Формы. Поле. Таб. Док; Таб. Док. Очистить(); Рассмотрим на примере, как организовать расшифровку строки. Допустим, необходимо при щелчке на строке выдавать список расходных накладных по данному товару. Пусть в форме располагается элемент управления Поле. Табличного. Документа с именем «Таблица. Результат» , в свойствах которого указывается процедура-обработчик события Обработка. Расшифровки с именем ОР.

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

Замечание Обработку расшифровок у ячейки можно отключить, если задать свойство Использование. Расшифровки в значение Замечание Обработку расшифровок у ячейки можно отключить, если задать свойство Использование. Расшифровки в значение «Без обработки» . Это же свойство позволяет распространить расшифровку ячейки на всю строку, если установить его в значение «Строка» .

Группировки В V 8 появилась возможность группировать данные в отчете. Группировки могут быть горизонтальные Группировки В V 8 появилась возможность группировать данные в отчете. Группировки могут быть горизонтальные и вертикальные, тогда слева и сверху появляются специальные маркеры, позволяющие пользователю разворачивать и сворачивать группы

Группировки (продолжение) Самый простой способ добавить группировки в отчет - доверить эту задачу системе, Группировки (продолжение) Самый простой способ добавить группировки в отчет - доверить эту задачу системе, тогда от разработчика требуются минимальные усилия: необходимо всего лишь применить методы Начать. Авто. Группировку. Строк и Закончить. Авто. Группировку. Строк, которые включают режим автоматической группировки строк. В этом режиме при вызове методов Вывести и Присоединить указываются дополнительные параметры для группировки: Вывести(<Таблица>, <Уровень>, <Имя группы>, <Открыта>) Таб. Док. Начать. Авто. Группировку. Строк(); Пока Выборка. Следующий() цикл Таб. Док. Вывести(Область. Таб. Док, Выборка. Уровень(), Выборка. Наименование, Ложь); Конец. Цикла; Таб. Док. Закончить. Автогруппировку. Строк(); В качестве имени группировки назначается наименование товара. Все группы выводятся сначала свернутыми, но пользователь может развернуть любую группу с помощью маркера.

Группировки (продолжение) Для ручного управления группами применяются следующие методы объекта Табличный. Документ: Начать. Группу. Группировки (продолжение) Для ручного управления группами применяются следующие методы объекта Табличный. Документ: Начать. Группу. Строк, Закончить. Группу. Строк, Начать. Группу. Колонок, Закончить. Группу. Колонок – самостоятельно

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