Инструменты пользователя

Инструменты сайта


кассир5:внешниемодули:reports

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
кассир5:внешниемодули:reports [2013/10/30 15:38]
dzayonchkovskiy создано
кассир5:внешниемодули:reports [2024/04/04 20:34] (текущий)
maimakarov [Расширенные отчеты]
Строка 1: Строка 1:
-Предназначение +====== Расширенные отчеты ====== 
-Мининтерфейс. +Для получения отчётов по базе данных "Кассир 5" предусмотрен механизм формирования расширенных отчетов. В стандартной поставке имеются [[кассир5:руководствопользователя:супервизор:расширенныеотчёты|расширенные отчёты]], список которых можно дополнить пользовательскими без изменения конфигурации.
-Оснформа с экспортными функциями+
-Когда вызываются эти функции+
-Параметры экспортных функций. +
-Описание функций.+
  
-===== Предназначение ===== 
-Механизм расширенных отчетов позволяют отображать визуальные отчеты на различные устройства вывода, а также автоматически формировать такие отчеты при снятии Z отчета. Расширенный отчет может не иметь визуального отображения и иметь функциональное назначение, например, выполнять определенные операции с КММ и т.п. 
  
-===== Минимальный программный интерфейс ===== +===== Функциональность ===== 
-Расширенный отчет это внешняя обработка, которая должна располагаться в каталоге "путь к базе"\ExtFiles\Reports. Синоним обработки является представлением отчета в меню Расширенные отчеты.\\ +Каждый расширенный отчёт может быть сформирован двуми способами: 
-Обработка обязательно должна иметь основную форму, в которой располагаются основные экспортные функции, со строго определенными именами:\\ +  * Интерактивно 
-Функция **ПолучитьВерсиюПротокола** (обязательная)\\ +  * Автоматически, при снятии Z-отчета
-Процедура **ВывестиОтчет**\\ +Независимо от способа формирования, отчёт представляется пользователю на экран, печатается на принтере/ККМ или сохраняется в файл. Способ представления отчёта определяется самим отчётом, например его настройкой.
-Процедура **НастройкаОтчета**\\ +
-Процедура **НастройкаПечатиПриZОтчете**\\ +
-Функция **СформироватьОтчетПриСнятииZОтчета**\\ +
-Наличие функции ПолучитьВерсиюПротокола обязательно, в ней определяется возможности расширенного отчетаот которых зависит наличие остальных экспортных функций.+
  
-===== Вызов экспортных функций ===== 
-**Получить версию протокола** - служебная функция, вызывается для проверки функциональных возможностей расширенного отчета: в форме настройки расширенных отчетов и в супервизоре при нажатии кнопки "Расширенные отчеты".\\ 
-**ВывестиОтчет** - вызывается при нажатии кнопки в меню "Расширенные отчеты".\\ 
-**НастройкаОтчета** - вызывается при нажатии кнопки настройки отчета в форме "Настройка расширенных отчетов".\\ 
-**НастройкаПечатиПриZОтчете** - вызывается при нажатии кнопки настройки печати при снятии Z отчета в форме "Настройка расширенных отчетов".\\ 
-**СформироватьОтчетПриСнятииZОтчета** - вызывается при снятии Z отчета (если для отчета установлена настройка "Печатать при Z отчете").\\ 
  
