Attribute VB_Name = "ModuloINSERT"
Option Explicit

'Variabili aggiuntive usate nella routine Insert_DOC_STAMPA _
 (create perche' raggiunto il numero massimo di parametri passabili!) _
 NOTA: RICORDARSI DI SVUOTARLE ALLA FINE DELLA STAMPA!!
Public varInsStm_CodFamArt As String
Public varInsStm_CodSotFamArt As Integer
Public varEstraiAltriCampiArticolo As Boolean


Public g_DESIVA_PP As String  'Descrizione Iva da inserire a pie' di pagina dei Documenti di Vendita


'Private Type m_PAR_STAMPA
'   NOME_AUTISTA As String * 50
'End Type
'Public g_PAR_STAMPA As m_PAR_STAMPA


Public Sub Insert_DOC_MAST(vSerial As Long, vTipDoc As String, vCatDoc As String, vFlVeAc As String, vCodSez As String, vPrgSez As Long, _
                            vDatSez As String, vNumDoc As Long, vDatDoc As String, vAnnDoc As String, vCauMag As String, vContra As String, _
                            vListin As String, vTipCon As String, vCodCon As String, vCodAge As String, vCodPag As String, vCodVal As String, _
                            vIvaCon As String, vCodTra As String, vIvaTra As String, vPeRiTr As Double, vPreTra As Double, vOraTra As String, _
                            vDatTra As String, vTarTra As String, vRifFaD As Long, vRifTra As Long, vTotImp As Double, vTotIva As Double, _
                            vNote As String, vUtCC As Integer, vUtDC As String, vUtCV As Integer, vUtDV As String, vSerDoc As String, _
                            vCodMag As String, vCodSezTra As String, vPrgSezTra As Long, vCodDes As String, vCodSpe As String, vTarRim As String, _
                            vCodCol As String, vNumCon As String, vCodAtt As Integer, vCodPor As String, vCodCauTra As String, vTipDocPrg As String, _
                            vConBan As String, vCodSpediz As String, vCodModDoc As String, vNomeAutista As String, _
                            Optional pAcquistoMosto As Boolean)
   
   Dim StrCampi As String
   Dim StrValori As String
   Dim strStringa As String
   Dim TABELLA As String
   
'   If TABELLA_FOR = True Then
'      TABELLA = "DOC_MAST_FOR"
'   Else
      TABELLA = "DOC_MAST"
'   End If

   StrCampi = "MVSERIAL"
   StrValori = "" & vSerial & ""
   StrCampi = StrCampi & ", MVTIPDOC"
   StrValori = StrValori & ",'" & vTipDoc & "'"
   StrCampi = StrCampi & ", MVTIPDOCPRG"
   StrValori = StrValori & ",'" & vTipDocPrg & "'"
   StrCampi = StrCampi & ", MVCATDOC"
   StrValori = StrValori & ",'" & vCatDoc & "'"
   StrCampi = StrCampi & ", MVFLVEAC"
   StrValori = StrValori & ",'" & vFlVeAc & "'"
   StrCampi = StrCampi & ", MVCODSEZ"
   StrValori = StrValori & ",'" & vCodSez & "'"
   StrCampi = StrCampi & ", MVPRGSEZ"
   StrValori = StrValori & "," & vPrgSez & ""
   StrCampi = StrCampi & ", MVCODSEZTRA"
   StrValori = StrValori & ",'" & vCodSezTra & "'"
   StrCampi = StrCampi & ", MVPRGSEZTRA"
   StrValori = StrValori & "," & vPrgSezTra & ""
   StrCampi = StrCampi & ", MVDATSEZ"
   StrValori = StrValori & ",CONVERT(DATETIME, '" & Format(vDatSez, "yyyy/mm/dd") & "',102)"
   StrCampi = StrCampi & ", MVNUMDOC"
   StrValori = StrValori & "," & vNumDoc & ""
   StrCampi = StrCampi & ", MVALFDOC"
   StrValori = StrValori & ",'" & VerificaApici(vSerDoc) & "'"
   If Len(vDatDoc) > 0 Then
      StrCampi = StrCampi & ", MVDATDOC"
      StrValori = StrValori & ",CONVERT(DATETIME, '" & Format(vDatDoc, "yyyy/mm/dd") & "',102)"
   End If
   StrCampi = StrCampi & ", MVANNDOC"
   StrValori = StrValori & ",'" & vAnnDoc & "'"
   StrCampi = StrCampi & ", MVCAUMAG"
   StrValori = StrValori & ",'" & vCauMag & "'"
   StrCampi = StrCampi & ", MVCONTRA"
   StrValori = StrValori & ",'" & VerificaApici(vContra) & "'"
   StrCampi = StrCampi & ", MVLISTIN"
   StrValori = StrValori & ",'" & VerificaApici(vListin) & "'"
   StrCampi = StrCampi & ", MVTIPCON"
   StrValori = StrValori & ",'" & vTipCon & "'"
   StrCampi = StrCampi & ", MVCODCON" 'Codice Conto ACQUIRENTE
   StrValori = StrValori & ",'" & VerificaApici(vCodCon) & "'"
   StrCampi = StrCampi & ", MVCODDES" 'Codice Conto DESTINATARIO
   StrValori = StrValori & ",'" & VerificaApici(vCodDes) & "'"
   StrCampi = StrCampi & ", MVCODSPE" 'Indirizzo di Spedizione
   StrValori = StrValori & ",'" & VerificaApici(vCodSpe) & "'"
   StrCampi = StrCampi & ", MVCODAGE"
   StrValori = StrValori & ",'" & VerificaApici(vCodAge) & "'"
   StrCampi = StrCampi & ", MVCODPAG"
   StrValori = StrValori & ",'" & VerificaApici(vCodPag) & "'"
   StrCampi = StrCampi & ", MVCONBAN"
   StrValori = StrValori & ",'" & VerificaApici(vConBan) & "'"
   StrCampi = StrCampi & ", MVCODVAL"
   StrValori = StrValori & ",'" & vCodVal & "'"
   StrCampi = StrCampi & ", MVIVACON"
   StrValori = StrValori & ",'" & vIvaCon & "'"
   StrCampi = StrCampi & ", MVCODTRA"
   StrValori = StrValori & ",'" & VerificaApici(vCodTra) & "'"
   StrCampi = StrCampi & ", MVIVATRA"
   StrValori = StrValori & ",'" & vIvaTra & "'"
   StrCampi = StrCampi & ", MVPERITR"
   StrValori = StrValori & "," & Replace(vPeRiTr, ",", ".") & ""
   StrCampi = StrCampi & ", MVPRETRA"
   StrValori = StrValori & "," & Replace(vPreTra, ",", ".") & ""
   If IsDate(vOraTra) = True Then
      StrCampi = StrCampi & ", MVORATRA"
      StrValori = StrValori & ",CONVERT(DATETIME, '" & Replace(vOraTra, ".", ":") & "')"
   End If
   If IsDate(vDatTra) = True Then
      StrCampi = StrCampi & ", MVDATTRA"
      StrValori = StrValori & ",CONVERT(DATETIME, '" & Format(vDatTra, "yyyy/mm/dd") & "',102)"
   End If
   StrCampi = StrCampi & ", MVTARTRA" 'Traga Motrice
   StrValori = StrValori & ",'" & VerificaApici(vTarTra) & "'"
   StrCampi = StrCampi & ", MVTARRIM" 'Targa Rimorchio
   StrValori = StrValori & ",'" & VerificaApici(vTarRim) & "'"
   StrCampi = StrCampi & ", MVRIFFAD"
   StrValori = StrValori & "," & vRifFaD & ""
   StrCampi = StrCampi & ", MVRIFTRA"
   StrValori = StrValori & "," & vRifTra & ""
   StrCampi = StrCampi & ", MVTOTIMP"
   StrValori = StrValori & "," & Replace(vTotImp, ",", ".") & ""
   StrCampi = StrCampi & ", MVTOTIVA"
   StrValori = StrValori & "," & Replace(vTotIva, ",", ".") & ""
   StrCampi = StrCampi & ", MV__NOTE"
   StrValori = StrValori & ",'" & VerificaApici(vNote) & "'"
   StrCampi = StrCampi & ", MVCODCOL" 'Codice Collo Spedizione
   StrValori = StrValori & ",'" & VerificaApici(vCodCol) & "'"
   StrCampi = StrCampi & ", MVNUMCON" 'Numero Contenitori (e' un campo stringa!)
   StrValori = StrValori & ",'" & VerificaApici(vNumCon) & "'"
   StrCampi = StrCampi & ", MVCODATT" 'Codice ATTIVITA
   StrValori = StrValori & "," & vCodAtt & ""
   StrCampi = StrCampi & ", MVCODPOR" 'Codice Porto (Assegnato, Franco...)
   StrValori = StrValori & ",'" & VerificaApici(vCodPor) & "'"
   StrCampi = StrCampi & ", MVSPEDIZ" 'Codice Spedizione (Mittente,Destinatario,Vettore)
   StrValori = StrValori & ",'" & VerificaApici(vCodSpediz) & "'"
   StrCampi = StrCampi & ", MVMODDOC" 'Codice Modello Documento (A, B, D, I valido solo per i DOCO)
   StrValori = StrValori & ",'" & VerificaApici(vCodModDoc) & "'"
   StrCampi = StrCampi & ", MVCODCAUTRA" 'Codice Causale del Trasporto (Vendita, Conto visione...)
   StrValori = StrValori & ",'" & VerificaApici(vCodCauTra) & "'"
   
   StrCampi = StrCampi & ", MVAUTIST" 'Codice Causale del Trasporto (Vendita, Conto visione...)
   StrValori = StrValori & ",'" & VerificaApici(vNomeAutista) & "'"
   
   StrCampi = StrCampi & ", UTCC"
   StrValori = StrValori & "," & vUtCC & ""
   StrCampi = StrCampi & ", UTDC"
   StrValori = StrValori & ",CONVERT(DATETIME, '" & Format(vUtDC, "yyyy/mm/dd") & "',102)"
   StrCampi = StrCampi & ", UTCV"
   StrValori = StrValori & "," & vUtCV & ""
   If IsDate(vUtDV) = True Then
      StrCampi = StrCampi & ", UTDV"
      StrValori = StrValori & ",CONVERT(DATETIME, '" & Format(vUtDV, "yyyy/mm/dd") & "',102)"
   End If
   
   StrCampi = StrCampi & ", MVCODMAG"
   StrValori = StrValori & ",'" & VerificaApici(vCodMag) & "'"
   
   StrCampi = StrCampi & ", MVCARMOS"
   StrValori = StrValori & "," & IIf(pAcquistoMosto, 1, 0) & ""
   
   
      strStringa = "INSERT INTO " & TABELLA & " (" & StrCampi & ") VALUES ( " & StrValori & " )"
      ConnessioneAzienda.Execute (strStringa)

