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