Innanzitutto buongiorno, qui a Dalmine (BG) sono le 9.20 e la temperatura gi 31 gradi… il cervello comincia a bollire…
Ho un problemino che risale a due/tre anni fa con i calcoli sulle date.
In pratica nella procedura che calcola le scadenze dei pagamenti
In Mac OS / Linux funziona tutto bene, mentre in windows purtroppo NO
La scadenza in questione 30+60+90 fine mese con iva ad esigibilit immediata, facendo riferimento alla data del documento 01/01/2017 le scadenze dovrebbero essere :
al 31/01/2017 l’importo dell’iva
al 28/02/2017 la prima scadenza
al 31/03/2017 la seconda scadenza
e al 30/04/2017 l’ultima scadenza
Come scritto sopra tutto ok per MAC OS e LINUX mentre per windows non c’ nulla da fare.
Provo a postare il codice anche se ovviamente vi mancheranno un sacco di riferimenti.
[code]dim ddatainiziale as new date
dim ddatascadenza as new date
dim sdatainiziale as string
dim sdatafinale as string
dim conversione as boolean
dim cursore as integer
dim intervallo as integer
dim importo as Currency
dim importoiva as Currency
dim iniziorata as integer
dim totaledoc as Currency
dim lastimporto as Currency
dim numerorate as integer
dim offset as Currency
dim offsetnetto as Currency
dim offsetprovv as Currency
dim offsetprovv2 as Currency
dim primarata as integer
dim pagprimamese as integer
dim pagintervallomese as integer
dim importoprovv as Currency
dim importoprovv2 as Currency
dim importonetto as Currency
numerorate = self.pagrate
if self.pagprima mod 30 = 0 then
pagprimamese = self.pagprima / 30
end if
if self.pagintervallo mod 30 = 0 then
pagintervallomese = self.pagintervallo / 30
end if
lbscadenze.DeleteAllRows
select case self.pagtipoiva
case “0”
’ nelle rate
totaledoc = cdbl(txttotalepagare.text)
importo = arrotonda(totaledoc / numerorate,2)
importonetto = arrotonda(txtimportomerce.valore / numerorate,2)
importoprovv = self.totaleprovvigioni / numerorate
importoprovv2 = self.totaleprovvigioni2 / numerorate
offsetnetto = txtimportomerce.valore - (importonetto * numerorate)
offsetprovv = self.totaleprovvigioni - (importoprovv * numerorate)
offsetprovv2 = self.totaleprovvigioni2 - (importoprovv2 * numerorate)
offset = totaledoc - (importo * numerorate)
iniziorata = 0
case “5”
’ prima rata solo iva
importo = cdbl(txttotalepagare.text) - cdbl(txtdocimposta.text)
lbscadenze.AddRow “”
lbscadenze.cell(lbscadenze.ListCount - 1,0) = “1”
sdatainiziale = txtdatadocumento.text
conversione = ParseDate(sdatainiziale, ddatainiziale)
dim giorni as integer
giorni = datediff(txtdatadocumento.data,ddatainiziale)
lbscadenze.cell(lbscadenze.ListCount - 1,1) = ddatainiziale.dataitalia
lbscadenze.cell(lbscadenze.ListCount - 1,2) = self.tipopagiva
// 12/02/2016 CALCOLA I GIORNI
lbscadenze.cell(lbscadenze.ListCount - 1,3) = cstr(giorni)
lbscadenze.cell(lbscadenze.ListCount - 1,4) = self.pagivadescrizionetipo
lbscadenze.cell(lbscadenze.ListCount - 1,5) = format(importo,"-#,###,###,###.00")
totaledoc = cdbl(txtdocimponibile.text)
numerorate = self.pagrate
importo = arrotonda(totaledoc / numerorate,2)
importonetto = arrotonda(txtimportomerce.valore / numerorate,2)
importoprovv = self.totaleprovvigioni / numerorate
importoprovv2 = self.totaleprovvigioni2 / numerorate
offset = totaledoc - (importo * numerorate)
offsetnetto = txtimportomerce.valore - (importonetto * numerorate)
offsetprovv = self.totaleprovvigioni - (importoprovv * numerorate)
offsetprovv2 = self.totaleprovvigioni2 - (importoprovv2 * numerorate)
iniziorata = 1
case “1”, “3”
importoiva = cdbl(txtdocimposta.text)
totaledoc = cdbl(txtdocimponibile.text)
importo = arrotonda(totaledoc / numerorate,2)
importonetto = arrotonda(txtimportomerce.valore / numerorate,2)
importoprovv = arrotonda(self.totaleprovvigioni / numerorate,2)
importoprovv2 = arrotonda(self.totaleprovvigioni2 / numerorate, 2)
offsetnetto = txtimportomerce.valore - (importonetto * numerorate)
offsetprovv = self.totaleprovvigioni - (importoprovv * numerorate)
offsetprovv2 = self.totaleprovvigioni2 - (importoprovv2 * numerorate)
offset = totaledoc - (importo * numerorate)
iniziorata = 0
case “2”,“4”
// 04/07/2014 - numerorate = numerorate -1 perch una rata solo iva
importoiva = cdbl(txtdocimposta.text)
totaledoc = cdbl(txtdocimponibile.text)
importo = arrotonda(totaledoc / (numerorate -1) ,2)
importonetto = arrotonda(txtimportomerce.valore / (numerorate-1),2)
importoprovv = arrotonda(self.totaleprovvigioni / (numerorate-1),2)
importoprovv2 = arrotonda(self.totaleprovvigioni2 / (numerorate -1),2)
offset = totaledoc - (importo * (numerorate -1))
offsetnetto = txtimportomerce.valore - (importonetto * (numerorate-1))
offsetprovv = self.totaleprovvigioni - (importoprovv * (numerorate-1))
offsetprovv2 = self.totaleprovvigioni2 - (importoprovv2 * (numerorate-1))
iniziorata = 0
end select
[/code]
---- CONTINUA ----