End Sub

Public Sub Insert_DOC_DETT(vSerial As Long, vCPRowNum As Integer, vTipRig As String, vCodArt As String, vDesArt As String, _
                            vUniMis As String, vCauMag As String, vCodMag As String, vPesRis As Double, vPesDoc As Double, _
                            vPesTag As Double, vPrzNet As Double, vGrado As Single, vCodIva As String, vCodPdc As String, _
                            vListin As Long, vContra As Long, vValRig As Double, vMovQta As String, vMovVal As String, _
                            vRowRif As Integer, vSerRif As Long, vMasVol As Double, vCodPro As String, vManPro As String, _
                            vCampag As String, vFacRif As Long, vCodSil As Integer, vIdeSil As Long, vQtaSil As Double, _
                            vCodSi2 As Integer, vIdeSi2_non_in_uso As Long, vMasVol2 As Double, vOperat As String, vMoltip As Single, _
                            vHlSil As Double, vHlSi2 As Double)
   
   Dim StrCampi As String
   Dim StrValori As String
   Dim strStringa As String
   Dim TABELLA As String
   
'   If TABELLA_FOR = True Then
'      TABELLA = "DOC_DETT_FOR"
'   Else
      TABELLA = "DOC_DETT"
'   End If

   StrCampi = "MVSERIAL"
   StrValori = "" & vSerial & ""
   StrCampi = StrCampi & ", CPROWNUM"
   StrValori = StrValori & "," & vCPRowNum & ""
   StrCampi = StrCampi & ", MVTIPRIG"
   StrValori = StrValori & ",'" & vTipRig & "'"
   StrCampi = StrCampi & ", MVCODART"
   StrValori = StrValori & ",'" & VerificaApici(vCodArt) & "'"
   StrCampi = StrCampi & ", MVDESART"
   StrValori = StrValori & ",'" & VerificaApici(vDesArt) & "'"
   StrCampi = StrCampi & ", MVUNIMIS"
   StrValori = StrValori & ",'" & VerificaApici(vUniMis) & "'"
   StrCampi = StrCampi & ", MVCAUMAG"
   StrValori = StrValori & ",'" & VerificaApici(vCauMag) & "'"
   StrCampi = StrCampi & ", MVCODMAG"
   StrValori = StrValori & ",'" & VerificaApici(vCodMag) & "'"
   StrCampi = StrCampi & ", MVPESRIS"
   StrValori = StrValori & "," & Replace(vPesRis, ",", ".") & ""
   StrCampi = StrCampi & ", MVPESDOC"
   StrValori = StrValori & "," & Replace(vPesDoc, ",", ".") & ""
   StrCampi = StrCampi & ", MVPESTAG"
   StrValori = StrValori & "," & Replace(vPesTag, ",", ".") & ""
   StrCampi = StrCampi & ", MVPRZNET"
   StrValori = StrValori & "," & Replace(vPrzNet, ",", ".") & ""
   StrCampi = StrCampi & ", MVGRADO"
   StrValori = StrValori & "," & Replace(vGrado, ",", ".") & ""
   StrCampi = StrCampi & ", MVCODIVA"
   StrValori = StrValori & ",'" & vCodIva & "'"
   StrCampi = StrCampi & ", MVCODPDC"
   StrValori = StrValori & ",'" & vCodPdc & "'"
   StrCampi = StrCampi & ", MVCODPRO" 'CODICE PRODOTTO
   StrValori = StrValori & ",'" & vCodPro & "'"
   StrCampi = StrCampi & ", MVMANPRO" 'MANIPOLAZIONE PRODOTTO
   StrValori = StrValori & ",'" & vManPro & "'"
   StrCampi = StrCampi & ", MVCAMPAG" 'Campagna Vinicola
   StrValori = StrValori & ",'" & vCampag & "'"
   StrCampi = StrCampi & ", MVLISTIN"
   StrValori = StrValori & "," & vListin & ""
   StrCampi = StrCampi & ", MVCONTRA"
   StrValori = StrValori & "," & vContra & ""
   StrCampi = StrCampi & ", MVVALRIG"
   StrValori = StrValori & "," & Replace(vValRig, ",", ".") & ""
   StrCampi = StrCampi & ", MVMOVQTA"
   StrValori = StrValori & ",'" & vMovQta & "'"
   StrCampi = StrCampi & ", MVMOVVAL"
   StrValori = StrValori & ",'" & vMovVal & "'"
   StrCampi = StrCampi & ", MVROWRIF"
   StrValori = StrValori & "," & vRowRif & ""
   StrCampi = StrCampi & ", MVSERRIF"
   StrValori = StrValori & "," & vSerRif & ""
   StrCampi = StrCampi & ", MVFACRIF"
   StrValori = StrValori & "," & vFacRif & ""
   
   StrCampi = StrCampi & ", MVCODSIL"
   StrValori = StrValori & "," & vCodSil & ""
   StrCampi = StrCampi & ", MVIDESIL"
   StrValori = StrValori & "," & vIdeSil & ""
   StrCampi = StrCampi & ", MVQTASIL"
   StrValori = StrValori & "," & Replace(vQtaSil, ",", ".") & ""
      
   StrCampi = StrCampi & ", MVCODSI2"
   StrValori = StrValori & ",0" '" & vCodSi2 & ""
   StrCampi = StrCampi & ", MVIDESI2"
   StrValori = StrValori & ",0" '" & vIdeSi2 & ""
   StrCampi = StrCampi & ", MVQTASI2"
   StrValori = StrValori & ",0" '" & Replace(vQtaSi2, ",", ".") & ""
      
   StrCampi = StrCampi & ", MVMASVOL" 'MASSA VOLUMICA
   StrValori = StrValori & "," & Replace(vMasVol, ",", ".") & ""
   'Massa Volumica 2 calcolata dal GRADO (per le vendite) _
    Se 0 allora imposto lo stesso valore di Massa Volumica principale (digitata a mano)
   StrCampi = StrCampi & ", MVMASVO2"
   StrValori = StrValori & "," & Replace(IIf(vMasVol2 = 0, vMasVol, vMasVol2), ",", ".") & ""
      
   StrCampi = StrCampi & ", MVOPERAT"
   StrValori = StrValori & ",'" & vOperat & "'"
   StrCampi = StrCampi & ", MVMOLTIP"
   StrValori = StrValori & "," & Replace(vMoltip, ",", ".") & ""
            
   StrCampi = StrCampi & ", MV_HLSIL"
   StrValori = StrValori & "," & Replace(vHlSil, ",", ".") & ""
   'Ettolitri calcolati partendo dal GRADO (per le vendite) _
    Se 0 allora imposto lo stesso valore di Ettolitri principale (calcolati dalla Massa Volumica digitata a mano)
   StrCampi = StrCampi & ", MV_HLSI2"
   StrValori = StrValori & "," & Replace(IIf(vHlSi2 = 0, vHlSil, vHlSi2), ",", ".") & ""
            
      
   strStringa = "INSERT INTO " & TABELLA & " (" & StrCampi & ") VALUES ( " & StrValori & " )"
   ConnessioneAzienda.Execute (strStringa)

