mercoledì 7 dicembre 2016

prg articoli invia vendite - vbs

' trasf

option explicit

'

'

dim cartellaprocedura

cartellaprocedura = "C:\articoli-invia-vendite\"

'

dim dataoggi

dataoggi = date

'

dim dbconfigxml, jarchivio

dbconfigxml = cartellaprocedura & "config-temp.xml"

'

dim dizionario, dizionariochiave, dizionariovalore

set dizionario=CreateObject("Scripting.Dictionary")

dizionario.CompareMode=1

'

call leggixml(dbconfigxml, "parametri")

'

dim dataprima, dalladata, alladata

dataprima = dizionario.Item("data_ultima_scansione")

'

dataprima = DateAdd("d", 1, dataprima)

dalladata = sistemadata(dataprima)

alladata = sistemadata(dataoggi)

'

dim dbiniziali, iniziali, testodacambiare

dbiniziali = cartellaprocedura & "db-iniziali-articolo.txt"

iniziali = fleggitutto(dbiniziali)

'

call scriviconfigxml

'

'

dim campodacambiare

jarchivio = cartellaprocedura & dizionario.Item("file_input")

testodacambiare = fleggitutto(jarchivio)

'

call leggixml(dbconfigxml, "cose_da_cambiare")

'

jarchivio = cartellaprocedura & dizionario.Item("file_output")

call SovraScriviFile(jarchivio, testodacambiare)

'

'

' ====

'

sub leggixml(parchivioxml, ptiponodo)

Dim objDOM, rtResult, nodeList, obj, jnodo

Set objDOM = WScript.CreateObject("MSXML2.DOMDocument")

rtResult = objDOM.load(parchivioxml)

jnodo = "//*/" & ptiponodo & "/*"

If rtResult = True Then

Set nodeList = objDOM.documentElement.selectNodes(jnodo)

For Each obj In nodeList

dizionariochiave = obj.nodeName

dizionariovalore = obj.text

'

if dizionario.Exists(dizionariochiave) = true then

' Response.Write("Key exists!")

else

' Response.Write("Key does not exist!")

dizionario.Add dizionariochiave, dizionariovalore

end if

'

if ptiponodo = "cose_da_cambiare" then

campodacambiare = "<#>" & dizionariochiave & "<#>"

testodacambiare = replace(testodacambiare, campodacambiare, dizionariovalore)

end if

Next

End If

Set objDOM = Nothing

end sub

'

' ====

'

sub scriviconfigxml()

'

dim nomerecord

'

call SovraScriviFile(dbconfigxml, "<root>" & vbcrlf & "</root>")

'

nomerecord = "parametri"

call inseriscidatixml(dbconfigxml, nomerecord, "file_input", "db-stringa-sql-modello.txt")

call inseriscidatixml(dbconfigxml, nomerecord, "file_output", "db-stringa-sql.txt")

call inseriscidatixml(dbconfigxml, nomerecord, "data_ultima_scansione", dataoggi)

'

nomerecord = "cose_da_cambiare"

call inseriscidatixml(dbconfigxml, nomerecord, "dalla_data", dalladata)

call inseriscidatixml(dbconfigxml, nomerecord, "alla_data" , alladata)

call inseriscidatixml(dbconfigxml, nomerecord, "iniziali" , iniziali)

'

'

end sub

'

' ============ sovra scrive file ===================

'

Sub SovraScriviFile(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

'

' ================

'

function sistemadata(pdata)

dim jgg, jmm

'

jgg = "00" & day(pdata)

jgg = right(jgg, 2)

jmm = "00" & month(pdata)

jmm = right(jmm, 2)

sistemadata = year(pdata) & "-" & jmm & "-" & jgg

'

'

end function

'

' =====================

'

function fleggitutto(pfiledaleggere)

'

dim objFSO, objFile, contenutoletto

Set objFSO = CreateObject("Scripting.FileSystemObject")

'

If objFSO.FileExists(pfiledaleggere) Then

'esistefile = "si"

Set objFile = objFSO.OpenTextFile(pfiledaleggere, 1)

contenutoletto = objFile.Readall

contenutoletto = replace(contenutoletto, vbcrlf, "")

contenutoletto = replace(contenutoletto, vbcr, "")

contenutoletto = replace(contenutoletto, vblf, "")

objFile.Close

fleggitutto = contenutoletto

Else

'esistefile = "no"

fleggitutto = "x-no-x"

End If

Set objFSO = Nothing

'

end function

'

' =========== lavora file xml ===========

'

sub inseriscidatixml(pfilexml, precord, pnomecampo, pvalore)

'

Dim doc, root, cosainserire, rigainserire

dim livello2, livello3

'

set doc = LoadXmldoc(pfilexml)

set root = Doc.documentElement

'

Set livello2 = doc.documentElement.selectSingleNode("//" & precord)

if livello2 is Nothing then

Set livello2 = doc.createNode("element", precord, "")

end if

'

cosainserire = vbcrlf & "<" & pnomecampo & ">" & pvalore & "</" & pnomecampo & ">" & vbcrlf

set rigainserire = LoadXmlstringa(cosainserire)

set livello3 = rigainserire.documentElement

livello2.appendChild(livello3)

'

root.appendChild(livello2)

'

doc.save (pfilexml)

'

'

end sub

'

' ===== ===========

'

Function LoadXmldoc(path)

'

Set LoadXmldoc = CreateObject("MSXML2.DomDocument.6.0")



LoadXmlDoc.async = False

LoadXmlDoc.load path

If LoadXmlDoc.parseError.errorCode <> 0 Then

WScript.Echo "Error in XML file."

WScript.Echo LoadXmlDoc.parseError.reason

WScript.Quit 1

End If

'

'

End Function

'

' ================

'

Function LoadXmlstringa(path)

'

Set LoadXmlstringa = CreateObject("MSXML2.DomDocument.6.0")

LoadXmlstringa.async = False

LoadXmlstringa.loadXML path

'

'

End Function

'

' ==============

'

'

' ==================================

'