Locarus Forum

Locarus.ru => Программы для Windows XP, Vista => Плагины => Тема начата: bigdragon от 14 Март 2012, 18:24:55

Название: Отчеты и плагины
Отправлено: bigdragon от 14 Март 2012, 18:24:55
Добрый день !

Интересует возможность во время генерации отчета обращаться к конкретному плагину для получения от него информации с последующим
отображением этой информации в отчете.

Заранее благодарен за помощь.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 15 Март 2012, 10:44:33
Добрый день !

Интересует возможность во время генерации отчета обращаться к конкретному плагину для получения от него информации с последующим
отображением этой информации в отчете.

Заранее благодарен за помощь.

Могу сделать запрос у плагина переменных для отчета (а так же для отображения в точках и списке рейсов), после чего запрос расчета этих переменных, как сейчас сделано для датчиков.
Пойдет?
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 15 Март 2012, 13:58:25
Могу сделать запрос у плагина переменных для отчета (а так же для отображения в точках и списке рейсов), после чего запрос расчета этих переменных, как сейчас сделано для датчиков.
Пойдет?

То есть если я правильно понял можно будет создавать свои переменные для отчетов из плагинов, было бы замечательно.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 22 Март 2012, 11:54:49
Могу сделать запрос у плагина переменных для отчета (а так же для отображения в точках и списке рейсов), после чего запрос расчета этих переменных, как сейчас сделано для датчиков.
Пойдет?

То есть если я правильно понял можно будет создавать свои переменные для отчетов из плагинов, было бы замечательно.

Практически доделал. Сегодня-завтра выложу на фтп (в раздел бета).
Название: Re: Отчеты и плагины
Отправлено: Knight от 30 Март 2012, 18:51:41
Могу сделать запрос у плагина переменных для отчета (а так же для отображения в точках и списке рейсов), после чего запрос расчета этих переменных, как сейчас сделано для датчиков.
Пойдет?

То есть если я правильно понял можно будет создавать свои переменные для отчетов из плагинов, было бы замечательно.

Практически доделал. Сегодня-завтра выложу на фтп (в раздел бета).
Можно какую-то краткую вводную по переменным, что и где смотреть?
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 02 Апрель 2012, 10:26:11
Могу сделать запрос у плагина переменных для отчета (а так же для отображения в точках и списке рейсов), после чего запрос расчета этих переменных, как сейчас сделано для датчиков.
Пойдет?

То есть если я правильно понял можно будет создавать свои переменные для отчетов из плагинов, было бы замечательно.

Практически доделал. Сегодня-завтра выложу на фтп (в раздел бета).
Можно какую-то краткую вводную по переменным, что и где смотреть?

Похоже забыл выложил файл с поправленным заголовком. Выложил на ФТП в раздел бета.

Добавил новый раздел PluginReportFunction и 2 функции:

