Отчёты пользователя

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Отчёты пользователя

Сообщение zna »

Написал нехитрый интерфейс, возник вопрос- откуда его запускать, чтоб попроще было пользователю.. Как вариант, пробую подключить его к пункту "<Модуль> -> Отчёты -> Отчёты пользователя". В документации технология описана, есть пример (Sample1). Скомпилил его но - облом, ничего не запускается :eek:

Код: Выделить всё

//------------------------------------------------------------------------------
//                                                      (c) Корпорация ГАЛАКТИКА
//                                                          (c) Галактика - Киев
//------------------------------------------------------------------------------
// Система       : ГАЛАКТИКА
// Версия        : 5.8x - 7.1x - 8.0
// Назначение    : Пример пользовательского отчета
// Ответсвенный  : Тищенко Роман Николаевич
// Изменения     : Герман Юрий Эдуардович
//------------------------------------------------------------------------------

#include UserReport.vih

// Для попадания примера в список отчетов -
// раскомментировать конструкцию VipInterface

VipInterface UserReport_Sample1 Implements IUserReport;

Interface UserReport_Sample1;

create view;

!-------------------------------------------------------------------------------
// Запуск отчета на выполнение при выборе его из списка отчетов
procedure Run;
begin
  Message('Запуск отчета №1');
end;
!-------------------------------------------------------------------------------
// Наименование отчета в списке
function GetReportName: String;
begin
  GetReportName := 'Отчет №1';
end;
!-------------------------------------------------------------------------------
// Наименования групп, в которые входит отчет
// Группа n+1 делается подчиненной группе n
// В данном случае будет иерархия:
// [+] Группа 1
//     [+] Группа 2
//         Отчет 1
function GetGroupName (Level : Word) : String;
begin
  GetGroupName := '';
  case Level of
    1 : GetGroupName := 'Группа 1';
    2 : GetGroupName := 'Группа 2';
  end;
end;
!-------------------------------------------------------------------------------
// Приоритет отчета - сортировка внутри группы выполняется сначала
// по приоритету, а затем по наименованию
function GetPriority : Integer;
begin
  GetPriority := 0;
end;
!-------------------------------------------------------------------------------
// ModuleID модулей, в которых будет виден отчет
// '*' - отчет будет виден в любом модуле
function VisibleInModule(Ind : Byte) : String;
begin
  VisibleInModule := '';
  case Ind of
    1 : VisibleInModule := 'MANUFPLAN';
    2 : VisibleInModule := 'MANUFACTURE';
  end;
end;
!-------------------------------------------------------------------------------
end.   

Коллеги, кто юзал данный механизм, что не хватает?
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчёты пользователя

Сообщение RAJAH »

zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Отчёты пользователя

Сообщение zna »

Да, заработало, благодарю! +1
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Отчёты пользователя

Сообщение zna »

Рано обрадовался. Пункт меню в "Отчётах пользователя" появился, но - при нажатии на него выдаётся ругачее сообщение "Нет ресурса MYRES".
Этот ресурс нормально подключен, виден и в репозитарии, и в ...Сервис-> Утилиты-> Запуск внешнего интерфейса. Запускаю через функцию RunAnyView(), к примеру так:

Код: Выделить всё

procedure Run;
begin
    RunAnyView('F_PODOT::GETPRIKAZ(true,1,0,1)',false)
end;   
В чём ещё проблема?
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчёты пользователя

Сообщение RAJAH »

RunInterface, наверное, надо. Если отчёт - то RunForm.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Отчёты пользователя

Сообщение zna »

Попробовал и так:

Код: Выделить всё

procedure Run;
begin
    RunAnyView('Interface F_PODOT::GETPRIKAZ(true,1,0,1)',false)
end; 
получаю сообщение "Интерфейс F_PODOT::GETPRIKAZ не найден" :eek:
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Отчёты пользователя

Сообщение zna »

Да, получилось через RunInterFace, спасибо!
И компонет F_UserReport надо было добавить.
:-)
Ответить