Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Friend Class frmGerarDadosSiase
	Inherits System.Windows.Forms.Form
	Private istrExtensaoArq As String
	Private istrNmArq As String
	Private istrPath As String
	
	Private Sub cmdArquivo_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdArquivo.Click
		Dim lstrAux As String
		Call NomeArquivo()
		'UPGRADE_WARNING: Filter has a new behavior. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="9B7D5ADD-D8FE-4819-A36C-6DEDAF088CC7"'
		Me.dialArqOpen.Filter = "*." & Me.dialArqOpen.DefaultExt
		Me.dialArqOpen.FileName = StrReverse(Mid(StrReverse(Me.txtArquivo.Text), CInt(InStr(StrReverse(Me.txtArquivo.Text), "\")))) & istrNmArq & "." & Me.dialArqOpen.DefaultExt
		Me.dialArqOpen.Title = "Arquivo de exportação de faturas"
		Me.dialArqOpen.ShowDialog()
		lstrAux = StrReverse(Me.dialArqOpen.FileName)
		Me.txtArquivo.Text = StrReverse(Mid(lstrAux, CInt(InStr(lstrAux, "\")))) & istrNmArq & "." & Me.dialArqOpen.DefaultExt
	End Sub
	
	Private Sub cmdExporta_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdExporta.Click
		Call Processa()
	End Sub
	
	Private Sub cmdFechar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdFechar.Click
		Call Me.Close()
	End Sub
	
	Private Sub Processa()
		'Fatura
		Dim lstrNF_FlgMedFat As String
		Dim lstrNF_Flgst As String
		Dim lstrNF_CodClas As String
		Dim lintNF_Irrigacao_Aquicultura As Short
		Dim lintNF_MicroGeracao As Short
		Dim lintNF_MicroGeracaoDistrituiba As Short
		Dim lintNF_ParcialmenteCativo As Short
		Dim lintNF_TarifaBranca As Short
		Dim lintNF_LivreVerde As Short
		Dim ldblNF_ConsumoFat As Double
		Dim lstrNF_GrTar As String
		Dim lstrNF_Grupo As String
		Dim lstrNF_Fase As String
		Dim lstrNF_Itens As String
		Dim ldteNF_Emissao As Date
		Dim ldteNF_Vecto As Date
		Dim ldteNF_LeitAtual As Date
		Dim ldteNF_LeitAnter As Date
		Dim lstrNF_Mesano As String
		Dim ldblNF_NumNf As Double
		Dim lstrNF_Zona As String
		Dim lstrNF_Livro As String
		Dim lstrNF_Conta As String
		Dim lstrNF_CpfCnpj As String
		Dim llngNF_ConsId As Integer
		Dim llngNF_UnidId As Integer
		Dim lstrNF_Medidor As String
		Dim ldblNF_ValorTot As Double
		Dim ldblNF_ValorLiq As Double
		Dim ldblNF_BaseIcms1 As Double
		Dim ldblNF_BaseIcms2 As Double
		Dim ldblNF_VlrIcms1 As Double
		Dim ldblNF_VlrIcms2 As Double
		Dim ldblNF_BasePisCof As Double
		Dim ldblNF_VlrPis As Double
		Dim ldblNF_VlrCofins As Double
		Dim ldblNF_ReceitaBandeira As Double
		'Unidade Consumidora
		Dim lstrUC_Regiao As String
		Dim ldteUC_Ligacao As Date
		Dim ldteUC_Desliga As Date
		Dim lstrUC_Situacao As String
		Dim lstrUC_Nome As String
		Dim lstrUC_CpfCNpj As String
		Dim llngUC_ConsId As Integer
		Dim lstrUC_Endereco As String
		Dim lstrUC_EndNumero As String
		Dim lstrUC_EndBairro As String
		Dim lstrUC_EndCep As String
		Dim lstrUC_EndCod As String
		Dim lstrUC_Medidor As String
		
		'Consumidor
		Dim lstrC_Nome As String
		Dim lstrC_CpfCNpj As String
		Dim lstrC_Matricula As String
		
		'NIS
		Dim lstrNis_Numero As String
		Dim lstrNis_BPC As String
		Dim ldteNis_Cadastro As Date
		Dim ldteNis_Alteracao As Date
		Dim lstrNis_Cpf As String
		Dim lstrNis_CodFam As String
		'
		'UPGRADE_WARNING: Lower bound of array lstrCampos was changed from 1 to 0. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="0F1C9BE1-AF9D-476E-83B1-17D43BECFF20"'
		Dim lstrCampos(130) As String
		'
		Dim lintAux As Short
		Dim lstrLin As String
		Dim lintARQ As Short
		Dim lstrSql As String
		Dim lrstAux As ADODB.Recordset
		lrstAux = New ADODB.Recordset
		Dim lrstNis As ADODB.Recordset
		lrstNis = New ADODB.Recordset
		If Trim(Me.txtArquivo.Text) <> "" Then
			Me.lblInfo.Text = " Buscando as faturas, aguarde..."
			Call Me.lblInfo.Refresh()
			Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
			Call LigDes(False)
			lstrSql = "SELECT nf.* "
			'
			lstrSql = lstrSql & ", IFNULL(`unida`.`regiao`,`unidb`.`regiao`) `uc_regiao` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`data_ligacao`,`unidb`.`data_ligacao`) `uc_data_ligacao` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`data_desligamento`,`unidb`.`data_desligamento`) `uc_data_desligamento` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`situacao`,`unidb`.`situacao`) `uc_situacao` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`nome`,`unidb`.`nome`) `uc_nome` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`cpf_cnpj`,`unidb`.`cpf_cnpj`) `uc_cpf_cnpj` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`cons_id`,`unidb`.`cons_id`) `uc_cons_id` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`end`,`unidb`.`end`) `uc_endrua` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`numero`,`unidb`.`numero`) `uc_endnumero` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`bairro`,`unidb`.`bairro`) `uc_endbairro` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`cep`,`unidb`.`cep`) `uc_endcep` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`codend`,`unidb`.`codend`) `uc_endcod` "
			lstrSql = lstrSql & ", IFNULL(`unida`.`eletr`,`unidb`.`num`) `uc_medidor` "
			'
			lstrSql = lstrSql & ", IFNULL(`consum`.`nome`,'') `c_nome` "
			lstrSql = lstrSql & ", IFNULL(`consum`.`cgc`,'') `c_cpf_cnpj` "
			lstrSql = lstrSql & ", IFNULL(`consum`.`matricula`,'') `c_matricula` "
			lstrSql = lstrSql & " FROM `nf` "
			lstrSql = lstrSql & " LEFT JOIN `unidb` ON(`unidb`.`unid_id` = `nf`.`unid_id` AND `nf`.`grupo` = 'B') "
			lstrSql = lstrSql & " LEFT JOIN `unida` ON(`unida`.`unid_id` = `nf`.`unid_id` AND `nf`.`grupo` = 'A') "
			lstrSql = lstrSql & " LEFT JOIN `consum` ON(`consum`.`consreg` = `nf`.`cons_id`) "
			lstrSql = lstrSql & " WHERE `mesano_ref` = " & VB6.Format(Me.dtpMesAno.value, "yyyyMM")
			Call Conectar(lstrSql, lrstAux)
			With lrstAux
				If .State = ADODB.ObjectStateEnum.adStateOpen Then
					If .RecordCount > 0 Then
						lintARQ = FreeFile
						FileOpen(lintARQ, Me.txtArquivo.Text, OpenMode.Output)
						Call BarraProgresso((Me.ProgressBar), (Me.lblPerc), (Me.lblInfo), 0, .RecordCount)
						If Me.chkCabecalho.CheckState = System.Windows.Forms.CheckState.Unchecked Then
							lstrLin = MontaCabecalhoCSV
							PrintLine(lintARQ, lstrLin)
						End If
						While Not .EOF
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Mesano = IIf(IsDbNull(.Fields("mesano").value), "", .Fields("mesano").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldblNF_NumNf = IIf(IsDbNull(.Fields("numnf").value), 0, .Fields("numnf").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Grupo = IIf(IsDbNull(.Fields("grupo").value), "B", .Fields("grupo").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_FlgMedFat = IIf(IsDbNull(.Fields("flgmedfat").value), "N", .Fields("flgmedfat").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Flgst = IIf(IsDbNull(.Fields("flgst").value), "", .Fields("flgst").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_CodClas = IIf(IsDbNull(.Fields("codclas").value), "9101", .Fields("codclas").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Fase = IIf(IsDbNull(.Fields("fase").value), "M", .Fields("fase").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_GrTar = Mid(IIf(IsDbNull(.Fields("ta").value), "01B1", .Fields("ta").value), 3, 2)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Itens = IIf(IsDbNull(.Fields("itensserv").value), "", .Fields("itensserv").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lintNF_Irrigacao_Aquicultura = IIf(IsDbNull(.Fields("irrigacao_aquicultura").value), 0, .Fields("irrigacao_aquicultura").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lintNF_MicroGeracao = IIf(IsDbNull(.Fields("micro_geracao").value), 0, .Fields("micro_geracao").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lintNF_MicroGeracaoDistrituiba = IIf(IsDbNull(.Fields("micro_geracao_distribuida").value), 0, .Fields("micro_geracao_distribuida").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lintNF_ParcialmenteCativo = IIf(IsDbNull(.Fields("parcialmente_cativo").value), 0, .Fields("parcialmente_cativo").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lintNF_TarifaBranca = IIf(IsDbNull(.Fields("tarifa_branca").value), 0, .Fields("tarifa_branca").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lintNF_LivreVerde = IIf(IsDbNull(.Fields("livre_verde").value), 0, .Fields("livre_verde").value)
							ldblNF_ConsumoFat = BuscaValorItem(lstrNF_Itens, "030201009")
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldteNF_Emissao = IIf(IsDbNull(.Fields("dataem").value), "1900-01-01", .Fields("dataem").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldteNF_Vecto = IIf(IsDbNull(.Fields("datavenc").value), "1900-01-01", .Fields("datavenc").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldteNF_LeitAtual = IIf(IsDbNull(.Fields("dataleit").value), "1900-01-01", .Fields("dataleit").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldteNF_LeitAnter = IIf(IsDbNull(.Fields("dataleitant").value), "1900-01-01", .Fields("dataleitant").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Zona = IIf(IsDbNull(.Fields("zona").value), "", .Fields("zona").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Livro = IIf(IsDbNull(.Fields("livro").value), "", .Fields("livro").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Conta = IIf(IsDbNull(.Fields("conta").value), "", .Fields("conta").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_CpfCnpj = IIf(IsDbNull(.Fields("cpf_cnpj").value), "", .Fields("cpf_cnpj").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							llngNF_ConsId = IIf(IsDbNull(.Fields("cons_id").value), 0, .Fields("cons_id").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							llngNF_UnidId = IIf(IsDbNull(.Fields("unid_id").value), 0, .Fields("unid_id").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrNF_Medidor = IIf(IsDbNull(.Fields("num_med").value), "", .Fields("num_med").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldblNF_ValorTot = IIf(IsDbNull(.Fields("valortot").value), 0, .Fields("valortot").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldblNF_ValorLiq = IIf(IsDbNull(.Fields("valorliq").value), 0, .Fields("valorliq").value)
							'
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_Regiao = IIf(IsDbNull(.Fields("uc_regiao").value), "U", .Fields("uc_regiao").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldteUC_Ligacao = IIf(IsDbNull(.Fields("uc_data_ligacao").value), "1900-01-01", .Fields("uc_data_ligacao").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							ldteUC_Desliga = IIf(IsDbNull(.Fields("uc_data_desligamento").value), "1900-01-01", .Fields("uc_data_desligamento").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_Situacao = IIf(IsDbNull(.Fields("uc_situacao").value), "", .Fields("uc_situacao").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_Nome = IIf(IsDbNull(.Fields("uc_nome").value), "", .Fields("uc_nome").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_CpfCNpj = IIf(IsDbNull(.Fields("uc_cpf_cnpj").value), "", .Fields("uc_cpf_cnpj").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							llngUC_ConsId = IIf(IsDbNull(.Fields("uc_cons_id").value), 0, .Fields("uc_cons_id").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_Endereco = IIf(IsDbNull(.Fields("uc_endrua").value), "", .Fields("uc_endrua").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_EndNumero = IIf(IsDbNull(.Fields("uc_endnumero").value), "", .Fields("uc_endnumero").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_EndBairro = IIf(IsDbNull(.Fields("uc_endbairro").value), "", .Fields("uc_endbairro").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_EndCep = IIf(IsDbNull(.Fields("uc_endcep").value), "", .Fields("uc_endcep").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_EndCod = IIf(IsDbNull(.Fields("uc_endcod").value), "", .Fields("uc_endcod").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrUC_Medidor = IIf(IsDbNull(.Fields("uc_medidor").value), "", .Fields("uc_medidor").value)
							'
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrC_Nome = IIf(IsDbNull(.Fields("c_nome").value), "", .Fields("c_nome").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrC_CpfCNpj = IIf(IsDbNull(.Fields("c_cpf_cnpj").value), "", .Fields("c_cpf_cnpj").value)
							'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
							lstrC_Matricula = IIf(IsDbNull(.Fields("c_matricula").value), "0", .Fields("c_matricula").value)
							
							'
							'
							'Campo 1 - TipoFaturamento / 1 -Faturamento;2 - Cancelamento;3 - Refaturamento tipo 1;4 - Refaturamento tipo 2
							If lstrNF_FlgMedFat = "S" Then
								lstrCampos(1) = CStr(3)
							Else
								If lstrNF_Flgst = "C" Then
									lstrCampos(1) = CStr(2)
								Else
									lstrCampos(1) = CStr(1)
								End If
							End If
							'Campo 2 - DescricaoClasse / 1 - Residencial;2 - Industrial;3 - Comercial;4 - Rural;5 - Servico Publico;6 - Poder Publico;
							'Campo 2 - DescricaoClasse / 7 - Iluminacao Publica;8 - Consumo Proprio;9 - Nao se aplica
							'campo 3 - DescricaoSubclasse
							If VB.Left(lstrNF_CodClas, 1) = "9" Then
								lstrCampos(2) = "1"
								If VB.Right(lstrNF_CodClas, 1) = "5" Then
									lstrCampos(3) = "3.2"
								Else
									lstrCampos(3) = "3.1"
								End If
							ElseIf CShort(VB.Left(lstrNF_CodClas, 1)) <= 3 Then 
								lstrCampos(2) = "2"
								lstrCampos(3) = "3.30"
							ElseIf CShort(VB.Left(lstrNF_CodClas, 1)) = 4 Then 
								lstrCampos(2) = "3"
								If CShort(VB.Left(lstrNF_CodClas, 2)) = 42 Then
									lstrCampos(3) = "3.8" ' - Comercial - Serviços de transporte, exceto tração elétrica;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 43 Then 
									lstrCampos(3) = "3.9" ' - Comercial - Serviços de comunicações e telecomunicações;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 4)) = 4410 Then 
									lstrCampos(3) = "3.10" '- Comercial - Associação e entidades filantrópicas;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 44 Then 
									lstrCampos(3) = "3.15" '- Comercial - Outros serviços e outras atividades 3;
								Else
									lstrCampos(3) = "3.7" ' - Comercial - Comercial;
									'lstrCampos(3) = "3.11" '- Comercial - Templos religiosos;
									'lstrCampos(3) = "3.12" '- Comercial - Administração condominial: iluminação e instalações de uso comum de prédio ou conjunto de edificações ;
									'lstrCampos(3) = "3.13" '- Comercial - Iluminação em rodovias: solicitada por quem detenha concessão ou autorização para administração em rodovias ;
									'lstrCampos(3) = "3.14" '- Comercial - Semáforos, radares e câmeras de monitoramento de trânsito, solicitados por quem detenha concessão ou autorização para controle de trânsito 3;
								End If
							ElseIf CShort(VB.Left(lstrNF_CodClas, 1)) = 5 Then 
								lstrCampos(2) = "4"
								If CShort(VB.Left(lstrNF_CodClas, 2)) = 52 Then
									lstrCampos(3) = "3.19" ' - Rural - Cooperativa de eletrificação rural;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 53 Then 
									lstrCampos(3) = "3.20" ' - Rural - Agroindustrial;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 54 Then 
									lstrCampos(3) = "3.21" ' - Rural - Serviço público de irrigação rural;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 4)) = 5501 Then 
									lstrCampos(3) = "3.18" ' - Rural - Residencial rural;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 56 Then 
									lstrCampos(3) = "3.22" ' - Rural - Escola agrotécnica;
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 57 Then 
									lstrCampos(3) = "3.23" ' - Rural - Aquicultura;
								Else
									If lstrUC_Regiao = "R" Then
										lstrCampos(3) = "3.16" ' - Rural - Agropecuária rural;
									Else
										lstrCampos(3) = "3.17" ' - Rural - Agropecuária urbana;
									End If
								End If
							ElseIf CShort(VB.Left(lstrNF_CodClas, 1)) = 7 Then 
								lstrCampos(2) = "5"
								lstrCampos(3) = "3.28"
							ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) >= 61 And CShort(VB.Left(lstrNF_CodClas, 2)) <= 63 Then 
								lstrCampos(2) = "6"
								If CShort(VB.Left(lstrNF_CodClas, 2)) = 61 Then
									lstrCampos(3) = "3.26"
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 62 Then 
									lstrCampos(3) = "3.25"
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 63 Then 
									lstrCampos(3) = "3.24"
								End If
							ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 64 Then 
								lstrCampos(2) = "7"
								lstrCampos(3) = "3.31"
							ElseIf CShort(VB.Left(lstrNF_CodClas, 1)) = 8 Then 
								lstrCampos(2) = "8"
								lstrCampos(3) = "3.29"
							Else
								lstrCampos(2) = "9"
								lstrCampos(3) = "3.33"
							End If
							
							'Campo 4 - OpcaoCompraEn / 1 – Cativo;2 – Livre;3 - Parcialmente Livre;4 - Consumidor Especial;5 - Parcialmente Especial;
							'Campo 4 - OpcaoCompraEn / 6 - Comunhão;7 - Suprimento;8 - Distribuidora
							If lintNF_ParcialmenteCativo = 1 Then
								lstrCampos(4) = "3"
							ElseIf lstrNF_GrTar = "AL" Then 
								lstrCampos(4) = "2"
							ElseIf lstrNF_GrTar = "AS" Or lstrNF_GrTar = "AX" Then 
								lstrCampos(4) = "7"
							Else
								lstrCampos(4) = "1"
							End If
							'Campo 5 - CodigoSubgrupoTarifario / 1 – A0;2 – A1;3 – A2;4 – A3;5 – A3a;6 – A4;7 – A4a;8 – A4b;9 – A4c;10 – AS;
							'Campo 5 - CodigoSubgrupoTarifario /11 – B1;12 – B2;13 – B3;14 – B4a;15 – B4b;16 – BT1 Geração (Tipo 1);17 – BT2 Geração (Tipo 2)
							If lstrNF_Grupo = "B" Then
								If CShort(VB.Left(lstrNF_CodClas, 1)) = 9 Then
									lstrCampos(5) = CStr(11)
								ElseIf CShort(VB.Left(lstrNF_CodClas, 1)) = 5 Then 
									lstrCampos(5) = CStr(12)
								ElseIf CShort(VB.Left(lstrNF_CodClas, 2)) = 64 Then 
									If CShort(VB.Left(lstrNF_CodClas, 4)) = 6402 Then
										lstrCampos(5) = CStr(15)
									Else
										lstrCampos(5) = CStr(14)
									End If
								Else
									lstrCampos(5) = CStr(13)
								End If
							Else
								lstrCampos(5) = CStr(6)
							End If
							'Campo 6 ModalidadeTarifaria / 1 – Convencional Monômia;2 – Convencional Binômia;3 – Horária Azul;4 – Horária Azul APE;
							'Campo 6 ModalidadeTarifaria / 5 – Horária Verde;6 – Horária Verde APE;7 – Horária Branca;8 – Pré-pagamento;9 – Geração;10 – Distribuição.
							If lintNF_TarifaBranca = 1 Then
								lstrCampos(6) = CStr(7)
							Else
								If lstrNF_Grupo = "A" Then
									If lstrNF_GrTar = "A4" Then
										lstrCampos(6) = CStr(2)
									ElseIf lstrNF_GrTar = "AV" Or lintNF_LivreVerde = 1 Then 
										lstrCampos(6) = CStr(5)
									Else
										lstrCampos(6) = CStr(3)
									End If
								Else
									lstrCampos(6) = CStr(1)
								End If
							End If
							'campo 7 - TipoConsFat / 1 – Normal, consumo acima do custo de disponibilidade; 2 – Custo de Disponibilidade 30 KWh – MONOFÁSICO;
							'campo 7 - TipoConsFat / 3 – Custo de Disponibilidade 50 kWh – BIFÁSICO; e 4 – Custo de Disponibilidade 100 kWh – TRIFÁSICO.
							If lstrNF_Grupo = "B" Then
								Select Case lstrNF_Fase
									Case Is = "M"
										If ldblNF_ConsumoFat = 30 Then
											lstrCampos(7) = CStr(2)
										Else
											lstrCampos(7) = CStr(1)
										End If
									Case Is = "B"
										If ldblNF_ConsumoFat = 50 Then
											lstrCampos(7) = CStr(3)
										Else
											lstrCampos(7) = CStr(1)
										End If
									Case Is = "T"
										If ldblNF_ConsumoFat = 100 Then
											lstrCampos(7) = CStr(4)
										Else
											lstrCampos(7) = CStr(1)
										End If
								End Select
							Else
								lstrCampos(7) = CStr(1)
							End If
							'campo 8 - DataEmissaoFatura / Data de emissão da fatura
							lstrCampos(8) = VB6.Format(ldteNF_Emissao, "dd/MM/yyyy")
							'campo 9 - DataVencimento / Data de vencimento da fatura
							lstrCampos(9) = VB6.Format(ldteNF_Vecto, "dd/MM/yyyy")
							'campo 10 - DataLeituraAtual / Data em que foi realizada a leitura da fatura
							lstrCampos(10) = VB6.Format(ldteNF_LeitAtual, "dd/MM/yyyy")
							'campo 11 - DataLeituraAnterior / Data em que foi realizada a leitura da fatura anterior à atual
							lstrCampos(11) = VB6.Format(ldteNF_LeitAnter, "dd/MM/yyyy")
							'campo 12 - DataligacaoUc / Data da ligação da unidade consumidora
							lstrCampos(12) = VB6.Format(ldteUC_Ligacao, "dd/MM/yyyy")
							'campo 13 - DataEncerramentoContrato / Data do encerramento da relação contratual
							If VB6.Format(ldteUC_Desliga, "MM/yyyy") = lstrNF_Mesano Then
								lstrCampos(13) = VB6.Format(ldteUC_Desliga, "dd/MM/yyyy")
							Else
								lstrCampos(13) = ""
							End If
							If lstrNF_CodClas = "9105" Then
								lstrSql = "SELECT * FROM `nis` "
								lstrSql = lstrSql & " WHERE `zona` = '" & lstrNF_Zona & "'"
								lstrSql = lstrSql & "   AND `livro` = '" & lstrNF_Livro & "'"
								lstrSql = lstrSql & "   AND `conta` = '" & lstrNF_Conta & "'"
								lstrSql = lstrSql & "   AND `unid_id` = " & llngNF_UnidId & ""
								Call Conectar(lstrSql, lrstNis)
								With lrstNis
									If .State = ADODB.ObjectStateEnum.adStateOpen Then
										If .RecordCount > 0 Then
											While Not .EOF
												'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
												lstrNis_Cpf = IIf(IsDbNull(.Fields("cpf").value), "", .Fields("cpf").value)
												
												If lstrNis_Cpf = lstrNF_CpfCnpj Then
													'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
													lstrNis_Numero = IIf(IsDbNull(.Fields("nis").value), "0", .Fields("nis").value)
													'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
													ldteNis_Cadastro = IIf(IsDbNull(.Fields("data_cadastro").value), "1900-01-01", .Fields("data_cadastro").value)
													'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
													ldteNis_Alteracao = IIf(IsDbNull(.Fields("data_alteracao").value), "1900-01-01", .Fields("data_alteracao").value)
													'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
													lstrNis_CodFam = IIf(IsDbNull(.Fields("cod_familiar_fam").value), "0", .Fields("cod_familiar_fam").value)
													'UPGRADE_WARNING: Use of Null/IsNull() detected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="2EED02CB-5C0E-4DC1-AE94-4FAA3A30F51A"'
													lstrNis_BPC = IIf(IsDbNull(.Fields("bpc").value), "N", .Fields("bpc").value)
													Call .MoveLast()
												Else
													lstrNis_Numero = "0"
													ldteNis_Cadastro = CDate("01/01/1900")
													ldteNis_Alteracao = CDate("01/01/1900")
													lstrNis_CodFam = "0"
													lstrNis_BPC = "N"
												End If
												Call .MoveNext()
											End While
										End If
										Call .Close()
									End If
								End With
								
							End If
							
							'Tabela NIS
							If lstrNis_Numero <> "" And lstrNis_Numero <> "0" Then
								'campo 14 - DataConcBenTarifario / Data em que o benefício da Tarifa Social de Energia Elétrica - TSEE foi concedido.
								lstrCampos(14) = VB6.Format(ldteNis_Cadastro, "dd/MM/yyyy")
								'campo 15 - DataRevisaoCadastral / Data de revisão cadastral do benefício tarifário
								lstrCampos(15) = VB6.Format(ldteNis_Alteracao, "dd/MM/yyyy")
								'campo 16 - DataAtualizacaoMultifamiliar / Data em que foi realizada a última atualização das informações da família no caso de unidade consumidora da subclasse baixa renda multifamiliar
								lstrCampos(16) = ""
							Else
								lstrCampos(14) = ""
								lstrCampos(15) = ""
								lstrCampos(16) = ""
							End If
							'campo 17 - MesReferencia / Mês de referência da UC
							lstrCampos(17) = lstrNF_Mesano
							'campo 18 - CodUsuario / Código da unidade consumidora, gerador ou distribuidora
							lstrCampos(18) = lstrNF_Zona & lstrNF_Livro & lstrNF_Conta
							'campo 19 - NomeCliente / Nome do cliente
							If llngNF_ConsId = llngUC_ConsId Then
								lstrCampos(19) = lstrUC_Nome
							Else
								lstrCampos(19) = lstrC_Nome
							End If
							'campo 20 - TipoPessoa / 1 – Pessoa Física;2 – Pessoa Jurídica.
							If Trim(lstrNF_CpfCnpj) <> "" Then
								If Len(Trim(lstrNF_CpfCnpj)) <= 11 Then
									lstrCampos(20) = CStr(1)
								Else
									lstrCampos(20) = CStr(2)
								End If
							ElseIf Trim(lstrUC_CpfCNpj) <> "" And llngNF_ConsId = llngUC_ConsId Then 
								If Len(Trim(lstrUC_CpfCNpj)) <= 11 Then
									lstrCampos(20) = CStr(1)
								Else
									lstrCampos(20) = CStr(2)
								End If
							ElseIf Trim(lstrC_CpfCNpj) <> "" Then 
								If Len(Trim(lstrC_CpfCNpj)) <= 11 Then
									lstrCampos(20) = CStr(1)
								Else
									lstrCampos(20) = CStr(2)
								End If
							End If
							'campo 21 - NumCpfCnpj / CPF (Cadastro de Pessoa Física) ou CNPJ (Cadastro Nacional de Pessoa Jurídica) a depender da variável TipoPessoa
							If Trim(lstrNF_CpfCnpj) <> "" Then
								lstrCampos(21) = lstrNF_CpfCnpj
							ElseIf Trim(lstrUC_CpfCNpj) <> "" And llngNF_ConsId = llngUC_ConsId Then 
								lstrCampos(21) = lstrUC_CpfCNpj
							ElseIf Trim(lstrC_CpfCNpj) <> "" Then 
								lstrCampos(21) = lstrC_CpfCNpj
							End If
							'campo 22 - NumRani / RANI (Registro Administrativo de Nascimento Indígena)
							lstrCampos(22) = "0"
							'campo 23 - Endereco / Endereço da unidade consumidora
							lstrCampos(23) = VB.Left(lstrUC_Endereco & " " & lstrUC_EndNumero & " " & lstrUC_EndBairro, 255)
							'campo 24 - NumCep / Número do Código de Endereçamento Postal da Unidade Consumidora
							lstrCampos(24) = lstrUC_EndCep
							'campo 25 - LocalizacaoUc / 1 – Urbano;2 – Não Urbano.
							lstrCampos(25) = IIf(lstrUC_Regiao = "R", 2, 1)
							'campo 26 - CodigoIbge / Código IBGE do município
							'lstrCampos(26) = BuscaIbge(0, lstrUC_EndCod, "")
							lstrCampos(26) = GetValorTabela("munic", "ibge", "zona = '" & lstrNF_Zona & "' ", "")
							'campo 27 - CodigoFatura / Código da Fatura
							lstrCampos(27) = CStr(ldblNF_NumNf)
							'campo 28 - CodigoCnae / Código CNAE 2.0 Classe e CNAE 2.2
							lstrCampos(28) = GetValorTabela(gstrBDCLinkCenter & ".uc", "codigo_cnae", "unid_id_fatwin=" & llngNF_UnidId & " AND grupo = '" & lstrNF_Grupo & "' ", "")
							If lstrNis_Numero <> "" And lstrNis_Numero <> "0" Then
								'campo 29 - NumNis / Número do NIS, Número de Identificação Social.
								If lstrNis_BPC = "N" Then
									lstrCampos(29) = lstrNis_Numero
								Else
									lstrCampos(29) = "0"
								End If
								'campo 30 - CodigoFamilia / Código da Família no Cadastro Único se beneficiária da Tarifa Social
								lstrCampos(30) = lstrNis_CodFam
							Else
								lstrCampos(29) = "0"
								lstrCampos(30) = "0"
							End If
							'campo 31 - Cooperado / 1 – Unidade Consumidora Cooperada;2 – Unidade Consumidora não Cooperada
							If gstrEmpresa_Sigla = "CERGAL" Then
								If lstrC_Matricula = "0" Then
									lstrCampos(31) = "2"
								Else
									lstrCampos(31) = "1"
								End If
							Else
								lstrCampos(31) = "2"
							End If
							If lstrNis_Numero <> "" And lstrNis_Numero <> "0" And lstrNis_BPC = "S" Then
								'campo 32 - NumNb / Número do Benefício – NB no cadastro do Benefício de Prestação Continuada da Assistência Social
								lstrCampos(32) = lstrNis_Numero
							End If
							'campo 33 - CodMedidor / Código de Medidor
							If Trim(lstrNF_Medidor) <> "" Then
								lstrCampos(33) = lstrNF_Medidor
							Else
								lstrCampos(33) = lstrUC_Medidor
							End If
							'campo 34 - DemAtivaContratPonta / Demanda Ativa contratada no posto tarifário Ponta. kW
							'campo 35 - DemAtivaContratForaPonta / Demanda Ativa contratada no posto tarifário Fora de Ponta. kW
							'campo 36 - DemAtivaContratNaoSeAplica / Demanda Ativa Contratada nos casos em que não se aplica o posto tarifário kW
							'campo 37 - DemAtivaFatPonta / Demanda Ativa Faturada no posto tarifário Ponta kW
							'campo 38 - DemAtivaFatForaPonta / Demanda Ativa Faturada no posto tarifário Fora de Ponta kW
							'campo 39 - DemAtivaFatNãoSeAplica / Demanda Ativa Faturada nos casos em que não se aplica o posto tarifário kW
							'campo 72 - DemAtivaRegPonta / Demanda Ativa Registrada no posto tarifário Ponta  kW
							'campo 73 - DemAtivaRegForaPonta / Demanda Ativa Registrada no posto tarifário Fora de Ponta kW
							'campo 74 - DemAtivaRegNaoSeAplica / Demanda Ativa Registrada nos casos em que não se aplica o posto tarifário kW
							'campo 75 - DemAtivaUltPonta / Demanda Ativa de Ultrapassagem no posto tarifário Ponta kW
							'campo 76 - DemAtivaUltForaPonta / Demanda Ativa de Ultrapassagem no posto tarifário Fora de Ponta kW
							'campo 77 - DemAtivaUltNaoSeAplica / Demanda Ativa de Ultrapassagem nos casos em que não se aplica o posto tarifário kW
							'campo 78 - DemAtivaCompPonta / Demanda Ativa Complementar no posto tarifário Ponta kW
							'campo 79 - DemAtivaCompForaPonta / Demanda Ativa Complementar no posto tarifário Fora de Ponta kW
							'campo 80 - DemAtivaCompNaoSeAplica / Demanda Ativa Complementar nos casos em que não se aplica o posto tarifário kW
							
							'campo 103 - ReceitaTusdKwPonta / Receita de aplicação da Tarifa de uso do Sistema de Distribuição no posto Ponta R$
							'campo 104 - ReceitaTusdKwForaPonta / Receita de aplicação da Tarifa de uso do Sistema de Distribuição no posto Fora de Ponta R$
							'campo 105 - ReceitaTusdKwNaoSeAplica / Receita de aplicação da Tarifa de uso do Sistema de Distribuição quando não se aplica posto tarifário R$
							If lstrNF_Grupo = "A" Then
								If lstrNF_GrTar <> "AV" And lintNF_LivreVerde <> 1 Then
									lstrCampos(34) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010020"), "#,##0.00"), ".", "")
									lstrCampos(35) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010024"), "#,##0.00"), ".", "")
									lstrCampos(36) = "0,00"
									lstrCampos(37) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010021"), "#,##0.00"), ".", "")
									lstrCampos(38) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010025"), "#,##0.00"), ".", "")
									lstrCampos(39) = "0,00"
									lstrCampos(72) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010019"), "#,##0.00"), ".", "")
									lstrCampos(73) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010023"), "#,##0.00"), ".", "")
									lstrCampos(74) = "0,00"
									lstrCampos(75) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010022"), "#,##0.00"), ".", "")
									lstrCampos(76) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010026"), "#,##0.00"), ".", "")
									lstrCampos(77) = "0,00"
									lstrCampos(78) = "0,00"
									lstrCampos(79) = "0,00"
									lstrCampos(80) = "0,00"
									lstrCampos(103) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020021"), "#,##0.00"), ".", "")
									lstrCampos(104) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020023"), "#,##0.00"), ".", "")
									lstrCampos(105) = "0,00"
								Else
									lstrCampos(34) = "0,00"
									lstrCampos(35) = "0,00"
									lstrCampos(36) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010024"), "#,##0.00"), ".", "")
									lstrCampos(37) = "0,00"
									lstrCampos(38) = "0,00"
									lstrCampos(39) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010025"), "#,##0.00"), ".", "")
									lstrCampos(72) = "0,00"
									lstrCampos(73) = "0,00"
									lstrCampos(74) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010023"), "#,##0.00"), ".", "")
									lstrCampos(75) = "0,00"
									lstrCampos(76) = "0,00"
									lstrCampos(77) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010026"), "#,##0.00"), ".", "")
									lstrCampos(78) = "0,00"
									lstrCampos(79) = "0,00"
									lstrCampos(80) = "0,00"
								End If
							Else
								lstrCampos(34) = "0,00"
								lstrCampos(35) = "0,00"
								lstrCampos(36) = "0,00"
								lstrCampos(37) = "0,00"
								lstrCampos(38) = "0,00"
								lstrCampos(39) = "0,00"
								lstrCampos(72) = "0,00"
								lstrCampos(73) = "0,00"
								lstrCampos(74) = "0,00"
								lstrCampos(75) = "0,00"
								lstrCampos(76) = "0,00"
								lstrCampos(77) = "0,00"
								lstrCampos(78) = "0,00"
								lstrCampos(79) = "0,00"
								lstrCampos(80) = "0,00"
							End If
							'campo 40 - ConsAtivoFatTEPonta / Consumo Ativo Faturado associado à Tarifa de Energia por Unidade Consumidora e posto tarifário Ponta kWh
							'campo 41 - ConsAtivoFatTEForaPonta / Consumo Ativo Faturado associado à Tarifa de Energia por Unidade Consumidora e posto tarifário Fora de Ponta kWh
							'campo 42 - ConsAtivoFatTEInterm / Consumo Ativo Faturado associado à Tarifa de Energia por Unidade Consumidora e posto tarifário Intermediário kWh
							'campo 43 - ConsAtivoFatTENaoseAplica / Consumo Ativo Faturado associado à Tarifa de Energia por Unidade Consumidora quando não se Aplica o posto tarifário kWh Decimal
							'campo 47 - ConsAtivoFatTusdPonta / Valor da energia ativa faturada associada à Tarifa de Uso dos Sistemas de Distribuição, componentes em kWh, por Unidade Consumidora e posto tarifário Ponta kWh
							'campo 48 - ConsAtivoFatTusdForaPonta / Valor da energia ativa faturada associada a Tarifa de Uso dos Sistemas de Distribuição, componentes em kWh, por Unidade Consumidora e posto tarifário Fora de Ponta kWh
							'campo 49 - ConsAtivoFatTusdInterm / Valor da energia ativa faturada associado a Tarifa de Uso dos Sistemas de Distribuição, componentes em kWh, por Unidade Consumidora e posto tarifário Intermediário kWh
							'campo 50 - ConsAtivoFatTusdNaoSeAplica / Valor da energia ativa faturada associado a Tarifa de Uso dos Sistemas de Distribuição, componentes em kWh, por Unidade Consumidora quando não se Aplica o posto tarifário kWh
							'campo 84 - ConsAtivoMedTEPonta / Consumo Ativo Medido associado à Tarifa de Energia por Unidade Consumidora e posto tarifário Ponta kWh
							'campo 85 - ConsAtivoMedTEForaPonta / Consumo Ativo Medido associado à Tarifa de Energia por Unidade Consumidora e posto tarifário Fora de Ponta kWh
							'campo 86 - ConsAtivoMedTEInterm / Consumo Ativo Medido associado à Tarifa de Energia por Unidade Consumidora e posto tarifário Intermediário kWh
							'campo 87 - ConsAtivoMedTENaoSeAplica / Consumo Ativo Medido associado à Tarifa de Energia por Unidade Consumidora quando não se aplica o posto tarifário kWh
							'campo 106 - ReceitaTusdMWhPonta / Receita de aplicação da Tarifa de uso do Sistema de Distribuição (MWh) no posto Ponta R$
							'campo 107 - ReceitaTusdMWhForaPonta / Receita de aplicação da Tarifa de uso do Sistema de Distribuição (MWh) no posto Fora de Ponta R$
							'campo 108 - ReceitaTusdMWhNaoSeAplica / Receita de aplicação da Tarifa de uso do Sistema de Distribuição (MWh) quando Não se Aplica posto tarifário R$
							'campo 109 - ReceitaTusdMWhIntermediario / Receita de aplicação da Tarifa de uso do Sistema de Distribuição (MWh) no posto Intermediário R$
							'campo 113 - ReceitaTePonta / Receita de aplicação da Tarifa de energia no posto Ponta R$
							lstrCampos(113) = "0,00"
							'campo 114 - ReceitaTeForaPonta / Receita de aplicação da Tarifa de energia no posto Fora de Ponta R$
							lstrCampos(114) = "0,00"
							'campo 115 - ReceitaTeNaoSeAplica / Receita de aplicação da Tarifa de energia quando Não se Aplica posto tarifário R$
							lstrCampos(115) = "0,00"
							'campo 116 - ReceitaTeIntermediario / Receita de aplicação da Tarifa de energia no posto Intermediário R$
							lstrCampos(116) = "0,00"
							ldblNF_ReceitaBandeira = 0
							If lstrNF_Grupo = "A" Then
								If lstrNF_GrTar = "AA" Or lstrNF_GrTar = "AX" Or lstrNF_GrTar = "AV" Then
									
									lstrCampos(40) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010010"), "#,##0.00"), ".", "")
									lstrCampos(41) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010011"), "#,##0.00"), ".", "")
									lstrCampos(47) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010010"), "#,##0.00"), ".", "")
									lstrCampos(48) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010011"), "#,##0.00"), ".", "")
									
									lstrCampos(106) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020010"), "#,##0.00"), ".", "")
									lstrCampos(107) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020011"), "#,##0.00"), ".", "")
									
									lstrCampos(84) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020010"), "#,##0.00"), ".", "")
									lstrCampos(85) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020011"), "#,##0.00"), ".", "")
									
								ElseIf lstrNF_GrTar = "AL" Then 
									If lintNF_ParcialmenteCativo = 1 Then
										lstrCampos(40) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010010") - BuscaValorItem(lstrNF_Itens, "0302010060"), "#,##0.00"), ".", "")
										lstrCampos(41) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010011") - BuscaValorItem(lstrNF_Itens, "0302010061"), "#,##0.00"), ".", "")
										lstrCampos(47) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010010"), "#,##0.00"), ".", "")
										lstrCampos(48) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010011"), "#,##0.00"), ".", "")
										
										lstrCampos(106) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020060"), "#,##0.00"), ".", "")
										lstrCampos(107) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020061"), "#,##0.00"), ".", "")
										lstrCampos(113) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020010"), "#,##0.00"), ".", "")
										lstrCampos(114) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020011"), "#,##0.00"), ".", "")
										
										lstrCampos(84) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010010") - BuscaValorItem(lstrNF_Itens, "0302010060"), "#,##0.00"), ".", "")
										lstrCampos(85) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010011") - BuscaValorItem(lstrNF_Itens, "0302010061"), "#,##0.00"), ".", "")
									Else
										lstrCampos(40) = "0,00"
										lstrCampos(41) = "0,00"
										lstrCampos(47) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010010"), "#,##0.00"), ".", "")
										lstrCampos(48) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010010"), "#,##0.00"), ".", "")
										lstrCampos(106) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020010"), "#,##0.00"), ".", "")
										lstrCampos(107) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020011"), "#,##0.00"), ".", "")
										lstrCampos(84) = "0,00"
										lstrCampos(85) = "0,00"
									End If
								End If
								lstrCampos(42) = "0,00"
								lstrCampos(43) = "0,00"
								lstrCampos(49) = "0,00"
								lstrCampos(50) = "0,00"
								
								lstrCampos(108) = "0,00"
								lstrCampos(109) = "0,00"
								lstrCampos(86) = "0,00"
								lstrCampos(87) = "0,00"
								ldblNF_ReceitaBandeira = ldblNF_ReceitaBandeira + BuscaValorItem(lstrNF_Itens, "0302120010") + BuscaValorItem(lstrNF_Itens, "0302120011") + BuscaValorItem(lstrNF_Itens, "0302020010") + BuscaValorItem(lstrNF_Itens, "0302020011")
							Else
								If lintNF_TarifaBranca = 0 Then
									lstrCampos(40) = "0,00"
									lstrCampos(41) = "0,00"
									lstrCampos(42) = "0,00"
									lstrCampos(43) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201009"), "#,##0.00"), ".", "")
									lstrCampos(47) = "0,00"
									lstrCampos(48) = "0,00"
									lstrCampos(49) = "0,00"
									lstrCampos(50) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201009"), "#,##0.00"), ".", "")
									lstrCampos(106) = "0,00"
									lstrCampos(107) = "0,00"
									lstrCampos(108) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030202009"), "#,##0.00"), ".", "")
									lstrCampos(109) = "0,00"
									lstrCampos(84) = "0,00"
									lstrCampos(85) = "0,00"
									lstrCampos(86) = "0,00"
									lstrCampos(87) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201008"), "#,##0.00"), ".", "")
									ldblNF_ReceitaBandeira = ldblNF_ReceitaBandeira + BuscaValorItem(lstrNF_Itens, "030212009") + BuscaValorItem(lstrNF_Itens, "030202009")
								Else
									lstrCampos(40) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201019"), "#,##0.00"), ".", "")
									lstrCampos(41) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201039"), "#,##0.00"), ".", "")
									lstrCampos(42) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201029"), "#,##0.00"), ".", "")
									lstrCampos(43) = "0,00"
									lstrCampos(47) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201019"), "#,##0.00"), ".", "")
									lstrCampos(48) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201039"), "#,##0.00"), ".", "")
									lstrCampos(49) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201029"), "#,##0.00"), ".", "")
									lstrCampos(50) = "0,00"
									lstrCampos(106) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201019"), "#,##0.00"), ".", "")
									lstrCampos(107) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030203009"), "#,##0.00"), ".", "")
									lstrCampos(108) = "0,00"
									lstrCampos(109) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030202009"), "#,##0.00"), ".", "")
									lstrCampos(84) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201018"), "#,##0.00"), ".", "")
									lstrCampos(85) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201038"), "#,##0.00"), ".", "")
									lstrCampos(86) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "030201028"), "#,##0.00"), ".", "")
									lstrCampos(87) = "0,00"
									ldblNF_ReceitaBandeira = ldblNF_ReceitaBandeira + BuscaValorItem(lstrNF_Itens, "030212019") + BuscaValorItem(lstrNF_Itens, "030202019")
									ldblNF_ReceitaBandeira = ldblNF_ReceitaBandeira + BuscaValorItem(lstrNF_Itens, "030212029") + BuscaValorItem(lstrNF_Itens, "030202029")
									ldblNF_ReceitaBandeira = ldblNF_ReceitaBandeira + BuscaValorItem(lstrNF_Itens, "030212039") + BuscaValorItem(lstrNF_Itens, "030202039")
								End If
							End If
							
							'campo 44 - ConsAtivoFatTEPontaRes / Consumo Ativo Faturado associado à Tarifa de Energia por Unidade Consumidora, posto tarifário Ponta e período Reservado kWh
							'campo 45 - ConsAtivoFatTEForaPontaRes / Consumo Ativo Faturado associado à Tarifa de Energia por Unidade Consumidora, posto tarifário Fora de Ponta e período Reservado kWh
							'campo 46 - ConsAtivoFatTENaoseAplicaRes / Consumo Ativo Faturado associado à Tarifa de Energia por Unidade Consumidora quando não se Aplica o posto tarifário e período Reservado kWh
							'campo 51 - ConsAtivoFatTusdPontaRes / Valor da energia ativa faturada associada à Tarifa de Uso dos Sistemas de Distribuição, componentes em kWh, por Unidade Consumidora, posto tarifário Ponta e período Reservado kWh
							'campo 52 - ConsAtivoFatTusdForaPontaRes / Valor da energia ativa faturada associada a Tarifa de Uso dos Sistemas de Distribuição, componentes em kWh, por Unidade Consumidora, posto tarifário Fora de Ponta e período Reservado kWh
							'campo 53 - ConsAtivoFatTusdNaoSeAplicaRes / Valor da energia ativa faturada associado a Tarifa de Uso dos Sistemas de Distribuição, componentes em kWh, por Unidade Consumidora quando Não se Aplica o posto tarifário e período Reservado kWh
							If lintNF_Irrigacao_Aquicultura = 1 Then
								lstrCampos(44) = "0,00"
								lstrCampos(45) = "0,00"
								lstrCampos(46) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302990054"), "#,##0.00"), ".", "")
								lstrCampos(51) = "0,00"
								lstrCampos(52) = "0,00"
								lstrCampos(53) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302990054"), "#,##0.00"), ".", "")
							Else
								lstrCampos(44) = "0,00"
								lstrCampos(45) = "0,00"
								lstrCampos(46) = "0,00"
								lstrCampos(51) = "0,00"
								lstrCampos(52) = "0,00"
								lstrCampos(53) = "0,00"
							End If
							
							
							'campo 54 - ModalidadeGD / 1  – Geração na própria UC; 2 – Condomínio (empreendimento com múltiplas unidades consumidoras); 3 – Autoconsumo remoto; 4 – Geração compartilhada.
							lstrCampos(54) = CStr(1)
							'campo 55 - SaldoAnteriorCreditos / Saldo anterior de créditos. kWh
							lstrCampos(55) = "0,00"
							'campo 56 - TotalCredExpCicloFat / Total de créditos expirados no ciclo de faturamento. kWh
							lstrCampos(56) = "0,00"
							'campo 57 - SaldoAtualizadoCreditos / Saldo atualizado de créditos, referentes ao final do mês de referência.kWh
							lstrCampos(57) = "0,00"
							'campo 58 - CreditosUtilizados / Créditos utilizados no mês de referência da fatura.kWh
							lstrCampos(58) = "0,00"
							
							'campo 59 - Multa / Multa aplicada a Unidade Consumidora R$
							lstrCampos(59) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "9080000061"), "#,##0.00"), ".", "")
							'campo 60 - Juros / Juros aplicado a Unidade Consumidora R$
							lstrCampos(60) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "9080000066"), "#,##0.00"), ".", "")
							'campo 61 - EncargosConexao / Encargos de Conexão R$
							lstrCampos(61) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "9080000098"), "#,##0.00"), ".", "")
							'campo 62 - ValorCompensacao / Valores relacionados à compensação de qualidade do serviço, do produto e comercial R$
							lstrCampos(62) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "9070000041"), "#,##0.00"), ".", "")
							'campo 63 - MultaEncerramento / Multa por encerramento antecipado dos contratos TUSD R$
							lstrCampos(63) = "0,00"
							'campo 64 - ServicosCobraveis / Valores relacionados a serviços cobráveis R$
							lstrCampos(64) = Replace(VB6.Format(BuscaVlrItem(lstrNF_Itens, "9040000"), "#,##0.00"), ".", "")
							'campo 65 - ValorTotalFatura / Valor Total da Fatura R$
							If ldblNF_ValorLiq > 0 Then
								lstrCampos(65) = Replace(VB6.Format(ldblNF_ValorLiq, "#,##0.00"), ".", "")
							Else
								lstrCampos(65) = Replace(VB6.Format(ldblNF_ValorTot, "#,##0.00"), ".", "")
							End If
							'campo 66 - ICMS / Imposto sobre Circulação de Mercadorias e Serviços, que consta da fatura de energia R$
							ldblNF_VlrIcms1 = BuscaValorItem(lstrNF_Itens, "0302030009")
							ldblNF_VlrIcms2 = BuscaValorItem(lstrNF_Itens, "0302030010")
							lstrCampos(66) = Replace(VB6.Format(IIf(ldblNF_VlrIcms1 > 0, ldblNF_VlrIcms1, 0) + IIf(ldblNF_VlrIcms2 > 0, ldblNF_VlrIcms2, 0), "#,##0.00"), ".", "")
							'campo 67 - PIS / Programa de Integração Social R$
							ldblNF_VlrPis = BuscaValorItem(lstrNF_Itens, "0302020029")
							lstrCampos(67) = Replace(VB6.Format(IIf(ldblNF_VlrPis > 0, ldblNF_VlrPis, 0), "#,##0.00"), ".", "")
							'campo 68 - COFINS / Contribuição para Financiamento da Seguridade Social R$
							ldblNF_VlrCofins = BuscaValorItem(lstrNF_Itens, "0302020030")
							lstrCampos(68) = Replace(VB6.Format(IIf(ldblNF_VlrCofins > 0, ldblNF_VlrCofins, 0), "#,##0.00"), ".", "")
							'campo 69 - BaseCalculoICMS / Base de Cálculo do ICMS R$
							ldblNF_BaseIcms1 = BuscaValorItem(lstrNF_Itens, "0302030001")
							ldblNF_BaseIcms2 = BuscaValorItem(lstrNF_Itens, "0302030003")
							lstrCampos(69) = Replace(VB6.Format(IIf(ldblNF_BaseIcms1 > 0, ldblNF_BaseIcms1, 0) + IIf(ldblNF_BaseIcms2 > 0, ldblNF_BaseIcms2, 0), "#,##0.00"), ".", "")
							'campo 70 - BaseCalculoPISCOFINS / Base de Cálculo do PIS COFINS R$
							ldblNF_BasePisCof = BuscaValorItem(lstrNF_Itens, "0302020033")
							lstrCampos(70) = Replace(VB6.Format(IIf(ldblNF_BasePisCof > 0, ldblNF_BasePisCof, 0), "#,##0.00"), ".", "")
							'campo 71 - CIP / Contribuição para o custeio da Iluminação Pública R$
							lstrCampos(71) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0301000003"), "#,##0.00"), ".", "")
							
							'campo 81 - RCPonta / Reserva de Capacidade no posto tarifário Ponta kW
							lstrCampos(81) = "0,00"
							'campo 82 - RCForaPonta / Reserva de Capacidade no posto tarifário Fora de Ponta kW
							lstrCampos(82) = "0,00"
							'campo 83 - RCNãoSeAplica / Reserva de Capacidade nos casos em que não se aplica o posto tarifário kW
							lstrCampos(83) = "0,00"
							
							
							
							'campo 88 - ConsAtivoMedTEPontaRes / Consumo Ativo Medido associado à Tarifa de Energia por Unidade Consumidora, posto tarifário Ponta e período Reservado kWh
							'campo 89 - ConsAtivoMedTEForaPontaRes / Consumo Ativo Medido associado à Tarifa de Energia por Unidade Consumidora, posto tarifário Fora de Ponta e período Reservado kWh
							'campo 90 - ConsAtivoMedTENaoSeAplicaRes / Consumo Ativo Medido associado à Tarifa de Energia por Unidade Consumidora quando não se aplica o posto tarifário e período Reservado kWh
							'campo 110 - ReceitaTusdMWhPontaRes / Receita de aplicação da Tarifa de uso do Sistema de Distribuição no posto Ponta e período Reservado R$
							'campo 111 - ReceitaTusdMWhForaPontaRes / Receita de aplicação da Tarifa de uso do Sistema de Distribuição no posto Fora de Ponta e período Reservado R$
							'campo 112 - ReceitaTusdMWhNaoSeAplicaRes / Receita de aplicação da Tarifa de uso do Sistema de Distribuição quando Não se Aplica posto tarifário e período Reservado R$
							'campo 117 - ReceitaTePontaRes / Receita de aplicação da Tarifa de energia no posto Ponta e período reservado R$
							'campo 118 - ReceitaTeForaPontaRes / Receita de aplicação da Tarifa de energia no posto Fora de Ponta e período reservado R$
							'campo 119 - ReceitaTeNaoSeAplicaRes / Receita de aplicação da Tarifa de energia quando Não se Aplica R$
							If lintNF_Irrigacao_Aquicultura = 1 Then
								lstrCampos(88) = "0,00"
								lstrCampos(89) = "0,00"
								lstrCampos(90) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302990054"), "#,##0.00"), ".", "")
								lstrCampos(110) = "0,00"
								lstrCampos(111) = "0,00"
								lstrCampos(112) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "9070000009"), "#,##0.00"), ".", "")
								lstrCampos(117) = "0,00"
								lstrCampos(118) = "0,00"
								lstrCampos(119) = "0,00"
							Else
								lstrCampos(88) = "0,00"
								lstrCampos(89) = "0,00"
								lstrCampos(90) = "0,00"
								lstrCampos(110) = "0,00"
								lstrCampos(111) = "0,00"
								lstrCampos(112) = "0,00"
								lstrCampos(117) = "0,00"
								lstrCampos(118) = "0,00"
								lstrCampos(119) = "0,00"
							End If
							
							'campo 91 - EnElAtivaInjPonta / Energia elétrica ativa injetada no posto tarifário Ponta. kWh
							lstrCampos(91) = "0,00"
							'campo 92 - EnElAtivaInjForaPonta / Energia elétrica ativa injetada no posto tarifário Fora de Ponta. kWh
							lstrCampos(92) = "0,00"
							'campo 93 - EnElAtivaInjIntermediário / Energia elétrica ativa injetada no posto tarifário Intermediário. kWh
							lstrCampos(93) = "0,00"
							'campo 94 - EnElAtivaInjReservado / Energia elétrica ativa injetada no período Reservado. kWh
							lstrCampos(94) = "0,00"
							'campo 95 - EnElAtivaInjNaoSeAplica / Energia elétrica ativa injetada quando Não se Aplica posto tarifário kWh
							lstrCampos(95) = "0,00"
							
							'campo 96 - SubsCARFI / Subsídio à fonte incentivada R$
							lstrCampos(96) = "0,00"
							'campo 97 - SubsGERFI / Subsídio à fonte incentivada na modalidade Geração R$
							lstrCampos(97) = "0,00"
							'campo 98 - SubsDist / Subsídio à modalidade Distribuição R$
							lstrCampos(98) = "0,00"
							'campo 99 - SubsAguaEsgoto / Subsídio à Classe de Serviço Público de Água, Esgoto e Saneamento R$
							lstrCampos(99) = "0,00"
							'campo 100 - SubsRural / Subsídio à Classe Rural R$
							lstrCampos(100) = "0,00"
							'campo 101 - SubsIrrigacao / Subsídio à Classe Rural Irrigação R$
							lstrCampos(101) = "0,00"
							'campo 102 - SubsBaixaRenda / Subsídio à Classe Residencial Baixa Renda R$
							lstrCampos(102) = "0,00"
							'campo 120 - ReceitaBandeiras / Receita com Bandeiras Tarifárias R$   Conforme Submódulo 6.8 do PRORET
							lstrCampos(120) = Replace(VB6.Format(ldblNF_ReceitaBandeira, "#,##0.00"), ".", "")
							'campo 121 - ReceitaUltDemAtiva / Receita de Ultrapassagem de Demanda Ativa R$
							lstrCampos(121) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020022") + BuscaValorItem(lstrNF_Itens, "0302020026"), "#,##0.00"), ".", "")
							'campo 122 - ERE / Valor correspondente à energia elétrica reativa excedente à quantidade permitida pelo fator de potência de referência “fR”, no período de faturamento R$
							'campo 123 - DRE / Valor, por posto tarifário “p”, correspondente à demanda de potência reativa excedente à quantidade permitida pelo fator de potência de referência “fR” no período de faturamento R$
							'campo 124 - ConsReativoPonta / Consumo Reativo por Unidade Consumidora e por posto tarifário Ponta kvarh
							'campo 125 - ConsReativoForaPonta / Consumo Reativo por Unidade Consumidora e por posto tarifário Fora de Ponta kvarh
							'campo 126 - ConsReativoIntermediario / Consumo Reativo por Unidade Consumidora e por posto tarifário Intermediário kvarh
							'campo 127 - ConsReativoNaoSeAplica / Consumo Reativo por Unidade Consumidora e quando Não se Aplica posto tarifário kvarh
							'campo 128 - DemReativaPonta / Demanda Reativa por Unidade Consumidora e por posto tarifário Ponta  kvar
							'campo 129 - DemReativaForaPonta / Demanda Reativa por Unidade Consumidora e por posto tarifário Fora de Ponta  kvar
							'campo 130 - DemReativaNaoSeAplica / Demanda Reativa por Unidade Consumidora e quando Não se Aplica posto tarifário  kvar
							If lstrNF_Grupo = "A" Then
								lstrCampos(122) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020013") + BuscaValorItem(lstrNF_Itens, "0302020014"), "#,##0.00"), ".", "")
								lstrCampos(123) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302020027") + BuscaValorItem(lstrNF_Itens, "0302020028"), "#,##0.00"), ".", "")
								lstrCampos(124) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010013"), "#,##0.00"), ".", "")
								lstrCampos(125) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010014"), "#,##0.00"), ".", "")
								lstrCampos(126) = "0,00"
								lstrCampos(127) = "0,00"
								lstrCampos(128) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010027"), "#,##0.00"), ".", "")
								lstrCampos(129) = Replace(VB6.Format(BuscaValorItem(lstrNF_Itens, "0302010028"), "#,##0.00"), ".", "")
								lstrCampos(130) = "0,00"
							Else
								lstrCampos(122) = "0,00"
								lstrCampos(123) = "0,00"
								lstrCampos(124) = "0,00"
								lstrCampos(125) = "0,00"
								lstrCampos(126) = "0,00"
								lstrCampos(127) = "0,00"
								lstrCampos(128) = "0,00"
								lstrCampos(129) = "0,00"
								lstrCampos(130) = "0,00"
							End If
							
							lstrLin = ""
							For lintAux = 1 To 130
								lstrLin = lstrLin & IIf(Len(lstrLin) > 0, ";", "") & lstrCampos(lintAux)
							Next lintAux
							PrintLine(lintARQ, lstrLin)
							Call .MoveNext()
							Call BarraProgresso((Me.ProgressBar), (Me.lblPerc), (Me.lblInfo), 1)
						End While
						FileClose(lintARQ)
					End If
					Call .Close()
				End If
			End With
			Call LigDes(True)
			Me.Cursor = System.Windows.Forms.Cursors.Default
			Call MsgBox("Arquivo gerado com sucesso!", MsgBoxStyle.Information, gstrTituloMensagem)
		Else
			Call MsgBox("Você deve selecionar o local de gravação", MsgBoxStyle.Information, gstrTituloMensagem)
		End If
		'UPGRADE_NOTE: Object lrstAux may not be destroyed until it is garbage collected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"'
		lrstAux = Nothing
	End Sub
	
	
	Private Sub NomeArquivo()
		Dim lstrAux As String
		Dim lstrCodEmp As String
		Dim lstrPeriodo As String
		lstrCodEmp = LeConfig("CODIGO_EMPRESA")
		Me.dialArqOpen.DefaultExt = "CSV"
		lstrPeriodo = VB6.Format(Me.dtpMesAno.value, "yyyyMM")
		istrNmArq = "SIASE_" & lstrCodEmp & "_" & gstrEmpresa_Sigla & "_" & lstrPeriodo
		lstrAux = StrReverse(Me.txtArquivo.Text)
		Me.txtArquivo.Text = StrReverse(Mid(lstrAux, CInt(InStr(lstrAux, "\")))) & istrNmArq & "." & Me.dialArqOpen.DefaultExt
		System.Windows.Forms.Application.DoEvents()
	End Sub
	
	Private Sub dtpMesAno_ClickEvent(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles dtpMesAno.ClickEvent
		Call NomeArquivo()
	End Sub
	
	Private Sub DTPMesAno_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles DTPMesAno.Leave
		Call NomeArquivo()
	End Sub
	
	Private Sub frmGerarDadosSiase_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
		Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
		If KeyAscii = System.Windows.Forms.Keys.Escape Then
			Call Me.Close()
		ElseIf KeyAscii = System.Windows.Forms.Keys.Return Then 
			Call SendKeysA(System.Windows.Forms.Keys.Tab, True)
		End If
		eventArgs.KeyChar = Chr(KeyAscii)
		If KeyAscii = 0 Then
			eventArgs.Handled = True
		End If
	End Sub
	
	Private Sub frmGerarDadosSiase_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
		Call CenterForm(Me)
		Me.dtpMesAno.value = VB6.Format(BuscaDataBD, "dd/MM/yyyy")
		Me.txtArquivo.Text = My.Application.Info.DirectoryPath & "\" & istrNmArq & "." & Me.dialArqOpen.DefaultExt
		Call NomeArquivo()
	End Sub
	
	Private Sub LigDes(ByVal ablnModo As Boolean)
		Me.dtpMesAno.Enabled = ablnModo
		Me.cmdArquivo.Enabled = ablnModo
		Me.cmdExporta.Enabled = ablnModo
		Me.cmdFechar.Enabled = ablnModo
	End Sub
	
	Private Function MontaCabecalhoCSV() As String
		Dim lstrRet As String
		Dim lstrSql As String
		Dim lrstAux As ADODB.Recordset
		lrstAux = New ADODB.Recordset
		lstrRet = ""
		lstrSql = "SELECT * FROM `siase_campos` ORDER BY `nr_ord_campo` ASC"
		Call Conectar(lstrSql, lrstAux)
		With lrstAux
			If .State = ADODB.ObjectStateEnum.adStateOpen Then
				If .RecordCount > 0 Then
					While Not .EOF
						lstrRet = lstrRet & IIf(Len(lstrRet) > 0, ";", "") & .Fields("nm_campo").value
						Call .MoveNext()
					End While
				End If
				Call .Close()
			End If
		End With
		'UPGRADE_NOTE: Object lrstAux may not be destroyed until it is garbage collected. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"'
		lrstAux = Nothing
		MontaCabecalhoCSV = lstrRet
	End Function
End Class