<?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=1019&amp;type=atom" />
	<updated>2017-01-11T09:01:58Z</updated>
	<generator>PunBB</generator>
	<id>https://itpmr.ru/viewtopic.php?id=1019</id>
		<entry>
			<title type="html"><![CDATA[Получение данных в открытый документ с другого документа. История.]]></title>
			<link rel="alternate" href="https://itpmr.ru/viewtopic.php?pid=124642#p124642" />
			<content type="html"><![CDATA[<p>Была задача - в открытый у клиента лотусовый документ получить его историю движения из другого документа после нажатия кнопки отправка.<br />Переоткрывать документ не надо.<br />Документы в базе1 хранили часть своей истории в документах в базе2.</p><p>Реализация.<br />На форме есть поле hlog, если оно = &quot;1&quot;, то история записана, стоп. <br />В кнопке &quot;отправка&quot; на лотус скрипте:<br /></p><div class="codebox"><pre><code>Call uiworkspace.URLOpen( &quot;javascript: document.forms[0].timer.click();&quot; )</code></pre></div><p>На форме:<br />Кнопка &quot;timer&quot; - JavaScript<br /></p><div class="codebox"><pre><code>//Вызов функции проверки истории
checkField()</code></pre></div><p>Событие формы JS Header (JavaScript)<br /></p><div class="codebox"><pre><code>var enterFields = [&quot;hlog&quot;];
var f = document.forms[0];
var timeoutID

function checkField ()
{
var tmp
tmp = f[enterFields[0]].value    //значение поля hlog

try{
if(tmp==1)return; //  если поле hlog = &quot;1&quot;
f.readhistory.click();        // нажимаем кнопку readhistory
    }

catch(e){} // при ошибке
    tmp = null
    f.repeatFunction.click()
}</code></pre></div><p>Кнопка &quot;readhistory&quot; - лотусскрипт<br /></p><div class="codebox"><pre><code>Sub Click(Source As Button)
&#039; Читает историю из БД роутер и переносит в документ    
    Dim Session As New NotesSession
    Dim ws As New NotesUIWorkspace
    
    Dim server As String
    Dim DBFileName As String
    Dim DB_Mejved As NotesDatabase
    server = &quot;Br/info&quot;
    DBFileName = &quot;romdc\uter.nsf&quot;
    
    Dim db As NotesDatabase &#039; Текущая БД
    Dim doc As NotesDocument &#039; Текущий 
    Dim doc2 As NotesDocument
    Dim NoteID As String
    Dim Unid As String &#039; текущего документа
    Dim view As NotesView
    Set db = session.CurrentDatabase
    Set doc =ws.CurrentDocument.Document
    
    Dim mes As String
    Dim mes2 As String
    
    Unid=    doc.id(0)
    
    &#039;Проверка доступа к Базе Роутер(БД для пересылки межвед документов)
    Set DB_Mejved = session.GetDatabase(server, DBFileName)
    If Not DB_Mejved.Isopen Then
        Messagebox &quot;Нет доступа к Базе Роутер!&quot;
        Exit Sub
    End If
    
    mes=doc.history(0)
    
    Set view = DB_Mejved.getview(&quot;foSearch&quot;)
    Call view.Refresh()
    Call view.Refresh()
    Set doc2 = view.GetDocumentByKey(Unid)
    If(doc2 Is Nothing)Then 
        Exit Sub
    Else
        If(doc2.log_flag(0)=&quot;1&quot;)Then
            mes2=doc2.doclog(0)
            
            doc.history=mes2+ &quot; &quot;&amp;Chr(13) +&quot; &quot;&amp;Chr(13)  + mes
            doc.hlog=&quot;1&quot;
            &#039;Call doc.refresh
            &#039;Msgbox mes2
            Msgbox &quot;Документ доставлен до адресата.&quot;
            
        End If
    End If
        
End Sub</code></pre></div><p>Кнопка с свойством Name = repeatFunction (JavaScript)<br /></p><div class="codebox"><pre><code>//Очищает память, и запускает заново таймер
clearTimeout(timeoutID)
//delete timeoutID
timeoutID = null
timeoutID = setTimeout(&#039;checkField()&#039;, 1000)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2017-01-11T09:01:58Z</updated>
			<id>https://itpmr.ru/viewtopic.php?pid=124642#p124642</id>
		</entry>
</feed>
