<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Кодировка vbs при записи в файл 1С]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8469&amp;type=atom" />
	<updated>2013-07-18T09:38:31Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8469</id>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73873#p73873" />
			<content type="html"><![CDATA[<p>alexii, большое спасибо за помощь! Буду пробовать...</p>]]></content>
			<author>
				<name><![CDATA[A13]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30408</uri>
			</author>
			<updated>2013-07-18T09:38:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73873#p73873</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73860#p73860" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Как я понимаю, вот эта часть кода… отвечает за сохранение файла в нужной кодировке.</p></blockquote></div><p>Именно. Передаёте в функцию полный путь к файлу и строку, которую надо будет сохранить в файл. Существующий файл будет перезаписан.</p><div class="quotebox"><blockquote><p>К моему варианту нельзя никак прикрутить, только полная переделка скрипта?</p></blockquote></div><p>Почему нет?! Пробуйте.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-07-18T07:25:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73860#p73860</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73855#p73855" />
			<content type="html"><![CDATA[<p>Как я понимаю, вот эта часть кода:<br /></p><div class="quotebox"><blockquote><p>Function SaveToFile(ByVal strFullFileName, ByVal strContent)<br />&nbsp; &nbsp; Const adTypeText&nbsp; &nbsp; &nbsp; = 2<br />&nbsp; &nbsp; Const adModeReadWrite = 3<br />&nbsp; &nbsp; Const adSaveCreateOverWrite = 2<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; <br />&nbsp; &nbsp; With WScript.CreateObject(&quot;ADODB.Stream&quot;)<br />&nbsp; &nbsp; &nbsp; &nbsp; .Type&nbsp; &nbsp; &nbsp; = adTypeText<br />&nbsp; &nbsp; &nbsp; &nbsp; .Mode&nbsp; &nbsp; &nbsp; = adModeReadWrite<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; .Open<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; .Charset&nbsp; &nbsp;= &quot;utf-8&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; .WriteText strContent<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; .SaveToFile strFullFileName, adSaveCreateOverWrite<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; .Close<br />&nbsp; &nbsp; End With<br />End Function</p></blockquote></div><p>отвечает за сохранение файла в нужной кодировке. К моему варианту нельзя никак прикрутить, только полная переделка скрипта?</p>]]></content>
			<author>
				<name><![CDATA[A13]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30408</uri>
			</author>
			<updated>2013-07-18T03:57:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73855#p73855</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73854#p73854" />
			<content type="html"><![CDATA[<p>alexii, в том то и дело, что мой вариант пока только тот, что я писал в начале. Пытаюсь понять ваш пример, но плохо это получается. В написание скриптов я самый что ни на есть новичок, а сроки как всегда поджимают.</p>]]></content>
			<author>
				<name><![CDATA[A13]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30408</uri>
			</author>
			<updated>2013-07-18T03:38:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73854#p73854</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73829#p73829" />
			<content type="html"><![CDATA[<p><strong>A13</strong>, я лишь привёл пример. Приведите <em>Ваш</em> код.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-07-17T10:10:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73829#p73829</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73828#p73828" />
			<content type="html"><![CDATA[<p>Пересохранил в ansi, скрипт запускается. Только берет данные странно, название не соответствует базе. </p><div class="quotebox"><blockquote><p>&#039; Например, группе «1cv81_тест» соответствуют две базы,<br />&#039;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;группе «1cv81_тест2» — одна база.<br />&#039; Ну, и база может соответствовать нескольким группам (в примере — база «1C тест3»).</p></blockquote></div><p>Нужно чтоб одной группе соответствовала 1 база. Но пользователь может состоять в нескольких. Например, если он состоит в группе 1cv81_тест то ему прописывается база тест. Если же он состоит в группе 1cv81_тест и 1cv81_тест2. то соответственно он видит базы тест и тест2.<br />в файл ibases записывается:<br />[1C тест]<br />Connect=File=\\SRV1C\1cdb\тест;<br />ID=f2926bd0-b233-4353-9e35-bfce27d92759<br />OrderInList=24576<br />Folder=/<br />OrderInTree=49152<br />External=0<br />[1C тест2]<br />Connect=Srvr=srv1c;Ref=тест2;<br />ID=f2926bd0-b233-4353-9e35-bfce27d92759<br />OrderInList=40960<br />Folder=/<br />OrderInTree=65536<br />External=0</p><p>Сейчас он пишет:<br />[<strong>1C Тест</strong>]<br />Connect=Srvr=srv1c:1641;Ref=<strong>Тест2</strong>;<br />ID=f2926bd0-b233-4353-9e35-bfce27d92730<br />OrderInList=24576<br />Folder=/<br />OrderInTree=49152<br />External=0</p>]]></content>
			<author>
				<name><![CDATA[A13]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30408</uri>
			</author>
			<updated>2013-07-17T08:51:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73828#p73828</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73823#p73823" />
			<content type="html"><![CDATA[<p><strong>dab00</strong>, похоже на то. Я, конечно, в Unicode-1200 попробовал — там нормально, а вот что кому-то захочется сохранять код в UTF-8 — мне как-то даже и в голову не пришло <img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" />.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-07-16T18:24:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73823#p73823</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73822#p73822" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>A13 пишет:</cite><blockquote><p>Строка:1<br />Символ:1</p></blockquote></div><p>Похоже кодировка, нужно в ansi.</p>]]></content>
			<author>
				<name><![CDATA[dab00]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27085</uri>
			</author>
			<updated>2013-07-16T17:44:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73822#p73822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73819#p73819" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Строка:1</p><p>Символ:1</p></blockquote></div><p>Это что-то новенькое. Вы корректно скопировали код?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-07-16T16:04:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73819#p73819</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73815#p73815" />
			<content type="html"><![CDATA[<p>alexii, выдаёт ошибку<br />Строка:1<br />Символ:1<br />Ошибка: недопустимый знак<br />Код: 800А0408</p>]]></content>
			<author>
				<name><![CDATA[A13]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30408</uri>
			</author>
			<updated>2013-07-16T05:12:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73815#p73815</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73814#p73814" />
			<content type="html"><![CDATA[<p>Тогда Вы должны завести какой-то список, что, дескать, группа «X» соответствует таким-то версиям и таким-то параметрам, группа «Y» — таким-то версиям и таким-то параметрам, группа «Z» — таким-то версиям и таким-то параметрам, соответственно. И т.д.</p><p>Поскольку структуры в VBScript отсутствуют, проще всего. пожалуй, будет использовать вложенные массивы, наподобие (совсем не проверялось):<br /></p><div class="codebox"><pre><code>Option Explicit

Const strConfigFileName = &quot;ibases.v8i&quot;

Dim arrBases
Dim arrBase

Dim objIADsGroup
Dim strUserGroups

Dim objFSO

Dim strAppData
Dim strPath2Config

Dim strContent81
Dim strContent82


&#039;          Группа,        Версия, Имя базы,   Путь к базе,                ID
arrBases = Array( _
    Array(&quot;1cv81_тест&quot;,  &quot;8.1&quot;,  &quot;1C тест&quot;,  &quot;File=\\SRV1C\1cdb\test;&quot;,  &quot;f2926bd0-b233-4353-9e35-bfce27d92759&quot;), _
    Array(&quot;1cv81_тест&quot;,  &quot;8.1&quot;,  &quot;1C тест2&quot;, &quot;File=\\SRV1C\1cdb\test2;&quot;, &quot;bla-bla-bla&quot;), _
    Array(&quot;1cv81_тест3&quot;, &quot;8.1&quot;,  &quot;1C тест3&quot;, &quot;File=\\SRV1C\1cdb\test3;&quot;, &quot;bla-bla-bla3&quot;), _
    Array(&quot;1cv81_тест4&quot;, &quot;8.1&quot;,  &quot;1C тест3&quot;, &quot;File=\\SRV1C\1cdb\test3;&quot;, &quot;bla-bla-bla3&quot;), _
    Array(&quot;1cv82_тест&quot;,  &quot;8.2&quot;,  &quot;1C тест4&quot;, &quot;Srvr=1c:1641;Ref=test&quot;,    &quot;f2926bd0-b233-4353-9e35-bfce27d92730&quot;), _
    Array(&quot;1cv82_тест2&quot;, &quot;8.2&quot;,  &quot;1C тест5&quot;, &quot;Srvr=1c:1641;Ref=test2;&quot;,  &quot;bla-bla-bla2&quot;) _
)
&#039; Например, группе «1cv81_тест» соответствуют две базы,
&#039;           группе «1cv81_тест2» — одна база.
&#039; Ну, и база может соответствовать нескольким группам (в примере — база «1C тест3»).

strContent81 = &quot;&quot;
strContent82 = &quot;&quot;

For Each objIADsGroup In GetObject(&quot;LDAP://&quot; &amp; WScript.CreateObject(&quot;ADSystemInfo&quot;).UserName).Groups
    For Each arrBase In arrBases
        If objIADsGroup.Name = &quot;CN=&quot; &amp; arrBase(0) Then
            Select Case arrBase(1)
                Case &quot;8.1&quot;
                    strContent81 = strContent81 &amp; _
                        &quot;[&quot; &amp; arrBase(2) &amp; &quot;]&quot; &amp; vbCrLf &amp; _
                        &quot;Connect=&quot; &amp; arrBase(3) &amp; vbCrLf &amp; _
                        &quot;ID=&quot; &amp; arrBase(4) &amp; vbCrLf &amp; _
                        &quot;OrderInList=24576&quot; &amp; vbCrLf &amp; _
                        &quot;Folder=/&quot; &amp; vbCrLf &amp; _
                        &quot;OrderInTree=49152&quot; &amp; vbCrLf &amp; _
                        &quot;External=0&quot;
                Case &quot;8.2&quot;
                    strContent82 = strContent82 &amp; _
                        &quot;[&quot; &amp; arrBase(2) &amp; &quot;]&quot; &amp; vbCrLf &amp; _
                        &quot;Connect=&quot; &amp; arrBase(3) &amp; vbCrLf &amp; _
                        &quot;ID=&quot; &amp; arrBase(4) &amp; vbCrLf &amp; _
                        &quot;OrderInList=24576&quot; &amp; vbCrLf &amp; _
                        &quot;Folder=/&quot; &amp; vbCrLf &amp; _
                        &quot;OrderInTree=49152&quot; &amp; vbCrLf &amp; _
                        &quot;External=0&quot;
            End Select
        End If
    Next
Next

Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
strAppData = WScript.CreateObject(&quot;Shell.Application&quot;).NameSpace(&quot;shell:AppData&quot;).self.Path


strPath2Config = objFSO.BuildPath(strAppData, &quot;1C\1Cv81&quot;)

If objFSO.FolderExists(strPath2Config) Then
    SaveToFile objFSO.BuildPath(strPath2Config, strConfigFileName), strContent81
Else
    WScript.Echo &quot;Path [&quot; &amp; strPath2Config &amp; &quot;] not exists.&quot;
End If


strPath2Config = objFSO.BuildPath(strAppData, &quot;1C\1CEStart&quot;)

If objFSO.FolderExists(strPath2Config) Then
    SaveToFile objFSO.BuildPath(strPath2Config, strConfigFileName), strContent82
Else
    WScript.Echo &quot;Path [&quot; &amp; strPath2Config &amp; &quot;] not exists.&quot;
End If


Set objFSO = Nothing

WScript.Quit 0
&#039;=============================================================================

&#039;=============================================================================
Function SaveToFile(ByVal strFullFileName, ByVal strContent)
    Const adTypeText      = 2
    Const adModeReadWrite = 3
    Const adSaveCreateOverWrite = 2
    
    
    With WScript.CreateObject(&quot;ADODB.Stream&quot;)
        .Type      = adTypeText
        .Mode      = adModeReadWrite
        
        .Open
        
        .Charset   = &quot;utf-8&quot;
        .WriteText strContent
        
        .SaveToFile strFullFileName, adSaveCreateOverWrite
        
        .Close
    End With
End Function
&#039;=============================================================================</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-07-16T04:11:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73814#p73814</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73813#p73813" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>A13</strong>, предложения начинаются с заглавной буквы и заканчиваются точкой.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2013-07-16T03:26:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73813#p73813</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73812#p73812" />
			<content type="html"><![CDATA[<p>не совсем то имелось в веду: сначала, к примеру, смотрим только базы 1с 81. Есть две-три базы, мы должны проверить если пользователь добавлен в группу этой базы, то записываем ее в файл, если он же добавлен еще&nbsp; и в другую группу, то записываем и эту базу в файл и так в скольких группах находится пользователь, столько баз у него в файл должно записаться</p>]]></content>
			<author>
				<name><![CDATA[A13]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30408</uri>
			</author>
			<updated>2013-07-16T02:50:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73812#p73812</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73811#p73811" />
			<content type="html"><![CDATA[<p><strong>A13</strong>, примерно так (не проверялось):<br /></p><div class="codebox"><pre><code>Option Explicit

Const strConfigFileName = &quot;ibases.v8i&quot;

Dim objFSO

Dim objIADsGroup
Dim strUserGroups

Dim strAppData
Dim strPath
Dim strContent


strUserGroups = &quot;&quot;

For Each objIADsGroup In GetObject(&quot;LDAP://&quot; &amp; WScript.CreateObject(&quot;ADSystemInfo&quot;).UserName).Groups
    strUserGroups = strUserGroups &amp; &quot;[&quot; &amp; objIADsGroup.Name &amp; &quot;]&quot;
Next


Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)

strAppData = WScript.CreateObject(&quot;Shell.Application&quot;).NameSpace(&quot;shell:AppData&quot;).self.Path

If InStr(strUserGroups, &quot;[CN=1cv81_тест]&quot;) Then
    CreateConfig objFSO.BuildPath(strAppData, &quot;1C\1Cv81&quot;), &quot;1C тест&quot;, &quot;File=\\SRV1C\1cdb\test;&quot;, &quot;f2926bd0-b233-4353-9e35-bfce27d92759&quot;
    CreateConfig objFSO.BuildPath(strAppData, &quot;1C\1Cv81&quot;), &quot;1C тест2&quot;, &quot;File=\\SRV1C\1cdb\test2;&quot;, &quot;bla-bla-bla&quot;
End If

If InStr(strUserGroups, &quot;[CN=1cv82_тест]&quot;) Then
    CreateConfig objFSO.BuildPath(strAppData, &quot;1C\1CEStart&quot;), &quot;1C тест&quot;, &quot;Srvr=1c:1641;Ref=test&quot;, &quot;f2926bd0-b233-4353-9e35-bfce27d92730&quot;
    CreateConfig objFSO.BuildPath(strAppData, &quot;1C\1CEStart&quot;), &quot;1C тест2&quot;, &quot;Srvr=1c:1641;Ref=test2;&quot;, &quot;bla-bla-bla2&quot;
End If

Set objFSO = Nothing

WScript.Quit 0
&#039;=============================================================================

&#039;=============================================================================
Sub CreateConfig(strPath2Config, strBase, strPath2Base, strID)
        If objFSO.FolderExists(strPath2Config) Then
            strContent = _
                &quot;[&quot; &amp; strBase &amp; &quot;]&quot; &amp; vbCrLf &amp; _
                &quot;Connect=&quot; &amp; strPath2Base &amp; vbCrLf &amp; _
                &quot;ID=&quot; &amp; strID &amp; vbCrLf &amp; _
                &quot;OrderInList=24576&quot; &amp; vbCrLf &amp; _
                &quot;Folder=/&quot; &amp; vbCrLf &amp; _
                &quot;OrderInTree=49152&quot; &amp; vbCrLf &amp; _
                &quot;External=0&quot;
            
            SaveToFile objFSO.BuildPath(strPath2Config, strConfigFileName), strContent
        Else
            WScript.Echo &quot;Path [&quot; &amp; strPath2Config &amp; &quot;] not exists.&quot;
        End If
    End If
End Sub
&#039;=============================================================================

&#039;=============================================================================
Function SaveToFile(ByVal strFullFileName, ByVal strContent)
    Const adTypeText      = 2
    Const adModeReadWrite = 3
    Const adSaveCreateOverWrite = 2
    
    
    With WScript.CreateObject(&quot;ADODB.Stream&quot;)
        .Type      = adTypeText
        .Mode      = adModeReadWrite
        
        .Open
        
        .Charset   = &quot;utf-8&quot;
        .WriteText strContent
        
        .SaveToFile strFullFileName, adSaveCreateOverWrite
        
        .Close
    End With
End Function
&#039;=============================================================================</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2013-07-16T01:29:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73811#p73811</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кодировка vbs при записи в файл 1С]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73802#p73802" />
			<content type="html"><![CDATA[<p>какой-то идентификатор базы, роли особой я не увидел, если будет повторяться не страшно</p>]]></content>
			<author>
				<name><![CDATA[A13]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30408</uri>
			</author>
			<updated>2013-07-15T12:59:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73802#p73802</id>
		</entry>
</feed>
