У кого есть опыт по работе с супермаговскими правами во внешнем, не супермаговском процессе?
Например хочу менять метки в документах через процедуры СМ.
И права на это выдавать через адм. модуль самого СМ (угу, мы не ищем легких путей :) ).
Есть обычный юзер, созданный в СМ, с включенными правами на все отчеты и на изменение меток приходных накладных.
Беру стандартную процедуру для отчетов
Код:
declare
res number;
begin
dbms_session.set_role('SUPERMAG_USER');
if supermag.core.getproc is null then
res := supermag.Core.StartSMApp();
end if;
-- отчет 'Остатки'
supermag.SmBeginAction(12, 1205, NULL, NULL, NULL, NULL);
-- метки приходных накладных
supermag.SmBeginAction(1, 126, NULL, NULL, NULL, NULL);
end;
Запускаю, строка с отчетным SmBeginAction отрабатывает прекрасно,
а в правах на накладные падает:
Цитата: Error at line 1
ORA-20506: Нет прав на 'Прих. накл.: Редактирование меток'
ORA-06512: на "SUPERMAG.CORE", line 271
ORA-06512: на "SUPERMAG.OFFICE", line 225
ORA-06512: на "SUPERMAG.CORE", line 1514
ORA-06512: на "SUPERMAG.CORE", line 1526
ORA-06512: на "SUPERMAG.SMBEGINACTIONEX", line 16
ORA-06512: на "SUPERMAG.SMBEGINACTION", line 7
ORA-06512: на line 13
Чего ему не хватает, какой финт ушами дорисовать?
Почтовик не подходит - нужно поменять документ, созданный в супермаге и существующий только в супермаге.