struct _TPluginReportFunction{
      // int AddReportVar(char *Caption, char * Description);
      // 2.44 Добавить переменную в список общих переменных отчета (т.е. переменных присутсвующих во всех отчетах)
      // Caption      - Название переменной
      // Description   - Описание переменной
      // Возвращаемое значение - Идентификатор переменной (см OnCalcReportVar).
   const LPAddReportVar AddReportVar;
      // double OnCalcReportVar(int ReportVarID, int IndexFrom, int IndexTo, char* &ValueS);
      // 2.44 Рассчитать переменную
      // ReportVarID   - идентификатор переменной, полученный при создании (см AddReportVar).
      // IndexFrom   - индекс начала записей для расчета (включительно)
      // IndexTo      - индекс окончания записей для расчета (включительно)
      // ValueS      - Текстовое значение переменной. Использовать только если нельзя получить цифровое значение!
      //              Память под переменную выделять функцией LIGetMemory.
      // Возвращаемое значение - Цифровое значение переменной. Если нельзя получить цифровое значение переменной,
      //                     необходимо использовать поле ValueS. При этом Цифровое значение игнорируется.
      // Примечание: если ValueS != NULL, используется ValueS, иначе используется Цифровое значение (т.е. значение, возвращаемой функцией).
   LPCalcReportVar OnCalcReportVar;


Дальше, думаю, все понятно.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 09 Апрель 2012, 18:33:56
А можно примерчик типа "Hello, world!" ?
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 10 Апрель 2012, 10:02:34
А можно примерчик типа "Hello, world!" ?

Пример писал без проверки. Возможны ошибки синтаксиса, но смысл думаю понятен.

LPCalcReportVar  OldOnCalcReportVar;
int MyReportVar1, MyReportVar2;
double MyCalcReportVar(int ReportVarID, int IndexFrom, int IndexTo, char* &ValueS);

void PluginInitEventHandler()
{
//*CraiD: При совпадение имён, предыдущая переменная перезаписывается новой.
MyReportVar1 = EventHandler->PluginReportFunction->AddReportVar("PluginVar","Это переменная из плагина");
MyReportVar2 = EventHandler->PluginReportFunction->AddReportVar("PluginVar2","Это тоже переменная из плагина");
OldOnCalcReportVar =  EventHandler->PluginReportFunction->OnCalcReportVar;
EventHandler->PluginReportFunction->OnCalcReportVar = MyCalcReportVar;
}

double MyCalcReportVar(int ReportVarID, int IndexFrom, int IndexTo, char* &ValueS)
{
if (ReportVarID == MyReportVar1){
    return IndexFrom;
} else if (ReportVarID == MyReportVar2){
    ValueS =  EventHandler->UtilFunction->GetMemory(100);
    strcpy(ValueS,"!!!!!!!!");
    return 0;
} else if (OldOnCalcReportVar) return OldOnCalcReportVar(ReportVarID, IndexFrom, IndexTo,ValueS);
return 0;
}
Название: Re: Отчеты и плагины
Отправлено: mobilesfinks от 10 Апрель 2012, 19:45:16
ужасный код. питон рулит.
 :biggrin:
Название: Re: Отчеты и плагины
Отправлено: CraiD от 11 Апрель 2012, 09:16:00
ужасный код. питон рулит.
 :biggrin:
+1  :drinks:
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 11 Апрель 2012, 14:29:10
ужасный код. питон рулит.
 :biggrin:

Не знаю насчет всяких там удавов, по-моему все достаточно прозрачно и наивно  :friends:.
Название: Re: Отчеты и плагины
Отправлено: CraiD от 11 Апрель 2012, 15:29:52
Не знаю насчет всяких там удавов, по-моему все достаточно прозрачно и наивно  :friends:.
Да начнётся холивар!
Из недавнего парсер данных из строки вида "|unix-datetime;lat;lon;dir;speed|unix-datetime;lat;lon;dir;speed|...|" на питоне встроенными средствами:
def data_parser(data):
    strings = str(data).strip('|').split('|')
    data = []
    for string in strings:
        string = string.split(';')
        data.append({
            'speed': int(string[4]),
            'dir':   int(r[3]),
            'time':  datetime.fromtimestamp(int(r[0])).strftime("%d %b %Y %H:%M:%S"),
            'coord': {'lat': float(r[1]), 'lon': float(r[2])}
        })
    return data
Даже представлять неохота, сколько займет тот же код на C++ или Delphi.

PS Да, я знаю, что у языков разное назначение, но эстетический вид кода это не отменяет.
Название: Re: Отчеты и плагины
Отправлено: oleg_km от 11 Апрель 2012, 17:54:01
Цитировать
Даже представлять неохота, сколько займет тот же код на C++ или Delphi.

Столько же, сколько этот код на C++ занимает в исходниках питона.
Название: Re: Отчеты и плагины
Отправлено: SAN от 12 Апрель 2012, 00:38:52
"Папа, а сф кэм ты щищаз ражговаривал?" (с)
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 12 Апрель 2012, 09:51:33
Цитировать
Даже представлять неохота, сколько займет тот же код на C++ или Delphi.

Столько же, сколько этот код на C++ занимает в исходниках питона.

для С++, так же как и для Дельфи уже столько всего понаписано, что при правильном подходе и небольшом количества гугля код будет ничуть не больше.
Название: Re: Отчеты и плагины
Отправлено: mobilesfinks от 12 Апрель 2012, 13:15:11
Цитировать
Даже представлять неохота, сколько займет тот же код на C++ или Delphi.

Столько же, сколько этот код на C++ занимает в исходниках питона.

для С++, так же как и для Дельфи уже столько всего понаписано, что при правильном подходе и небольшом количества гугля код будет ничуть не больше.
тут разговор о перегруженности кода у С++ лишними операторами в виде скобок и др мелочей. У питона код выглядит намного более удобочитаемым, а всё из-за того, что табуляция - это часть синтаксиса. Он прост в понимании, а значит передать часть своего кода другому проще. Принимающая сторона быстрее разберется. В общем то в этом и есть громадный плюс питона. 
Название: Re: Отчеты и плагины
Отправлено: CraiD от 12 Апрель 2012, 14:52:45
тут разговор о перегруженности кода у С++ лишними операторами в виде скобок и др мелочей. У питона код выглядит намного более удобочитаемым, а всё из-за того, что табуляция - это часть синтаксиса. Он прост в понимании, а значит передать часть своего кода другому проще. Принимающая сторона быстрее разберется. В общем то в этом и есть громадный плюс питона. 
:friends:
Название: Re: Отчеты и плагины
Отправлено: CraiD от 12 Апрель 2012, 14:55:08
Цитировать
Даже представлять неохота, сколько займет тот же код на C++ или Delphi.

Столько же, сколько этот код на C++ занимает в исходниках питона.
Мда... Хорошо хоть не спросил сколько он на ассемблере займёт.  :biggrin:
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 24 Апрель 2012, 21:29:54
И снова по делу. Хотелось бы увидеть все таки рабочий Пример Если Это Возможно Ну Очень Нужно.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 25 Апрель 2012, 09:25:04
И снова по делу. Хотелось бы увидеть все таки рабочий Пример Если Это Возможно Ну Очень Нужно.

Приведенный пример был вполне рабочим.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 25 Апрель 2012, 11:59:52
Я не сколько не сомневаюсь в вашем профессионализме и вашей компетенции по данному вопросу,  но все таки если это вас очень не затруднит не могли бы вы дать рабочий пример кода с рабочей dll. Спасибо заранее за понимание.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 25 Апрель 2012, 14:08:54
Я не сколько не сомневаюсь в вашем профессионализме и вашей компетенции по данному вопросу,  но все таки если это вас очень не затруднит не могли бы вы дать рабочий пример кода с рабочей dll. Спасибо заранее за понимание.

Куда скинуть?
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 25 Апрель 2012, 14:15:01
Можно на andrey@locarus.com.ua
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 26 Апрель 2012, 13:29:54
По прежнему хочется увидеть рабочий пример. Заранее  спасибо!!!!
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 26 Апрель 2012, 14:51:34
По прежнему хочется увидеть рабочий пример. Заранее  спасибо!!!!

Отправил.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 26 Апрель 2012, 14:57:36
По прежнему хочется увидеть рабочий пример. Заранее  спасибо!!!!

Отправил.
Большое спасибо.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 26 Апрель 2012, 18:46:41
По прежнему хочется увидеть рабочий пример. Заранее  спасибо!!!!

Отправил.
Большое спасибо.

Так как обсуждаемый функционал в плагинах по прежнему нужен я снова с проблемой.
Присланный исходник не удалось собрать но это не совсем важно что бы отсечь лишнее я выделил с него только то что касается взаимодействия плагина с отчетами.
#include "stdafx.h"
#include "BBPlugin.h"
#include <stdlib.h>
#include <TCHAR.H>
#include <windows.h>

#ifdef _MANAGED
#pragma managed(push, off)
#endif

HMODULE hMyModule;

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
)
{
hMyModule = hModule;
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
    return TRUE;
}

