<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум компьютерной помощи &mdash; Работа с датой в lotus script]]></title>
		<link>http://itpmr.ru/viewtopic.php?id=830</link>
		<atom:link href="http://itpmr.ru/extern.php?action=feed&amp;tid=830&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Работа с датой в lotus script».]]></description>
		<lastBuildDate>Tue, 01 Sep 2020 06:08:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Работа с датой в lotus script]]></title>
			<link>http://itpmr.ru/viewtopic.php?pid=124794#p124794</link>
			<description><![CDATA[<p>есть два поля типа дата.&nbsp; &nbsp;dat-&nbsp; число, tim - минуты<br />Хочу в docTMP.time&nbsp; получить полную дату...<br />docTMP.time = cd.dat&nbsp; +&quot;.&quot;+ cd.tim</p><p>Решение: используем класс notesdatetime<br /></p><div class="codebox"><pre><code>Dim dateTime1 As New NotesDateTime( cd.dat(0))
Dim dateTime2 As New NotesDateTime( cd.tim(0))
 print  &quot;Date:   &quot; &amp; dateTime1.DateOnly &amp; Chr(10) &amp;  &quot;Time:   &quot; &amp; dateTime2.TimeOnly</code></pre></div><p>просто не всегда можно вытащить из поля дата просто дату.. бывает она вместе со временем тащится.. поэтому нужно иногда использовать этот класс, а методами dateonly и timeonly конкретно дату или время вытаскивает</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Tue, 01 Sep 2020 06:08:27 +0000</pubDate>
			<guid>http://itpmr.ru/viewtopic.php?pid=124794#p124794</guid>
		</item>
		<item>
			<title><![CDATA[Re: Работа с датой в lotus script]]></title>
			<link>http://itpmr.ru/viewtopic.php?pid=124671#p124671</link>
			<description><![CDATA[<p>Сравнение дат в лотус-скрипте. Это просто пипец.<br />Если я сделал формат до сравнения дат, то сравнение дат не работает корректно.</p><br /><p>Пример.<br />Вот если даты привести к формату командой<br />Arrmy1(ArX%) =Format$( doc2.DateF1_1(0), &quot;dd.mm.yyyy&quot; ) <br />то потом уже <br />Set lastd =&nbsp; New NotesDateTime(Arrmy1(x))<br />Set prevd = New NotesDateTime(Arrmy1(x-1))<br />mytime# = prevd.TimeDifferenceDouble(lastd) <br />Значение в днях&nbsp; Abs(mytime# / 86400)&nbsp; &nbsp;-&nbsp; будет работать совсем некорректно, как то рандомно prevd&nbsp; &gt; lastd&nbsp; !</p><br /><p>А если дату не форматировать, а взять просто значение с поля:&nbsp; Arrmy1(ArX%) =doc2.DateF1_1(0)<br />то<br />mytime# = prevd.TimeDifferenceDouble(lastd) <br />работает корректно.</p><br /><p>Или проблема в Format$&nbsp; ? а не в Format...<br />Переводит во время не дату, а строку.</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Wed, 16 Aug 2017 11:50:22 +0000</pubDate>
			<guid>http://itpmr.ru/viewtopic.php?pid=124671#p124671</guid>
		</item>
		<item>
			<title><![CDATA[Re: Работа с датой в lotus script]]></title>
			<link>http://itpmr.ru/viewtopic.php?pid=124572#p124572</link>
			<description><![CDATA[<p>Дата в формате:&nbsp; 04.08.2016 8:27:30</p><div class="codebox"><pre><code>Dim strr As Variant
strr = Evaluate(&quot;@Adjust( @Now( [ServerTime]) ; 0 ; 0 ; 0 ; -1 ; 0 ; 0 )&quot;)</code></pre></div><p>Или </p><div class="codebox"><pre><code>Evaluate(&quot;@Now( [SERVERTIME])&quot;)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Thu, 04 Aug 2016 06:31:01 +0000</pubDate>
			<guid>http://itpmr.ru/viewtopic.php?pid=124572#p124572</guid>
		</item>
		<item>
			<title><![CDATA[Re: Работа с датой в lotus script]]></title>
			<link>http://itpmr.ru/viewtopic.php?pid=124276#p124276</link>
			<description><![CDATA[<p>Получение в лотусе времени сервера в формате год-месяц-число-час-минута-секунда:<br />Вариант 1. мега-костыль</p><div class="codebox"><pre><code>Sub Click(Source As Button)
    Dim serverDate, macro$ &#039; для получения времени сервера
    macro1$=&quot;@Year(@Now([ServerTime]))&quot;
    macro2$=&quot;@Month(@Now([ServerTime]))&quot;
    macro3$=&quot;@Day(@Now([ServerTime]))&quot;
    macro4$=&quot;@Hour(@Now([ServerTime]))&quot;
    macro5$=&quot;@Minute(@Now([ServerTime]))&quot;
    macro6$=&quot;@Second(@Now([ServerTime]))&quot;
    serverDate1= (Evaluate(macro1$))
    serverDate2= (Evaluate(macro2$))
    serverDate3= (Evaluate(macro3$))
    serverDate4= (Evaluate(macro4$))
    serverDate5= (Evaluate(macro5$))
    serverDate6= (Evaluate(macro6$))
    servdate$ =  Cstr (serverDate1(0)) +  Cstr (serverDate2(0)) +  Cstr (serverDate3(0))+  Cstr (serverDate4(0))+  Cstr (serverDate5(0)) +  Cstr (serverDate6(0))
    Msgbox servdate$
    
End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Thu, 12 Mar 2015 13:05:35 +0000</pubDate>
			<guid>http://itpmr.ru/viewtopic.php?pid=124276#p124276</guid>
		</item>
		<item>
			<title><![CDATA[Re: Работа с датой в lotus script]]></title>
			<link>http://itpmr.ru/viewtopic.php?pid=124079#p124079</link>
			<description><![CDATA[<p>И при такой формуле ошибка на событии валидации: <br /></p><div class="codebox"><pre><code>@If( !@IsNull(ДАТА_РЕЗОЛЮЦИИ_) &amp; (ДАТА_РЕЗОЛЮЦИИ_ &gt; СРОК_ИСПОЛНЕНИЯ_) ; @Prompt([YesNo]; &quot;ОШИБКА!&quot;; &quot;Не правильно указанна дата Срока исполнения документа!&quot;);@False)</code></pre></div><div class="codebox"><pre><code>@If(ДАТА_РЕЗОЛЮЦИИ_&lt;СРОК_ИСПОЛНЕНИЯ_; @Success; @Failure(&quot;Ошибка&quot;))</code></pre></div><p>Получилось только с агентом:<br /></p><div class="codebox"><pre><code>CurDoc.ДАТА_РЕЗОЛЮЦИИ_ = [b]Cdat[/b](dateTime.DateOnly)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Tue, 14 Jan 2014 14:01:58 +0000</pubDate>
			<guid>http://itpmr.ru/viewtopic.php?pid=124079#p124079</guid>
		</item>
		<item>
			<title><![CDATA[Работа с датой в lotus script]]></title>
			<link>http://itpmr.ru/viewtopic.php?pid=124077#p124077</link>
			<description><![CDATA[<p>Задача: на лотус скрипте получить текущюю дату и прибавить к ней n дней.</p><p>Вариант 1:</p><div class="codebox"><pre><code>Dim dateTime As New NotesDateTime( &quot;&quot; )
Call dateTime.SetNow
CurDoc.ДАТА_РЕЗОЛЮЦИИ_ = dateTime.DateOnly
days= DelDoc.SrokIspol(0) &#039; тянем срок исполнения с номенклатуры
Call dateTime.AdjustDay(days) 
days = dateTime.DateOnly
&#039;days = dateTime.LocalTime   вносит в формате 25.01.2014 13:19:51 ZE2
&#039;days = Format$(days, &quot;Short Date&quot; )   
CurDoc.ДАТА_РЕЗОЛЮЦИИ_= days &#039; вносит в формате 11.01.2014
CurDoc.СРОК_ИСПОЛНЕНИЯ_= days  (её может редактировать руководитель)
CurDoc.СРОК_ИСПОЛНЕНИЯ_2 = days (для отображения исполнителям, его value = СРОК_ИСПОЛНЕНИЯ_)</code></pre></div><p>Но будет ошибка<br />comparison operators must be supplied two values of the same data type<br />, если в поле СРОК_ИСПОЛНЕНИЯ_&nbsp; &nbsp; в событии&nbsp; input validation<br /></p><div class="codebox"><pre><code>@If(ДАТА_РЕЗОЛЮЦИИ_ &gt; СРОК_ИСПОЛНЕНИЯ_ ; @Prompt([YesNo]; &quot;ОШИБКА!&quot;; &quot;Не правильно указанна дата Срока исполнения документа!&quot;);@True)</code></pre></div><br /><p>Вариант 2 с использованием Evaluate:<br /></p><div class="codebox"><pre><code>days= 10
macro$={@Adjust(@Date(@Now([ServerTime]));0;0;} &amp; Cint(days) &amp; {;0;0;0)}
serverDate= (Evaluate(macro$))</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Fri, 10 Jan 2014 10:01:11 +0000</pubDate>
			<guid>http://itpmr.ru/viewtopic.php?pid=124077#p124077</guid>
		</item>
	</channel>
</rss>
