Function ReplaceRegExp(Subject, Pattern, ReplaceTo) Dim RegEx Set RegEx = New RegExp RegEx.Pattern = Pattern RegEx.Global = True ReplaceRegExp = RegEx.Replace(Subject, ReplaceTo) End Function Sub ProcessQuery(C, BlobPrefix, QueryText) Dim R, FSO, COAddress, BlobFileName, LogFile, BlobStream, BlobStreamSize Set R = C.Execute(QueryText) Set FSO = CreateObject("Scripting.FileSystemObject") Do Until R.Eof COAddress = R("Address") COAddress = ReplaceRegExp(COAddress, "\/", " дробь ") COAddress = ReplaceRegExp(COAddress, """", "") COAddress = ReplaceRegExp(COAddress, "\?", " вопрос ") COAddress = ReplaceRegExp(COAddress, "\*", " звезда ") ' WScript.Echo COAddress If Not FSO.FileExists("export.log") Then FSO.CreateTextFile("export.log") End If Set LogFile = FSO.OpenTextFile("export.log", 8, True) ' LogFile.WriteLine(COAddress) If Not FSO.FolderExists(COAddress) Then FSO.CreateFolder(COAddress) End If BlobFileName = "" BlobStreamSize = 0 If R("Attachment").ActualSize > 0 Then Set BlobStream = WScript.CreateObject("ADODB.Stream") BlobStream.Open BlobStream.Type = 1 'adTypeBinary BlobStream.Write R("Attachment") BlobFileName = COAddress & "\" & BlobPrefix & R("DocumentName") Do Until Not FSO.FileExists(BlobFileName) BlobFileName = BlobFileName & "_new" LogFile.WriteLine " " & BlobFileName Loop BlobStreamSize = BlobStream.Size BlobStream.SaveToFile BlobFileName, 1 End If LogFile.WriteLine(COAddress & Chr(9) & R("Description") & Chr(9) & BlobPrefix & Chr(9) & BlobFileName & Chr(9) & R("Attachment").ActualSize & Chr(9) & BlobStreamSize) LogFile.Close R.MoveNext Loop R.Close End Sub dim C Set C = WScript.CreateObject("ADODB.Connection") 'C.ConnectionString = "Provider=SQLOLEDB.1;Data Source=W64,1455;Initial Catalog=GorsetiVVS-201110;User ID=InfoAdmin;Password=InfoAdmin" C.ConnectionString = "Provider=SQLOLEDB.1;Data Source=ntserver2;Initial Catalog=Электросеть;User ID=InfoAdmin;Password=InfoAdmin" C.Open ProcessQuery C, "Акт_приёмки_учёта_", "select co.id as ID, cotypes.Description as Description, b.addressid, dbo.GetBaseAddressFullView(b.addressid) as Address, sdocs.Binaries as Attachment, sdocs.DocumentName as DocumentName from " &_ "ConsumingObjects co " &_ "left join Buildings b on b.BuildingID = co.BuildingID " &_ "left join ConsumingObjectTypes cotypes on cotypes.TypeID = co.TypeID " &_ "left join ConsumingObjectDocuments cdocs on cdocs.ConsumingObjectID = co.id " &_ "left join ConsumingObjectDocumentTypes cdt on cdt.DocumentTypeID=cdocs.DocumentTypeID " &_ "left join StoreDocuments sdocs on sdocs.DocumentID = cdocs.StoreDocumentID " &_ "where cdt.Description like 'Акт%при%мки%уч%та' " &_ "and ( " &_ " cotypes.description like 'ж.д.низкоэт%с непоср%' or cotypes.description like 'ж.д.многоэт%с непоср%' or " &_ " cotypes.description like 'ж.д.низкоэт%в управлении ТСЖ%' or cotypes.description like 'ж.д.многоэт%в управлении ТСЖ%' or " &_ " cotypes.description like 'ж.д. низкоэт%в управлении УК%' or cotypes.description like 'ж.д. многоэт%в управлении УК%' " &_ ")" ProcessQuery C, "Акт_разграничения_", "select co.id as ID, cotypes.Description as Description, b.addressid, dbo.GetBaseAddressFullView(b.addressid) as Address, sdocs.Binaries as Attachment, sdocs.DocumentName as DocumentName from " &_ "ConsumingObjects co " &_ "left join Buildings b on b.BuildingID = co.BuildingID " &_ "left join ConsumingObjectTypes cotypes on cotypes.TypeID = co.TypeID " &_ "left join Delineations dels on co.DelineationID = dels.DelineationID " &_ "left join StoreDocuments sdocs on sdocs.DocumentID = dels.DelineationDocumentID " &_ "where " &_ " cotypes.description like 'ж.д.низкоэт%с непоср%' or cotypes.description like 'ж.д.многоэт%с непоср%' or " &_ " cotypes.description like 'ж.д.низкоэт%в управлении ТСЖ%' or cotypes.description like 'ж.д.многоэт%в управлении ТСЖ%' or " &_ " cotypes.description like 'ж.д. низкоэт%в управлении УК%' or cotypes.description like 'ж.д. многоэт%в управлении УК%'" ProcessQuery C, "Однолинейная_схема_", "select co.id as ID, cotypes.Description as Description, b.addressid, dbo.GetBaseAddressFullView(b.addressid) as Address, sdocs.Binaries as Attachment, sdocs.DocumentName as DocumentName from " &_ "ConsumingObjects co " &_ "left join Buildings b on b.BuildingID = co.BuildingID " &_ "left join ConsumingObjectTypes cotypes on cotypes.TypeID = co.TypeID " &_ "left join StoreDocuments sdocs on sdocs.DocumentID = co.SingleLineDiagramID " &_ "where " &_ " cotypes.description like 'ж.д.низкоэт%с непоср%' or cotypes.description like 'ж.д.многоэт%с непоср%' or " &_ " cotypes.description like 'ж.д.низкоэт%в управлении ТСЖ%' or cotypes.description like 'ж.д.многоэт%в управлении ТСЖ%' or " &_ " cotypes.description like 'ж.д. низкоэт%в управлении УК%' or cotypes.description like 'ж.д. многоэт%в управлении УК%' " ProcessQuery C, "Приёмка_учёта_", "select co.id as ID, cotypes.Description as Description, b.addressid, dbo.GetBaseAddressFullView(b.addressid) as Address, sdocs.Binaries as Attachment, sdocs.DocumentName as DocumentName from " &_ "ConsumingObjects co " &_ "left join Buildings b on b.BuildingID = co.BuildingID " &_ "left join ConsumingObjectTypes cotypes on cotypes.TypeID = co.TypeID " &_ "left join SealAccounts acc on acc.ConsumingObjectID = co.ID " &_ "left join StoreDocuments sdocs on sdocs.DocumentID = acc.AttachID " &_ "where " &_ " cotypes.description like 'ж.д.низкоэт%с непоср%' or cotypes.description like 'ж.д.многоэт%с непоср%' or " &_ " cotypes.description like 'ж.д.низкоэт%в управлении ТСЖ%' or cotypes.description like 'ж.д.многоэт%в управлении ТСЖ%' or " &_ " cotypes.description like 'ж.д. низкоэт%в управлении УК%' or cotypes.description like 'ж.д. многоэт%в управлении УК%'"