Autore Messaggio
daniele.zini
15/04/2010 09:29:00


File di destinazione esportazione

Salve, ho creato una procedura di esportazione tramite script. Si tratta di una esportazione di tipo "Esportazione da pulsante ESPORTA su lista" e serve per esportare gli ordini in un formato compatibile con il gestionale dei nostri fornitori in modo da automatizzare loro la procedura di inserimento degli ordini.

Sarebbe comodo per noi poter esportare i singoli CSV (l'esportazione viene fatta su singolo ordine) nominandoli in modo da mantenere un riferimento al numero ordine.
Esiste un modo per indicare in fase di esportazione il file di destinazione in modo da poterlo nominare ogni volta in maniera appropriata? Oppure indicare il nome del file da script?

Grazie

Fabio
15/04/2010 10:04:00


Allega un paio di screenshot del filtro di esportazione che hai creato e dello script di esportazione

daniele.zini
15/04/2010 13:03:00


In allegato gli screenshot del filtro e il codice dello script di esportazione.

Quello che interesserebbe a me è la possibilità di modificare via script il nome del file di destinazione oppure che al click del pulsante esporta venga chiesto dove e/o con che nome si vuole salvare il file di modo da poter inserire un riferimento dell'ordine nel nome del file.

Option Explicit
Dim aCapo
aCapo = VbCrlf

If RowItem.DocType = 6 Then

Dim TipoRecord
Dim DataDoc
Dim NDoc
Dim CodCliente
Dim SpedRagSoc1
Dim SpedRagSoc2
Dim SpedIndirizzo
Dim SpedCAP
Dim SpedComune
Dim SpedProvincia
Dim Articolo
Dim Quantita
Dim DataConsegna

TipoRecord = "TES"
DataDoc = RowItem.DocDate
NDoc = RowItem.DocNumber
CodCliente = 951
SpedRagSoc1 = RowItem.CustomField(30)
If Not Len(Trim(RowItem.CustomField(42))) = 0 Then
SpedRagSoc2 = "Referente: " & RowItem.CustomField(42)
Else
SpedRagSoc2 = ""
End If
SpedIndirizzo = RowItem.CustomField(32)
SpedCAP = RowItem.CustomField(34)
SpedComune = RowItem.CustomField(36)
SpedProvincia = RowItem.CustomField(38)
Articolo = ""
Quantita = ""
DataConsegna = Date()

If Not Len(Trim(RowItem.CustomField(55))) = 0 Then
SpedRagSoc1 = RowItem.Destination.Name
SpedIndirizzo = RowItem.Destination.Address
SpedCAP = RowItem.Destination.ZipCode
SpedComune = RowItem.Destination.City
SpedProvincia = RowItem.Destination.Province
End If

Dim RigaTestata
RigaTestata = TipoRecord & ";" & DataDoc & ";" & NDoc & ";" & CodCliente & ";""" & SpedRagSoc1 & """;""" & SpedRagSoc2 & """;""" & SpedIndirizzo & """;""" & SpedCAP & """;""" & SpedComune & """;""" & SpedProvincia & """;" & Articolo & ";" & Quantita & ";" & DataConsegna
Rdy.ResponseWrite (RigaTestata)

Dim OrderRow
For Each OrderRow in RowItem.DocRows
If Not Len(Trim(OrderRow.CustomField(15))) = 0 Then

TipoRecord = "RIG"
DataDoc = RowItem.DocDate
NDoc = RowItem.DocNumber
CodCliente = 951
SpedRagSoc1 = ""
SpedRagSoc2 = ""
SpedIndirizzo = ""
SpedCAP = ""
SpedComune = ""
SpedProvincia = ""
Articolo = CodArt5Digits(OrderRow.CustomField(15))
Quantita = OrderRow.CustomField(30)
DataConsegna = Date()

Dim RigaOrdine
RigaOrdine= TipoRecord & ";" & DataDoc & ";" & NDoc & ";" & CodCliente & ";" & SpedRagSoc1 & ";" & SpedRagSoc2 & ";" & SpedIndirizzo & ";" & SpedCAP & ";" & SpedComune & ";" & SpedProvincia & ";" & Articolo & ";" & Quantita & ";" & DataConsegna
Rdy.ResponseWrite (aCapo)
Rdy.ResponseWrite (RigaOrdine)
End If
Next
Else
Rdy.ResponseWrite ("Errore tipo documento!!!")
End If



Function CodArt5Digits(codArt)
Dim pos
pos = inStr(codArt, ".")
Dim cbp
cbp = pos-1

Dim fullCode
fullCode = codArt

If cbp > 0 Then
Select Case cbp
Case 5
fullCode = fullCode
Case 4
fullCode = " " & fullCode
Case 3
fullCode = "  " & fullCode
Case 2
fullCode = "   " & fullCode
Case 1
fullCode = "    " & fullCode
End Select
End If

CodArt5Digits = fullCode
End Function

Fabio
21/04/2010 08:34:00


Purtroppo non e' possibile modificare il nome del file di export da script  Sad

Fabio
25/04/2010 21:03:00


Citazione:
oppure che al click del pulsante esporta venga chiesto dove e/o con che nome si vuole salvare il file

   Questo invece puoi farlo se NON specifichi un nome per il file di output
Se non viene specificato nessun nome di file al momento dell'esportazione viene richiesto dal programma il nome del file su cui salvare

daniele.zini
26/04/2010 10:25:00


Avevo già provato sperando che non trovando la destinazione mi permettesse di indicarlo tramite una finestra di dialogo ma se lascio il campo "File di destinazione" vuoto ricevo un errore gestito che recita:
"Nome file di destinazione non specificato. Esportazione non possibile"
mentre, se specifico solo una parte del path (es. c:\nomecartella\) si verifica un errore di tipo:
"Operazione non prevista" (Impossibile trovare il percorso)

Fabio
26/04/2010 10:32:00


Citazione:
"Nome file di destinazione non specificato. Esportazione non possibile"

   Mi sa che hai ragione. Mi sbaglio con i filtri di importazione dove invece viene richiesto Sad