End Sub


Public Sub Insert_DOC_STAMPA(vSerial As Long, vTipDoc As String, vCatDoc As String, vFlVeAc As String, vCodSez As String, _
                             vPrgSez As Long, vNumDoc As Long, vAlfDoc As String, vDatDoc As String, vAnnDoc As String, _
                             vCauMag As String, vTipCon As String, vCodCon As String, vCodAge As String, vCodMag As String, _
                             vCodPag As String, vCodTra As String, vOraTra As String, vDatTra As String, vTarTra As String, _
                             vRifFaD As Long, vRifTra As Long, vTotImp As Double, vTotIva As Double, vNote As String, _
                             vCPRowNum As Integer, vTipRig As String, vCodArt As String, vDesArt As String, vUniMis As String, _
                             vPesRis As Double, vPesDoc As Double, vPesTag As Double, vPrzNet As Double, vPrzLor As Double, _
                             vGrado As Single, vCodIva As String, vCodPdc As String, vListin As String, vContra As String, _
                             vValRig As Double, vNoteRig As String, vValIva As Single, vTipoDato As Byte, vTotAcconti As Double, _
                             vDatSez As String, vGruMer As String, vCodBan As String, vTarRim As String, vCodPro As String, _
                             vManPro As String, vCodPor As String, vMasVol As Single, vCodCol As String, vNumCon As String, _
                             vCodDes As String, vCodSpe As String, vCodCauTra As String, vCampag As String, vFacRif As Long)
  
   Dim StrCampi As String
   Dim StrValori As String
   Dim strStringa As String
   Dim RS As ADODB.Recordset
   Dim RS1 As ADODB.Recordset
   Dim strRicerca As String
   Dim ResaGruMer As Single
   
   Dim v_ValDOCO As String

   Dim v_DesIva As String

