FTP

Errore Nella creazione di un IEC con un nuovo cliente

Con un nuovo cliente i dati dei misuratori vengono presi dalla tabella Contatori e non da letture misuratori utilizzando 2 procedure diverse. Nel caso di letture dalla tabella contatori non veniva dimensionato l’ array

Private Sub UpMisBase(GridLetture As DHDGrid)
’Carica le letture dei misuratori iniziali
’———————————————————
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM Contatori WHERE CodCli =’" & a_CodCli & "’", cn, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
GridLetture.Clear
GridLetture.Rows = rs.RecordCount
Dim i As Integer: i = 0
Do While Not rs.EOF
GridLetture.TextMatrix(i, 0) = rs!Matricola & ""
GridLetture.TextMatrix(i, 1) = rs!Appunti & ""
GridLetture.TextMatrix(i, 2) = rs!ModLetConsumi & ""
GridLetture.TextMatrix(i, 3) = rs!Data & ""
GridLetture.TextMatrix(i, 4) = rs!Lettura & ""
GridLetture.TextMatrix(i, 5) = LastDay(CDate(a_Periodo))
GridLetture.TextMatrix(i, 6) = rs!Lettura & ""
GridLetture.TextMatrix(i, 7) = "0" & ""
GridLetture.TextMatrix(i, 8) = rs!ValoreK & ""
GridLetture.TextMatrix(i, 9) = "0"
i = i + 1
rs.MoveNext
Loop
End If
rs.Close
End Sub

Public Sub UpMisFromTab(AttivaGrid As Boolean, Optional GridLetture As DHDGrid, Optional IDIEC As String)
’————————————————————-
’Carica i dati dei Misuratori dalla tabella alla griglia LettureMisuratori
’————————————————————- Misuratori

rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM LettureMisuratori WHERE IDIEC = ’" & IDIEC & "’", cn, adOpenDynamic, adLockOptimistic

If rs.RecordCount > 0 Then
’Dimensiona la grid in base al numero di contatori

’Dimensiona i vettori ed eventualmente la griglia
’—————————————————
If AttivaGrid Then
GridLetture.Rows = rs.RecordCount
End If

ReDim arr_Matricola(rs.RecordCount)
ReDim arr_PDR(rs.RecordCount) ’Modifica 2007.12.20 PDR
ReDim arr_Appunti(rs.RecordCount)
ReDim arr_ModLetConsumi(rs.RecordCount)
ReDim arr_DataLetturaPrec(rs.RecordCount)
ReDim arr_LetturaPrec(rs.RecordCount)
ReDim arr_DataLettura(rs.RecordCount)
ReDim arr_Lettura(rs.RecordCount)
ReDim arr_ConsumiNoK(rs.RecordCount)
ReDim arr_CoK(rs.RecordCount)
ReDim arr_Consumi(rs.RecordCount)
’—————————————————

Dim i As Integer: i = 0
m_TMCubiConsumati = 0

Do While Not rs.EOF
’Se siamo in mod New ed e’ il prima revisione pone a 0 i consumi
If K_ModeCalc = "New" And a_NumRettifica = "00" Then

arr_Matricola(i) = rs!Matricola & ""
arr_PDR(i) = rs!PDR & "" ’2007.12.20 PDR
arr_Appunti(i) = rs!Appunti & ""
arr_ModLetConsumi(i) = rs!ModLetConsumi & ""
arr_DataLetturaPrec(i) = rs!DataLettura & ""
arr_LetturaPrec(i) = rs!Lettura & ""
arr_DataLettura(i) = LastDay(CDate(a_Periodo))
arr_Lettura(i) = rs!Lettura & ""
arr_ConsumiNoK(i) = rs!MCubiMese & ""
arr_CoK(i) = rs!CoK & ""
arr_Consumi(i) = "0"

If AttivaGrid Then
GridLetture.TextMatrix(i, 0) = rs!Matricola & ""
GridLetture.TextMatrix(i, 1) = rs!Appunti & ""
GridLetture.TextMatrix(i, 2) = rs!ModLetConsumi & ""
GridLetture.TextMatrix(i, 3) = rs!DataLettura & ""
GridLetture.TextMatrix(i, 4) = rs!Lettura & ""
GridLetture.TextMatrix(i, 5) = LastDay(CDate(a_Periodo))
GridLetture.TextMatrix(i, 6) = rs!Lettura & ""
GridLetture.TextMatrix(i, 7) = rs!MCubiMese & ""
GridLetture.TextMatrix(i, 8) = rs!CoK & ""
GridLetture.TextMatrix(i, 9) = "0"
End If

