[ОТВЕТИТЬ]
Опции темы
09.12.2011 16:17  
vdm
У кого есть опыт по работе с супермаговскими правами во внешнем, не супермаговском процессе?

Например хочу менять метки в документах через процедуры СМ.
И права на это выдавать через адм. модуль самого СМ (угу, мы не ищем легких путей :) ).

Есть обычный юзер, созданный в СМ, с включенными правами на все отчеты и на изменение меток приходных накладных.

Беру стандартную процедуру для отчетов
Код:
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
Чего ему не хватает, какой финт ушами дорисовать?

Почтовик не подходит - нужно поменять документ, созданный в супермаге и существующий только в супермаге.
 
09.12.2011 16:35  
OlegON
Опыта нет, поскольку всегда делал напрямую. Но там же еще куча ролей, помимо юзера... Почему бы не включить, например, SUPERMAG_FN_DOC_WI_DOCLABELS ?
 
09.12.2011 17:03  
vdm
Как раз это должна делать SmBeginAction.
Например отчетная строка к стандартным SUPERMAG_USER, SUPERMAG_MODULE_ADMIN добавляет SUPERMAG_FN_OSTATKI, SUPERMAG_MODULE_REPORTS
 
09.12.2011 17:43  
vdm
В общем, эта процедура только для пользовательских ролей работает, которые для отчетов создаются.
Придется выдать напрямую.
 
12.12.2011 07:37  
Mtirt
А если добавить в код что-нибудь типа этого: https://olegon.ru/showpost.php?p=76344&postcount=12
 
12.12.2011 09:24  
vdm
Не, посмотрите внимательнее, StartSMApp() вверху присутствует.
 
 
Опции темы



Часовой пояс GMT +3, время: 23:17.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.