Страница 1 из 1

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

Добавлено: 04 сен 2007, 12:44
Semi-bit
Друг спрашивает... Почему не подключается интерфейс к кнопке Отчеты пользователя в Галактике 8.1?
Код подключения следующий

#include UserReport.vih

VipInterface UserReport_skPlan Implements IUserReport;
Interface UserReport_skPlan;
create view;

procedure Run;
begin
RunInterface(skPlan);
end;

function GetReportName: String;
begin
GetReportName := 'Ведомость обеспеченности номен. плана активные МК';
end;

function GetGroupName (Level : Word) : String;
begin
GetGroupName := '';
end;

function GetPriority : Integer;
begin
GetPriority := 0;
end;

function VisibleInModule(Ind : Byte) : String;
begin
VisibleInModule := '';
case Ind of
1 : VisibleInModule := 'MANUFPLAN';
end;
end;
end.

Однако, интерфейсы UserReport_skPlan, SkPlan через запуск внешнего интерфейса видны в Галактике

Добавлено: 04 сен 2007, 14:05
PViP
Вероятно вы не верно вызываете интерфейс.
В 8 обращение к интерфейсам происходит как <Имя_компонента::Имя_интерфейа>
К примеру

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

RunInterface('L_SoprDoc::skPlan', cmpPlansNo);
Или skPlan - это ваш интерфейс?

Добавлено: 04 сен 2007, 14:31
Semi-bit
При чем, здесь вызов интерфейса,
когда у меня по кнопке Отчеты пользователя пишет сообщение
Нет отчетов пользователя для модуля Планирования производства ?
При вызове Отчетов пользователя не появляется окно
"Отчеты пользователя [Планирование производства]"
Наименование отчета - > "Ведомость обеспеченности номен. плана активными МК"
При этом интерфейс UserReport_skPlan и
Skplan виден через запуск внешего интерфейса

Добавлено: 04 сен 2007, 14:37
Nikos
Нужно добавить #Component "F_UserReport"

Добавлено: 04 сен 2007, 16:02
Semi-bit
Я вот так попробовал откомпилилось, но результат без измений
#include UserReport.vih

#ifdef ComponentVersion
#component "F_UserReport"
#endif

VipInterface UserReport_UserReport_skPlan Implements
#ifdef ComponentVersion
F_UserReport::IUserReport
#else
IUserReport
#ENDIF
#ifdef Atl51
licensed (FREE)
#end
;
//VipInterface UserReport_skPlan Implements IUserReport;
Interface UserReport_skPlan;
create view;

procedure Run;
begin
RunInterface(skPlan);
end;

Добавлено: 05 сен 2007, 06:22
Алексей
#define ComponentVersion
делали?

Добавлено: 05 сен 2007, 09:42
Semi-bit
сделали, спасибо, заработало

Добавлено: 30 окт 2007, 16:10
Алексей
А как сделать один пользовательский отчет, из которого можно было бы вызывать несколько других интерфейсов?

Добавлено: 30 окт 2007, 17:17
edward_K
каждый пункт меню образуется отдельным экземпляром фейса. Но можно сделать шаблон. Я компилю например так (с /b)
#define SetMenuUserR MenuZarp
//===================================
#define UserMenuGroup 'утилиты'

#define UserNameWnd 'Тест'
#define UserNameFace check_soc
#define UserNameFORM
#make "My_UsrReports.vip"
#undef UserNameFORM
#undef UserNameWnd
#undef UserNameFace
а фейс представляет из себя сплошные #ifdef и макроподстановки.

Добавлено: 19 ноя 2007, 11:29
Gameus_
Алексей писал(а):#define ComponentVersion
делали?


подскажите плиз, в каком месте это нужно писать ?

Добавлено: 19 ноя 2007, 11:35
Galex
А зачем, если можно просто #component "F_UserReport" написать?..

Добавлено: 19 ноя 2007, 11:47
Алексей
Gameus_
В проекте первой строкой.