#ifdef _MANAGED
#pragma managed(pop)
#endif

bool IsActive;
HWND MyDialog;

TPointLL LastMapPoint;

BBPLUGIN_API char PluginCaption[] = "Test Report";

_TPluginsEvent *PluginsEvent;

LPCalcReportVar  OldOnCalcReportVar;
int MyReportVar1, MyReportVar2;
double MyCalcReportVar(int ReportVarID, int IndexFrom, int IndexTo, char* &ValueS);

BBPLUGIN_API void InitBBPlugin(_TPluginsEvent *param)
{
//Проверяем версию движка
int Version = param->GetVersion();
if ((Version / 1000 != MajorVersion) || //Плагины не совместимы с разными MajorVersion
(Version % 1000 < MinorVersion)) //Но совместимы вверх в пределах одинаковой MajorVersion
{
MessageBox(NULL,_T("Incorrect Plugin engine version"), _T("Error"), MB_OK | MB_ICONERROR);
return;
}
MyReportVar1 = param->PluginReportFunction->AddReportVar("PluginVar","Это переменная из плагина");
MyReportVar2 = param->PluginReportFunction->AddReportVar("PluginVar2","Это тоже переменная из плагина");
OldOnCalcReportVar =  param->PluginReportFunction->OnCalcReportVar;
param->PluginReportFunction->OnCalcReportVar = MyCalcReportVar;
}

