подписка на событие

Все остальные вопросы можно задавать в этом разделе.

подписка на событие

Сообщение kolba » 10 авг 2012, 21:11

Описание. При проведении документа в подписке на событие контролируются некоторые условия. Если условия выполнены, то документ проводится. Если условия не выполнены, то документ не проводится. Программный код проверки подписки на событие находится в общем модуле, общий модуль - не типовой, добавлен программистом. Если документ не должен провестись, то в подписке на событие пишем отказ= истина. Получается что у пользователя с полными правами документ не проводится, а у пользователя без полных прав проводится, получается что программа не видит отказ равно истина. Что делать?
kolba
 

Re: подписка на событие

Сообщение admin » 11 авг 2012, 17:54

Все должно работать, видимо проблема в другом, просьба указать конфигурацию, документ и текст обработчика подписки.
admin
Администратор
 
Сообщений: 241
Зарегистрирован: 14 дек 2011, 11:11

Re: подписка на событие

Сообщение kolba » 13 авг 2012, 11:45

1. Управление производственным предприятием, редакция 1.3 (1.3.25.1)
2. документ Авансовый отчет
3. процедура подписки на событие находится в общем модуле, общий модуль добавлен при разработке
Процедура _инт_ПриПроведенииПроверкаСчетовРасчетаАванса(Источник, Отказ, РежимПроведения) Экспорт

ТекстСообщения = "";
Если ТипЗнч(Источник.Ссылка) = Тип("ДокументСсылка.АвансовыйОтчет") Тогда
Для Каждого ТекСтрока Из Источник.ОплатаПоставщикам Цикл
Если НЕ ЗначениеЗаполнено(ТекСтрока.ДоговорКонтрагента._инт_СчетРасчетов) Тогда
ТекстСообщения = ТекстСообщения + "
|В договоре контрагента - "+ТекСтрока.Контрагент+", не заполнен реквизит _Счет расчетов!";
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ТекСтрока.ДоговорКонтрагента._инт_СчетАвансов) Тогда
ТекстСообщения = ТекстСообщения + "
|В договоре контрагента - "+ТекСтрока.Контрагент+", не заполнен реквизит _Счет авансов!";
КонецЕсли;
КонецЦикла;
Иначе
Если НЕ ЗначениеЗаполнено(Источник.ДоговорКонтрагента._инт_СчетРасчетов) Тогда
ТекстСообщения = "В договоре - "+Источник.ДоговорКонтрагента+", не заполнен реквизит _Счет расчетов!";
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Источник.ДоговорКонтрагента._инт_СчетАвансов) Тогда
ТекстСообщения = "В договоре - "+Источник.ДоговорКонтрагента+", не заполнен реквизит _Счет авансов!";
КонецЕсли;
КонецЕсли;

ТекстСообщенияДоп = ТекстСообщения + "
|Документ не проведен! Обратитесь к ответственному лицу. Для сохранения информации
|нажмите кнопку Записать и закройте документ.";

Если ЗначениеЗаполнено(ТекстСообщения) Тогда
Сообщить(СокрЛП(ТекстСообщенияДоп));
Отказ = Истина;
КонецЕсли;

КонецПроцедуры
kolba
 

Re: подписка на событие

Сообщение admin » 23 авг 2012, 18:03

Данный программный код должен одинаково работать под разными правами (ну или давать ошибку - недостаточно прав)

Нужно пошагово прогнать код под обоими правами, посмотреть в чем разница.

Так же стоит проверить нет ли еще одной подписки на событие проведения документа (учтите при пошаговом исполнении в подписки отладчик не попадает, нужно ставить точки останова в процедурах подписки)


Последний раз поднималось Anonymous 23 авг 2012, 18:03.
admin
Администратор
 
Сообщений: 241
Зарегистрирован: 14 дек 2011, 11:11


Вернуться в Прочие вопросы

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron