<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Не заполняется файл лога]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5610&amp;type=atom" />
	<updated>2011-03-21T13:42:18Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5610</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46507#p46507" />
			<content type="html"><![CDATA[<p><strong>2 Xameleon</strong></p><p>Спасибо! После замены:</p><div class="codebox"><pre><code>if FileLive(fDir &amp; &quot;obmen_1c.lg&quot;, 0) Then &#039; Если файл уже есть то перемещаем его во временные файлы
    Set cScript = fso.OpenTextFile(fDir &amp; &quot;obmen_1c.lg&quot;)  &#039;-Обозначаем место, где будет открыт файл логов
Else
    Set cScript = fso.CreateTextFile(fDir &amp; &quot;obmen_1c.lg&quot;)  &#039;-Обозначаем место, где будет создан и сохранен файл логов
    WScript.Echo &quot;&quot; &amp; Now &amp; &quot;Файл логов создан&quot;   &#039; - если файла загрузки нет 
    
end if</code></pre></div><p>на<br /></p><div class="codebox"><pre><code>Set cScript = fso.OpenTextFile(fDir &amp; &quot;obmen_1c.lg&quot;,8,True)</code></pre></div><p>Все заработало!</p><p>Тему можно сносить</p>]]></content>
			<author>
				<name><![CDATA[ToTAmon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26837</uri>
			</author>
			<updated>2011-03-21T13:42:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46507#p46507</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46506#p46506" />
			<content type="html"><![CDATA[<p>Второе предположение. ) Т.к вы даже не указываете режим <strong>iomode</strong><br /></p><div class="quotebox"><blockquote><p>iomode <br />Optional. Can be one of three constants: ForReading, ForWriting, or ForAppending.</p></blockquote></div><p>то файл по умолчанию открывается <strong>на чтение</strong>. А значит в лог ниже вы писать уже не сможете. А получите сообщение <strong>&quot;Недопустимый режим файла.&quot;</strong></p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-03-21T13:41:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46506#p46506</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46505#p46505" />
			<content type="html"><![CDATA[<p>Файл существует. Создан на первом запуске, но сейчас попробую поменять. Еще раз спасибо!</p>]]></content>
			<author>
				<name><![CDATA[ToTAmon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26837</uri>
			</author>
			<updated>2011-03-21T13:37:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46505#p46505</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46504#p46504" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ToTAmon пишет:</cite><blockquote><p>Поправка.<br />Файл не заполняется только когда открывается методом OpenTextFile, когда CreateTextFile все работает. Но это не вариант. <img src="//forum.script-coding.com/img/smilies/neutral.png" width="15" height="15" /></p></blockquote></div><p>Делаем предположение, что код падает на этой строке.<br /></p><div class="codebox"><pre><code>Set cScript = fso.OpenTextFile(fDir &amp; &quot;obmen_1c.lg&quot;)</code></pre></div><p>Причина - Файл отсутствует. А вы не указываете флаг <strong>create = True</strong><br />Метод <strong>OpenTextFile</strong> требует подтверждения на создание файла.<br /><a href="http://msdn.microsoft.com/en-us/library/314cz14s(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library … s.85).aspx</a></p><div class="quotebox"><blockquote><p>create <br />Optional. Boolean value that indicates whether a new file can be created if the specified filename doesn&#039;t exist. The value is True if a new file is created, False if it isn&#039;t created. If omitted, a new file isn&#039;t created.</p></blockquote></div><p>Значит должно быть что то типа</p><div class="codebox"><pre><code>Set cScript = fso.OpenTextFile(fDir &amp; &quot;obmen_1c.lg&quot;,8,True)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-03-21T13:35:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46504#p46504</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46503#p46503" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p><strong>ToTAmon</strong> <br />1) Вы &quot;протупили&quot; поставив в начале кода <strong>On Error Resume Next</strong>. Предположительно оишбка происходит, а вы её не наблюдаете<br />2) Для того, чтобы ответить на Ваш вопрос надо как минимум иметь возможность протестировать Ваш код. А значит иметь файлы с которыми работает Ваш скрипт. ) Таковых у нас нет.</p><p>Рекомендую Вам убрать из кода <strong>On Error Resume Next</strong>. Если при запуске ошибка на экране не появится, то смотрите по шагам с <strong>MsgBox</strong>-ом</p></blockquote></div><p>1) Понял!</p><p>2) Файлы пока неструктурированые с названиями:<br />Message_Test_Z.xmlz<br />Message_Z_Test.xmlz</p><p>Работа проги эмулируется копированием файла &quot;Message_Test_Z.xmlz&quot; в папку вручную.</p><p>Сейчас попробую! Спасибо!</p><p>Комментарием выше уточнение проблемы, может быть что то посоветуете исходя из?</p>]]></content>
			<author>
				<name><![CDATA[ToTAmon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26837</uri>
			</author>
			<updated>2011-03-21T13:34:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46503#p46503</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46502#p46502" />
			<content type="html"><![CDATA[<p>Поправка.<br />Файл не заполняется только когда открывается методом OpenTextFile, когда CreateTextFile все работает. Но это не вариант. <img src="//forum.script-coding.com/img/smilies/neutral.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[ToTAmon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26837</uri>
			</author>
			<updated>2011-03-21T13:29:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46502#p46502</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46501#p46501" />
			<content type="html"><![CDATA[<p><strong>ToTAmon</strong> <br />1) Вы &quot;протупили&quot; поставив в начале кода <strong>On Error Resume Next</strong>. Предположительно оишбка происходит, а вы её не наблюдаете<br />2) Для того, чтобы ответить на Ваш вопрос надо как минимум иметь возможность протестировать Ваш код. А значит иметь файлы с которыми работает Ваш скрипт. ) Таковых у нас нет.</p><p>Рекомендую Вам убрать из кода <strong>On Error Resume Next</strong>. Если при запуске ошибка на экране не появится, то смотрите по шагам с <strong>MsgBox</strong>-ом</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-03-21T13:28:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46501#p46501</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: Не заполняется файл лога]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=46498#p46498" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>On Error Resume Next

fDir = &quot;D:\WORK\&quot;    &#039; - папка обмена
inNode = &quot;Test&quot;    &#039; - узел где запускаем
outNode = &quot;Z&quot;    &#039; - узел с которым обмениваемся 
fileName1 = &quot;Message_&quot; &amp; outNode &amp; &quot;_&quot; &amp; inNode &amp; &quot;.xmlz&quot;
fileName2 = &quot;Message_&quot; &amp; inNode &amp; &quot;_&quot; &amp; outNode &amp; &quot;.xmlz&quot;

nameFTP = &quot;фтп сервер&quot; &#039;адрес сервера
usrFTP = &quot;&quot;
passFTP = &quot;&quot;


set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;) 
Set WSHshell = WScript.CreateObject(&quot;WScript.Shell&quot;) 

if FileLive(fDir &amp; &quot;obmen_1c.lg&quot;, 0) Then &#039; Если файл уже есть то перемещаем его во временные файлы
    Set cScript = fso.OpenTextFile(fDir &amp; &quot;obmen_1c.lg&quot;)  &#039;-Обозначаем место, где будет открыт файл логов
Else
    Set cScript = fso.CreateTextFile(fDir &amp; &quot;obmen_1c.lg&quot;)  &#039;-Обозначаем место, где будет создан и сохранен файл логов
    WScript.Echo &quot;&quot; &amp; Now &amp; &quot;Файл логов создан&quot;   &#039; - если файла загрузки нет 
    
end if
&#039;Set sDir = WSHshell.Environment(&quot;Process&quot;)    &#039; - находим путь к папке Windows 
Set objShell = CreateObject(&quot;Shell.Application&quot;)

cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Начат обмен&quot;

if FileLive(fDir &amp; fileName1, 0) Then &#039; Если файл уже есть то перемещаем его во временные файлы
    Set objFolder = objShell.NameSpace(fDir + &quot;Temp\&quot;) &#039;место назначения
    objFolder.MoveHere fDir &amp; fileName1
    WScript.Sleep 5000
    cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл &quot; &amp; fDir &amp; fileName1 &amp; &quot; перемещен во временные файлы.&quot;
    Else
End if

Set objFolder = objShell.NameSpace(fDir) &#039;место назначения
objFolder.CopyHere &quot;ftp://&quot; &amp; usrFTP &amp; &quot;:&quot; &amp; passFTP &amp; &quot;@&quot; &amp; nameFTP &amp; &quot;/&quot; &amp; fileName1
WScript.Sleep 5000

if FileLive(fDir &amp; fileName1, 0) Then  &#039; Если файл скачался запускаем обмен
    cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл &quot; &amp; fDir &amp; fileName1 &amp; &quot; Скопирован с FTP сервера.&quot;
    Set objFolder = objShell.NameSpace(fDir + &quot;Temp\&quot;) &#039;место назначения
    objFolder.MoveHere fDir &amp; fileName2
    cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл &quot; &amp; fDir &amp; fileName2 &amp; &quot; перемещен во временные файлы.&quot;
    &#039;WSHshell.Run &quot; прога &quot;, 0
    &#039;WScript.Sleep 30000 &#039;даём время на загрузку выгрузку (30 сек)
    WScript.Sleep 5000 &#039;даём время на перемещение (5 сек)
    if FileLive(fDir &amp; fileName2, 1) Then  &#039; Если файл сформировался кидаем его на FTP
        cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл &quot; &amp; fDir &amp; fileName2 &amp; &quot; 1С 8 сформировал файл.&quot;
        &#039;Set objFolder = objShell.NameSpace(fDir &amp; &quot;Temp\FTP\&quot;) &#039;место назначения
        &#039;objFolder.MoveHere &quot;ftp://&quot; &amp; usrFTP &amp; &quot;:&quot; &amp; passFTP &amp; &quot;@&quot; &amp; nameFTP &amp; &quot;/&quot; &amp; fileName2
        &#039;WScript.Sleep 5000 &#039;даём время на перемещение (5 сек)
        if FileLive(fDir &amp; &quot;Temp\FTP\&quot; &amp; fileName2, 0) then
            cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл &quot; &amp; fileName2 &amp; &quot; перемещен во временные файлы с FTP.&quot;
        end if
        
        Set objFolder = objShell.NameSpace(&quot;ftp://&quot; &amp; usrFTP &amp; &quot;:&quot; &amp; passFTP &amp; &quot;@&quot; &amp; nameFTP &amp; &quot;/&quot;) &#039;место назначения
        objFolder.CopyHere fDir &amp; fileName2
        WScript.Sleep 5000 &#039;даём время на закачку (5 сек)
        cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл &quot; &amp; fileName2 &amp; &quot; скопирован на FTP.&quot;
        
            if FileLive(fDir &amp; &quot;Temp\FTP\&quot; &amp; fileName1, 0) Then  &#039; Чистка темпов
                Set F = FSO.GetFile(fDir &amp; &quot;Temp\FTP\&quot; &amp; fileName1)
                F.Delete
                cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл удален &quot;  &amp;  fDir &amp; &quot;Temp\FTP\&quot; &amp; fileName1 &amp; &quot; чистка темпов.&quot;
            End if
            if FileLive(fDir &amp; &quot;Temp\FTP\&quot; &amp; fileName2, 0) Then  &#039; Чистка темпов
                Set F = FSO.GetFile(fDir &amp; &quot;Temp\FTP\&quot; &amp; fileName2)
                F.Delete
                cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл удален &quot;  &amp;  fDir &amp; &quot;Temp\FTP\&quot; &amp; fileName2 &amp; &quot; чистка темпов.&quot;
            End if
            if FileLive(fDir &amp; &quot;Temp\&quot; &amp; fileName1, 0) Then  &#039; Чистка темпов
                Set F = FSO.GetFile(fDir &amp; &quot;Temp\&quot; &amp; fileName1)
                F.Delete
                cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл удален &quot;  &amp;  fDir &amp; &quot;Temp\&quot; &amp; fileName1 &amp; &quot; чистка темпов.&quot;
            End if
            if FileLive(fDir &amp; &quot;Temp\&quot; &amp; fileName2, 0) Then  &#039; Чистка темпов
                Set F = FSO.GetFile(fDir &amp; &quot;Temp\&quot; &amp; fileName2)
                F.Delete
                cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Файл удален &quot;  &amp;  fDir &amp; &quot;Temp\&quot; &amp; fileName2 &amp; &quot; чистка темпов.&quot;
            End if
        WScript.Echo &quot;&quot; &amp; Now &amp; &quot;Обмен прошел!&quot;   &#039; - если файла загрузки нет 
        cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Обмен закончился успешно! &quot;
    Else
        WScript.Echo &quot;&quot; &amp; Now &amp; &quot;Обмен не прошел. Ошибка выгрузки!&quot;   &#039; - если файла загрузки нет 
        cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Обмен не прошел. Не сформировался файл выгрузки! &quot;
    End if
Else
    WScript.Echo &quot;&quot; &amp; Now &amp; &quot;Обмен не прошел. Ошибка загрузки!&quot;   &#039; - если файла загрузки нет 
        cScript.WriteLine &quot;&quot; &amp; Now &amp; &quot;: Обмен не прошел. Не скопирован файл загрузки! &quot;
End if
cScript.Close                                             &#039;- Конец записи в файл логов 

Set fso = Nothing 
Set cScript = Nothing 
Set objFolder  = Nothing 
Set WSHshell  = Nothing 
Set F  = Nothing 

WScript.quit(0) &#039; -выход

Function FileLive(nameFile, sleep)
    set fs = CreateObject(&quot;Scripting.FileSystemObject&quot;) 
    if sleep = 1 then
        WScript.Sleep 15000 &#039;даём время на скачивание (15 сек)
    else
        WScript.Sleep 2000 &#039;даём время на скачивание (5 сек)
    end if
    tempTime = -1
    if FS.FileExists(nameFile) then
        set f = FSO.GetFile(nameFile)
        do while tempTime &lt;&gt; f.DateLastModified 
            tempTime = f.DateLastModified
            WScript.Sleep 5000 &#039;даём время на скачивание (5 сек)
        loop
    end if
    FileLive = FS.FileExists(nameFile)
&#039;    WScript.Echo &quot;3 &quot; &amp; FSO.FileExists(nameFile)  &#039; - если файла загрузки нет 
    Set fs = Nothing 
End Function</code></pre></div><p>Скрипт отрабатывает. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /> Но лог пустой. Где я протупил?</p>]]></content>
			<author>
				<name><![CDATA[ToTAmon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26837</uri>
			</author>
			<updated>2011-03-21T13:15:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=46498#p46498</id>
		</entry>
</feed>