'MASTER
   StrCampi = "MVSERIAL"
   StrValori = "" & vSerial & ""
   StrCampi = StrCampi & ", Tipo_Dato"
   StrValori = StrValori & "," & vTipoDato & ""
   If Len(Trim(vTipDoc)) > 0 Then
      StrCampi = StrCampi & ", MVTIPDOC"
      StrValori = StrValori & ",'" & vTipDoc & "'"
      StrCampi = StrCampi & ", MVDESDOC"
      StrValori = StrValori & ",'" & VerificaApici(DecodTIPDOC(vFlVeAc, "TDTIPDOC", vTipDoc, "")) & "'"
   End If
   StrCampi = StrCampi & ", MVCATDOC"
   StrValori = StrValori & ",'" & vCatDoc & "'"
   StrCampi = StrCampi & ", MVFLVEAC"
   StrValori = StrValori & ",'" & vFlVeAc & "'"
   If Len(Trim(vCodSez)) > 0 Then 'SEZIONALE
      StrCampi = StrCampi & ", MVCODSEZ"
      StrValori = StrValori & ",'" & vCodSez & "'"
      StrCampi = StrCampi & ", MVDESSEZ"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("SEZION", "TGCODICE", vCodSez, "")) & "'"
   End If
   StrCampi = StrCampi & ", MVPRGSEZ"
   StrValori = StrValori & "," & vPrgSez & ""
   If Len(vDatSez) > 0 Then
      StrCampi = StrCampi & ", MVDATSEZ"
      StrValori = StrValori & "," & DataOraSQL(vDatSez, False) & ""
   End If
   StrCampi = StrCampi & ", MVNUMDOC"
   StrValori = StrValori & "," & vNumDoc & ""
   StrCampi = StrCampi & ", MVALFDOC"
   StrValori = StrValori & ",'" & VerificaApici(vAlfDoc) & "'"
   If Len(vDatDoc) > 0 Then
      StrCampi = StrCampi & ", MVDATDOC"
      StrValori = StrValori & "," & DataOraSQL(vDatDoc, False) & ""
   End If
   StrCampi = StrCampi & ", MVANNDOC"
   StrValori = StrValori & ",'" & vAnnDoc & "'"
   StrCampi = StrCampi & ", MVCAUMAG"
   StrValori = StrValori & ",'" & vCauMag & "'"
   'If vCodCon <> vCodDes Then 'Stampo di Dati dell'acquirente CLIENTE solo se e' diverso dal Destinatario
      If Len(Trim(vCodCon)) > 0 Then 'DATI DEL CLIENTE
         strRicerca = "Select ANDESCRI,ANDESCR2,ANINDIRI,AN___CAP,ANLOCALI,ANPROVIN,ANCODFIS,ANPARIVA " & _
                      "From CONTI where ANTIPCON+ANCODICE = '" & VerificaApici(vTipCon + vCodCon) & "'"
         Set RS = New ADODB.Recordset
         RS.Open strRicerca, ConnessioneAzienda, adOpenStatic
         If Not RS.EOF Then
            StrCampi = StrCampi & ", MVTIPCON"
            StrValori = StrValori & ",'" & vTipCon & "'"
            StrCampi = StrCampi & ", MVCODCON"
            StrValori = StrValori & ",'" & VerificaApici(vCodCon) & "'"
            StrCampi = StrCampi & ", ANDESCON"
            StrValori = StrValori & ",'" & VerificaApici(RS!ANDESCRI) & "'"
            StrCampi = StrCampi & ", ANDESCON2"
            StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANDESCR2)) & "'"
            StrCampi = StrCampi & ", ANINDIRICON"
            StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANINDIRI)) & "'"
            StrCampi = StrCampi & ", AN___CAPCON"
            StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!AN___CAP)) & "'"
            StrCampi = StrCampi & ", ANLOCALICON"
            StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANLOCALI)) & "'"
            StrCampi = StrCampi & ", ANPROVINCON"
            StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANPROVIN)) & "'"
            StrCampi = StrCampi & ", ANCODFISCON"
            StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANCODFIS)) & "'"
            StrCampi = StrCampi & ", ANPARIVACON"
            StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANPARIVA)) & "'"
         End If
         RS.Close
         Set RS = Nothing
      End If
   'End If
   If Len(Trim(vCodDes)) > 0 Then 'DATI DEL DESTINATARIO
      strRicerca = "Select ANDESCRI,ANDESCR2,ANINDIRI,AN___CAP,ANLOCALI,ANPROVIN,ANCODFIS,ANPARIVA " & _
                   "From CONTI where ANTIPCON+ANCODICE = '" & VerificaApici(vTipCon + vCodDes) & "'"
      Set RS = New ADODB.Recordset
      RS.Open strRicerca, ConnessioneAzienda, adOpenStatic
      If Not RS.EOF Then
         'StrCampi = StrCampi & ", MVTIPDES"
         'StrValori = StrValori & ",'" & vTipCon & "'"
         StrCampi = StrCampi & ", MVCODDES"
         StrValori = StrValori & ",'" & VerificaApici(vCodDes) & "'"
         StrCampi = StrCampi & ", ANDESDES"
         StrValori = StrValori & ",'" & VerificaApici(RS!ANDESCRI) & "'"
         StrCampi = StrCampi & ", ANDESDES2"
         StrValori = StrValori & ",'" & VerificaApici(RS!ANDESCR2) & "'"
         StrCampi = StrCampi & ", ANINDIRIDES"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANINDIRI)) & "'"
         StrCampi = StrCampi & ", AN___CAPDES"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!AN___CAP)) & "'"
         StrCampi = StrCampi & ", ANLOCALIDES"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANLOCALI)) & "'"
         StrCampi = StrCampi & ", ANPROVINDES"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANPROVIN)) & "'"
         'StrCampi = StrCampi & ", ANCODFISCON"
         'StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANCODFIS)) & "'"
         StrCampi = StrCampi & ", ANPARIVADES"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANPARIVA)) & "'"
      End If
      RS.Close
      Set RS = Nothing
   End If
   If Len(Trim(vCodSpe)) > 0 Then 'DATI del Luogo di Spedizione (Agganciato al Destinatario)
      strRicerca = "SELECT SPTIPCON,SPCODCON,SPCODICE,SPDESCRI,SPINDIRI,SP___CAP,SPLOCALI,SPPROVIN " & _
                   "From dbo.CLI_SPED WHERE (SPTIPCON + SPCODCON + SPCODICE = '" & vTipCon + vCodDes + vCodSpe & "') "
      Set RS = New ADODB.Recordset
      RS.Open strRicerca, ConnessioneAzienda, adOpenStatic
      If Not RS.EOF Then
         StrCampi = StrCampi & ", MVCODSPE"
         StrValori = StrValori & ",'" & VerificaApici(vCodSpe) & "'"
         'StrCampi = StrCampi & ", ANDESSPE"
         'StrValori = StrValori & ",'" & VerificaApici(RS!SPDESCRI) & "'"
         StrCampi = StrCampi & ", ANINDIRISPE"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!SPINDIRI)) & "'"
         'StrCampi = StrCampi & ", AN___CAPSPE"
         'StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!SP___CAP)) & "'"
         StrCampi = StrCampi & ", ANLOCALISPE"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!SP___CAP) & " " & NonNullo(RS!SPLOCALI) & " " & NonNullo(RS!SPPROVIN)) & "'"
         'StrCampi = StrCampi & ", ANPROVINSPE"
         'StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!SPPROVIN)) & "'"
         'StrCampi = StrCampi & ", ANCODFISCON"
         'StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANCODFIS)) & "'"
         'StrCampi = StrCampi & ", ANPARIVACON"
         'StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANPARIVA)) & "'"
      End If
      RS.Close
      Set RS = Nothing
   End If
   If Len(Trim(vCodAge)) > 0 Then 'AGENTE
      StrCampi = StrCampi & ", MVCODAGE"
      StrValori = StrValori & ",'" & VerificaApici(vCodAge) & "'"
      StrCampi = StrCampi & ", TGDESAGE"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("AGENTI", "TGCODICE", vCodAge, "")) & "'"
   End If
   If Len(Trim(vCodMag)) > 0 Then 'MAGAZZINO
      StrCampi = StrCampi & ", MVCODMAG"
      StrValori = StrValori & ",'" & VerificaApici(vCodMag) & "'"
      StrCampi = StrCampi & ", TGDESMAG"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("MAGAZZ", "TGCODICE", vCodMag, "")) & "'"
   End If
   If Len(Trim(vCodPag)) > 0 Then 'CONDIZIONE DI PAGAMENTO
      StrCampi = StrCampi & ", MVCODPAG"
      StrValori = StrValori & ",'" & VerificaApici(vCodPag) & "'"
      StrCampi = StrCampi & ", TGDESPAG"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("PAGAME", "TGCODICE", vCodPag, "")) & "'"
   End If
   If Len(Trim(vCodPor)) > 0 Then 'PORTO (FRANCO, ASSEGNATO...)
      StrCampi = StrCampi & ", MVCODPOR"
      StrValori = StrValori & ",'" & VerificaApici(vCodPor) & "'"
      StrCampi = StrCampi & ", MVDESPOR"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("PORTIS", "TGCODICE", vCodPor, "")) & "'"
   End If
   If Len(Trim(vCodCol)) > 0 Then 'COLLI
      StrCampi = StrCampi & ", MVCODCOL"
      StrValori = StrValori & ",'" & VerificaApici(vCodCol) & "'"
      StrCampi = StrCampi & ", MVDESCOL"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("COLLIS", "TGCODICE", vCodCol, "")) & "'"
   End If
   If Len(Trim(vCodTra)) > 0 Then 'TRASPORTATORE
      strRicerca = "Select ANDESCRI,ANINDIRI,AN___CAP,ANLOCALI,ANPROVIN,ANISCALB,ANPARIVA from CONTI where ANTIPCON+ANCODICE = '" & VerificaApici("T" + vCodTra) & "'"
      Set RS = New ADODB.Recordset
      RS.Open strRicerca, ConnessioneAzienda, adOpenStatic
      If Not RS.EOF Then
         StrCampi = StrCampi & ", MVCODTRA"
         StrValori = StrValori & ",'" & VerificaApici(vCodTra) & "'"
         StrCampi = StrCampi & ", ANDESTRA"
         StrValori = StrValori & ",'" & VerificaApici(RS!ANDESCRI) & "'"
         StrCampi = StrCampi & ", ANINDIRITRA"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANINDIRI)) & "'"
         StrCampi = StrCampi & ", ANLOCALITRA"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!AN___CAP) & " " & NonNullo(RS!ANLOCALI) & " " & NonNullo(RS!ANPROVIN)) & "'"
         StrCampi = StrCampi & ", ANPARIVATRA"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANPARIVA)) & "'"
         StrCampi = StrCampi & ", ANISCALB"
         StrValori = StrValori & ",'" & VerificaApici(NonNullo(RS!ANISCALB)) & "'"
      End If
      RS.Close
      Set RS = Nothing
   End If
   If IsDate(vOraTra) = True Then
      StrCampi = StrCampi & ", MVORATRA"
      StrValori = StrValori & "," & DataOraSQL(vOraTra, True) & ""
   End If
   If IsDate(vDatTra) = True Then
      StrCampi = StrCampi & ", MVDATTRA"
      StrValori = StrValori & "," & DataOraSQL(vDatTra, False) & ""
   End If
   StrCampi = StrCampi & ", MVTARTRA"
   StrValori = StrValori & ",'" & VerificaApici(vTarTra) & "'"
   StrCampi = StrCampi & ", MVTARRIM"
   StrValori = StrValori & ",'" & VerificaApici(vTarRim) & "'"
   StrCampi = StrCampi & ", MVRIFFAD"
   StrValori = StrValori & "," & vRifFaD & ""
   StrCampi = StrCampi & ", MVRIFTRA"
   StrValori = StrValori & "," & vRifTra & ""
   If Len(Trim(vCodCauTra)) > 0 Then 'SEZIONALE
      StrCampi = StrCampi & ", MVCODCAUTRA"
      StrValori = StrValori & ",'" & vCodCauTra & "'"
      StrCampi = StrCampi & ", MVDESCAUTRA"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("CAUTRA", "TGCODICE", vCodCauTra, "")) & "'"
   End If
   StrCampi = StrCampi & ", MVTOTIMP"
   StrValori = StrValori & "," & Replace(vTotImp, ",", ".") & ""
   StrCampi = StrCampi & ", MVTOTIVA"
   StrValori = StrValori & "," & Replace(vTotIva, ",", ".") & ""
   StrCampi = StrCampi & ", MV__NOTE"
   StrValori = StrValori & ",'" & VerificaApici(vNote) & "'"
   StrCampi = StrCampi & ", MVNUMCON"
   StrValori = StrValori & ",'" & vNumCon & "'"


