| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		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 на предмет вызова хоть какого-нибудь хука. Но ничего не нашел   | 
			 
		  | 
	
	
		  | 
	
	
		maestro Профи
 
  Вступление в Клуб: 12.10.2010
  | 
		
			
				 Чт Сен 08, 2011 14:03    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | prog пишет: | 	 		   	  | maestro пишет: | 	 		  V_EL_CLIENT - это же пакетная переменная, т.е. ей можно присваивать значения из других пакетов..
 
 
Что если попробовать проинициализировать её из хука MD_ED_VALIDATE? | 	  
 
 
Идея хорошая, но он запускается при валидации. А надо при поднятии экранной формы. Я специально просмотрел все вызовы функций в секции DEFAULT на предмет вызова хоть какого-нибудь хука. Но ничего не нашел   | 	  
 
 
Да, точно, срабатывает по Ok.
 
Но тогда видимо только расширением.. У нас EDIT_DOC расширен, вроде проблем нет... | 
			 
		  | 
	
	
		  | 
	
	
		 |