Else
arr_Matricola(i) = rs!Matricola & ""
arr_PDR(i) = rs!PDR & "" ’2007.12.20 PDR
arr_Appunti(i) = rs!Appunti & ""
arr_ModLetConsumi(i) = rs!ModLetConsumi & ""
arr_DataLetturaPrec(i) = rs!DataLetturaPrec & ""
arr_LetturaPrec(i) = rs!LetturaPrec & ""
arr_DataLettura(i) = rs!DataLettura & ""
arr_Lettura(i) = rs!Lettura & ""
arr_ConsumiNoK(i) = rs!MCubiMese & ""
arr_CoK(i) = rs!CoK & ""
arr_Consumi(i) = rs!Consumi & ""

’Sommatoria per calcolare il totale
m_TMCubiConsumati = m_TMCubiConsumati + arr_Consumi(i)

If AttivaGrid Then
GridLetture.TextMatrix(i, 0) = rs!Matricola & ""
GridLetture.TextMatrix(i, 1) = rs!Appunti & ""
GridLetture.TextMatrix(i, 2) = rs!ModLetConsumi & ""
GridLetture.TextMatrix(i, 3) = rs!DataLetturaPrec & ""
GridLetture.TextMatrix(i, 4) = rs!LetturaPrec & ""
GridLetture.TextMatrix(i, 5) = rs!DataLettura & ""
GridLetture.TextMatrix(i, 6) = rs!Lettura & ""
GridLetture.TextMatrix(i, 7) = rs!MCubiMese & ""
GridLetture.TextMatrix(i, 8) = rs!CoK & ""
GridLetture.TextMatrix(i, 9) = rs!Consumi & ""
End If
End If
rs.MoveNext
i = i + 1
Loop
If AttivaGrid Then
m_TMCubiConsumati = GridLetture.TotRow(10)
End If
Else
’ Nuova parte
’ Non sono presenti delle letture precedenti
’ quindi carica i dati inizioali dalla scheda
’—————————————————–
End If
rs.Close

’—————————————————-
’ Nuova Parte x UTF
’—————————————————-
If K_ModeCalc = "New" And a_NumRettifica = "00" Then
’ Imposta a 0 le variabili contenenti i valori precedenti per
’ lo stesso periodo. Essendo la 00 e’ la prima e non ci sono
’ Valori precedenti
’——————–
C_MTCubiSPPrec = 0
C_QtaGasCogAPrec = 0
C_QtaGasCogVPrec = 0
C_QtaGasPmqPrec = 0
’——————–
’Imposta le variabili con il valore rilevato di questo periodo
C_MTCubiSPDiff = m_TMCubiConsumati
C_QtaGasCogADiff = C_QtaGasCogA
C_QtaGasCogVDiff = C_QtaGasCogV
C_QtaGasPmqDiff = C_QtaGasPmq
’—————————————————
ElseIf K_ModeCalc = "New" Then
C_MTCubiSPPrec = m_TMCubiConsumati
C_QtaGasCogAPrec = C_QtaGasCogA
C_QtaGasCogVPrec = C_QtaGasCogV
C_QtaGasPmqPrec = C_QtaGasPmq
’———————————-
C_MTCubiSPDiff = m_TMCubiConsumati - C_MTCubiSPPrec
C_QtaGasCogADiff = C_QtaGasCogA - C_QtaGasCogAPrec
C_QtaGasCogVDiff = C_QtaGasCogV - C_QtaGasCogVPrec
C_QtaGasPmqDiff = C_QtaGasPmq - C_QtaGasPmqPrec
’—————————————————
ElseIf a_NumRettifica = "00" Then
C_MTCubiSPPrec = 0
C_QtaGasCogAPrec = 0
C_QtaGasCogVPrec = 0
C_QtaGasPmqPrec = 0
’———————–
C_MTCubiSPDiff = m_TMCubiConsumati
C_QtaGasCogADiff = C_QtaGasCogA
C_QtaGasCogVDiff = C_QtaGasCogV
C_QtaGasPmqDiff = C_QtaGasPmq
’—————————————————
ElseIf a_NumRettifica <> "00" Then

Dim IDprecedente As String

IDprecedente = CalcIeC_Previus(a_CodCli, a_Periodo)

rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM IndiciEConsumi " & _
"WHERE ID =’" & IDprecedente & "’", cn, adOpenDynamic, adLockOptimistic

If rs.RecordCount > 0 Then
rs.MoveLast
C_MTCubiSPPrec = rs!GasFornito
C_QtaGasCogAPrec = rs!QtaGasCogA
C_QtaGasCogVPrec = rs!QtaGasCogV
C_QtaGasPmqPrec = rs!QtaGasPmq
’———————————-
C_MTCubiSPDiff = m_TMCubiConsumati - rs!GasFornito
C_QtaGasCogADiff = C_QtaGasCogA - rs!QtaGasCogA
C_QtaGasCogVDiff = C_QtaGasCogV - rs!QtaGasCogV
C_QtaGasPmqDiff = C_QtaGasPmq - rs!QtaGasPmq

Else ’fattura non trovata

End If

rs.Close

End If
’—————————————————-

End Sub

speak up

Add your comment below, or trackback from your own site.

Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*Required Fields