'************************************************************************
'DETTAGLIO
   StrCampi = StrCampi & ", CPROWNUM"
   StrValori = StrValori & "," & vCPRowNum & ""
   StrCampi = StrCampi & ", MVTIPRIG"
   StrValori = StrValori & ",'" & vTipRig & "'"
   StrCampi = StrCampi & ", MVCODART"
   StrValori = StrValori & ",'" & VerificaApici(vCodArt) & "'"
   StrCampi = StrCampi & ", MVDESART"
   'In caso di DDT di VENDITA (DOCO) prendo l'articolo in modo diverso: _
    cioe' concateno la descrizione di tutte le righe presenti nel Documento
   If vCatDoc & vFlVeAc = "DTV" Then
      StrValori = StrValori & ",'" & VerificaApici(ConcatenaDesArtDoc(vSerial)) & "'"
   
      StrCampi = StrCampi & ", KG_LETTERE"
      StrValori = StrValori & ",'" & NumeroInLettere(vPesRis * 100) & "'" 'Qui trasformo i Qli in Kg e li traduco in lettere
      If vMasVol > 0 Then
         StrCampi = StrCampi & ", FLAG_MV_TA"
         StrValori = StrValori & ",'" & DecodFlagART_MV_TA(vCodArt) & "'"
      
         StrCampi = StrCampi & ", LT_LETTERE"
         StrValori = StrValori & ",'" & NumeroInLettere(Format((vPesRis * 100) / vMasVol, "########0")) & "'" 'Qui trasformo i Kg in Lt e li traduco in lettere
      End If
   Else
      StrValori = StrValori & ",'" & VerificaApici(vDesArt) & "'"
   End If
   StrCampi = StrCampi & ", MVUNIMIS"
   StrValori = StrValori & ",'" & VerificaApici(vUniMis) & "'"
   StrCampi = StrCampi & ", MVPESRIS"
   StrValori = StrValori & "," & Replace(vPesRis, ",", ".") & ""
   StrCampi = StrCampi & ", MVPESDOC"
   StrValori = StrValori & "," & Replace(vPesDoc, ",", ".") & ""
   StrCampi = StrCampi & ", MVPESTAG"
   StrValori = StrValori & "," & Replace(vPesTag, ",", ".") & ""
   StrCampi = StrCampi & ", MVVALIVA"
   StrValori = StrValori & "," & Replace(vValIva, ",", ".") & ""
   StrCampi = StrCampi & ", MVPRZNET"
   StrValori = StrValori & "," & Replace(vPrzNet, ",", ".") & ""
   StrCampi = StrCampi & ", MVPRZLOR"
   StrValori = StrValori & "," & Replace(vPrzLor, ",", ".") & ""
   StrCampi = StrCampi & ", MVGRADO"
   StrValori = StrValori & "," & Replace(vGrado, ",", ".") & ""
   StrCampi = StrCampi & ", MVMASVOL"
   StrValori = StrValori & "," & Replace(vMasVol, ",", ".") & ""
   If Len(Trim(vCodIva)) > 0 Then
      StrCampi = StrCampi & ", MVCODIVA"
      StrValori = StrValori & ",'" & vCodIva & "'"
      StrCampi = StrCampi & ", MVDESIVA"
      v_DesIva = VerificaApici(DecodTABGEN("CODIVA", "TGCODICE", vCodIva, ""))
      StrValori = StrValori & ",'" & v_DesIva & "'"
      
      If Len(Trim(g_DESIVA_PP)) = 0 Then g_DESIVA_PP = v_DesIva
   End If
   StrCampi = StrCampi & ", MVDESIVA_PP"
   StrValori = StrValori & ",'" & g_DESIVA_PP & "'"
   
   StrCampi = StrCampi & ", MVCAMPAG"
   StrValori = StrValori & ",'" & VerificaApici(vCampag) & "'"
   'StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("CAMPAG", "TGCODICE", vCampag, "")) & "'"
   StrCampi = StrCampi & ", MVCODPDC"
   StrValori = StrValori & ",'" & vCodPdc & "'"
   StrCampi = StrCampi & ", MVLISTIN"
   StrValori = StrValori & ",'" & vListin & "'"
   StrCampi = StrCampi & ", MVCODPRO"
   StrValori = StrValori & ",'" & VerificaApici(vCodPro) & "'"
   StrCampi = StrCampi & ", MVMANPRO"
   StrValori = StrValori & ",'" & VerificaApici(vManPro) & "'"
   StrCampi = StrCampi & ", MVCONTRA"
   StrValori = StrValori & ",'" & vContra & "'"
   StrCampi = StrCampi & ", MVVALRIG"
   StrValori = StrValori & "," & Replace(vValRig, ",", ".") & ""
   StrCampi = StrCampi & ", MVFACRIF"
   StrValori = StrValori & "," & vFacRif & ""
   StrCampi = StrCampi & ", MVNOTERIGA"
   StrValori = StrValori & ",'" & VerificaApici(vNoteRig) & "'"
   StrCampi = StrCampi & ", TOTACCONTI"
   StrValori = StrValori & "," & Replace(vTotAcconti, ",", ".") & ""
   If Len(Trim(vGruMer)) > 0 Then
      ResaGruMer = DecodTGValoreTABGEN("GRUMER", "TGCODICE", vGruMer)
      StrCampi = StrCampi & ", RESGRUMER"
      'StrValori = StrValori & "," & Replace((ResaGruMer / 100), ",", ".") & ""
      StrValori = StrValori & "," & Replace((ResaGruMer), ",", ".") & ""
   End If
   
   'FAMIGLIA ARTICOLO
   If Len(Trim(varInsStm_CodFamArt)) > 0 Then
      StrCampi = StrCampi & ", MVCODFAM"
      StrValori = StrValori & ",'" & VerificaApici(varInsStm_CodFamArt) & "'"
      StrCampi = StrCampi & ", MVDESFAM"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("FAMIGL", "TGCODICE", varInsStm_CodFamArt)) & "'"
   End If
   
   'SOTTO-FAMIGLIA ARTICOLO
   If varInsStm_CodSotFamArt > 0 Then
      StrCampi = StrCampi & ", MVCODSOTFAM"
      StrValori = StrValori & ",'" & VerificaApici(varInsStm_CodSotFamArt) & "'"
      StrCampi = StrCampi & ", MVDESSOTFAM"
      StrValori = StrValori & ",'" & VerificaApici(DecodSOTFAM("", "SFCODICE", varInsStm_CodSotFamArt)) & "'"
   End If
   
   
   'Se true significa che devo estrarre altri campi Codice e Descizione associati all'articolo
   'If varEstraiAltriCampiArticolo Then
      StrCampi = StrCampi & ", sDESPRODOTTO"
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("CODPRO", "TGCODICE", vCodPro)) & "'"
                  
      strRicerca = "Select ARGRUMER, ARCARPRO " & _
                   "FROM ART_ICOL WHERE ARCODICE = '" & VerificaApici(vCodArt) & "'"
      Set RS1 = New ADODB.Recordset
      RS1.Open strRicerca, ConnessioneAzienda, adOpenStatic
      If Not RS1.EOF Then
         If Len(NonNullo(RS1!ARGRUMER)) > 0 Then
            StrCampi = StrCampi & ", sCODGRUMER"
            StrValori = StrValori & ",'" & VerificaApici(RS1!ARGRUMER) & "'"
            StrCampi = StrCampi & ", sDESGRUMER"
            StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("GRUMER", "TGCODICE", RS1!ARGRUMER)) & "'"
         End If
         If Len(NonNullo(RS1!ARCARPRO)) > 0 Then
            StrCampi = StrCampi & ", sCODCARATT"
            StrValori = StrValori & ",'" & VerificaApici(RS1!ARCARPRO) & "'"
            StrCampi = StrCampi & ", sDESCARATT"
            StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("CARPRO", "TGCODICE", RS1!ARCARPRO)) & "'"
         End If
      End If
      RS1.Close
      Set RS1 = Nothing
   'End If
   

