CftClub.ru
Клуб специалистов ЦФТ-Банк

Просмотр документов от электронных клиентов

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеЧт Сен 08, 2011 11:50   Просмотр документов от электронных клиентов Ответить с цитатой
Полезность: Нет оценки
Есть необходимость запретить редактирование документов, поступающих через системы дистанционного банковского обслуживания (не фактура).

Но на форме просмотра долна быть возможность поставить документ в картотеку, например как на рисунке (реквизиты документа недоступны для редактирования, однако Frame внизу не заблокирован).



Как это можно сделать?

В операции EDIT_DOC есть переменная V_EL_CLIENT (От электронного клиента) которая по идее как раз и должна управлять доступностью контролов.

Кусок куда из-клиент скрипта:
Код:
' просмотр документов от электронных клиентов
      If v_el_client.text            = "1" then
         frmNew_Dt.Caption         = "Просмотр документа от электронного клиента"
         'Memo1.Enabled            = true
         Number5.Enabled            = true
         cl_inn_kt_2.Enabled         = true


НО! Я не понимаю как эту переменную можно установить в "1"!

На ум приходит только сделать расширение для EDIT_DOC, но как показывает практика это неудачная идея.

Еще можно сделать расширение на операцию выбора CHOICE#EDIT и вызывать по нужному условию не EDIT_DOC, а CHOICE#LOOK(Просмотреть). Но в той операции нет возможности просмотреть плановый остаток по счету плательщика. Еще как вариант скопировать EDIT_DOC, немного поправить его и в перекрытой операции выбора CHOICE#EDIT вызывать свой EDIT_DOC. Но здесь при каждом обновлении (а EDIT_DOC меняется практически всегда) придется следить за актуальности своей копии этой операции.

И еще вопрос: у вас документы поступившие через системы ДБО доступны для редактирования операционистами?


Последний раз редактировалось: prog (Чт Сен 08, 2011 13:44), всего редактировалось 1 раз
Ghost
Профи


Вступление в Клуб: 24.11.2007
СообщениеЧт Сен 08, 2011 11:58    Ответить с цитатой
Полезность: Нет оценки
Есть стандартный дистрибутивный подход к этой проблеме: можно запретить пользователям редактировать ЧУЖИЕ документы(отнять группу доступа EDIT_ADM), а в документах поступивших через системы ДБО ставить создателем некоего служебного пользователя.
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеЧт Сен 08, 2011 12:05    Ответить с цитатой
Полезность: Нет оценки
Ghost пишет:
Есть стандартный дистрибутивный подход к этой проблеме: можно запретить пользователям редактировать ЧУЖИЕ документы(отнять группу доступа EDIT_ADM), а в документах поступивших через системы ДБО ставить создателем некоего служебного пользователя.


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


Последний раз редактировалось: prog (Чт Сен 08, 2011 13:46), всего редактировалось 1 раз
Ghost
Профи


Вступление в Клуб: 24.11.2007
СообщениеЧт Сен 08, 2011 12:30    Ответить с цитатой
Полезность: Нет оценки
В текущем банке почти такой, с некоторыми извращениями. В предыдущих двух банках использовали его в чистом виде, для постановки в картотеку пользовали и пользуем простую операцию "Поставить в картотеку", т.к. данная процедура выполняется в конце дня когда ясно что денег у клиента на счете не будет и он не будет отзывать документ.
При своде дня использовали проведшего, либо брали ответственного по счету в зависимости от алгоритма который давали постановщики задачи.


Последний раз редактировалось: Ghost (Чт Сен 08, 2011 14:49), всего редактировалось 1 раз
svn
Профи


Вступление в Клуб: 04.02.2008
СообщениеЧт Сен 08, 2011 12:33    Ответить с цитатой
Полезность: Нет оценки
1.помойму если на документе проставлен DOCUMENT_UNO он не редактируется обычными пользователями
2. есть отдельная простая операция постановки в картотеку.
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеЧт Сен 08, 2011 12:37    Ответить с цитатой
Полезность: Нет оценки
svn пишет:
1.помойму если на документе проставлен DOCUMENT_UNO он не редактируется обычными пользователями


DOCUMENT_UNO должен быть определенным

Код:
 elsif doc_state in ('PROV','TO_KART','PAY','WAIT_DVALUT','WAIT_MONEY','TO_MBR','DELETED','2985')
          or (doc_uno is not null and
          (doc_uno like 'INK%' or doc_uno like 'KLB%' or doc_uno like 'IMP%' or doc_uno like 'VAL%')
          )
      then
       V_EDIT_STATE := '1';   -- В клиент-скрипте становятся НЕдоступны все контролы
   elsif ::[MAIN_DOCUM].[MD_OTHERS].get_quit_kass(ref_this) is not null then
      V_EDIT_STATE := '1';
   else
      NEW_STATE.[0] := 1; -- Необработано
   end if;


svn пишет:
2. есть отдельная простая операция постановки в картотеку.


операционисты жалуются что неудобно это.
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Сен 08, 2011 13:33    Ответить с цитатой
Полезность: Нет оценки
prog пишет:
будет подниматься операция просмотра документа в которой нет возможности ставить в картотеку.

А сделать расширение на Просмотр , в расширении проверять права (security.Check_Equal) и ставить в картотеку ?
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеЧт Сен 08, 2011 13:42    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
prog пишет:
будет подниматься операция просмотра документа в которой нет возможности ставить в картотеку.

А сделать расширение на Просмотр , в расширении проверять права (security.Check_Equal) и ставить в картотеку ?


Что-то я попутал. В операции просмотреть есть возможность ставить в картотеку.
Но нет возможности просмотреть плановый остаток, а это нужно.

Поправил первый пост
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеЧт Сен 08, 2011 13:46    Ответить с цитатой
Полезность: Нет оценки
V_EL_CLIENT - это же пакетная переменная, т.е. ей можно присваивать значения из других пакетов..

Что если попробовать проинициализировать её из хука MD_ED_VALIDATE?
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеЧт Сен 08, 2011 13:48    Ответить с цитатой
Полезность: Нет оценки
maestro пишет:
V_EL_CLIENT - это же пакетная переменная, т.е. ей можно присваивать значения из других пакетов..

Что если попробовать проинициализировать её из хука MD_ED_VALIDATE?


Идея хорошая, но он запускается при валидации. А надо при поднятии экранной формы. Я специально просмотрел все вызовы функций в секции DEFAULT на предмет вызова хоть какого-нибудь хука. Но ничего не нашел Sad
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеЧт Сен 08, 2011 14:03    Ответить с цитатой
Полезность: Нет оценки
prog пишет:
maestro пишет:
V_EL_CLIENT - это же пакетная переменная, т.е. ей можно присваивать значения из других пакетов..

Что если попробовать проинициализировать её из хука MD_ED_VALIDATE?


Идея хорошая, но он запускается при валидации. А надо при поднятии экранной формы. Я специально просмотрел все вызовы функций в секции DEFAULT на предмет вызова хоть какого-нибудь хука. Но ничего не нашел Sad


Да, точно, срабатывает по Ok.
Но тогда видимо только расширением.. У нас EDIT_DOC расширен, вроде проблем нет...
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

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