-===== Параметры экспортных функций ===== +==== Интерактивное формирование отчёта ==== 
-Функция **ПолучитьВерсиюПротокола(ПолучитьВерсиюПротокола)**\\ +Инициатором формирования является пользовательДействие производится из меню супервизора [[кассир5:руководствопользователя:супервизор#расширенные_отчёты|Расширенные отчёты]].
-**ПолучитьВерсиюПротокола** - Структура - содержит набор строго определенных ключей:  +
-    * **ВывестиОтчет** - если значение данного элемента структуры установить в истину, то отчет будет отображаться в меню "Расширенные отчеты". +
-    * **НастройкаОтчета** - если значение данного элемента структуры установить в истину, то для отчета можно установить настройки в форме настроек расширенных отчетовиначе кнопка для настройки будет недоступна. +
-    * **НастройкаПечатиПриZОтчете** - если значение данного элемента структуры установить в истину, то для отчета можно установить настройки при печати Z отчета в форме настроек расширенных отчетов, иначе кнопка для настройки будет недоступна.  +
-    * **ПечататьПриZОтчете** - если значение данного элемента структуры установить в истину, то отчет будет иметь возможность формироваться при снятии Z отчета+
-Данную структуру можно получить функцией глобального общего модуля - **ПолучитьСтруктуруФункцийОтчета()**\\+
  
-Процедура **ВывестиОтчет(СтрокаНастроек, лККМДляПечати)**\\ +==== При снятии Z-отчёта ==== 
-**СтрокаНастроек** - Строка значение типа Соответствие, преобразованное в строку функцией ЗначениеВСтрокуВнутр(). Берётся из сохраненных настроек, установленных процедурой НастройкаОтчета().\\ +Основное назначение данного способа формирования отчёта -- регулярное формирование или предоставление данных отчёта (как правило за текущую кассовую сменувместе с Z-отчётом. Формирование отчёта производится непосредственно перед снятем Z-отчёта в ККМ.
-**лККМДляПечати** СтрокаТаблицыЗначений - ККМ для печати. Можно получить функцией Кассир5_DataAccess.ПолучитьККМ()\\+
  
-Процедура **НастройкаОтчетатрокаНастроек)**\\ +===== Интеграция ===== 
-*трокаНастроек** - Строка - значение типа Соответствие, преобразованное в строку функцией ЗначениеВСтрокуВнутр().\\+Для интеграции пользовательского расширенного отчёта в систему необходимо выполнить ряд требований: 
 +  отчёт должен быть внешней обработкой, код которой не приводит к ошибкам в контексте конфигурации "Кассир 5" 
 +  * синоним внешней обработки определяет имя расширенного отчёта в списке отчётов 
 +  * внешняя обработка помещается в ExtFiles\Reports каталога базы данных 
 +  * основная форма обработки реализует API расширенных отчётов.
  
-Процедура **НастройкаПечатиПриZОтчете(СтрокаНастроек)**\\ +===== API расширенных отчётов ===== 
-**СтрокаНастроек** - Строка - значение типа Соответствие, преобразованное в строку функцией ЗначениеВСтрокуВнутр().\\+Основная форма обработки экспортирует следующие функции: 
 +<code> 
 +Функция ПолучитьВерсиюПротокола(СтруктураФункций) Экспорт 
 +Процедура ВывестиОтчет(Знач СтрокаНастроек, Знач ККМДляПечати) Экспорт 
 +Процедура НастройкаОтчета(СтрокаНастроек) Экспорт 
 +Процедура НастройкаПечатиПриZОтчете(СтрокаНастроек) Экспорт 
 +Процедура СформироватьОтчетПриСнятииZОтчета(Знач СтрокаНастроек, Знач ККМДляПечати) Экспорт 
 +</code> 
 + 
 +==== Функция ПолучитьВерсиюПротокола ==== 
 +Функция является обязательной к экспорту. Вызывается для проверки функциональных возможностей расширенного отчета.\\ 
 +Параметр **СтруктураФункций**.\\ 
 +Тип -- Структура. Имеет следующие свойства, определяющие наличие одноименных экспортных функций модуля:\\ 
 + ВывестиОтчет (булево)\\ 
 + НастройкаОтчета (булево)\\ 
 + НастройкаПечатиПриZОтчете (булево)\\ 
 + ПечататьПриZОтчете (булево)\\ 
 +Изменяя значения свойств передаваемой структуры, обработка сообщит кассовому ПО о поддержке функционала.\\ 
 +**Возвращаемое значение** (число) -- 1. 
 + 
 + 
 +==== Функция ВывестиОтчет ==== 
 +Процедура является обязательной к экспорту, если параметр **ВывестиОтчет** (структуры СтруктураФункций) был установлен в значение Истина.\\ 
 +Вызов процедуры производится при интерактивном формировании отчёта.\\ 
 +Параметры:\\ 
 +**СтрокаНастроек** (строка) -- Строка сожержащая настройки отчёта, которая была сохранена в базе данных при вызове процедуры НастройкаОтчета().\\ 
 +**ККМДляПечати** -- Строка таблицы значений **СписокККМ**. Определяет ККМ на котором будет распечатан отчёт в случае его печати на ККМ.\\ 
 + 
 +==== Функция НастройкаОтчета ==== 
 +Процедура является обязательной к экспорту, если параметр **НастройкаОтчета** (структуры СтруктураФункций) был установлен в значение Истина.\\ 
 +Вызов процедуры производится при [[кассир5:настройка:дополнительные:настройкарасширенныхотчетов|настройке расширенного отчёта]].\\ 
 +Параметры:\\ 
 +**СтрокаНастроек** (строка) -- Строка содержащая настройки отчёта. Обработка представляет свои настройки в виде строкикоторая сохраняется кассовым ПО в базе данных после вызова процедуры. Параметром передаётся сохраненное ранее значение или пустая строка.\\ 
 + 
 +==== Функция НастройкаПечатиПриZОтчете ==== 
 +Процедура является обязательной к экспорту, если параметр **НастройкаПечатиПриZОтчете** (структуры СтруктураФункций) был установлен в значение Истина.\\ 
 +Вызов процедуры производится при [[кассир5:настройка:дополнительные:настройкарасширенныхотчетов|настройке расширенного отчёта]].\\ 
 +Параметры:\\ 
 +**СтрокаНастроек** (строка) -- Строка сожержащая настройки отчёта. Обработка представляет свои настройки в виде строки, которая сохраняется кассовым ПО в базе данных после вызова процедуры. Парметром передаеётся сохраненное ранее значение или пустая строка.\\ 
 + 
 +==== Функция СформироватьОтчетПриСнятииZОтчета ==== 
 +Процедура является обязательной к экспорту, если параметр **СформироватьОтчетПриСнятииZОтчета** (структуры СтруктураФункций) был установлен в значение Истина.\\ 
 +Вызов процедуры производится перед снятием Z-отчёта в ККМ.\\ 
 +Параметры:\\ 
 +**СтрокаНастроек** (строка) -- Строка сожержащая настройки отчёта, которая была сохранена в базе данных при вызове процедуры НастройкаПечатиПриZОтчете.\\ 
 +**ККМДляПечати** -- Строка таблицы значений **СписокККМ**. Определяет ККМ на котором будет распечатан отчёт в случае его печати на ККМ.\\
  
-Функция **СформироватьОтчетПриСнятииZОтчета(СтрокаНастроек, лККМДляПечати)**\\ 
-**СтрокаНастроек** - Строка - значение типа Соответствие, преобразованное в строку функцией ЗначениеВСтрокуВнутр(). Берётся из сохраненных настроек, установленных процедурой НастройкаПечатиПриZОтчете().\\ 
-**лККМДляПечати** - СтрокаТаблицыЗначений - ККМ для печати. Можно получить функцией Кассир5_DataAccess. 
  
-===== Описание функций ===== 
кассир5/внешниемодули/reports.1383133098.txt.gz · Последнее изменение: 2013/10/30 15:38 — dzayonchkovskiy