'************************************************************************
'ALTRI DATI
   If Len(Trim(vCodBan)) > 0 Then 'BANCA
      StrCampi = StrCampi & ", TGCODBAN"
      StrValori = StrValori & ",'" & VerificaApici(vCodBan) & "'"
      StrCampi = StrCampi & ", TGDESBAN" 'DESCRIZIONE
      StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("CONBAN", "TGCODICE", vCodBan, "")) & "'"
      StrCampi = StrCampi & ", TGABIBAN" 'ABI
      StrValori = StrValori & ",'" & DECOD_VALORE_CAMPO("TAB_GEN", "TGCHIAVE+TGCODICE", "CONBAN" & vCodBan, "TGTESTO1") & "'"
      StrCampi = StrCampi & ", TGCABBAN" 'CAB
      StrValori = StrValori & ",'" & DECOD_VALORE_CAMPO("TAB_GEN", "TGCHIAVE+TGCODICE", "CONBAN" & vCodBan, "TGTESTO3") & "'"
      StrCampi = StrCampi & ", TGCINBAN" 'CIN
      StrValori = StrValori & ",'" & DECOD_VALORE_CAMPO("TAB_GEN", "TGCHIAVE+TGCODICE", "CONBAN" & vCodBan, "TGTESTO4") & "'"
      StrCampi = StrCampi & ", TGCCBAN" 'CONTO CORRENTE C/C
      StrValori = StrValori & ",'" & DECOD_VALORE_CAMPO("TAB_GEN", "TGCHIAVE+TGCODICE", "CONBAN" & vCodBan, "TGTESTO2") & "'"
      StrCampi = StrCampi & ", TGIBAN" 'IBAN
      StrValori = StrValori & ",'" & DECOD_VALORE_CAMPO("TAB_GEN", "TGCHIAVE+TGCODICE", "CONBAN" & vCodBan, "TGTESTO5") & "'"
   End If


