dove sto sbagliando continuo ad ottenere solo errori
Sub Creariba(distinta as string)
dim testata as ribarecordib
dim ribagen as ribarecord14
dim creditore as ribarecord20
dim debitore as ribarecord30
dim domiciliazione as ribarecord40
dim daticreditore as ribarecord50
dim datiriba as ribarecord51
dim datiesito as ribarecord70
dim piede as ribarecordef
dim numero as integer
dim ragsoct() as string
dim vuoto() as string
dim totaleimporti as Double
dim numerorecord as integer
dim datibancaazienda as string
'testata
' *** riba 1 ***
' ribagen
' creditore
' debitore
' domiciliaz
' daticreditore
' datiriba
' datiesito
' *** riba 2 ***
' ribagen
' creditore
' debitore
' domiciliaz
' daticreditore
' datiriba
' datiesito
'piede
self.Listbox1.DeleteAllRows()
Dim db as New REALSQLDatabase
db.DatabaseFile = GetFolderItem(main.database)
self.Listbox1.DeleteAllRows
If Not db.Connect then
msgbox("errore nella lettura del database di contabilità, prego contattare l'autore del programma")
else
Dim sql As String
sql = "SELECT *,rowid from scadenze order by datascadenza ASC, clifor"
Dim rsitem As RecordSet
rsitem = db.SQLSelect(sql)
' ora controllo se ho i record
if rsitem.eof then
msgbox("Nessun record trovato")
else
' scrivo il file riba cbi
Dim t As TextOutputStream
Dim f As FolderItem
f = GetSaveFolderItem("", "ribacbi.txt")
If f <> Nil Then
t = TextOutputStream.Create(f)
' scrivo il record di testa
numerorecord = 1
datibancaazienda = Datibanca(self.bancariba)
'testata = new ribarecordib
testata.tiporecord = "IB"
testata.mittente = NthField(datibancaazienda,"%",4)
testata.ricevente = NthField(datibancaazienda,"%",2)
testata.datacreazione = Datasia()
testata.nomesupporto = "DISTINTA " + trim(self.distinta)
testata.codicedivisa = "E"
t.WriteLine testata.StringValue
numero = 1
totaleimporti = 0
while not rsitem.eof
' scrivo i record riba
numerorecord = numerorecord + 1
'ribagen = new ribarecord14
ribagen.tiporecord = "14"
ribagen.numeroprogressivo = fillernumero(str(numero),7,"0",1)
ribagen.causale = "30000"
ribagen.datapagamento = datasia(rsitem.field("datascadenza").StringValue)
ribagen.importo = numerosia(rsitem.field("importoeff").DoubleValue,13)
totaleimporti = totaleimporti + rsitem.field("importoeff").DoubleValue
ribagen.segno = "-"
ribagen.abipres = NthField(datibancaazienda,"%",2)
ribagen.cabpres = NthField(datibancaazienda,"%",3)
ribagen.contopres = fillernumero(NthField(datibancaazienda,"%",5),12,"0",1)
ribagen.abi = Abicabsia(rsitem.field("iban").StringValue,1)
ribagen.cab = Abicabsia(rsitem.field("iban").StringValue,2)
ribagen.codicesia = NthField(datibancaazienda,"%",4)
ribagen.tipocodice = "4"
ribagen.codicecliente = rsitem.field("clifor").StringValue
ribagen.codicedivisa = "E"
t.WriteLine ribagen.StringValue
' srivo il record ribagen
numerorecord = numerorecord + 1
'creditore = new ribarecord20
creditore.tiporecord = "20"
creditore.numeroprogressivo = fillernumero(str(numero),7,"0",1)
' modifica main per leggere i dati dell'azienda.
creditore.creditore1 = "PIPOTTINI INTERNATIONAL S.P.A."
creditore.creditore2 = "VIA PIPPO PADELLA 22"
creditore.creditore3 = "OSIO SOTTO"
creditore.creditore4 = "24040-BG"
t.WriteLine creditore.StringValue
' salvo il record del debitore
numerorecord = numerorecord + 1
'debitore = new ribarecord30
debitore.tiporecord = "30"
debitore.numeroprogressivo = fillernumero(str(numero),7,"0",1)
ragsoct() = Splittacliente(Cercafield("codice","ragionesociale","clientifornitori",rsitem.field("clifor").StringValue),Cercafield("codice","supragionesociale","clientifornitori",rsitem.field("clifor").StringValue)
debitore.debitore1 = ragsoct(0)
debitore.debitore2 = ragsoct(1)
ragsoct() = vuoto()
debitore.codicefiscale = Cercafield("codice","codicefiscale","clientifornitori",rsitem.field("clifor").StringValue)
t.WriteLine debitore.StringValue
' salvo i record della domiciliazione
numerorecord = numerorecord + 1
'domiciliazione = new ribarecord40
domiciliazione.tiporecord = "40"
domiciliazione.numeroprogressivo = fillernumero(str(numero),7,"0",1)
domiciliazione.indirizzo = Cercafield("codice","indirizzo","clientifornitori",rsitem.field("clifor").StringValue)
domiciliazione.cap = Cercafield("codice","cap","clientifornitori",rsitem.field("clifor").StringValue)
domiciliazione.localitaeprov = Cercafield("codice","localita","clientifornitori",rsitem.field("clifor").StringValue) + Cercafield("codice","sigla","clientifornitori",rsitem.field("clifor").StringValue)
domiciliazione.denominazionebanca = Cercafield("abicab","banca","abicab",Abicabsia(rsitem.field("iban").StringValue,1) + " " + Abicabsia(rsitem.field("iban").StringValue,2)) + Cercafield("abicab","descrizione","abicab",Abicabsia(rsitem.field("iban").StringValue,1)+Abicabsia(rsitem.field("iban").StringValue,2))
t.WriteLine domiciliazione.StringValue
' dati del creditore
numerorecord = numerorecord + 1
'daticreditore = new ribarecord50
daticreditore.tiporecord = "50"
daticreditore.numeroprogressivo = fillernumero(str(numero),7,"0",1)
if rsitem.field("raggruppata").BooleanValue = true then
' la riba raggruppata ha il numero doc in coda nelle note.
ragsoct() = rsitem.field("note").StringValue
else
ragsoct() = splittacreditore("Doc. " + rsitem.field("numerodoc").StringValue + " del " + dataitalia(rsitem.field("datadoc").StringValue))
end if
daticreditore.creditorerigo1 = ragsoct(0)
daticreditore.creditorerigo2 = ragsoct(1)
ragsoct() = vuoto()
' prendi i dati azienda da main sono ancora da creare
daticreditore.codicefiscale = "02184590160"
t.WriteLine daticreditore.StringValue
' datiriba
' serve dati del beneficiario
numerorecord = numerorecord + 1
'datiriba = new ribarecord51
datiriba.tiporecord = "51"
datiriba.numeroprogressivo = fillernumero(str(numero),7,"0",1)
datiriba.numeroricevuta = fillernumero(str(numero),10,"0",1)
datiriba.denomincred = "PIPOTTINI INTERNATIONAL S.P.A."
datiriba.provincia = "BERGAMO"
t.WriteLine datiriba.StringValue
' riga70 solo esiti
numerorecord = numerorecord + 1
'datiesito = new ribarecord70
datiesito.tiporecord = "70"
datiesito.numeroprogressivo = fillernumero(str(numero),7,"0",1)
t.WriteLine datiesito.StringValue
rsitem.MoveNext
numero = numero + 1
wend
' piede delle riba
numerorecord = numerorecord + 1
'piede = new ribarecordef
piede.tiporecord = "IB"
piede.mittente = NthField(datibancaazienda,"%",4)
piede.ricevente = NthField(datibancaazienda,"%",2)
piede.datacreazione = Datasia()
piede.numerodisposizione = fillernumero(str(numero),7,"0",1)
piede.importinegativi = numerosia(rsitem.field("totaleimporti").DoubleValue,15)
piede.importinegativi = "000000000000000"
piede.numerorecord = fillernumero(str(numerorecord),7,"0",1)
piede.codicedivisa = "E"
t.WriteLine piede.StringValue
t.Close
End If
end if
end if
End Sub
Chi riesce a darmi una dritta ?? — ma anche una storta va bene .-.