double MyCalcReportVar(int ReportVarID, int IndexFrom, int IndexTo, char* &ValueS)
{
if (ReportVarID == MyReportVar1){
    return IndexFrom;
} else if (ReportVarID == MyReportVar2){
ValueS = (char*) PluginsEvent->PluginUtilsFinctions->LIGetMemory(100);
    strcpy(ValueS,"!!!!!!!!");
    return 0;
} else if (OldOnCalcReportVar) return OldOnCalcReportVar(ReportVarID, IndexFrom, IndexTo,ValueS);
return 0;
}
Для проверки был взят стандартный шаблон отчетов который идет в качестве примера .

Выбираем для отображения в отчете идентификаторов

вложение 1

и смотрим результат

вложение 2

отлично пробуем другую переименую

вложение 3

но тут нас постигает неудача

вложение 4

Пытаемся создать краш репорт и снова не судьба

https://docs.google.com/open?id=0ByJyzZfBvkF_VHhZWWZjb2V4eVk

Все действия проводились под следующей версией

https://docs.google.com/open?id=0ByJyzZfBvkF_aS1CcmYySzFtNWM

Ну вот вроде ситуацию описал.

И прошу вашей помощь или содействия или указания на мою ошибку  или не знание предметной области. Одним словом помогите!!!!!!!!!!!!
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 27 Апрель 2012, 10:23:10
Пытаемся создать краш репорт и снова не судьба

Если отчет об ошибке не отправляется (используется почтовик, неправильно регистрирующий или вообще не регистрирующий объекты MAPI), то можно отправить мне ELF-файл, который создает генератор отчетов об ошибке в папке с программой.
Вообще я проверял работу плагина и у меня все отработало. Использовал список рейсов для испытаний.
Пришлите мне отчет об ошибке и Ваш собранный плагин на Alexei@loсarus.ru

На чем собирали проект? Проверьте в настройках проекта выравнивание (Align) должно быть DWORD (4 byte)
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 27 Апрель 2012, 15:24:58
Все отлично и работает, спасибо за помощь.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 28 Апрель 2012, 16:48:20
Возникли новые трудности и они скорее связаны с выделяемой памятью через LIGetMemory. Хочется уточнить следующие нюансы

1 - почему в примере используется значение 100 для выделение памяти это так нужно или на угад ?
2 - В примере не реализована очистка памяти или она не требуется ( ну типа LI сам все сделает) .
3 - Память под переменную выделяется каждый раз когда вычисляются данные или только один раз.
4 - Если память очищать нужно самостоятельно то добавьте в пример как это правильно делать.

Ну вообщем поделитесь информацией той которую посчитаете нужной.


Для прояснения ситуации приатачил ELF файл и скрин.     
Ошибка появляется после третьего или четвертого открытия отчета. Плагин выводит результат в столбец "Комментарий" .
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 02 Май 2012, 09:40:30
Возникли новые трудности и они скорее связаны с выделяемой памятью через LIGetMemory. Хочется уточнить следующие нюансы

1 - почему в примере используется значение 100 для выделение памяти это так нужно или на угад ?
2 - В примере не реализована очистка памяти или она не требуется ( ну типа LI сам все сделает) .
3 - Память под переменную выделяется каждый раз когда вычисляются данные или только один раз.
4 - Если память очищать нужно самостоятельно то добавьте в пример как это правильно делать.