'************************************************************************
'DATI ESCLUSIVI PER I DOCO (DDTVE)
   If vTipDoc = "DDTVE" Then 'Altri Dati per i DOCO (Spedizione e Modello Documento)
      v_ValDOCO = DECOD_VALORE_CAMPO("DOC_MAST", "MVSERIAL", Trim(Str(vSerial)), "MVSPEDIZ")
       StrCampi = StrCampi & ", MVCODSPEDIZ"
       StrValori = StrValori & ",'" & VerificaApici(v_ValDOCO) & "'"
       StrCampi = StrCampi & ", MVDESSPEDIZ" 'DESCRIZIONE
       StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("SPEDIZ", "TGCODICE", v_ValDOCO, "")) & "'"
      
      v_ValDOCO = DECOD_VALORE_CAMPO("DOC_MAST", "MVSERIAL", Trim(Str(vSerial)), "MVMODDOC")
       StrCampi = StrCampi & ", MVCODMODDOC"
       StrValori = StrValori & ",'" & VerificaApici(v_ValDOCO) & "'"
       StrCampi = StrCampi & ", MVDESMODDOC" 'DESCRIZIONE
       StrValori = StrValori & ",'" & VerificaApici(DecodTABGEN("MODDOC", "TGCODICE", v_ValDOCO, "")) & "'"
   
      v_ValDOCO = DECOD_VALORE_CAMPO("DOC_MAST", "MVSERIAL", Trim(Str(vSerial)), "MVAUTIST") 'NOME AUTISTA PER IL DOCO
       StrCampi = StrCampi & ", MVNOMEAUTISTA"
       StrValori = StrValori & ",'" & VerificaApici(v_ValDOCO) & "'"
   
      'g_PAR_STAMPA.NOME_AUTISTA
   End If


