"Внутренняя ошибка - объект не найден в ресурсе" H
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
"Внутренняя ошибка - объект не найден в ресурсе" H
Галка 712
Вот такая ошибка вылетает! С чем связана не могу понять!
Пишу свой экземпляр интерфейса для UserReports. Там завожу пару временных таблиц table struct -ом.
Где то вычитал на формуме что тако е происходит когда пытаешься искать по временной табле с использование переменных объявленных в другой вьюхе(первоисточник назвал ее представлением) - просмотрел все, ни как не могу разобраться, вроде нигде не делаю getfirst по временной табле с использованием переменных из друхих вьюх.
Причем заметил такую штуку, компилишь пустую заглушку для UserReports потом компилю свой отчет с таким же именем, подключаю его в галактике при открытом окошке "Отчеты пользователя" (где у меня отображается заглушка), вызываю отчет и вуаля, он работает, а вот если сразы мой отчет подцепить и вызвоть окно списка отчетов пользователя, то ничего не получиться, сразу ошибка!
Дайте наводку или совет, уже не знаю что делать, задрала эта ошибка, в чем причина?
Вот такая ошибка вылетает! С чем связана не могу понять!
Пишу свой экземпляр интерфейса для UserReports. Там завожу пару временных таблиц table struct -ом.
Где то вычитал на формуме что тако е происходит когда пытаешься искать по временной табле с использование переменных объявленных в другой вьюхе(первоисточник назвал ее представлением) - просмотрел все, ни как не могу разобраться, вроде нигде не делаю getfirst по временной табле с использованием переменных из друхих вьюх.
Причем заметил такую штуку, компилишь пустую заглушку для UserReports потом компилю свой отчет с таким же именем, подключаю его в галактике при открытом окошке "Отчеты пользователя" (где у меня отображается заглушка), вызываю отчет и вуаля, он работает, а вот если сразы мой отчет подцепить и вызвоть окно списка отчетов пользователя, то ничего не получиться, сразу ошибка!
Дайте наводку или совет, уже не знаю что делать, задрала эта ошибка, в чем причина?
-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
это я назвал заглушкой
Сначала компилирую заглушку и подключаю ее к галактике, она запускается как надо.
Затем компилирую свой отчет, с точно таким же именем фейса и подключаю его к галактике в то время когда окно "Отчеты пользователя" открыто. В этом случае мой отчет отрабатывается как положено.
А вот если подключить и запустить сразу мой отчет(второй вариант, не заглушка) то вываливается ошибка.
Код: Выделить всё
#include UserReport.vih
VipInterface UserReport_SKLFRO Implements IUserReport;
Interface UserReport_SKLFRO;
create view as;
procedure Run;
begin
message('');
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 := 'SKLAD';
end;
end.
Затем компилирую свой отчет, с точно таким же именем фейса и подключаю его к галактике в то время когда окно "Отчеты пользователя" открыто. В этом случае мой отчет отрабатывается как положено.
А вот если подключить и запустить сразу мой отчет(второй вариант, не заглушка) то вываливается ошибка.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
интересно и как вы объявляли table struct.
я вообще для создания польз.отчетов пользуюсь неким шаблоном который зависит от 10 define . само формирование отчетов делаю в отдельном фейсе/автономной форме. Проект состоит из кучи define и undef и посредине #make шаблон ну и ключ /b в строке компиляции.
Так можно отчет можно проверить через запуск внешнего фейса например. Тробла с автономными(Ard) slk отчетами - runform на них выдваало нечто подобное, хотя через Ard все без проблем.
я вообще для создания польз.отчетов пользуюсь неким шаблоном который зависит от 10 define . само формирование отчетов делаю в отдельном фейсе/автономной форме. Проект состоит из кучи define и undef и посредине #make шаблон ну и ключ /b в строке компиляции.
Так можно отчет можно проверить через запуск внешнего фейса например. Тробла с автономными(Ard) slk отчетами - runform на них выдваало нечто подобное, хотя через Ard все без проблем.
-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
edward_K, объявил так, вариантов других и не знаю 
Как выяснил, проблема было в следующем коде
было
сделал так
Для себя сделал такой вывод из этой проблемы, поправьте если не прав, НЕЛЬЗЯ ДЕЛАТЬ ПОИСК ВО ВЬЮХЕ ПО ЗНАЧЕНИЯМ ХРАНЯЩИМСЯ(ИМЕННО ХРАНЯЩИМСЯ) В ДРУГИХ ВЬЮХАХ!
[/b]

