Numero fatture con + società.

lunedì 04 giugno 2012 - 13.10

Peppino Profilo | Junior Member

Ciao a tutti.
Uso Visual Studio 2008-Visual Basic 2008 e database sql express 2008 con management studio.
Premesso che prima di chiedere aiuto al Forum ho fatto delle ricerche ma con scarso risultato.
Ho il seguente codice per la numerazione delle fatture, ordini ecc.

Dim DataOggi As Date
Dim AnnoCorrente As Integer
DataOggi = Date.Today
AnnoCorrente = Year(DataOggi)
TxtAnno.Text = CStr(AnnoCorrente)
Try
'Cerco il numero del documento più alto salvato
Dim cmd As New SqlCommand
cmd.Connection = ConnessioneDatabase
cmd.CommandText = "SELECT MAX(Numero) FROM Fatture WHERE Anno = DATEPART(year, CURRENT_TIMESTAMP)"
ConnessioneDatabase.Open()
Dim num As Object = cmd.ExecuteScalar()
ConnessioneDatabase.Close()
If num Is DBNull.Value Or num Is Nothing Then
Return 1
End If
Return Convert.ToInt32(num) + 1

Catch ex As Exception
Messaggi.Errore("Errore non gestito nell'individuazione del nuovo numero documento : " & _
ex.ToString, "Attenzione")
Return 0
End Try

Funziona benissimo, se la gestione è di una sola società, ma se la gestione è multisocietà? non ho proprio idea. Ripeto ho fatto delle ricerche ma non ho tovato niente e non ricordo di aver letto dei post per tale argomento, ecco perchè chiedo (sempre se possibile) delle indicazioni o qualche indirizzo da poter ricavare qualcosa. Sicuramente è una domanda da principiante, ma io lo sono.
Grazie anticipatamente per l'eventuale risposta. Chiedo scusa se ho postato nella stanza sbagliata, ma gradirei comunque una risposta.
Ciao a tutti. Peppino.

pedro8a Profilo | Junior Member

Una curiosità
ma come fai a riconoscere di quale società è la fattura?
Nella tabella testata avrai l'id (o un altro campo), della società a cui appartiene la fattura, giusto?

Allora nella query:

cmd.CommandText = "SELECT MAX(Numero) FROM Fatture WHERE Anno = DATEPART(year, CURRENT_TIMESTAMP) And IDSocieta=" & IDSoc

dove IDSoc è la società da gestire (società che emette la fattura)

Riflettevo: funziona benissimo finchè c'è solo una postazione che crea la fattura, ma se diventano 2 postazioni?



________________________
Pedro8a
Sviluppo per passione

Peppino Profilo | Junior Member

Ciao Pedro8a, grazie per la tempestiva risposta.
Il mio problema è gestire 2 società sulla stessa postazione e infatti la prima cosa che ho fatto è stata impostare la query nello stesso modo e cioè aggiungendogli la condizione della ragione sociale, ma non mi ha dato l'incremento, ma forse ho capito perchè. Resto aperto il post, eventualmente non è quello che penso mi faccio sentire altrimenti lo chiudo. Comunque grazie ancora.
Ciao, Peppino.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5