'************************************************************************
'DATI AZIENDA PASSATI FISSI IN OGNI STAMPA
   StrCampi = StrCampi & ", AZDESAZI"
   StrValori = StrValori & ",'" & VerificaApici(DesAzienda) & "'"
   StrCampi = StrCampi & ", AZINDAZI"
   StrValori = StrValori & ",'" & VerificaApici(IndAzienda) & "'"
   StrCampi = StrCampi & ", AZLOCAZI"
   StrValori = StrValori & ",'" & VerificaApici(LocAzienda) & "'"
   StrCampi = StrCampi & ", AZTELAZI"
   StrValori = StrValori & ",'" & VerificaApici(IIf(Len(Trim(TelAzienda)) > 0, "Tel.: " & Trim(TelAzienda), "")) & "'"
   StrCampi = StrCampi & ", AZFAXAZI"
   'StrValori = StrValori & ",'" & VerificaApici(FaxAzienda) & "'"
   StrValori = StrValori & ",'" & VerificaApici(IIf(Len(Trim(FaxAzienda)) > 0, "Fax: " & Trim(FaxAzienda), "")) & "'"
   StrCampi = StrCampi & ", AZPIVAZI"
   StrValori = StrValori & ",'" & VerificaApici(PIvAzienda) & "'"
   StrCampi = StrCampi & ", AZCODUTE"
   StrValori = StrValori & "," & Operatore & ""
   StrCampi = StrCampi & ", AZDESUTE"
   StrValori = StrValori & ",'" & VerificaApici(DesOperatore) & "'"


'************************************************************************
   strStringa = "INSERT INTO STAMPE (" & StrCampi & ") VALUES ( " & StrValori & " )"
   ConnSTAMPA.Execute (strStringa)


'PULISCO LE VARIABILI AGGIUNTIVE
   varInsStm_CodFamArt = ""
   varInsStm_CodSotFamArt = 0
   'varEstraiAltriCampiArticolo = False 'non puņ stare qui altrimenti gestisce SOLO il primo articolo e gli altri li salta

End Sub


'Public Sub PulisciParametriStampa()
'
'   g_PAR_STAMPA.NOME_AUTISTA = ""
'
'End Sub

   

