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

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


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

Различия

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

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

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