Ну вообщем поделитесь информацией той которую посчитаете нужной.


Для прояснения ситуации приатачил ELF файл и скрин.     
Ошибка появляется после третьего или четвертого открытия отчета. Плагин выводит результат в столбец "Комментарий" .

1. 100 это наугад. Можно посчитать необходимый объем. Это же пример.
2. Память очищает LI. Надо будет об этом написать.
3. Каждый раз, так как ЛИ каждый раз ее освобождает.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 02 Май 2012, 16:43:10
С памятью вроде все понятно. Спасибо за разъяснения.
Но заметил такую вещь, после того как отчет с результатами построен, функция в которой происходит просчет данных для отчета вызывается повторно для всех строк отчета.
И если не подождать окончания вызова функции и закрыть а затем сразу открыть отчет для нового построения то возникает ошибка, скрин приатачил, а если подождать пока вызовы функции закончатся и сформировать повторно отчет то проблем нет.
В связи с этим вопрос как решить данную проблему ?

P.S. Ведь если выводить результат 1 + 1 то повторный вызов функции для всех строк не должен занять много времени и скорее когда пользователь закроет отчет и вдруг откроет его снова то вызов функции  уже будет закончен. Но у меня происходит запрос веб сервису и это занимает какое то время, то нет ни какой гарантии что повторные вызовы будут закончены.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 03 Май 2012, 09:29:10
С памятью вроде все понятно. Спасибо за разъяснения.
Но заметил такую вещь, после того как отчет с результатами построен, функция в которой происходит просчет данных для отчета вызывается повторно для всех строк отчета.
И если не подождать окончания вызова функции и закрыть а затем сразу открыть отчет для нового построения то возникает ошибка, скрин приатачил, а если подождать пока вызовы функции закончатся и сформировать повторно отчет то проблем нет.
В связи с этим вопрос как решить данную проблему ?

P.S. Ведь если выводить результат 1 + 1 то повторный вызов функции для всех строк не должен занять много времени и скорее когда пользователь закроет отчет и вдруг откроет его снова то вызов функции  уже будет закончен. Но у меня происходит запрос веб сервису и это занимает какое то время, то нет ни какой гарантии что повторные вызовы будут закончены.

Отчет строит генератор отчета. Как он его строит - вопрос к нему, а не ко мне. Скорее всего он это делает в фоновом режиме.
Он же запрашивает все необходимые переменные.
Можете попробовать кэшировать запросы.

Картинка ошибки мне ничего не говорит, отправляйте баг-репорт, желательно с пояснениями.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 07 Май 2012, 15:28:46
Выслал баг репорт  с пояснениями.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 10 Май 2012, 09:37:18
С памятью вроде все понятно. Спасибо за разъяснения.
Но заметил такую вещь, после того как отчет с результатами построен, функция в которой происходит просчет данных для отчета вызывается повторно для всех строк отчета.
И если не подождать окончания вызова функции и закрыть а затем сразу открыть отчет для нового построения то возникает ошибка, скрин приатачил, а если подождать пока вызовы функции закончатся и сформировать повторно отчет то проблем нет.
В связи с этим вопрос как решить данную проблему ?

P.S. Ведь если выводить результат 1 + 1 то повторный вызов функции для всех строк не должен занять много времени и скорее когда пользователь закроет отчет и вдруг откроет его снова то вызов функции  уже будет закончен. Но у меня происходит запрос веб сервису и это занимает какое то время, то нет ни какой гарантии что повторные вызовы будут закончены.

Вроде нашел опцию, что отчет строился за 2 прохода. Исправил на 1 проход.
Кроме того сделал отмену построения отчета при закрытии окна.
Будет в следующем билде.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 11 Май 2012, 12:30:11
С памятью вроде все понятно. Спасибо за разъяснения.
Но заметил такую вещь, после того как отчет с результатами построен, функция в которой происходит просчет данных для отчета вызывается повторно для всех строк отчета.
И если не подождать окончания вызова функции и закрыть а затем сразу открыть отчет для нового построения то возникает ошибка, скрин приатачил, а если подождать пока вызовы функции закончатся и сформировать повторно отчет то проблем нет.
В связи с этим вопрос как решить данную проблему ?