Код: Выделить всё
table struct mySKLFRO
(
Nrec : comp,
NameMC : string[255],
CodeMC : string[255],
EdMC : string[255],
Kol : double,
FactPrice : double,
SumPrice : double,
sum : array[1..17] of double
)
with index
(
Index0=Nrec,
Index1=NameMC(seg,asc), CodeMC(asc),
Index2=NameMC(asc),
Index3=CodeMC(asc)
);
было
Код: Выделить всё
if (PodrView.GetFirst Pick where ((SaldView1.SaldMoun.KodSPO == pick.crec(noindex))) = tsOK){}
Код: Выделить всё
var tmpNREC : comp;
tmpNREC := SaldView1.SaldMoun.KodSPO;
if(PodrView.GetFirst Pick where ((tmpNREC == pick.crec(noindex))) = tsOK){}

-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
edward_K
у меня во вьюхе зашито wList, разве этого не достаточно?
у меня во вьюхе зашито wList, разве этого не достаточно?
Код: Выделить всё
create view PodrView
as
select * from pick, katpodr
where ((
word(11) == pick.wList
and Pick.crec == KatPodr.NRec
));
Последний раз редактировалось PViP 27 мар 2008, 15:18, всего редактировалось 1 раз.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
неа. Поскольку в getfirst вы указалаи условие, то ему наплевать на условия во вьюхе
create view PodrView
var tmpNREC : comp;
as
select * from pick, katpodr
where ((
word(11) == pick.wList
and tmpNREC == Pick.crec
and Pick.crec == KatPodr.NRec
));
set PodrView.tmpNREC :=SaldView1.SaldMoun.KodSPO ;
if(PodrView.GetFirst Pick) = tsOK){}
так правильней. А вообще конечно бежать нужно по Pick а потом по Saldview если там есть индекс подходящий.
create view PodrView
var tmpNREC : comp;
as
select * from pick, katpodr
where ((
word(11) == pick.wList
and tmpNREC == Pick.crec
and Pick.crec == KatPodr.NRec
));
set PodrView.tmpNREC :=SaldView1.SaldMoun.KodSPO ;
if(PodrView.GetFirst Pick) = tsOK){}
так правильней. А вообще конечно бежать нужно по Pick а потом по Saldview если там есть индекс подходящий.
-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
Написал второй отчет в UserReport, теперь когда подключен отчет UserReport_SKLFRO и UserReport_JrnRegKasOrd то галактика при вызове пункта "Отчеты пользователя" в любом модуле зависает не доходя даже до показа списка отчетов!
Грушил что вьюхт одинаково называются, поменял, все равно одна и таже фигня!
По раздельности отчеты запускаются! В чем дело?
Грушил что вьюхт одинаково называются, поменял, все равно одна и таже фигня!
По раздельности отчеты запускаются! В чем дело?
-
- Местный житель
- Сообщения: 2898
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
у меня что то было такое, почему не помню. Этот пример что щас дам - работает. (8.10)
Обратите внимание на функцию GetGroupName, по-моему у меня из за нее и висло...
Код: Выделить всё
#Component "F_UserReport"
#include UserReport.vih
VipInterface UserReport_Staff Implements IUserReport Licensed (Free);
Interface UserReport_Staff;
procedure Run;
begin
RunInterface('z_staff_tnf::rep_stuff');
end;
function GetReportName: String;
begin
GetReportName := 'Отчет о численности.'
end;
function GetGroupName (Level : Word) : String;
begin
GetGroupName := '';
case Level of
1 : GetGroupName := 'Управление персоналом';
end;
end;
function GetPriority : Integer;
begin
GetPriority := 0;
end;
function VisibleInModule(Ind : Byte) : String;
begin
VisibleInModule := '';
case Ind of
1 : VisibleInModule := 'STAFFMAINMENU';
end;
end;
end.
-
- Местный житель
- Сообщения: 254
- Зарегистрирован: 08 июн 2007, 08:26
- Откуда: Красноярск
- Контактная информация:
Алексей, спасибо! Догадался правда сам, без Вашей помощи!
Запихал вот так в оба отчета
а надо
Запихал вот так в оба отчета
Код: Выделить всё
function VisibleInModule(Ind : Byte) : String;
begin
VisibleInModule := 'SKLAD';
end;
Код: Выделить всё
function VisibleInModule(Ind : Byte) : String;
begin
VisibleInModule := '';
case Ind of
1 : VisibleInModule := 'SKLAD';
end;
end;