27.07.2010 16:26
Creator
 
Доброго времени суток уважаемые спецы.
Подскажите сталкивался ли кто с ошибкой "MailSlot недоступен клиенту" в пользовательских отчетах в версии 1.027.5 сп1. Они написаны на Delphi или C# и все передают выходные параметры в Oracle Reports через MailSlot, в версиях 1.024 и в 1.026 все работало.
27.07.2010 16:43
John Doe
 
И из под виндо-админа тоже так ругается?
27.07.2010 16:54
Mtirt
 
Кроме меня никто документацию не читает?
Цитата:
Вызов программы задания параметров отчета.

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

Командная строка вызова программы ввода параметров имеет следующий вид:
<имя mailslot><пробел><имя текущей базы данных Oracle>

Подробное описание см. файл RepExample_ReadMe.doc. Файл устанавливается в каталог \rep_example при выборе опции «Примеры пользовательских отчетов» в программе установки торговой системы
27.07.2010 17:01
Mtirt
 
RepExample_ReadMe.doc
Цитата:
Программа ввода параметров для отчета Oracle Reports 6.i
Пример реализации программы ввода параметров с использованием MS Visual C++ 6.0 - проект “ExtRepExample”, поставляется с дистрибутивом ТС. Для установки проекта выберите тип установки «Все модули» - компонент «Примеры пользовательских отчетов».

В программу ввода параметров передается командная строка в виде:
<имя mailslot><пробел><имя текущей базы данных Oracle>
Второй параметр может использоваться для обращения к текущей базе Oracle.

Примечание. Проект «ExtRepExample» включает два варианта реализации – для Oracle Reports 6.i и для Crystal Reports 8.0. Варианты разделяются условной компиляцией. Для варианта Oracle Reports 6.i выберите вариант компиляции Win32 Release или Win32 Debug, иначе: Win32 ReleaseCrystal или Win32 DebugCrystal.

Программа формирует строку параметров для запуска отчета Oracle Reports в виде:

<параметр N1>=<значение 1><пробел><параметр N2>=<значение 2><пробел>…
<параметр Nk>=<значение k>

Например,
P_USER_ID=56 P_GROUP_TREE=’1.,2.’

К строке параметров, сформированной в программе ввода параметров, ТС добавляет еще три параметра:

Параметр отчета Значение параметра Тип параметра
P_nMod Номер модульной роли модуля отчетов Число 20
P_nRep Номер функциональной роли отчета Число 20
P_SURNAME Имя текущего пользователя Строка 50

Примечание. Все объекты базы данных, используемые в отчете, должны быть указаны с привязкой к схеме базы данных, например, таблица smcard должна участвовать в отчете под именем «supermag.smcard». При создании собственного отчета используйте файл примера в качестве шаблона, иначе создайте в отчете параметры P_nMod и P_nRep в полном соответствии с описанием и определите триггер BEFORE PARAMETER FORM следующим образом:

function BeforePForm return boolean is
res number;
begin
dbms_session.set_role('SUPERMAG_USER');
if supermag.core.getproc is null then
res := supermag.Core.StartSMApp();
end if;
supermag.SmBeginAction(:P_nMod,:P_nRep, NULL, NULL, NULL, NULL);
return (TRUE);
exception when others then
supermag.core.logsysevent('Rep_BeforePForm: ' || SQLERRM);
raise;
end;
Часовой пояс GMT +3, время: 21:18.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.