P.S. Ведь если выводить результат 1 + 1 то повторный вызов функции для всех строк не должен занять много времени и скорее когда пользователь закроет отчет и вдруг откроет его снова то вызов функции  уже будет закончен. Но у меня происходит запрос веб сервису и это занимает какое то время, то нет ни какой гарантии что повторные вызовы будут закончены.

Вроде нашел опцию, что отчет строился за 2 прохода. Исправил на 1 проход.
Кроме того сделал отмену построения отчета при закрытии окна.
Будет в следующем билде.
ОК. Ждем билда.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 12 Май 2012, 09:20:11
ОК. Ждем билда.

Выложил на фтп в папку бета.
Название: Re: Отчеты и плагины
Отправлено: Knight от 23 Ноябрь 2012, 15:25:03
Плагин для заполнения остановки переменной plStopAddress адресом взятым с базы Google карт.

http://locarus.com.ua/index.php/podderzhka/viewdownload/5-plaginy-dlya-locarusinformer/18-stopaddress

Можно поставить на общий доступ.
Название: Re: Отчеты и плагины
Отправлено: Exorcist от 23 Ноябрь 2012, 16:24:29
работает, но как-то кривовато )) часто не сообщает адрес дает только район, периодически пишет "error geocoding", если много остановок - наглухо виснет... а если уж нашел адрес, то уж больно большая строка получается - лучше было бы дать возможность настраивать глубину адресации, скажем только улица, а не страна-область-город-район-улица
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 27 Ноябрь 2012, 13:11:27
работает, но как-то кривовато )) часто не сообщает адрес дает только район, периодически пишет "error geocoding", если много остановок - наглухо виснет... а если уж нашел адрес, то уж больно большая строка получается - лучше было бы дать возможность настраивать глубину адресации, скажем только улица, а не страна-область-город-район-улица

Тестировали на 600 остановках зависания не было. А на скольких остановках у вас виснет.
И если можно немного инфы по воду как выглядит зависание плагина. Так как генератор  отчетов в LI не сразу отображает полученные данные от плагина а также в нем нет отображение состояние генерации отчета (а очень надо при работе с внешними системами).
По поводу ошибок Будем дорабатывать.

Спасибо за тестирование и пожелания.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 27 Ноябрь 2012, 13:25:51
Есть вопрос к разработчикам LI. А можно добавить отображение состояния генерации отчета ? А то если происходит получение данных с сторонних
 сервисов, а это процесс не мгновенный, не совсем понятно генерируется отчет или нет.   
Название: Re: Отчеты и плагины
Отправлено: Exorcist от 27 Ноябрь 2012, 15:02:00
Остановок было около 40, при генерации отчета информер завис - приложение не отвечало более 5 минут.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 28 Ноябрь 2012, 09:33:06
Есть вопрос к разработчикам LI. А можно добавить отображение состояния генерации отчета ? А то если происходит получение данных с сторонних
 сервисов, а это процесс не мгновенный, не совсем понятно генерируется отчет или нет.   

Какого именно?
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 28 Ноябрь 2012, 15:07:06
Есть вопрос к разработчикам LI. А можно добавить отображение состояния генерации отчета ? А то если происходит получение данных с сторонних
 сервисов, а это процесс не мгновенный, не совсем понятно генерируется отчет или нет.   

Какого именно?

В каком отчете будут вызван плагин который будут работать с внешней системой, в том и отображалось. Если это возможно.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 29 Ноябрь 2012, 10:02:13
Есть вопрос к разработчикам LI. А можно добавить отображение состояния генерации отчета ? А то если происходит получение данных с сторонних
 сервисов, а это процесс не мгновенный, не совсем понятно генерируется отчет или нет.   

Какого именно?

В каком отчете будут вызван плагин который будут работать с внешней системой, в том и отображалось. Если это возможно.

