<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум компьютерной помощи &mdash; Блокировка документов, находящихся у руководителя.]]></title>
	<link rel="self" href="https://itpmr.ru/extern.php?action=feed&amp;tid=1146&amp;type=atom" />
	<updated>2023-10-06T11:40:24Z</updated>
	<generator>PunBB</generator>
	<id>https://itpmr.ru/viewtopic.php?id=1146</id>
		<entry>
			<title type="html"><![CDATA[Re: Блокировка документов, находящихся у руководителя.]]></title>
			<link rel="alternate" href="https://itpmr.ru/viewtopic.php?pid=124927#p124927" />
			<content type="html"><![CDATA[<p>В Counteropen мы даем функции значения <br />Block - если в who есть руководитель<br />NotLock - для людей с такой ролью.<br />Rukovod - у руководителя </p><p>vipuser - у руководителя - первый док в виде signers</p><div class="codebox"><pre><code>Function Counteropen(Source As NotesUIDocument) As String
......
Counteropen = &quot;&quot;
....
If Source.IsNewDoc Then
    Print &quot;НОВЫЙ ДОК&quot;
    Counteropen =&quot;new_doc&quot;
  Else
    
    idopen=Source.Document.UniversalID
    Set strukdb = session.GetDatabase(server, &quot;promdoc\policy.nsf&quot; , False )
    
    Set view = strukdb.GetView(&quot;signers&quot;)
    Set ftdoc = view.GetFirstDocument 
    vipuser = ftdoc.FIO(0)
    Print &quot;В структуре руководитель (vipuser)  &quot;  vipuser
    If user  = vipuser  Then  Counteropen =&quot;vipuser&quot;
    
    Set view = strukdb.GetView(&quot;notespeople&quot;)
    
    Set ftdoc=view.GetDocumentByKey(user)
    If Not(ftdoc Is Nothing) Then
      Set item=ftdoc.GetFirstItem(&quot;idopendoc&quot;)
      Call item.AppendToTextList(idopen)   &#039;Записаsли открытие дока в структуру
      ftdoc.computewithform False, False
      Call ftdoc.Save(True,True)  

      If ftdoc.Defolt(0) = &quot;1&quot; Then   &#039;  Ты руководитель!
      Counteropen = &quot;Rukovod&quot; 
        Else &#039; простой чел
          Set item = Source.Document.GetFirstItem ( &quot;who&quot; )
        If Not item Is Nothing Then
          ForAll v In item.Values
            If v = vipuser  Then Print &quot;Ты обычный чувак   - а РУК рассм док!&quot; :  Counteropen =&quot;Block&quot;
          End ForAll    
        End If          
        End If
    Else
      Msgbox &quot;Пользователь не найден в БД структура! функц. Counteropen&quot;
    End If
    
    n=Null  
    roles = Session.Currentdatabase.QueryAccessRoles(Session.UserName )
    If roles(0)&lt;&gt;&quot;&quot;Then   n=ArrayGetIndex(roles,&quot;[NotLock]&quot;)    
    If  Not IsNull(n)  Then Counteropen =&quot;NotLock&quot;
    
  End If</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2023-10-06T11:40:24Z</updated>
			<id>https://itpmr.ru/viewtopic.php?pid=124927#p124927</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Блокировка документов, находящихся у руководителя.]]></title>
			<link rel="alternate" href="https://itpmr.ru/viewtopic.php?pid=124926#p124926" />
			<content type="html"><![CDATA[<p>Всё что у руководителя - заблокировано у всех сотрудников.</p><p>На событие открытия документа стоит следующий код:</p><p>Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)<br />&nbsp; Dim session As New NotesSession<br />&nbsp; user = session.CommonUserName<br />&nbsp; Print &quot;Queryopen&quot;<br />&nbsp; Dim ruk As String<br />&nbsp; ruk = Counteropen(Source) <br />&nbsp; Print&nbsp; &quot;Counteropen:&quot;&nbsp; &nbsp;ruk<br />&nbsp; If ruk&nbsp; = &quot;Block&quot; Then Msgbox &quot;Документ у Руководителя!&quot;&nbsp; : continue=False</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2023-10-06T11:37:43Z</updated>
			<id>https://itpmr.ru/viewtopic.php?pid=124926#p124926</id>
		</entry>
</feed>