А при чем тут вообще отчет?
По идее адрес должен выдаваться в момент формирования точек, предупреждений и остановок, а не в момент формирования отчета.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 30 Ноябрь 2012, 15:34:10
Есть вопрос к разработчикам LI. А можно добавить отображение состояния генерации отчета ? А то если происходит получение данных с сторонних
 сервисов, а это процесс не мгновенный, не совсем понятно генерируется отчет или нет.   

Какого именно?

В каком отчете будут вызван плагин который будут работать с внешней системой, в том и отображалось. Если это возможно.

А при чем тут вообще отчет?
По идее адрес должен выдаваться в момент формирования точек, предупреждений и остановок, а не в момент формирования отчета.
Не совсем понял о каком адресе идет речь ?
Отображение состояния генерации отчета нужно для плагина который вызывается LI при генерации отчета (когда LI находит в шаблоне отчета иницилизированую  плагином переменную).
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 03 Декабрь 2012, 09:31:03
Не совсем понял о каком адресе идет речь ?
Отображение состояния генерации отчета нужно для плагина который вызывается LI при генерации отчета (когда LI находит в шаблоне отчета иницилизированую  плагином переменную).

А зачем Вам переменная в отчете?
Для адреса? но для этого есть отдельный механизм никак на отчеты не завязанный, который подставит адреса всем объектам еще до отчета.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 06 Декабрь 2012, 14:48:19
Не совсем понял о каком адресе идет речь ?
Отображение состояния генерации отчета нужно для плагина который вызывается LI при генерации отчета (когда LI находит в шаблоне отчета иницилизированую  плагином переменную).

А зачем Вам переменная в отчете?
Для адреса? но для этого есть отдельный механизм никак на отчеты не завязанный, который подставит адреса всем объектам еще до отчета.

В API к LI для написания плагинов есть возможность заполнять отчет результатом работы плагина. И так как плагин взаимодействует с внешним сервисом то генерация отчета происходит не моментально. Следовательно пользователю ни как не отображается состояние генерации отчета. А так же не ясно когда в отчете готовы все страницы(процесс создания отчета завершился).
С этого следует вопрос. Можно ли добавить отображение состояния генерации отчета?
Если да то как скоро можно ожидать изменений ?


Заранее спасибо за ответ.
Название: Re: Отчеты и плагины
Отправлено: _Alex_ от 07 Декабрь 2012, 09:51:51

В API к LI для написания плагинов есть возможность заполнять отчет результатом работы плагина. И так как плагин взаимодействует с внешним сервисом то генерация отчета происходит не моментально. Следовательно пользователю ни как не отображается состояние генерации отчета. А так же не ясно когда в отчете готовы все страницы(процесс создания отчета завершился).
С этого следует вопрос. Можно ли добавить отображение состояния генерации отчета?
Если да то как скоро можно ожидать изменений ?


Заранее спасибо за ответ.

Пока отчет генерится в окне предпросмотра - можно, а вот когда нажата кнопка "Печать" - то нельзя.
Вернее не так. Я могу выводить прогрессбаром текущую запись, но вот отображать этот прогрессбар могу только на своей форме, поэтому при нажатии кнопки "Печать", когда окно развернется на весь экран прогрессбара не будет видно, хотя отображать процесс он будет.
Название: Re: Отчеты и плагины
Отправлено: bigdragon от 10 Декабрь 2012, 14:06:47

В API к LI для написания плагинов есть возможность заполнять отчет результатом работы плагина. И так как плагин взаимодействует с внешним сервисом то генерация отчета происходит не моментально. Следовательно пользователю ни как не отображается состояние генерации отчета. А так же не ясно когда в отчете готовы все страницы(процесс создания отчета завершился).
С этого следует вопрос. Можно ли добавить отображение состояния генерации отчета?
Если да то как скоро можно ожидать изменений ?


Заранее спасибо за ответ.

Пока отчет генерится в окне предпросмотра - можно, а вот когда нажата кнопка "Печать" - то нельзя.
Вернее не так. Я могу выводить прогрессбаром текущую запись, но вот отображать этот прогрессбар могу только на своей форме, поэтому при нажатии кнопки "Печать", когда окно развернется на весь экран прогрессбара не будет видно, хотя отображать процесс он будет.

Мне кажется что этого будет достаточно. Когда можно будет потестить ?