Option Strict Off
Option Explicit On

Imports fatd_faturamento.BLL.Repositorio
Imports fatd_faturamento.ENTIDADE
Imports CrystalDecisions.CrystalReports.Engine
Imports System.Collections.Generic

Friend Class frmCadastroConsumidor
    Inherits System.Windows.Forms.Form
    Dim vZona As String
    Dim vLivro As String
    Dim vConta As String
    Dim vGrupo As String
    Dim vModConsEnd As String
    Dim vLocaliza As String
    Dim vEndCodC As String
    Dim vEndCodUC As String
    Dim vEndCodEn As String
    Dim vQtdUnid As Short
    Dim vUnidade As Boolean
    Dim vPerCmdNovoC As Boolean
    Dim vPerCmdSalvarC As Boolean
    Dim vPerCmdNovoU As Boolean
    Dim vPerCmdSalvarU As Boolean
    Dim vPerCmdExcluirU As Boolean
    Dim vPerTabUnidHist As Boolean
    Dim vUsuarioConsumidorCriarNovo As Boolean
    Dim vUsuarioUnidadeConsumidoraCriarNovo As Boolean
    Dim vUsuarioUnidadeConsumidoraExcluir As Boolean
    Dim vUsuarioConsumidorSalvar As Boolean
    Dim vUsuarioAtendimentoComercialSalvar As Boolean
    Dim vUsuarioUnidadeConsumidoraSalvar As Boolean
    Dim vUsuarioUnidadeConsumidoraHistorico As Boolean
    Dim smodoAlteracao As String


    Dim vCamposParametros As ptpeCadConsumidorCamposParametros
    Dim vCamposLeiturasGrupoB As ptpeCadConsumidorCamposLeituras
    Dim vCamposLeiturasGrupoA As ptpeCadConsumidorCamposLeituras

    Dim vResp As Short
    Dim vNew As Boolean

#Region "Propriedades"

    Private Sub FrmCadConsumidor_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

        Try

            Me.dtpPTesteMesAnoIni.Value = Convert.ToDateTime(Date.Now.ToShortDateString)
            Me.dtpPTesteMesAnoFim.Value = UltimoDiaMes((Me.dtpPTesteMesAnoIni.Value.Month), (Me.dtpPTesteMesAnoIni.Value.Year)) & "/" & VB6.Format(Me.dtpPTesteMesAnoIni.Value, "MM/yyyy")
            Me.FrameGrupoAB.Enabled = False 'Sempre deixar desligado para evitar do usuario fazer besteira
            smodoAlteracao = GetConfig("modo.alteracao.cad.consumidor")

            PreencheCombobox()
            SelecionaBancoPrincipal()

            ProtegeCampos(False, True)

            Me.TabConsum.SelectedIndex = 0
            Me.TabUnidCons.SelectedIndex = 0

            vLocaliza = "U"

            Me.opbGrupoB.Checked = True

            LigDesBotoes("")

            DefineCamposParametros()
            DefineCamposLeiturasGrupoB()
            DefineCamposLeiturasGrupoA()

            vUsuarioUnidadeConsumidoraSalvar = True

            If smodoAlteracao = "C" Then
                vUsuarioConsumidorCriarNovo = True
                vUsuarioUnidadeConsumidoraCriarNovo = True
                vUsuarioUnidadeConsumidoraExcluir = True

                vUsuarioConsumidorSalvar = True
                vUsuarioAtendimentoComercialSalvar = True
                'vUsuarioUnidadeConsumidoraSalvar = True
                vUsuarioUnidadeConsumidoraHistorico = True
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: FrmCadConsumidor_Load" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtAgrupaConta_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtAgrupaConta.Leave

        Try

            Me.txtAgrupaConta.Text = VB6.Format(Me.txtAgrupaConta.Text, "000000")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtAgrupaConta_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtAgrupaLivro_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtAgrupaLivro.Leave

        Try

            Me.txtAgrupaLivro.Text = VB6.Format(Me.txtAgrupaLivro.Text, "00")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtAgrupaLivro_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtAgrupaZona_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtAgrupaZona.Leave


        Try

            Me.txtAgrupaZona.Text = VB6.Format(Me.txtAgrupaZona.Text, "000")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtAgrupaZona_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtCdCnae_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCdCnae.Leave

        Try

            SetaCnae(0, Me.txtCdCnae.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCdCnae_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtDtCadastroC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtDtCadastroC.Leave


        Try

            Me.txtDtCadastroC.Text = ValidaData(txtDtCadastroC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDtCadastroC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtDtCadastroC_MouseUp(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles txtDtCadastroC.MouseUp

        Dim Button As Short = eventArgs.Button \ &H100000
        Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
        Dim X As Single = VB6.PixelsToTwipsX(eventArgs.X)
        Dim Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)


        Try


            'If gintUsuario_NivelAcesso = 0 Then
            If Shift = 1 And Button = 1 Then
                Me.txtDtCadastroC.ReadOnly = False
            End If
            'End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDtCadastroC_MouseUp" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtIrr_hr_fim_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtIrr_hr_fim.Enter

        Try

            With Me.txtIrr_hr_fim
                .Text = Replace(.Text, ":", "")
                .MaxLength = 4
            End With

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtIrr_hr_fim_Enter" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtIrr_hr_fim_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtIrr_hr_fim.Leave

        Try

            With Me.txtIrr_hr_fim
                .MaxLength = 5
                If .Text = "" Then .Text = "00:00"
                .Text = Replace(.Text, ":", "")
                If Len(.Text) = 2 Then .Text = .Text & "00"
                If Len(.Text) = 3 Then .Text = .Text & "0"
                .Text = VB6.Format(.Text, "00:00")
                If CDbl(Mid(.Text, 1, 2)) > 24 Or CDbl(Mid(.Text, 4, 2)) > 59 Or .Text = "00:00" Then
                    MessageBox.Show("Hora inválida. ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Call .Focus()
                End If
            End With

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtIrr_hr_fim_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtIrr_hr_ini_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtIrr_hr_ini.Enter

        Try

            With Me.txtIrr_hr_ini
                .Text = Replace(.Text, ":", "")
                .MaxLength = 4
            End With

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtIrr_hr_ini_Enter" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtIrr_hr_ini_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtIrr_hr_ini.Leave


        Try

            With Me.txtIrr_hr_ini
                .MaxLength = 5
                If .Text = "" Then .Text = "00:00"
                .Text = Replace(.Text, ":", "")
                If Len(.Text) = 2 Then .Text = .Text & "00"
                If Len(.Text) = 3 Then .Text = .Text & "0"
                .Text = VB6.Format(.Text, "00:00")
                If CDbl(Mid(.Text, 1, 2)) > 24 Or CDbl(Mid(.Text, 4, 2)) > 59 Or .Text = "00:00" Then
                    MessageBox.Show("Hora inválida. ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Call .Focus()
                End If
            End With

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtIrr_hr_ini_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtMedkVArhU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtMedkVArhU.Leave


        Try

            If Len(Trim(Me.txtMedkVArhU.Text)) > 0 Then
                VerificaMedidor(Trim(Me.txtMedkVArhU.Text), "R")
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtMedkVArhU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtMedkWhU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtMedkWhU.Leave

        Try

            If Len(Trim(Me.txtMedkWhU.Text)) > 0 Then
                VerificaMedidor(Trim(Me.txtMedkWhU.Text), "C")
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtMedkWhU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtMedkWU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtMedkWU.Leave

        Try

            If Len(Trim(Me.txtMedkWU.Text)) > 0 Then
                VerificaMedidor(Trim(Me.txtMedkWU.Text), "D")
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtMedkWU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtNomeC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNomeC.Leave

        Try

            Me.txtNomeC.Text = UCase(Me.txtNomeC.Text)
            If Len(Trim(Me.txtNomeU.Text)) < 1 Then Me.txtNomeU.Text = Microsoft.VisualBasic.Left(Me.txtNomeC.Text, 85)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNomeC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNomeU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNomeU.Leave

        Try

            txtNomeU.Text = UCase(txtNomeU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNomeU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNumeroC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNumeroC.Leave

        Try

            txtNumeroC.Text = UCase(txtNumeroC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNumeroC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtComplementC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtComplementC.Leave

        Try

            txtComplementC.Text = UCase(txtComplementC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtComplementC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNumU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNumU.Leave

        Try

            If Len(Trim(Me.txtNumU.Text)) > 0 Then
                VerificaMedidor(Trim(Me.txtNumU.Text), "C")
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNumU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtObsCons_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtObsCons.Leave

        Try

            Me.txtObsCons.Text = UCase(Me.txtObsCons.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtObsCons_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtQuadraC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtQuadraC.Leave

        Try

            Me.txtQuadraC.Text = UCase(Me.txtQuadraC.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtQuadraC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtLoteC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtLoteC.Leave

        Try

            txtLoteC.Text = UCase(txtLoteC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtLoteC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCepC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCepC.Leave

        Try

            txtCepC.Text = FormataCep(txtCepC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCepC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtTelefoneC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtTelefoneC.Leave

        Try

            txtTelefoneC.Text = FormataTel(txtTelefoneC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtTelefoneC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtFaxC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtFaxC.Leave

        Try

            txtFaxC.Text = FormataTel(txtFaxC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtFaxC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCpfC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCpfC.Leave

        Dim lstrCpf As String

        Try

            lstrCpf = Microsoft.VisualBasic.Left(Str_Retira(Me.txtCpfC.Text, ".-/ "), 11)
            If ValidaCPF(lstrCpf) = True Then
                Me.txtCpfC.Text = FormataCPF(lstrCpf)
            Else
                MessageBox.Show("Cpf Inválido! ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                'txtCpfC.SetFocus
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCpfC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtConjuge_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtConjuge.Leave

        Try

            txtConjuge.Text = UCase(txtConjuge.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtConjuge_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNomePaiC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNomePaiC.Leave

        Try

            txtNomePaiC.Text = UCase(txtNomePaiC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNomePaiC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNomeMaeC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNomeMaeC.Leave

        Try

            txtNomeMaeC.Text = UCase(txtNomeMaeC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNomeMaeC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtDtNasctoC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtDtNasctoC.Leave

        Try

            txtDtNasctoC.Text = ValidaData(txtDtNasctoC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDtNasctoC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCelC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCelC.Leave

        Try

            txtCelC.Text = FormataTel(txtCelC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCelC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCgcC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCgcC.Leave

        Dim lstrCgc As String


        Try

            lstrCgc = Microsoft.VisualBasic.Left(Str_Retira(Me.txtCgcC.Text, ".-/ "), 14)
            If ValidaCNPJ(lstrCgc) = True Then
                Me.txtCgcC.Text = FormataCNPJ(lstrCgc)
            Else
                MessageBox.Show("C.N.P.J. Inválido! ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                'txtCgcC.SetFocus
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCgcC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtInscC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtInscC.Leave

        Try

            'txtInscC.Text = FormataIE(txtInscC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtInscC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNomeContatoC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNomeContatoC.Leave

        Try

            txtNomeContatoC.Text = UCase(txtNomeContatoC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNomeContatoC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtTelContatoC_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtTelContatoC.Leave

        Try

            txtTelContatoC.Text = FormataTel(txtTelContatoC.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtTelContatoC_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtZonaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtZonaU.Leave

        Try

            txtZonaU.Text = VB6.Format(txtZonaU.Text, "000")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtZonaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtLivroU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtLivroU.Leave

        Try

            txtLivroU.Text = VB6.Format(txtLivroU.Text, "00")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtLivroU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtContaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtContaU.Leave

        Try

            txtContaU.Text = VB6.Format(txtContaU.Text, "000000")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtContaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtRotaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtRotaU.Leave

        Try

            'txtRotaU.Text = VB6.Format(txtRotaU.Text, "00000000")
            txtRotaU.Text = txtRotaU.Text

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtRotaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtUnidIDU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtUnidIDU.Leave

        Try

            'txtUnidIDU.Text = VB6.Format(txtUnidIDU.Text, "00000000")
            txtUnidIDU.Text = txtUnidIDU.Text

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtUnidIDU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtDataLigacaoU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtDataLigacaoU.Leave

        Try

            txtDataLigacaoU.Text = ValidaData(txtDataLigacaoU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDataLigacaoU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtDataEntradaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtDataEntradaU.Leave

        Try

            txtDataEntradaU.Text = ValidaData(txtDataEntradaU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDataEntradaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNumeroU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNumeroU.Leave

        Try

            txtNumeroU.Text = UCase(txtNumeroU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNumeroU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtComplementU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtComplementU.Leave

        Try

            txtComplementU.Text = UCase(txtComplementU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtComplementU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtQuadraU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtQuadraU.Leave

        Try

            txtQuadraU.Text = UCase(txtQuadraU.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtQuadraU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtLoteU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtLoteU.Leave

        Try

            txtLoteU.Text = UCase(txtLoteU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtLoteU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCepU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCepU.Leave

        Try

            txtCepU.Text = FormataCep(txtCepU.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCepU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtFoneU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtFoneU.Leave

        Try

            txtFoneU.Text = FormataTel(txtFoneU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtFoneU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtEndEntregaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtEndEntregaU.Leave

        Try

            txtEndEntregaU.Text = UCase(txtEndEntregaU.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtEndEntregaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtNumEntregaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtNumEntregaU.Leave

        Try

            txtNumEntregaU.Text = UCase(txtNumEntregaU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtNumEntregaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCidEntregaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCidEntregaU.Leave

        Try

            txtCidEntregaU.Text = UCase(txtCidEntregaU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCidEntregaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtBaiEntregaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtBaiEntregaU.Leave

        Try

            txtBaiEntregaU.Text = UCase(txtBaiEntregaU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtBaiEntregaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtDtaInstMedidorU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtDtaInstMedidorU.Leave

        Try

            txtDtaInstMedidorU.Text = ValidaData(txtDtaInstMedidorU.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDtaInstMedidorU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtDtaFabMedidorU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtDtaFabMedidorU.Leave

        Try

            txtDtaFabMedidorU.Text = ValidaData(txtDtaFabMedidorU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDtaFabMedidorU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCepEntregaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCepEntregaU.Leave

        Try

            txtCepEntregaU.Text = FormataCep(txtCepEntregaU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCepEntregaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCpfU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCpfU.Leave

        Dim lstrCpf As String


        Try


            lstrCpf = Microsoft.VisualBasic.Left(Str_Retira(Me.txtCpfU.Text, ".-/ "), 11)
            If ValidaCPF(lstrCpf) = True Then
                Me.txtCpfU.Text = FormataCPF(lstrCpf)
            Else
                MessageBox.Show("Cpf Inválido ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                'txtCpfU.SetFocus
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCpfU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtCnpjU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtCnpjU.Leave

        Dim lstrCnpj As String


        Try

            lstrCnpj = Microsoft.VisualBasic.Left(Str_Retira(Me.txtCnpjU.Text, ".-/ "), 14)
            If ValidaCNPJ(lstrCnpj) = True Then
                Me.txtCnpjU.Text = FormataCNPJ(lstrCnpj)
            Else
                MessageBox.Show("C.N.P.J. Inválido! ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                'txtCnpjU.SetFocus
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtCnpjU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtInscEstadU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtInscEstadU.Leave

        Try

            'txtInscEstadU.Text = FormataIE(txtInscEstadU.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtInscEstadU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub txtDtDemandaContrU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtDtDemandaContrU.Leave

        Try

            txtDtDemandaContrU.Text = ValidaData(txtDtDemandaContrU.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtDtDemandaContrU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtMarcaU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtMarcaU.Leave

        Try

            txtMarcaU.Text = UCase(txtMarcaU.Text)


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtMarcaU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtLacreU_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtLacreU.Leave

        Try

            txtLacreU.Text = UCase(txtLacreU.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtLacreU_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub txtObservacao_Leave(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txtObservacao.Leave

        Try

            txtObservacao.Text = UCase(txtObservacao.Text)

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: txtObservacao_Leave" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub chkPeriodoTeste_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles chkPeriodoTeste.CheckStateChanged

        Try


            If Me.chkPeriodoTeste.CheckState = System.Windows.Forms.CheckState.Unchecked Then
                'Me.txtDemandaAnteriorContrU.Text = String.Empty
                Me.txtDemandaAnteriorContrPU.Text = String.Empty
                Me.txtDemandaAnteriorContrFPU.Text = String.Empty
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: chkPeriodoTeste_CheckStateChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try



    End Sub

    Private Sub chkEntregaU_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles chkEntregaU.CheckStateChanged


        Try

            Me.txtEndEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.txtNumEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.txtCidEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.txtBaiEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.txtComplEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.txtCepEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.txtQuaEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.txtLotEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.cmbUfEntregaU.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            Me.cmdBuscaEndEntrega.Enabled = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, True, False)
            System.Windows.Forms.Application.DoEvents()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: chkEntregaU_CheckStateChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbDireta_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbDireta.CheckedChanged

        Try

            If eventSender.Checked Then
                Me.fmeTC.Enabled = False
                Me.fmeTP.Enabled = False
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbDireta_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbFisicaC_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbFisicaC.CheckedChanged

        Try

            If eventSender.Checked Then
                Call LigDesFisJur((opbFisicaC.Checked), (opbJuridicaC.Checked), "C")
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbFisicaC_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbGrupoA_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbGrupoA.CheckedChanged

        Try

            If eventSender.Checked Then
                LigDesGrupos()
                Me.cmbTarifaGrAU.Enabled = True
                Me.cmbTarifaGrAU.Visible = True
                Me.cmbTarifaGrBU.Enabled = False
                Me.cmbTarifaGrBU.Visible = False
                LigDesTabLeit()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbGrupoA_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbGrupoB_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbGrupoB.CheckedChanged

        Try

            If eventSender.Checked Then
                LigDesGrupos()
                Me.cmbTarifaGrAU.Enabled = False
                Me.cmbTarifaGrAU.Visible = False
                Me.cmbTarifaGrBU.Enabled = False
                Me.cmbTarifaGrBU.Visible = True
                LigDesTabLeit()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbGrupoB_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbIndireta_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbIndireta.CheckedChanged


        Try

            If eventSender.Checked Then
                Me.fmeTC.Enabled = True
                Me.fmeTP.Enabled = True
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbIndireta_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbJuridicaC_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbJuridicaC.CheckedChanged


        Try


            If eventSender.Checked Then
                Call LigDesFisJur((opbFisicaC.Checked), (opbJuridicaC.Checked), "C")
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbJuridicaC_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbFisicaU_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbFisicaU.CheckedChanged


        Try

            If eventSender.Checked Then
                Call LigDesFisJur((opbFisicaU.Checked), (opbJuridicaU.Checked), "U", CStr(IIf(cmbClasseU.SelectedIndex.ToString() = "-1", 0, Me.cmbClasseU.SelectedIndex)))
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbFisicaU_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub opbJuridicaU_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles opbJuridicaU.CheckedChanged

        Try

            If eventSender.Checked Then
                Call LigDesFisJur((opbFisicaU.Checked), (opbJuridicaU.Checked), "U", CStr(IIf(cmbClasseU.SelectedIndex.ToString() = "-1", 0, Me.cmbClasseU.SelectedIndex)))
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: opbJuridicaU_CheckedChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub dtpPTesteMesAnoIni_ValueChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles dtpPTesteMesAnoIni.ValueChanged

        Try

            Me.dtpPTesteMesAnoFim.Value = UltimoDiaMes((Me.dtpPTesteMesAnoIni.Value.Month), (Me.dtpPTesteMesAnoIni.Value.Year)) & "/" & VB6.Format(Me.dtpPTesteMesAnoIni.Value, "MM/yyyy")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: dtpPTesteMesAnoIni_ValueChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmbClasseU_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbClasseU.TextChanged


        Try

            Call cmbClasseU_SelectedIndexChanged(cmbClasseU, New System.EventArgs())

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmbClasseU_TextChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub cmbClasseU_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbClasseU.SelectedIndexChanged

        Dim lstrClas As String

        Try

            If Me.cmbClasseU.SelectedIndex >= 0 Then
                If Me.opbGrupoB.Checked Then
                    lstrClas = VB6.Format(VB6.GetItemData(Me.cmbClasseU, Me.cmbClasseU.SelectedIndex), "0000")
                    If CDbl(Microsoft.VisualBasic.Left(lstrClas, 1)) = 9 Then
                        Me.cmbTarifaGrBU.SelectedIndex = 0
                    ElseIf CDbl(Microsoft.VisualBasic.Left(lstrClas, 1)) = 5 Then
                        Me.cmbTarifaGrBU.SelectedIndex = 1
                    ElseIf CDbl(Microsoft.VisualBasic.Left(lstrClas, 2)) = 64 Then
                        Me.cmbTarifaGrBU.SelectedIndex = 3
                    Else
                        Me.cmbTarifaGrBU.SelectedIndex = 2
                    End If
                End If
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmbClasseU_SelectedIndexChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub cmbTarifaGrAU_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbTarifaGrAU.SelectedIndexChanged

        Try

            LigDesTabLeit()


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmbTarifaGrAU_SelectedIndexChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmbTarifaGrBU_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbTarifaGrBU.SelectedIndexChanged

        Try

            LigDesTabLeit()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmbTarifaGrBU_SelectedIndexChanged" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdAbreCadastroUnidadeConsumidoraCeg_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdAbreCadastroUnidadeConsumidoraCeg.Click

        Try
            If txtUnidIDU.Text = "" Then
                MessageBox.Show("Para consultar um CEG é necessário consultar uma unidade consumidora" & "", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Exit Sub
            End If


            Dim frmCEG As New frmCadastroUnidadeConsumidoraCeg
            'frmCEG.SetaParametros(Me)
            frmCEG.PrencheDadosIniciais(CInt(Me.txtUnidIDU.Text), CInt(Me.txtConsRegC.Text), IIf(Me.opbGrupoB.Checked, "B", "A"))
            frmCEG.Show()
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdAbreCadastroUnidadeConsumidoraCeg_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdAbreMicroGeracaoDistribuida_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdAbreMicroGeracaoDistribuida.Click

        Dim idClasse As Integer
        Dim DesClasse As String
        Dim sGrupo As String
        Dim sTarifa As String

        idClasse = VB6.Format(VB6.GetItemData(Me.cmbClasseU, Me.cmbClasseU.SelectedIndex), "0000")
        DesClasse = VB6.GetItemString(Me.cmbClasseU, Me.cmbClasseU.SelectedIndex)
        sGrupo = IIf(opbGrupoA.Checked, "A", "B")

        If sGrupo = "B" Then
            sTarifa = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrBU, Me.cmbTarifaGrBU.SelectedIndex), 2)
        Else
            sTarifa = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrAU, Me.cmbTarifaGrAU.SelectedIndex), 2)
        End If

        Try
            frmCadastroMicroGeracaoDistribuida.SetaParametros(Me, Trim(txtConsRegC.Text), Trim(txtUnidIDU.Text), Trim(txtZonaU.Text), Trim(txtLivroU.Text), Trim(txtContaU.Text), Trim(txtNomeC.Text), idClasse, DesClasse, sGrupo, sTarifa, vCamposParametros.VALOR, vCamposParametros.NOMECAMPO)
            frmCadastroMicroGeracaoDistribuida.Show()
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdAbreMicroGeracaoDistribuida_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdAnterior_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdAnterior.Click

        Try

            If gridUnid.Row > 0 Then
                gridUnid.Row = gridUnid.Row - 1
                labelStatus.Text = "Registro " & gridUnid.Row + 1 & " de " & gridUnid.Rows & "."
                CarregaDadosUnidade(CInt(gridUnid.get_TextMatrix(gridUnid.Row, 3)), gridUnid.get_TextMatrix(gridUnid.Row, 4), gridUnid.get_TextMatrix(gridUnid.Row, 0), gridUnid.get_TextMatrix(gridUnid.Row, 1), gridUnid.get_TextMatrix(gridUnid.Row, 2))
            Else
                MessageBox.Show("Este é o primeiro registro!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdAnterior_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdCobrancaJudicial_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCobrancaJudicial.Click

        Try
            frmControleCobrancaJudicial.SetaParametros(Me, Me.txtZonaU.Text, Me.txtLivroU.Text, Me.txtContaU.Text, Convert.ToInt64(Me.txtUnidIDU.Text), Convert.ToInt64(Me.txtConsRegC.Text), IIf(Me.opbGrupoA.Checked, "A", "B"), Strings.Left(IIf(Me.opbGrupoA.Checked, VB6.GetItemString(Me.cmbTarifaGrAU, Me.cmbTarifaGrAU.SelectedIndex), VB6.GetItemString(Me.cmbTarifaGrAU, Me.cmbTarifaGrAU.SelectedIndex)), 2), Me.txtNomeU.Text)
            frmControleCobrancaJudicial.Show()
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdCobrancaJudicial_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Private Sub cmdControleDatas_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdControleDatas.Click

        Dim idClasse As Integer
        Dim DesClasse As String
        Dim sGrupo As String
        Dim sTarifa As String

        idClasse = VB6.Format(VB6.GetItemData(Me.cmbClasseU, Me.cmbClasseU.SelectedIndex), "0000")
        DesClasse = VB6.GetItemString(Me.cmbClasseU, Me.cmbClasseU.SelectedIndex)
        sGrupo = IIf(opbGrupoA.Checked, "A", "B")

        If sGrupo = "B" Then
            sTarifa = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrBU, Me.cmbTarifaGrBU.SelectedIndex), 2)
        Else
            sTarifa = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrAU, Me.cmbTarifaGrAU.SelectedIndex), 2)
        End If

        Try
            frmCadastroConsumidorDataControle.SetaParametros(Me, Trim(txtConsRegC.Text), Trim(txtUnidIDU.Text), Trim(txtZonaU.Text), Trim(txtLivroU.Text), Trim(txtContaU.Text), Trim(txtNomeC.Text), idClasse, DesClasse, sGrupo, sTarifa)
            frmCadastroConsumidorDataControle.Show()
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdControleDatas_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdGoogleMaps_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdGoogleMaps.Click

        Dim lstrNavegadorPadrao As String
        Dim lstrUrl As String
        Dim lstrLink As String


        Try

            lstrUrl = "http://maps.google.com/maps?q=" & Replace(Me.txtLatitude.Text, ",", ".") & "%2C" & Replace(Me.txtLongitude.Text, ",", ".")

            lstrNavegadorPadrao = QueryValue(HKEY_CLASSES_ROOT, "\http\shell\open\command", "")

            If Trim(lstrNavegadorPadrao) <> String.Empty Then

                If InStr(1, lstrNavegadorPadrao, "%1") Then
                    lstrLink = Replace(lstrNavegadorPadrao, "%1", lstrUrl)
                Else
                    lstrLink = lstrNavegadorPadrao & " " & lstrUrl
                End If

                ExecuteCmd(lstrLink)

            Else
                MessageBox.Show("Você não possui navegador padrão!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdGoogleMaps_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub cmdImpContrato_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdImpContrato.Click

        Try

            lPrint()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdImpContrato_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub cmdLeituras_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLeituras.Click

        Try

            If Me.opbGrupoB.Checked Then
                frmCadastroConsumidorLeiturasGrupoB.SetaDados(Me, vCamposLeiturasGrupoB.VALOR, vCamposLeiturasGrupoB.PRECISAO, vCamposLeiturasGrupoB.HABILITADO)
                frmCadastroConsumidorLeiturasGrupoB.Show()
            ElseIf Me.opbGrupoA.Checked Then
                frmCadastroConsumidorLeiturasGrupoA.SetaDados(Me, vCamposLeiturasGrupoA.VALOR, vCamposLeiturasGrupoA.PRECISAO, vCamposLeiturasGrupoA.HABILITADO)
                frmCadastroConsumidorLeiturasGrupoA.Show()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdLeituras_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdLimparAgrupamento_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLimparAgrupamento.Click

        Try

            Me.txtAgrupaZona.Text = String.Empty
            Me.txtAgrupaLivro.Text = String.Empty
            Me.txtAgrupaConta.Text = String.Empty
            Me.txtAgrupaNome.Text = String.Empty
            Me.txtAgrupaRota.Text = String.Empty

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdLimparAgrupamento_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdLocalizarMedidor_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLocalizarMedidor.Click

        Try

            frmCadastroMedidores.SetaParametros(Me)
            frmCadastroMedidores.SetaCodigo("medidores", CInt(IIf(IsNumeric(Me.txtIdMedidor.Text), Me.txtIdMedidor.Text, 0)))
            frmCadastroMedidores.Show()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdLocalizarMedidor_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdLocCnae_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLocCnae.Click

        Try

            frmLocalizaCnae.SetaLocalizaCnae(Me)
            frmLocalizaCnae.Show()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdLocCnae_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdLocZlcAgrupa_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLocZlcAgrupa.Click

        Try

            frmLocalizaUnidade.SetaLocalizaUnidade("U", Me)
            frmLocalizaUnidade.Show()
            vLocaliza = "A"

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdLocZlcAgrupa_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdMGSefaz_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdMGSefaz.Click

        Try

            If IsNumeric(Me.txtUnidIDU.Text) Then
                frmCadastroMicroGeracaoConvenioSefaz.SetaParametros(Me, CInt(Me.txtUnidIDU.Text), IIf(Me.opbGrupoA.Checked, "A", "B"))
                frmCadastroMicroGeracaoConvenioSefaz.Show()
            Else
                MessageBox.Show("Você precisa estar com algum unidade consumidora informada!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdMGSefaz_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdParametros_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdParametros.Click


        Try

            frmCadastroConsumidorParametros.SetaDados(Me, vCamposParametros.VALOR, vCamposParametros.NOMECAMPO)
            frmCadastroConsumidorParametros.Show()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdParametros_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Private Sub cmdProximo_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdProximo.Click

        Try

            If gridUnid.Row < gridUnid.Rows - 1 Then
                gridUnid.Row = gridUnid.Row + 1
                labelStatus.Text = "Registro " & gridUnid.Row + 1 & " de " & gridUnid.Rows & "."
                CarregaDadosUnidade(CInt(gridUnid.get_TextMatrix(gridUnid.Row, 3)), gridUnid.get_TextMatrix(gridUnid.Row, 4), gridUnid.get_TextMatrix(gridUnid.Row, 0), gridUnid.get_TextMatrix(gridUnid.Row, 1), gridUnid.get_TextMatrix(gridUnid.Row, 2))
            Else
                MessageBox.Show("Este é o último registro!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdProximo_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdBuscaEndCons_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdBuscaEndCons.Click

        Try

            frmPreencherEnderecos.SetaPreencherEnde(Me, False)
            frmPreencherEnderecos.Show()
            vModConsEnd = "C"

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdBuscaEndCons_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdBuscaEndEntrega_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdBuscaEndEntrega.Click

        Try

            frmPreencherEnderecos.SetaPreencherEnde(Me, False)
            frmPreencherEnderecos.Show()
            vModConsEnd = "UE"

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdBuscaEndEntrega_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdBuscaEndUnid_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdBuscaEndUnid.Click

        Try

            frmPreencherEnderecos.SetaPreencherEnde(Me, False)
            frmPreencherEnderecos.Show()
            vModConsEnd = "UC"

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdBuscaEndUnid_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Private Sub cmdCarga_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCarga.Click

        Try
            If opbGrupoA.Checked = True Then
                MessageBox.Show("Não se aplica às unidades consumidoras do grupo A.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
            ElseIf opbGrupoB.Checked = True Then
                frmCargaInstalada.SetaCarga(Me.txtZonaU.Text, Me.txtLivroU.Text, Me.txtContaU.Text, Me.txtNomeU.Text, CInt(Me.txtUnidIDU.Text), IIf(opbGrupoA.Checked, "A", "B"), Me)
                frmCargaInstalada.Show()
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdCarga_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdPesquisaConsumidor_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPesquisaConsumidor.Click

        Dim i As Integer

        Try

            Me.TabConsum.SelectedIndex = 0
            Me.TabUnidCons.SelectedIndex = 0

            frmLocalizaUnidade.SetaLocalizaUnidade("C", Me)
            frmLocalizaUnidade.Show()

            vLocaliza = "C"


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdPesquisaConsumidor_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdPesquisaUnidade_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPesquisaUnidade.Click


        Try

            Me.TabConsum.SelectedIndex = 0
            Me.TabUnidCons.SelectedIndex = 0

            frmLocalizaUnidade.SetaLocalizaUnidade("U", Me)
            frmLocalizaUnidade.Show()

            vLocaliza = "U"

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdPesquisaUnidade_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdFechar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdFechar.Click

        Try

            lClose()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdFechar_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdNovoC_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdNovoC.Click

        Try

            lNewC()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdNovoC_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdNovoU_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdNovoU.Click

        Try

            lNewU()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdNovoU_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdSalvarC_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdSalvarC.Click


        Try

            'Salvar o consumidor e a unidade consumidora
            If VerifCons() = True Then

                If Len(Trim(txtConsRegC.Text)) > 0 Then

                    'Update
                    If GravaCons("U") Then
                        LigDesBotoes("SalvarC")
                        MessageBox.Show("Consumidor atualizado com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Else
                        MessageBox.Show("Consumidor não pode ser atualizada!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    End If

                Else

                    'Insert
                    If GravaCons("I") Then

                        If VerifUnid() = True Then

                            If GravaUnid("I") Then
                                MessageBox.Show("Unidade Consumidora criada com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                            Else
                                MessageBox.Show("Unidade Consumidora não pode ser criado!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                            End If

                        End If

                        LigDesBotoes("SalvarC")
                        MessageBox.Show("Consumidor criado com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)

                    Else
                        MessageBox.Show("Consumidor não pode ser criado!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    End If

                End If

            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdSalvarC_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdSalvarU_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdSalvarU.Click

        Dim lblnContinua As Boolean

        Try

            lblnContinua = True

            'Salvar a unidade consumidora apenas
            If VerifUnid() = True Then

                If Len(Trim(txtUnidIDU.Text)) > 0 Then

                    'Update
                    If vZona <> Me.txtZonaU.Text Or vLivro <> Me.txtLivroU.Text Or vConta <> Me.txtContaU.Text Then
                        If vZona = "999" And vLivro = "99" And vConta = "999999" Then
                            lblnContinua = True
                        Else
                            lblnContinua = Not VerificaDependenciasZLC(CInt(Me.txtConsRegC.Text), CInt(Me.txtUnidIDU.Text), vZona, vLivro, vConta, vGrupo)
                        End If
                    End If

                    If lblnContinua Then

                        If GravaUnid("U") Then
                            LigDesBotoes("SalvarU")
                            MessageBox.Show("Unidade Consumidora atualizada com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Else
                            MessageBox.Show("Unidade Consumidora não pode ser atualizada!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        End If

                    Else
                        MessageBox.Show("Você não pode alterar o identifcador! Porque Possue outros dados dependentes deste.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    End If
                Else
                    'Insert
                    If GravaUnid("I") Then
                        LigDesBotoes("SalvarU")
                        MessageBox.Show("Unidade Consumidora criada com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Else
                        MessageBox.Show("Unidade Consumidora não pode ser criado!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    End If

                End If

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdSalvarU_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub cmdExcluirU_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdExcluirU.Click

        Dim objUCFaturamento As New entidadeUCFaturamento

        Try

            vResp = MessageBox.Show("Esta operação não possui retorno!" & vbCrLf & vbCrLf & "Tem certeza de que deseja excluir este registro?", "Confirmação de Exclusão", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)

            If vResp = DialogResult.Yes Then

                If Not VerificaDependenciasZLC(CInt(Me.txtConsRegC.Text), CInt(Me.txtUnidIDU.Text), Me.txtZonaU.Text, Me.txtLivroU.Text, Me.txtContaU.Text, IIf(Me.opbGrupoA.Checked, "A", "B")) Then

                    If Trim(txtUnidIDU.Text) = "" Or Trim(txtUnidIDU.Text) = "0" Then
                        MessageBox.Show("Não foi selecionada ou não existe Unidade Consumidora cadastrada para o Consumidor selecionado, Favor verifique !", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Question)
                        Exit Sub
                    End If

                    ' objUCFaturamento.UNID_ID = Me.txtUnidIDU.Text
                    objUCFaturamento.ID = Me.txtUnidIDU.Text

                    If Not lDelete(objUCFaturamento) Then
                        MessageBox.Show("Unidade não pode ser excluída!", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Else
                        MessageBox.Show("Unidade excluída com sucesso!", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        lClear("U")
                    End If
                Else
                        MessageBox.Show("Você não pode excluir este registro! Possue outros dados dependentes deste.", "Confirmação de Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If

            ElseIf vResp = DialogResult.Cancel Then
                Exit Sub
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdExcluirU_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub FrmCadConsumidor_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

        Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
        Dim lstrCampo As String


        Try

            lstrCampo = VB6.GetActiveControl().Name

            Select Case lstrCampo
                Case "txtConsRegC", "txtMatriculaC", "txtDtCadastroC", "txtCepC", "txtDDDTelC", "txtTelefoneC", "txtDDDFaxC", "txtFaxC", "txtCpfC", "txtDtNasctoC", "txtDDDCelC", "txtCelC", "txtNisDataC", "txtNisFaturadoC", "txtCgcC", "txtInscC", "txtDDDTelContatoC", "txtTelContatoC", "txtZonaU", "txtLivroU", "txtContaU", "txtRotaU", "txtUnidIDU", "txtDataLigacaoU", "txtDataEntradaU", "txtDisjuntorU", "txtAreaU", "txtDecapDataU", "txtCepU", "txtDDDFoneU", "txtFoneU", "txtNumU", "txtMedkWhU", "txtMedkWU", "txtMedkVArhU", "txtDtaInstMedidorU", "txtDtaFabMedidorU", "txtCepEntregaU", "txtCpfU", "txtCnpjU", "txtInscEstadU", "txtIdCnae", "txtIdCcee", "txtDemandaContrU", "txtDemandaContrPU", "txtDemandaContrFPU", "txtDemandaAnteriorContrU", "txtDemandaAnteriorContrPU", "txtDemandaAnteriorContrFPU", "txtDtDemandaContrU", "txtFpFixoU", "txtCargaU", "txtConstanteU", "txtPerdasU", "txtConstKvarhU", "txtGACConstkWhU", "txtGACConstkWU", "txtGACConstkVArhU", "txtGAHConstkWhPU", "txtGAHConstkWhFPU", "txtGAHConstkWPU", "txtGAHConstkWFPU", "txtGAHConstkVArhPU", "txtGAHConstkVArhFPU", "txtComprimento", "txtTCRelacaoPrimaria", "txtTCRelacaoSecundaria", "txtTPRelacaoPrimaria", "txtTPRelacaoSecundaria"
                    ControleTecla(KeyAscii, "N")
                Case Else
                    ControleTecla(KeyAscii, "A")
            End Select

            eventArgs.KeyChar = Chr(KeyAscii)

            If KeyAscii = 0 Then
                eventArgs.Handled = True
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: FrmCadConsumidor_KeyPress" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Private Sub FrmCadConsumidor_KeyUp(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp

        Dim KeyCode As Short = eventArgs.KeyCode
        Dim Shift As Short = eventArgs.KeyData \ &H10000
        Dim lstrCampo As String


        Try


            If KeyCode = System.Windows.Forms.Keys.Return Or KeyCode = System.Windows.Forms.Keys.ShiftKey Or KeyCode = System.Windows.Forms.Keys.Tab Then

                lstrCampo = VB6.GetActiveControl().Name

                Select Case lstrCampo
                    Case "txtConsRegC", "txtDtCadastroC", "txtCepC", "txtTelefoneC", "txtDDDFaxC", "txtFaxC", "txtCpfC", "txtDtNasctoC", "txtCelC", "txtNisDataC", "txtNisFaturadoC", "txtCgcC", "txtInscC", "txtDataLigacaoU", "txtDataEntradaU", "txtTelContatoC", "txtZonaU", "txtLivroU", "txtContaU", "txtRotaU", "txtUnidIDU", "txtCepU", "txtFoneU", "txtNumU", "txtMedkWhU", "txtMedkWU", "txtMedkVArhU", "txtDtaInstMedidorU", "txtDtaFabMedidorU", "txtCepEntregaU", "txtCpfU", "txtCnpjU", "txtInscEstadU", "txtIdCnae", "txtDemandaContrU", "txtDemandaContrPU", "txtDemandaContrFPU", "txtDemandaAnteriorContrU", "txtDemandaAnteriorContrPU", "txtDemandaAnteriorContrFPU", "txtDtDemandaContrU", "txtFpFixoU", "txtCargaU"
                        SelTodoCampo(VB6.GetActiveControl(), True)
                    Case "txtMatriculaC", "txtDDDTelC", "txtDDDCelC", "txtDDDTelContatoC", "txtIdCcee", "txtDisjuntorU", "txtAreaU", "txtDecapDataU", "txtDDDFoneU", "txtConstanteU", "txtConstKvarhU", "txtGACConstkWhU", "txtGACConstkWU", "txtGACConstkVArhU", "txtGAHConstkWhPU", "txtGAHConstkWhFPU", "txtGAHConstkWPU", "txtGAHConstkWFPU", "txtGAHConstkVArhPU", "txtGAHConstkVArhFPU", "txtPerdasU", "txtComprimento", "txtTCRelacaoPrimaria", "txtTCRelacaoSecundaria", "txtTPRelacaoPrimaria", "txtTPRelacaoSecundaria"
                        SelTodoCampo(VB6.GetActiveControl(), False)
                End Select

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: FrmCadConsumidor_KeyUp" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub FrmCadConsumidor_KeyDown(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

        Dim KeyCode As Short = eventArgs.KeyCode
        Dim Shift As Short = eventArgs.KeyData \ &H10000
        Dim lstrCampo As String


        Try

            If KeyCode = System.Windows.Forms.Keys.Return Or KeyCode = System.Windows.Forms.Keys.ShiftKey Or KeyCode = System.Windows.Forms.Keys.Tab Then

                lstrCampo = VB6.GetActiveControl().Name

                Select Case lstrCampo
                    Case "txtDemandaContrU", "txtDemandaContrPU", "txtDemandaContrFPU", "txtDemandaAnteriorContrU", "txtDemandaAnteriorContrPU", "txtDemandaAnteriorContrFPU", "txtPerdasU"
                        VB6.GetActiveControl().Text = FormatNumber(VB6.GetActiveControl().Text)
                    Case "txtConstanteU", "txtConstKvarhU", "txtGACConstkWhU", "txtGACConstkWU", "txtGACConstkVArhU", "txtGAHConstkWhPU", "txtGAHConstkWhFPU", "txtGAHConstkWPU", "txtGAHConstkWFPU", "txtGAHConstkVArhPU", "txtGAHConstkVArhFPU"
                        VB6.GetActiveControl().Text = FormatNumber(VB6.GetActiveControl().Text, 5)
                    Case "txtComprimento"
                        VB6.GetActiveControl().Text = FormatNumber(VB6.GetActiveControl().Text, 2)
                End Select

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: FrmCadConsumidor_KeyDown" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub FrmCadConsumidor_FormClosed(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

        Try


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: FrmCadConsumidor_FormClosed" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub


#End Region

#Region "Métodos"

    Private Sub lNewC()

        Try

            Me.TabConsum.SelectedIndex = 0
            Me.TabUnidCons.SelectedIndex = 0

            lClear("T")
            LigDesBotoes("NovoC")

            Me.txtConsRegC.Text = String.Empty
            vEndCodC = String.Empty

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lNewC" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub lNewU()

        Try

            Me.TabUnidCons.SelectedIndex = 0

            lClear("U")
            LigDesBotoes("NovoU")

            vEndCodUC = String.Empty
            vEndCodEn = String.Empty

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lNewU" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub lClear(ByRef astrTipo As String)

        'astrTipo = "C" = Consumidor or "U" = Unidade or "T" = Todos

        Dim vControl As System.Windows.Forms.Control
        Dim vControlGroupBox As System.Windows.Forms.Control
        Dim vControlTabBox As System.Windows.Forms.Control

        Try

            For Each vControl In Me.Controls

                If Microsoft.VisualBasic.Right(vControl.Name, 1) = astrTipo Or astrTipo = "T" Then

                    If TypeOf vControl Is System.Windows.Forms.TextBox Then
                        Dim vControl_1 As System.Windows.Forms.TextBox = CType(vControl, System.Windows.Forms.TextBox)
                        vControl_1.Text = String.Empty
                    End If

                    If TypeOf vControl Is System.Windows.Forms.ComboBox Then
                        Dim vControl_1 As System.Windows.Forms.ComboBox = CType(vControl, System.Windows.Forms.ComboBox)
                        If vControl_1.Name <> "cmbBancoU" Then
                            If vControl_1.Items.Count > 0 Then
                                vControl_1.SelectedIndex = -1
                            End If
                        End If
                    End If

                    If TypeOf vControl Is System.Windows.Forms.CheckBox Then
                        Dim vControl_1 As System.Windows.Forms.CheckBox = CType(vControl, System.Windows.Forms.CheckBox)
                        vControl_1.Checked = False
                    End If


                    ' Percorre os TabControl, TabPages e GroupBox para limpar os controles
                    For Each P As TabPage In TabConsum.TabPages
                        For Each ctrl As Control In P.Controls
                            'MsgBox(ctrl.Name & " - " & ctrl.GetType.ToString)
                            If TypeOf ctrl Is System.Windows.Forms.GroupBox Then
                                Dim afmeAuxiliar_ As System.Windows.Forms.GroupBox = CType(ctrl, System.Windows.Forms.GroupBox)
                                For Each vControlGroupBox In afmeAuxiliar_.Controls

                                    If TypeOf vControlGroupBox Is System.Windows.Forms.TextBox Then
                                        vControlGroupBox.Text = String.Empty
                                    End If

                                    If TypeOf vControlGroupBox Is System.Windows.Forms.ComboBox Then
                                        Dim vControlGroupBox_Item As System.Windows.Forms.ComboBox = CType(vControlGroupBox, System.Windows.Forms.ComboBox)
                                        If vControlGroupBox_Item.Name <> "cmbBancoU" Then
                                            If vControlGroupBox_Item.Items.Count > 0 Then
                                                vControlGroupBox_Item.SelectedIndex = -1
                                            End If
                                        End If
                                    End If

                                Next
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.TextBox Then
                                Dim vControl_1 As System.Windows.Forms.TextBox = CType(ctrl, System.Windows.Forms.TextBox)
                                vControl_1.Text = String.Empty
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.ComboBox Then
                                Dim vControl_1 As System.Windows.Forms.ComboBox = CType(ctrl, System.Windows.Forms.ComboBox)
                                If vControl_1.Name <> "cmbBancoU" Then
                                    If vControl_1.Items.Count > 0 Then
                                        vControl_1.SelectedIndex = -1
                                    End If
                                End If
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.CheckBox Then
                                Dim vControl_1 As System.Windows.Forms.CheckBox = CType(ctrl, System.Windows.Forms.CheckBox)
                                vControl_1.Checked = False
                            End If

                        Next
                    Next

                    'Percorre os TabControl, TabPages e GroupBox para limpar os controles
                    For Each P As TabPage In TabUnidCons.TabPages
                        For Each ctrl As Control In P.Controls
                            'MsgBox(ctrl.Name & " - " & ctrl.GetType.ToString)
                            If TypeOf ctrl Is System.Windows.Forms.GroupBox Then
                                Dim afmeAuxiliar_ As System.Windows.Forms.GroupBox = CType(ctrl, System.Windows.Forms.GroupBox)
                                For Each vControlGroupBox In afmeAuxiliar_.Controls

                                    If TypeOf vControlGroupBox Is System.Windows.Forms.TextBox Then
                                        vControlGroupBox.Text = String.Empty
                                    End If

                                    If TypeOf vControlGroupBox Is System.Windows.Forms.ComboBox Then
                                        Dim vControlGroupBox_Item As System.Windows.Forms.ComboBox = CType(vControlGroupBox, System.Windows.Forms.ComboBox)
                                        If vControlGroupBox_Item.Name <> "cmbBancoU" Then
                                            If vControlGroupBox_Item.Items.Count > 0 Then
                                                vControlGroupBox_Item.SelectedIndex = -1
                                            End If
                                        End If
                                    End If

                                Next
                            End If


                            If TypeOf ctrl Is System.Windows.Forms.TextBox Then
                                Dim vControl_1 As System.Windows.Forms.TextBox = CType(ctrl, System.Windows.Forms.TextBox)
                                vControl_1.Text = String.Empty
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.ComboBox Then
                                Dim vControl_1 As System.Windows.Forms.ComboBox = CType(ctrl, System.Windows.Forms.ComboBox)
                                If vControl_1.Name <> "cmbBancoU" Then
                                    If vControl_1.Items.Count > 0 Then
                                        vControl_1.SelectedIndex = -1
                                    End If
                                End If
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.CheckBox Then
                                Dim vControl_1 As System.Windows.Forms.CheckBox = CType(ctrl, System.Windows.Forms.CheckBox)
                                vControl_1.Checked = False
                            End If
                        Next
                    Next

                    ' Limpa os campos das tab´s referente a Unidade Consumidora   
                ElseIf Microsoft.VisualBasic.Right(vControl.Name, 1) = astrTipo Or astrTipo = "U" Then

                    ' Percorre os TabControl, TabPages e GroupBox para limpar os controles
                    For Each P As TabPage In TabConsum.TabPages
                        For Each ctrl As Control In P.Controls
                            'MsgBox(ctrl.Name & " - " & ctrl.GetType.ToString)
                            If TypeOf ctrl Is System.Windows.Forms.GroupBox Then
                                Dim afmeAuxiliar_ As System.Windows.Forms.GroupBox = CType(ctrl, System.Windows.Forms.GroupBox)
                                For Each vControlGroupBox In afmeAuxiliar_.Controls
                                    'If TypeOf vControlGroupBox Is System.Windows.Forms.TextBox Then
                                    '    vControlGroupBox.Text = String.Empty
                                    'End If
                                Next
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.TextBox Then
                                Dim vControl_1 As System.Windows.Forms.TextBox = CType(ctrl, System.Windows.Forms.TextBox)
                                If vControl_1.Name = "txtUnidIDU" Or vControl_1.Name = "txtNomeU" Or vControl_1.Name = "txtZonaU" Or vControl_1.Name = "txtLivroU" Or vControl_1.Name = "txtContaU" Or vControl_1.Name = "txtRotaU" Or vControl_1.Name = "txtSgd" Then
                                    vControl_1.Text = String.Empty
                                End If
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.ComboBox Then
                                Dim vControl_1 As System.Windows.Forms.ComboBox = CType(ctrl, System.Windows.Forms.ComboBox)
                                If vControl_1.Name = "cmbSituacaoU" Then
                                    If vControl_1.Items.Count > 0 Then
                                        vControl_1.SelectedIndex = -1
                                    End If
                                End If
                            End If
                        Next
                    Next

                    For Each P As TabPage In TabUnidCons.TabPages
                        For Each ctrl As Control In P.Controls
                            'MsgBox(ctrl.Name & " - " & ctrl.GetType.ToString)
                            If TypeOf ctrl Is System.Windows.Forms.GroupBox Then
                                Dim afmeAuxiliar_ As System.Windows.Forms.GroupBox = CType(ctrl, System.Windows.Forms.GroupBox)
                                For Each vControlGroupBox In afmeAuxiliar_.Controls

                                    If TypeOf vControlGroupBox Is System.Windows.Forms.TextBox Then
                                        vControlGroupBox.Text = String.Empty
                                    End If

                                    If TypeOf vControlGroupBox Is System.Windows.Forms.ComboBox Then
                                        Dim vControlGroupBox_Item As System.Windows.Forms.ComboBox = CType(vControlGroupBox, System.Windows.Forms.ComboBox)
                                        If vControlGroupBox_Item.Name <> "cmbBancoU" Then
                                            If vControlGroupBox_Item.Items.Count > 0 Then
                                                vControlGroupBox_Item.SelectedIndex = -1
                                            End If
                                        End If
                                    End If

                                Next
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.TextBox Then
                                Dim vControl_1 As System.Windows.Forms.TextBox = CType(ctrl, System.Windows.Forms.TextBox)
                                vControl_1.Text = String.Empty
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.ComboBox Then
                                Dim vControl_2 As System.Windows.Forms.ComboBox = CType(ctrl, System.Windows.Forms.ComboBox)
                                If vControl_2.Name <> "cmbBancoU" Then
                                    If vControl_2.Items.Count > 0 Then
                                        vControl_2.SelectedIndex = -1
                                    End If
                                End If
                            End If

                            If TypeOf ctrl Is System.Windows.Forms.CheckBox Then
                                Dim vControl_1 As System.Windows.Forms.CheckBox = CType(ctrl, System.Windows.Forms.CheckBox)
                                vControl_1.Checked = False
                            End If
                        Next
                    Next


                End If

            Next vControl

            vZona = String.Empty
            vLivro = String.Empty
            vConta = String.Empty

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lClear" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub lClose()

        Try

            Close()

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lClose" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub PreencheCombobox()
        Dim lstrsql As String
        Try

            PreencherTipoSituacao(cmbSituacaoU)
            'PreencherClasse(cmbClasseU)
            'PreencherAgrupa(cmbAgrupa)
            'PreencherTipoMedidor(cmbTipoMedidor)
            'PreencherCondutor(cmbCondutor)
            'PreencherCorrente(cmbCorrente)
            'PreencherTipoPadraoMedicao(cmbTipoPadraoMedicao)
            'PreencherAlimentador(cmbAlimentador)
            'PreencherConjunto(cmbConjuntoU)
            'PreencherUf(cmbUfEntregaU)
            'PreencherBanco(cmbBancoU)
            PreencherDatasVencimento(cmbDiaVencU)
            PreencherTensaoFornec(cmbTensao)

            lstrsql = ""
            lstrsql = "Select CODIGO as codigo, CONCAT(CODIGO,' - ', DESCRICAO) AS Descricao From CLASSE Where CODIGO not in('9100','9102','9104','9106') Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbClasseU)

            lstrsql = ""
            lstrsql = "Select CODIGO as codigo, CONCAT(CODIGO,' - ', DESCRICAO) AS Descricao From AGRUPA Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbAgrupa)

            lstrsql = ""
            lstrsql = "Select ID as codigo, CONCAT(ID,' - ', DESCRICAO) AS Descricao From Tipo_Medidor Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbTipoMedidor)

            lstrsql = ""
            lstrsql = "Select ID as codigo, CONCAT(ID,' - ', DESCRICAO) AS Descricao From Condutor Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbCondutor)

            lstrsql = ""
            lstrsql = "Select ID as codigo, CONCAT(ID,' - ', DESCRICAO) AS Descricao From Corrente Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbCorrente)

            lstrsql = ""
            lstrsql = "Select ID as codigo, CONCAT(ID,' - ', DESCRICAO) AS Descricao From Tipo_Padrao_Medicao Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbTipoPadraoMedicao)

            lstrsql = ""
            lstrsql = "Select ID as codigo, CONCAT(ID,' - ', DESCRICAO) AS Descricao From Alimentador Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbAlimentador)

            lstrsql = ""
            lstrsql = "Select ID_Conjunto as codigo, CONCAT(ID_Conjunto,' - ', Nome) AS Descricao From Conjunto Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbConjuntoU)

            lstrsql = ""
            lstrsql = "Select CodNum as codigo, Uf AS Descricao From UF Order By Descricao ASC "
            sCarregaComboConsumidor(lstrsql, cmbUfEntregaU)

            lstrsql = ""
            lstrsql = "Select BAN_ID as Codigo, CONCAT(NRBCO, ' - ', CASE WHEN NMBCO = ' ' THEN '(NENHUM)' ELSE NMBCO END)  AS Descricao From bancos where TPMOVTO = 'D' Order By Descricao ASC  "
            'lstrsql = "Select BAN_ID as Codigo, CONCAT(NRBCO, ' - ', CASE WHEN TPMOVTO = 'N' THEN '(DEBITO)' ELSE '' END , '', CASE WHEN NMBCO = ' ' THEN '(NENHUM)' ELSE NMBCO END)  AS Descricao From bancos Order By Descricao ASC  "
            sCarregaComboConsumidor(lstrsql, cmbBancoU)


            'Tarifas
            With Me.cmbTarifaGrAU
                .Items.Add("A4 - Convencional")
                .Items.Add("AS - Convencional Suprimento")
                .Items.Add("AA - Horo Sazonal Azul")
                .Items.Add("AV - Horo Sazonal Verde")
                .Items.Add("AL - Consumidor Livre")
                .Items.Add("AP - Auto Produtor")
                .Items.Add("AX - Grupo A Horo-sazonal Suprimento")
            End With

            With Me.cmbTarifaGrBU
                .Items.Add("B1 - Residencial e Baixa Renda")
                .Items.Add("B2 - Rural, Cooperativa de Eletrificação Rural e Serviço Público de Irrigação")
                .Items.Add("B3 - Demais Classes")
                .Items.Add("B4 - Iluminação Pública")
            End With

            With Me.cmbFaseLigU
                .Items.Add("AN")
                .Items.Add("BN")
                .Items.Add("CN")
                .Items.Add("ABN")
                .Items.Add("ACN")
                .Items.Add("BCN")
                .Items.Add("ABCN")
            End With


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: PreencheCombobox" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub LigDesFisJur(ByRef abModeFisica As Boolean, ByRef abModeJuridica As Boolean, ByRef astrTipo As String, Optional ByVal astrClasse As String = "")

        Dim intLinha As Short


        Try


            If astrTipo = "C" Then
                With Me.txtCpfC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtRgC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtCtpsC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtTituloEleitorC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtNomePaiC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtNomeMaeC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtConjuge
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtDtNasctoC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtDDDCelC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtCelC
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtCgcC
                    .Enabled = abModeJuridica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
            ElseIf astrTipo = "U" Then
                With Me.txtCpfU
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtRgU
                    .Enabled = abModeFisica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                With Me.txtCdCnae
                    .Enabled = IIf(abModeJuridica Or Microsoft.VisualBasic.Left(astrClasse, 1) = "5", True, False)
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
                Me.cmdLocCnae.Enabled = IIf(abModeJuridica Or Microsoft.VisualBasic.Left(astrClasse, 1) = "5", True, False)
                With Me.txtCnpjU
                    .Enabled = abModeJuridica
                    .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
                End With
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: LigDesFisJur" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub LigDesGrupos()

        Try

            'Grupo A
            '  Me.chkEncargoU.Enabled = Me.opbGrupoA.value
            '  Me.chkQhU.Enabled = Me.opbGrupoA.value
            '  Me.chkIcmsIsentoDemandaU.Enabled = Me.opbGrupoA.value
            '  Me.chkIcmsDemLida.Enabled = Me.opbGrupoA.value
            '  Me.chkIcmsDiferidoU.Enabled = Me.opbGrupoA.value
            Me.chkPeriodoTeste.Enabled = Me.opbGrupoA.Checked
            With Me.txtDDDFoneU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtFoneU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtMedkWhU
                .Enabled = Me.opbGrupoA.Checked
                .Visible = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtMedkWU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            '  With Me.txtDemandaContrU
            '    .Enabled = Me.opbGrupoA.value
            '    .BackColor = IIf(.Enabled, vbWindowBackground, vbButtonFace)
            '  End With
            With Me.txtDemandaContrPU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtDemandaContrFPU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            '  With Me.txtDemandaAnteriorContrU
            '    .Enabled = Me.opbGrupoA.value
            '    .BackColor = IIf(.Enabled, vbWindowBackground, vbButtonFace)
            '  End With
            With Me.txtDemandaAnteriorContrPU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtDemandaAnteriorContrFPU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtDtDemandaContrU
                .Enabled = Me.opbGrupoA.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            'Grupo B
            Me.cmdImpContrato.Enabled = Me.opbGrupoB.Checked
            Me.cmbFaseLigU.Enabled = Me.opbGrupoB.Checked
            With Me.txtFpFixoU
                .Enabled = Me.opbGrupoB.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtTransfU
                .Enabled = Me.opbGrupoB.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            '  With Me.txtDecapNumU
            '    .Enabled = Me.opbGrupoB.value
            '    .BackColor = IIf(.Enabled, vbWindowBackground, vbButtonFace)
            '  End With
            '  With Me.txtDecapDataU
            '    .Enabled = Me.opbGrupoB.value
            '    .BackColor = IIf(.Enabled, vbWindowBackground, vbButtonFace)
            '  End With
            With Me.txtDisjuntorU
                .Enabled = Me.opbGrupoB.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtAreaU
                .Enabled = Me.opbGrupoB.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With
            With Me.txtNumU
                .Enabled = Me.opbGrupoB.Checked
                .Visible = Me.opbGrupoB.Checked
                .BackColor = System.Drawing.ColorTranslator.FromOle(IIf(.Enabled, System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Window), System.Drawing.ColorTranslator.ToOle(System.Drawing.SystemColors.Control)))
            End With

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: LigDesGrupos" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub LigDesTabLeit()

        Dim lstrGrTar As String

        Try

            If Me.opbGrupoA.Checked = True Then
                lstrGrTar = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrAU, Me.cmbTarifaGrAU.SelectedIndex), 2)
            ElseIf Me.opbGrupoB.Checked = True Then
                lstrGrTar = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrBU, Me.cmbTarifaGrBU.SelectedIndex), 2)
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: LigDesTabLeit" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Function LigDesBotoes(ByRef astrTipo As String) As Object

        Try

            If astrTipo = "NovoC" Then
                Me.cmdNovoC.Enabled = vUsuarioConsumidorCriarNovo
                Me.cmdSalvarC.Enabled = vUsuarioConsumidorSalvar
                Me.cmdNovoU.Enabled = False
                Me.cmdSalvarU.Enabled = True
                Me.cmdExcluirU.Enabled = False
                ' Me.cmdPesquisaConsumidor.Enabled = False
                'Me.cmdPesquisaUnidade.Enabled = False
            ElseIf astrTipo = "NovoU" Then
                Me.cmdNovoC.Enabled = False
                Me.cmdSalvarC.Enabled = False
                Me.cmdNovoU.Enabled = False
                Me.cmdSalvarU.Enabled = vUsuarioUnidadeConsumidoraSalvar
                Me.cmdExcluirU.Enabled = False
                'Me.cmdPesquisaConsumidor.Enabled = False
                'Me.cmdPesquisaUnidade.Enabled = False

            ElseIf astrTipo = "SalvarC" Or astrTipo = "SalvarU" Then
                Me.cmdNovoC.Enabled = vUsuarioConsumidorCriarNovo
                Me.cmdSalvarC.Enabled = vUsuarioConsumidorSalvar
                Me.cmdNovoU.Enabled = vUsuarioUnidadeConsumidoraCriarNovo
                Me.cmdSalvarU.Enabled = vUsuarioUnidadeConsumidoraSalvar
                Me.cmdExcluirU.Enabled = vUsuarioUnidadeConsumidoraExcluir
                Me.cmdPesquisaConsumidor.Enabled = True
                Me.cmdPesquisaUnidade.Enabled = True
            Else
                Me.cmdNovoC.Enabled = vUsuarioConsumidorCriarNovo

                Me.cmdSalvarC.Enabled = False
                Me.cmdNovoU.Enabled = False
                Me.cmdSalvarU.Enabled = True
                Me.cmdExcluirU.Enabled = False
                Me.cmdPesquisaConsumidor.Enabled = True
                Me.cmdPesquisaUnidade.Enabled = True
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: LigDesBotoes" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Private Sub SelecionaBancoPrincipal()

        Dim vBanco As Integer

        Try
            'vBanco = Convert.ToInt32(GetConfig("cod.banco.principal"))

            If vBanco = 0 Then
                SetConfig("cod.banco.principal", "Numero Real", " ", " ", "Código do banco que sempre irá aparacer como default nos cadastros do consumidor", 0)

            Else
                cmbBancoU.SelectedIndex = vBanco
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: SelecionaBancoPrincipal" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub ProtegeCampos(ByVal ablnModo As Boolean, ByVal ablnLock As Boolean)

        Try

            'Habilta / Desabilita
            'Endereço do Consumidor
            Me.txtUfC.Enabled = ablnModo
            'Me.txtCepC.Enabled = ablnModo
            Me.txtCidadeC.Enabled = ablnModo
            Me.txtDistritoC.Enabled = ablnModo
            Me.txtEndC.Enabled = ablnModo
            Me.txtBairroC.Enabled = ablnModo
            'Endereço da Unidade Consumidora
            Me.txtUfU.Enabled = ablnModo
            'Me.txtCepU.Enabled = ablnModo
            Me.txtCidadeU.Enabled = ablnModo
            Me.txtDistritoU.Enabled = ablnModo
            Me.txtEndU.Enabled = ablnModo
            Me.txtBairroU.Enabled = ablnModo
            'Protege / Desprotege
            'Endereço do Consumidor
            Me.txtUfC.ReadOnly = ablnLock
            'Me.txtCepC.Locked = ablnLock
            Me.txtCidadeC.ReadOnly = ablnLock
            Me.txtDistritoC.ReadOnly = ablnLock
            Me.txtEndC.ReadOnly = ablnLock
            Me.txtBairroC.ReadOnly = ablnLock
            'Endereço da Unidade Consumidora
            Me.txtUfU.ReadOnly = ablnLock
            'Me.txtCepU.Locked = ablnLock
            Me.txtCidadeU.ReadOnly = ablnLock
            Me.txtDistritoU.ReadOnly = ablnLock
            Me.txtEndU.ReadOnly = ablnLock
            Me.txtBairroU.ReadOnly = ablnLock
            Me.cmbf600.Enabled = ablnLock

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: ProtegeCampos" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub DefineCamposParametros()

        Dim lintAux As Short
        Dim lstrArray() As String
        Dim lstrAux As String

        Try

            lstrAux = ""
            lstrAux = lstrAux & "ap_saude|Texto;"
            lstrAux = lstrAux & "estufa|Texto;"
            lstrAux = lstrAux & "alta_tensao|Texto;"
            lstrAux = lstrAux & "vectoproxmes|Texto;"
            lstrAux = lstrAux & "flg_aviso_debito|Texto;"
            lstrAux = lstrAux & "pagto_duvidoso|Inteiro;"
            lstrAux = lstrAux & "pagto_governo|Texto;"
            lstrAux = lstrAux & "luz_todos|Texto;"
            lstrAux = lstrAux & "isentoreativo|Texto;"
            lstrAux = lstrAux & "leitreativo|Inteiro;"
            lstrAux = lstrAux & "leitdema|Inteiro;"
            lstrAux = lstrAux & "isento|Texto;"
            lstrAux = lstrAux & "icms_isento_demanda|Texto;"
            lstrAux = lstrAux & "icms_demanda_lida|Texto;"
            lstrAux = lstrAux & "icms_diferido|Texto;"
            lstrAux = lstrAux & "flg_aliquotadif|Texto;"
            lstrAux = lstrAux & "isento_icms_tusd|Inteiro;"
            lstrAux = lstrAux & "envio_cob_judicial|Inteiro;"
            lstrAux = lstrAux & "ilum|Texto;"
            lstrAux = lstrAux & "qh|Texto;"
            lstrAux = lstrAux & "encargo|Texto;"
            lstrAux = lstrAux & "vip_comercial|Texto;"
            lstrAux = lstrAux & "vip_tecnico|Texto;"
            lstrAux = lstrAux & "bloquea_seg_via_fat|Inteiro;"
            lstrAux = lstrAux & "bloquea_religacao|Inteiro;"
            lstrAux = lstrAux & "tarifa_branca|Inteiro;"
            lstrAux = lstrAux & "micro_geracao|Inteiro;"
            lstrAux = lstrAux & "irrigacao_aquicultura|Inteiro;"
            lstrAux = lstrAux & "livre_leitura_consumo|Inteiro;"
            lstrAux = lstrAux & "livre_verde|Inteiro;"
            lstrAux = lstrAux & "parcialmente_cativo|Inteiro;"
            lstrAux = lstrAux & "livreespecial|Inteiro;"
            lstrAux = lstrAux & "conjuge_fatura|Inteiro;"
            lstrAux = lstrAux & "GDI|Inteiro;"
            lstrAux = lstrAux & "GDII|Inteiro;"
            lstrAux = lstrAux & "GDIII|Inteiro;"
            lstrAux = lstrAux & "isento_taxa_correio|Inteiro;"
            lstrArray = Split(lstrAux, ";")

            With vCamposParametros
                ReDim .NOMECAMPO(UBound(lstrArray) - 1)
                ReDim .TIPO(UBound(lstrArray) - 1)
                ReDim .VALOR(UBound(lstrArray) - 1)
            End With

            For lintAux = 0 To UBound(lstrArray) - 1
                With vCamposParametros
                    .NOMECAMPO(lintAux) = Mid(lstrArray(lintAux), 1, InStr(lstrArray(lintAux), "|") - 1)
                    .TIPO(lintAux) = Mid(lstrArray(lintAux), InStr(lstrArray(lintAux), "|") + 1)
                End With
            Next lintAux


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: DefineCamposParametros" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Sub DefineCamposLeiturasGrupoB()
        Dim lintAux As Short
        Dim lstrArray() As String
        Dim lstrAux As String

        Try


            lstrAux = lstrAux & "ult_leit_kwh_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_kwh_i|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_kwh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_res_p|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_res_i|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_res_fp|Decimal*5$1;"
            lstrAux = lstrAux & "const_kwh_p|Decimal*5$1;"
            lstrAux = lstrAux & "const_kwh_i|Decimal*5$1;"
            lstrAux = lstrAux & "const_kwh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_cons_kwh_p|Decimal*5$0;"
            lstrAux = lstrAux & "ult_cons_kwh_i|Decimal*5$0;"
            lstrAux = lstrAux & "ult_cons_kwh_fp|Decimal*5$0;"
            lstrAux = lstrAux & "ult_leit_kvarh_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_kvarh_i|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_kvarh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "const_kvarh_p|Decimal*5$1;"
            lstrAux = lstrAux & "const_kvarh_i|Decimal*5$1;"
            lstrAux = lstrAux & "const_kvarh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_cons_kvarh_p|Decimal*5$0;"
            lstrAux = lstrAux & "ult_cons_kvarh_i|Decimal*5$0;"
            lstrAux = lstrAux & "ult_cons_kvarh_fp|Decimal*5$0;"
            lstrAux = lstrAux & "ultleit_reverso_p|Decimal*5$1;"
            lstrAux = lstrAux & "ultleit_reverso_i|Decimal*5$1;"
            lstrAux = lstrAux & "ultleit_reverso_fp|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_reverso_res_p|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_reverso_res_i|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_reverso_res_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_irrigante_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_irrigante_i|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_irrigante_fp|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_irrigante_res_p|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_irrigante_res_i|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_irrigante_res_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_desligamento_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_desligamento_i|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_desligamento_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_corte_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_corte_i|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_corte_fp|Decimal*5$1;"
            lstrArray = Split(lstrAux, ";")
            With vCamposLeiturasGrupoB
                ReDim .NOMECAMPO(UBound(lstrArray) - 1)
                ReDim .TIPO(UBound(lstrArray) - 1)
                ReDim .PRECISAO(UBound(lstrArray) - 1)
                ReDim .HABILITADO(UBound(lstrArray) - 1)
                ReDim .VALOR(UBound(lstrArray) - 1)
            End With
            For lintAux = 0 To UBound(lstrArray) - 1
                With vCamposLeiturasGrupoB
                    .NOMECAMPO(lintAux) = Mid(lstrArray(lintAux), 1, InStr(lstrArray(lintAux), "|") - 1)
                    .TIPO(lintAux) = Mid(lstrArray(lintAux), CShort(InStr(lstrArray(lintAux), "|")) + 1, (CShort(InStr(lstrArray(lintAux), "*"))) - (CShort(InStr(lstrArray(lintAux), "|")) + 1))
                    .PRECISAO(lintAux) = CShort(Mid(lstrArray(lintAux), CShort(InStr(lstrArray(lintAux), "*")) + 1, CShort(InStr(lstrArray(lintAux), "$") - 1) - ((Len(.NOMECAMPO(lintAux)) + Len(.TIPO(lintAux))) + 2)))
                    .HABILITADO(lintAux) = IIf(Mid(lstrArray(lintAux), CShort(InStr(lstrArray(lintAux), "$")) + 1) = "1", True, False)
                End With
            Next lintAux

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: DefineCamposLeiturasGrupoB" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub DefineCamposLeiturasGrupoA()

        Dim lintAux As Short
        Dim lstrArray() As String
        Dim lstrAux As String

        Try

            lstrAux = lstrAux & "ult_leit_kwh_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_kwh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_res_p|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_res_fp|Decimal*5$1;"
            lstrAux = lstrAux & "const_kwh_p|Decimal*5$1;"
            lstrAux = lstrAux & "const_kwh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_cons_kwh_p|Decimal*5$0;"
            lstrAux = lstrAux & "ult_cons_kwh_fp|Decimal*5$0;"

            lstrAux = lstrAux & "ult_leit_kw_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_kw_fp|Decimal*5$1;"
            lstrAux = lstrAux & "const_kw_p|Decimal*5$1;"
            lstrAux = lstrAux & "const_kw_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_cons_kw_p|Decimal*5$0;"
            lstrAux = lstrAux & "ult_cons_kw_fp|Decimal*5$0;"

            lstrAux = lstrAux & "ult_leit_kvarh_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_kvarh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "const_kvarh_p|Decimal*5$1;"
            lstrAux = lstrAux & "const_kvarh_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_cons_kvarh_p|Decimal*5$0;"
            lstrAux = lstrAux & "ult_cons_kvarh_fp|Decimal*5$0;"

            lstrAux = lstrAux & "ultleit_reverso_p|Decimal*5$1;"
            lstrAux = lstrAux & "ultleit_reverso_fp|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_reverso_res_p|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_reverso_res_fp|Decimal*5$1;"

            lstrAux = lstrAux & "ult_leit_irrigante_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_irrigante_fp|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_irrigante_res_p|Decimal*5$1;"
            lstrAux = lstrAux & "kwh_irrigante_res_fp|Decimal*5$1;"

            lstrAux = lstrAux & "ult_leit_desligamento_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_desligamento_fp|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_corte_p|Decimal*5$1;"
            lstrAux = lstrAux & "ult_leit_corte_fp|Decimal*5$1;"

            lstrArray = Split(lstrAux, ";")
            With vCamposLeiturasGrupoA
                ReDim .NOMECAMPO(UBound(lstrArray) - 1)
                ReDim .TIPO(UBound(lstrArray) - 1)
                ReDim .PRECISAO(UBound(lstrArray) - 1)
                ReDim .HABILITADO(UBound(lstrArray) - 1)
                ReDim .VALOR(UBound(lstrArray) - 1)
            End With
            For lintAux = 0 To UBound(lstrArray) - 1
                With vCamposLeiturasGrupoA
                    .NOMECAMPO(lintAux) = Mid(lstrArray(lintAux), 1, InStr(lstrArray(lintAux), "|") - 1)
                    .TIPO(lintAux) = Mid(lstrArray(lintAux), CShort(InStr(lstrArray(lintAux), "|")) + 1, (CShort(InStr(lstrArray(lintAux), "*"))) - (CShort(InStr(lstrArray(lintAux), "|")) + 1))
                    .PRECISAO(lintAux) = CShort(Mid(lstrArray(lintAux), CShort(InStr(lstrArray(lintAux), "*")) + 1, CShort(InStr(lstrArray(lintAux), "$") - 1) - ((Len(.NOMECAMPO(lintAux)) + Len(.TIPO(lintAux))) + 2)))
                    .HABILITADO(lintAux) = IIf(Mid(lstrArray(lintAux), CShort(InStr(lstrArray(lintAux), "$")) + 1) = "1", True, False)
                End With
            Next lintAux

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: DefineCamposLeiturasGrupoA" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Public Sub SetaCnae(ByVal alngId As Integer, ByVal astrCd As String)

        Dim lstrDes As String
        Dim lstrCod As String

        Dim vlist

        Dim objCnae As New entidadeCnae
        Dim repositorioCnae As New repositorioCnae


        Try

            If alngId > 0 Or astrCd <> String.Empty Then

                ' Tratamento de tipagem or notnull
                objCnae.ID = 0
                objCnae.CODIGO = ""

                If alngId > 0 Then
                    objCnae.ID = alngId
                Else
                    objCnae.CODIGO = astrCd
                End If

                vlist = repositorioCnae.Select_1(objCnae)

                If vlist.Count > 0 Then

                    For Each objCnaeFor As entidadeCnae In vlist

                        If alngId = 0 Then
                            alngId = CInt(IIf(IsDBNull(objCnaeFor.ID), "0", objCnaeFor.ID))
                        End If

                        lstrDes = Trim(IIf(IsDBNull(objCnaeFor.DESCRICAO), "", objCnaeFor.DESCRICAO))
                        lstrCod = Trim(IIf(IsDBNull(objCnaeFor.CODIGO), "", objCnaeFor.CODIGO))

                        Me.txtIdCnae.Text = CStr(alngId)
                        Me.txtCdCnae.Text = lstrCod
                        Me.txtNmCnae.Text = lstrDes


                    Next

                End If

            Else
                Me.txtNmCnae.Text = String.Empty
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: SetaCnae" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Function VerificaMedidor(ByVal astrMedidor As String, ByVal astrTipo As String) As Boolean

        Dim lblnRet As Boolean
        Dim lstrZona As String
        Dim lstrLivro As String
        Dim lstrConta As String
        Dim lstrNome As String
        Dim lstrMed(3) As String

        Dim vlist

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento


        Try

            lblnRet = False
            objUCFaturamento.ELETR = String.Empty
            objUCFaturamento.NUM = String.Empty
            objUCFaturamento.MEDKW = 0
            objUCFaturamento.MEDKVARK = 0
            objUCFaturamento.MEDKVARH = 0

            'objUCFaturamento.UNID_ID = CInt(IIf(IsNumeric(Me.txtUnidIDU.Text), Me.txtUnidIDU.Text, 0))
            objUCFaturamento.ID = CInt(IIf(IsNumeric(Me.txtUnidIDU.Text), Me.txtUnidIDU.Text, 0))

            If Me.opbGrupoB.Checked Then

                objUCFaturamento.GRUPO = "B"

                If astrTipo = "C" Then
                    objUCFaturamento.NUM = Trim(astrMedidor)
                ElseIf astrTipo = "D" Then
                    objUCFaturamento.MEDKW = Trim(astrMedidor)
                ElseIf astrTipo = "R" Then
                    objUCFaturamento.MEDKVARH = Trim(astrMedidor)
                End If

            Else

                objUCFaturamento.GRUPO = "A"

                If astrTipo = "C" Then
                    objUCFaturamento.ELETR = Trim(astrMedidor)
                ElseIf astrTipo = "D" Then
                    objUCFaturamento.MEDKW = Trim(astrMedidor)
                ElseIf astrTipo = "R" Then
                    objUCFaturamento.MEDKVARK = Trim(astrMedidor)
                End If

            End If

            If Len(Trim(astrMedidor)) > 0 And Microsoft.VisualBasic.Left(Trim(astrMedidor), 4) <> "F***" And astrMedidor <> "0" Then

                vlist = repositorioUCFaturamento.SelectOthersTables_5(objUCFaturamento)

                If vlist.Count > 0 Then

                    For Each objUCFaturamentoFor As entidadeUCFaturamento In vlist

                        lstrZona = IIf(IsDBNull(objUCFaturamentoFor.ZONA), "", objUCFaturamentoFor.ZONA)
                        lstrLivro = IIf(IsDBNull(objUCFaturamentoFor.LIVRO), "", objUCFaturamentoFor.LIVRO)
                        lstrConta = IIf(IsDBNull(objUCFaturamentoFor.CONTA), "", objUCFaturamentoFor.CONTA)
                        lstrNome = IIf(IsDBNull(objUCFaturamentoFor.NOME), "", objUCFaturamentoFor.NOME)

                        MessageBox.Show("Medidor (" & astrMedidor & ") já esta informado na U.C. " & lstrZona & "." & lstrLivro & "." & lstrConta & " - " & lstrNome, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)

                        lblnRet = True

                    Next

                Else
                    lblnRet = False
                End If


            End If

            VerificaMedidor = lblnRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: VerificaMedidor" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Private Sub CarregaDadosUnidade(ByVal alngUnidId As Integer, ByVal astrGrupo As String, ByVal astrZona As String, ByVal astrLivro As String, ByVal astrConta As String)

        Dim lstrSituacao As String
        Dim llngAgrupa As Integer
        Dim lstrRegiao As String
        Dim lstrGrTar As String
        'Dim llngCodClas As Integer
        Dim lstrCodClas As String
        Dim llngTipoMed As Integer

        Dim llngIdCondutor As Integer
        Dim llngIdCorrente As Integer
        Dim llngIdTipoPadraoMedicao As Integer
        Dim llngIdAlimentador As Integer

        Dim lstrFaseLig As String
        Dim lstrFase As String
        Dim lstrDiaVcto As String
        Dim lstrUfEntrega As String
        Dim llngBanId As Integer
        Dim llngLinha As Integer
        Dim lintLinha As Short
        Dim lstrTensao As String

        Dim lstrCircuito As String
        Dim ldblCarga As Double
        Dim lstrTipoLigacao As String
        Dim lstrFone As String
        Dim lstrCpfCnpj As String

        Dim lblnIrrigacao As Boolean

        Dim lstrConstkWhPonta As String
        Dim lstrConstkWhInter As String
        Dim lstrConstkWhForaP As String
        Dim lstrConstkWPonta As String
        Dim lstrConstkWForaP As String
        Dim lstrConstkVarhPonta As String
        Dim lstrConstkVarhInter As String
        Dim lstrConstkVarhForaP As String

        Dim lstrUltLeikWh As String
        Dim lstrUltReskWh As String
        Dim lstrUltLeikVarh As String
        Dim lstrUltLeiRev As String
        Dim lstrUltResRev As String
        Dim lstrUltLeiIrr As String
        Dim lstrUltResIrr As String
        Dim lstrUltLeiDes As String
        Dim lstrUltLeiCor As String
        Dim lstrEnvioEmail As String

        Dim lintAux As Short


        Dim vlist

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento


        Try

            If UCase(astrGrupo) = "A" Then
                Me.opbGrupoA.Checked = True
                Me.txtCargaU.Enabled = True
                Me.txtCargaU.ReadOnly = False
                '    Me.cmbTarifaGrAU.Enabled = True
                '    Me.cmbTarifaGrAU.Visible = True
                '    Me.cmbTarifaGrBU.Enabled = False
                '    Me.cmbTarifaGrBU.Visible = False
                '    Me.chkMediaFP.Enabled = True
                '    istrGrupo = "A"
            Else
                Me.opbGrupoB.Checked = True
                Me.txtCargaU.Enabled = False
                Me.txtCargaU.ReadOnly = True
                '    Me.cmbTarifaGrAU.Enabled = False
                '    Me.cmbTarifaGrAU.Visible = False
                '    Me.cmbTarifaGrBU.Enabled = False
                '    Me.cmbTarifaGrBU.Visible = True
                '    Me.chkMediaFP.Enabled = False
                '    istrGrupo = "B"
            End If

            objUCFaturamento.ID = alngUnidId
            objUCFaturamento.ZONA = astrZona
            objUCFaturamento.LIVRO = astrLivro
            objUCFaturamento.CONTA = astrConta


            vlist = repositorioUCFaturamento.Select(objUCFaturamento)

            If vlist.Count > 0 Then

                For Each objUCFaturamentoFor As entidadeUCFaturamento In vlist

                    If vLocaliza = "A" Then
                        Me.txtAgrupaZona.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.ZONA), "0", objUCFaturamentoFor.ZONA)), "000")
                        Me.txtAgrupaLivro.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.LIVRO), "0", objUCFaturamentoFor.LIVRO)), "00")
                        Me.txtAgrupaConta.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.CONTA), "0", objUCFaturamentoFor.CONTA)), "000000")
                        Me.txtAgrupaRota.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.ROTA), "0", objUCFaturamentoFor.ROTA)), "00000000")
                        Me.txtAgrupaNome.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.NOME), "", objUCFaturamentoFor.NOME)))
                    Else

                        '************ Tab Unidade Consumidora
                        Me.txtZonaU.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.ZONA), "0", objUCFaturamentoFor.ZONA)), "000")
                        Me.txtLivroU.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.LIVRO), "0", objUCFaturamentoFor.LIVRO)), "00")
                        Me.txtContaU.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.CONTA), "0", objUCFaturamentoFor.CONTA)), "000000")
                        vZona = Me.txtZonaU.Text
                        vLivro = Me.txtLivroU.Text
                        vConta = Me.txtContaU.Text
                        Me.txtRotaU.Text = Trim(IIf(IsDBNull(objUCFaturamentoFor.ROTA), "0", objUCFaturamentoFor.ROTA))
                        Me.txtSeqU.Text = Trim(IIf(IsDBNull(objUCFaturamentoFor.SEQUENCIA), "0", objUCFaturamentoFor.SEQUENCIA))
                        Me.txtNomeU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.NOME), "", objUCFaturamentoFor.NOME)))
                        Me.txtUCID.Text = CStr(CInt(IIf(IsDBNull(objUCFaturamentoFor.UNID_ID), 0, objUCFaturamentoFor.UNID_ID)))
                        ' Me.txtUnidIDU.Text = CStr(CInt(IIf(IsDBNull(objUCFaturamentoFor.UNID_ID), 0, objUCFaturamentoFor.UNID_ID)))
                        Me.txtUnidIDU.Text = CStr(CInt(IIf(IsDBNull(objUCFaturamentoFor.ID), 0, objUCFaturamentoFor.ID)))

                        lstrEnvioEmail = Trim(IIf(IsDBNull(objUCFaturamentoFor.ENVIO_EMAIL_FATURA), "N", objUCFaturamentoFor.ENVIO_EMAIL_FATURA))

                        Me.chkenvioemail.CheckState = IIf(lstrEnvioEmail = "N", 0, 1)

                        Me.txtSgd.Text = IIf(UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.SGDENVIO), "P", objUCFaturamentoFor.SGDENVIO))) = "P", "Pendente", "Enviado")

                        'Situacao da unidade
                        lstrSituacao = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.SITUACAO), "L", objUCFaturamentoFor.SITUACAO)))
                        If CInt(Len(lstrSituacao)) = 0 Then lstrSituacao = "L"
                        lintLinha = 0
                        With Me.cmbSituacaoU
                            For lintLinha = 0 To .Items.Count - 1
                                If UCase(Trim(Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbSituacaoU, lintLinha), 1))) = lstrSituacao Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        'Regiao da unidade
                        lstrRegiao = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.REGIAO), "U", objUCFaturamentoFor.REGIAO)))
                        If Len(lstrRegiao) = 0 Then lstrRegiao = "U"
                        lintLinha = 0
                        With Me.cmbRegiao
                            For lintLinha = 0 To .Items.Count - 1
                                If UCase(Trim(Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbRegiao, lintLinha), 1))) = lstrRegiao Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        'Mostra a classe da unidade consumidora
                        'llngCodClas = CInt(IIf(IsDBNull(objUCFaturamentoFor.CLAS), 0, objUCFaturamentoFor.CLAS))
                        lstrCodClas = IIf(IsDBNull(objUCFaturamentoFor.CLAS), "0000", objUCFaturamentoFor.CLAS)
                        lintLinha = 0
                        With Me.cmbClasseU
                            For lintLinha = 0 To .Items.Count - 1
                                'If VB6.GetItemData(Me.cmbClasseU, lintLinha) = llngCodClas Then
                                If VB6.GetItemData(Me.cmbClasseU, lintLinha) = lstrCodClas Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        'Mostra a Tarifa da unidade consumidora
                        lintLinha = 0
                        If UCase(astrGrupo) = "A" Then
                            lstrGrTar = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.TA), "00A400", objUCFaturamentoFor.TA)))
                            If Len(lstrGrTar) = 0 Then lstrGrTar = "00A400"
                            With Me.cmbTarifaGrAU
                                For lintLinha = 0 To .Items.Count - 1
                                    If UCase(Trim(Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrAU, lintLinha), 2))) = Mid(lstrGrTar, 3, 2) Then
                                        .SelectedIndex = lintLinha
                                        lintLinha = .Items.Count
                                    End If
                                Next lintLinha
                            End With
                        ElseIf UCase(astrGrupo) = "B" Then
                            lstrGrTar = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.TA), "00B100", objUCFaturamentoFor.TA)))
                            If Len(lstrGrTar) = 0 Then lstrGrTar = "00B100"
                            With Me.cmbTarifaGrBU
                                For lintLinha = 0 To .Items.Count - 1
                                    If UCase(Trim(Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrBU, lintLinha), 2))) = Mid(lstrGrTar, 3, 2) Then
                                        .SelectedIndex = lintLinha
                                        lintLinha = .Items.Count
                                    End If
                                Next lintLinha
                            End With
                        End If

                        Me.txtCargaU.Text = FormatNumber(CDbl(IIf(IsDBNull(objUCFaturamentoFor.CARGA), 0, objUCFaturamentoFor.CARGA)), 0)
                        Me.txtAgrupaZona.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.AGRUPA_ZONA), "", objUCFaturamentoFor.AGRUPA_ZONA)), "000")
                        Me.txtAgrupaLivro.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.AGRUPA_LIVRO), "", objUCFaturamentoFor.AGRUPA_LIVRO)), "00")
                        Me.txtAgrupaConta.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.AGRUPA_CONTA), "", objUCFaturamentoFor.AGRUPA_CONTA)), "000000")

                        If Len(Me.txtAgrupaZona.Text) > 0 Then
                            Me.txtAgrupaRota.Text = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.ROTA), "0", objUCFaturamentoFor.ROTA)), "00000000")
                            Me.txtAgrupaNome.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.NOME), "", objUCFaturamentoFor.NOME)))
                        End If

                        'Agrupa
                        llngAgrupa = CInt(IIf(IsDBNull(objUCFaturamentoFor.AGRUPA), 1, objUCFaturamentoFor.AGRUPA))
                        With Me.cmbAgrupa
                            For lintLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbAgrupa, lintLinha) = llngAgrupa Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With


                        'Define o circuito (conjunto)
                        lstrCircuito = Trim(IIf(IsDBNull(objUCFaturamentoFor.CIRCUITO), "", objUCFaturamentoFor.CIRCUITO))
                        With Me.cmbConjuntoU
                            For lintLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbConjuntoU, lintLinha) = IIf(IsNumeric(lstrCircuito), lstrCircuito, 0) Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        Me.txtFpFixoU.Text = FormatNumber(CDbl(IIf(IsDBNull(objUCFaturamentoFor.FPFIXO), 0, objUCFaturamentoFor.FPFIXO)), 5)
                        Me.txtTransfU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.TRANSF), "", objUCFaturamentoFor.TRANSF)))
                        '          Me.txtDecapNumU.Text = UCase(Trim(IIf(IsNull(objUCFaturamentoFor.decap_num), "", objUCFaturamentoFor.decap_num)))
                        '          Me.txtDecapDataU.Text = CDate(IIf(IsNull(objUCFaturamentoFor.decap_data), "1900-01-01", objUCFaturamentoFor.decap_data))
                        Me.txtLatitude.Text = Trim(IIf(IsDBNull(objUCFaturamentoFor.LATITUDE), "", objUCFaturamentoFor.LATITUDE))
                        Me.txtLongitude.Text = IIf(IsDBNull(objUCFaturamentoFor.LONGITUDE), "", objUCFaturamentoFor.LONGITUDE)
                        Me.cmdGoogleMaps.Enabled = ((Me.txtLatitude.Text <> "") And (Me.txtLongitude.Text <> ""))
                        '          If CDate(Me.txtDecapDataU.Text) = "01/01/1900" Then Me.txtDecapDataU.Text = ""
                        Me.txtDisjuntorU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.DISJUNTOR), "", objUCFaturamentoFor.DISJUNTOR)))
                        Me.txtAreaU.Text = CStr(CDbl(IIf(IsDBNull(objUCFaturamentoFor.AREA), 0, objUCFaturamentoFor.AREA)))

                        'Mostra a fase de ligacao da unidade consumidora
                        lstrFaseLig = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.FASELIG), "AN", objUCFaturamentoFor.FASELIG)))
                        If Len(lstrFaseLig) = 0 Then lstrFaseLig = "AN"
                        With Me.cmbFaseLigU
                            If Len(lstrFaseLig) > 0 Then
                                For lintLinha = 0 To .Items.Count - 1
                                    If UCase(Trim(VB6.GetItemString(Me.cmbFaseLigU, lintLinha))) = lstrFaseLig Then
                                        .SelectedIndex = lintLinha
                                        lintLinha = .Items.Count
                                    End If
                                Next lintLinha
                            Else
                                .SelectedIndex = 0
                            End If
                        End With

                        Me.txtDataLigacaoU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DATA_LIGACAO), "1900-01-01", objUCFaturamentoFor.DATA_LIGACAO)))
                        If CDate(Me.txtDataLigacaoU.Text) = CDate("01/01/1900") Then Me.txtDataLigacaoU.Text = ""
                        If Len(Trim(Me.txtDataLigacaoU.Text)) <> 0 Then
                            If IsDate(Me.txtDataLigacaoU.Text) Then
                                Me.txtDataLigacaoU.Enabled = False
                            End If
                        End If

                        Me.txtDataEntradaU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DATA_ENTRADA), "1900-01-01", objUCFaturamentoFor.DATA_ENTRADA)))
                        If CDate(Me.txtDataEntradaU.Text) = CDate("01/01/1900") Then Me.txtDataEntradaU.Text = ""
                        If Len(Trim(Me.txtDataEntradaU.Text)) <> 0 Then
                            If IsDate(Me.txtDataEntradaU.Text) Then
                                Me.txtDataEntradaU.Enabled = False
                            End If
                        End If

                        Me.txtDataDesligamentoU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DATA_DESLIGAMENTO), "1900-01-01", objUCFaturamentoFor.DATA_DESLIGAMENTO)))
                        If CDate(Me.txtDataDesligamentoU.Text) = CDate("01/01/1900") Then Me.txtDataDesligamentoU.Text = ""
                        Me.txtDataCorteU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DATA_CORTE), "1900-01-01", objUCFaturamentoFor.DATA_CORTE)))
                        If CDate(Me.txtDataCorteU.Text) = CDate("01/01/1900") Then Me.txtDataCorteU.Text = ""
                        Me.txtDataReligacaoU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DATA_RELIGACAO), "1900-01-01", objUCFaturamentoFor.DATA_RELIGACAO)))
                        If CDate(Me.txtDataReligacaoU.Text) = CDate("01/01/1900") Then Me.txtDataReligacaoU.Text = ""

                        'Habilita ou Desabilita a Tab Leitura/Constantes/Consumo
                        Call LigDesTabLeit()

                        'Mostra a fase da unidade consumidora
                        lstrFase = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.FASE), "M", objUCFaturamentoFor.FASE)))
                        If Len(lstrFase) = 0 Then lstrFase = "M"
                        With Me.cmbFaseU
                            For lintLinha = 0 To .Items.Count - 1
                                If UCase(Trim(Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbFaseU, lintLinha), 1))) = lstrFase Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        Me.txtCiceU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.CICE), "", objUCFaturamentoFor.CICE)))
                        Me.txtTipoUcU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.TIPOUC), "", objUCFaturamentoFor.TIPOUC)))
                        Me.txtConst.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.CONST), "", objUCFaturamentoFor.CONST)))

                        'Mostra o dia de vencimento da unidade consumidora
                        lstrDiaVcto = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.DIAVENC), "20", objUCFaturamentoFor.DIAVENC)), "00")
                        With Me.cmbDiaVencU
                            For lintLinha = 0 To .Items.Count - 1
                                If Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbDiaVencU, lintLinha), 2) = lstrDiaVcto Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        'Mostra a tensao de fornecimento da unidade consumidora
                        lstrTensao = Trim(IIf(IsDBNull(objUCFaturamentoFor.TENSAO), "220", objUCFaturamentoFor.TENSAO))
                        If Len(lstrTensao) = 0 Then lstrTensao = "220"
                        With Me.cmbTensao
                            If Len(Trim(lstrTensao)) > 0 Then
                                For lintLinha = 0 To .Items.Count - 1
                                    If Trim(Replace(VB6.GetItemString(Me.cmbTensao, lintLinha), ".", "")) = lstrTensao Then
                                        .SelectedIndex = lintLinha
                                        lintLinha = .Items.Count
                                    End If
                                Next lintLinha
                            Else
                                .SelectedIndex = 0
                            End If
                        End With

                        Me.txtCargaU.Text = FormatNumber(PegaCargaInstalada(CInt(CStr(alngUnidId)), astrGrupo), 0)
                        If Me.txtCargaU.Text = "0" Then
                            Me.txtCargaU.Text = FormatNumber(CDbl(IIf(IsDBNull(objUCFaturamentoFor.CARGA), 0, objUCFaturamentoFor.CARGA)), 0)
                        End If

                        Me.txtPerdasU.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.FINAL), 0, objUCFaturamentoFor.FINAL), 2)
                        Me.txtIdCcee.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.IDCCEE), 0, objUCFaturamentoFor.IDCCEE), 2)

                        '************ Tab Endereço da Unidade Consumidora
                        vEndCodUC = Trim(IIf(IsDBNull(objUCFaturamentoFor.CODEND), "", objUCFaturamentoFor.CODEND))
                        Me.txtUfU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.UF), "", objUCFaturamentoFor.UF)))
                        Me.txtCepU.Text = FormataCep(IIf(IsDBNull(objUCFaturamentoFor.CEP), "", objUCFaturamentoFor.CEP))
                        Me.txtCidadeU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.CIDADE), "", objUCFaturamentoFor.CIDADE)))
                        Me.txtDistritoU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.DISTRITO), "", objUCFaturamentoFor.DISTRITO)))
                        Me.txtBairroU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.BAIRRO), "", objUCFaturamentoFor.BAIRRO)))
                        Me.txtEndU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.END), "", objUCFaturamentoFor.END)))
                        Me.txtNumeroU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.NUMERO), "", objUCFaturamentoFor.NUMERO)))
                        Me.txtComplementU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.COMPLEMENT), "", objUCFaturamentoFor.COMPLEMENT)))
                        Me.txtQuadraU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.QUADRA), "", objUCFaturamentoFor.QUADRA)))
                        Me.txtLoteU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.LOTE), "", objUCFaturamentoFor.LOTE)))

                        'Seleciona o banco na combo box
                        llngBanId = CInt(IIf(IsDBNull(objUCFaturamentoFor.BANCO), 0, objUCFaturamentoFor.BANCO))
                        With Me.cmbBancoU
                            For llngLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbBancoU, llngLinha) = llngBanId Then
                                    .SelectedIndex = llngLinha
                                    llngLinha = .Items.Count
                                End If
                            Next llngLinha
                        End With

                        Me.txtAgencU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.AGENC), "", objUCFaturamentoFor.AGENC)))
                        Me.txtccU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.CC), "", objUCFaturamentoFor.CC)))
                        Me.chkEntregaU.CheckState = IIf((IIf(IsDBNull(objUCFaturamentoFor.ENTREGA), 0, objUCFaturamentoFor.ENTREGA)) = 0, System.Windows.Forms.CheckState.Unchecked, System.Windows.Forms.CheckState.Checked)
                        lstrFone = VB6.Format(UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.FONE), "", objUCFaturamentoFor.FONE))), "0000000000")
                        Me.txtDDDFoneU.Text = Microsoft.VisualBasic.Left(IIf(Microsoft.VisualBasic.Left(lstrFone, 2) <> "00", lstrFone, "  "), 2)
                        Me.txtFoneU.Text = FormataTel(Trim(Microsoft.VisualBasic.Right(IIf(Microsoft.VisualBasic.Right(lstrFone, 8) <> "00000000", lstrFone, "        "), 8)))

                        ' Endereço de Entrega
                        vEndCodEn = IIf(IsDBNull(objUCFaturamentoFor.CODEND_ENTREGA), "", objUCFaturamentoFor.CODEND_ENTREGA)
                        Me.txtCepEntregaU.Text = FormataCep(IIf(IsDBNull(objUCFaturamentoFor.CEP_ENTREGA), "", objUCFaturamentoFor.CEP_ENTREGA))
                        Me.txtCidEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.CID_ENTREGA), "", objUCFaturamentoFor.CID_ENTREGA)))
                        Me.txtDisEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.DIS_ENTREGA), "", objUCFaturamentoFor.DIS_ENTREGA)))
                        Me.txtBaiEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.BAI_ENTREGA), "", objUCFaturamentoFor.BAI_ENTREGA)))
                        Me.txtEndEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.END_ENTREGA), "", objUCFaturamentoFor.END_ENTREGA)))
                        Me.txtNumEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.NUM_ENTREGA), "", objUCFaturamentoFor.NUM_ENTREGA)))
                        Me.txtComplEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.COMPL_ENTREGA), "", objUCFaturamentoFor.COMPL_ENTREGA)))
                        Me.txtQuaEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.QUA_ENTREGA), "", objUCFaturamentoFor.QUA_ENTREGA)))
                        Me.txtLotEntregaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.LOT_ENTREGA), "", objUCFaturamentoFor.LOT_ENTREGA)))
                        chkEntregaU_CheckStateChanged(chkEntregaU, New System.EventArgs())

                        'Mostra a Unidade Federativa do Endereço de Entrega
                        lstrUfEntrega = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.UF_ENTREGA), gstrEmpresa_UF, objUCFaturamentoFor.UF_ENTREGA)))
                        If Len(lstrUfEntrega) = 0 Then lstrUfEntrega = gstrEmpresa_UF
                        With Me.cmbUfEntregaU
                            For lintLinha = 0 To .Items.Count - 1
                                If UCase(Trim(VB6.GetItemString(Me.cmbUfEntregaU, lintLinha))) = lstrUfEntrega Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        '************ Tab Outros
                        lstrCpfCnpj = IIf(IsDBNull(objUCFaturamentoFor.CPF_CNPJ), "", objUCFaturamentoFor.CPF_CNPJ)
                        If Len(lstrCpfCnpj) > 11 Then
                            Me.opbJuridicaU.Checked = True
                            Me.txtCnpjU.Text = FormataCNPJ(lstrCpfCnpj)
                        Else
                            Me.opbFisicaU.Checked = True
                            Me.txtRgU.Text = IIf(IsDBNull(objUCFaturamentoFor.RG), "", objUCFaturamentoFor.RG)
                            Me.txtCpfU.Text = FormataCPF(lstrCpfCnpj)
                        End If

                        Me.txtInscEstadU.Text = Trim(IIf(IsDBNull(objUCFaturamentoFor.INSC), "", objUCFaturamentoFor.INSC))
                        ' LigDesFisJur((Me.opbFisicaU.Checked), (Me.opbJuridicaU.Checked), "U", CStr(llngCodClas))
                        LigDesFisJur((Me.opbFisicaU.Checked), (Me.opbJuridicaU.Checked), "U", CStr(lstrCodClas))
                        Me.txtIdCnae.Text = CStr(CInt(IIf(IsDBNull(objUCFaturamentoFor.IDCNAE), "0", objUCFaturamentoFor.IDCNAE)))
                        SetaCnae(IIf(IsNumeric(Me.txtIdCnae.Text), Me.txtIdCnae.Text, 0), "")
                        Me.txtHistoricoU.Text = Trim(IIf(IsDBNull(objUCFaturamentoFor.HISTORICO), "", objUCFaturamentoFor.HISTORICO))

                        '************ Tab Medidores
                        Me.txtMedkWhU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.ELETR), "", objUCFaturamentoFor.ELETR)))
                        Me.txtMedkWU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.MEDKW), "", objUCFaturamentoFor.MEDKW)))
                        Me.txtNumU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.NUM), "", objUCFaturamentoFor.NUM)))
                        Me.txtIdMedidor.Text = IIf(IsDBNull(objUCFaturamentoFor.IDMEDIDOR), "0", objUCFaturamentoFor.IDMEDIDOR)
                        If Me.txtIdMedidor.Text = "" Then Me.txtIdMedidor.Text = CStr(0)
                        Me.cmdLocalizarMedidor.Enabled = (CInt(IIf(IsNumeric(Me.txtIdMedidor.Text), Me.txtIdMedidor.Text, 0)) > 0)
                        If UCase(astrGrupo) = "B" Then
                            Me.txtMedkVArhU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.MEDKVARH), "", objUCFaturamentoFor.MEDKVARH)))
                        Else
                            Me.txtMedkVArhU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.MEDKVARK), "", objUCFaturamentoFor.MEDKVARK)))
                        End If
                        Me.txtMarcaU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.MARCA), "", objUCFaturamentoFor.MARCA)))
                        Me.txtDtaInstMedidorU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DTAINSTMEDIDOR), "1900-01-01", objUCFaturamentoFor.DTAINSTMEDIDOR)))
                        If CDate(Me.txtDtaInstMedidorU.Text) = CDate("01/01/1900") Then Me.txtDtaInstMedidorU.Text = ""
                        Me.txtDtaFabMedidorU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DTAFABMEDIDOR), "1900-01-01", objUCFaturamentoFor.DTAFABMEDIDOR)))
                        If CDate(Me.txtDtaFabMedidorU.Text) = CDate("01/01/1900") Then Me.txtDtaFabMedidorU.Text = ""
                        Me.txtLacreU.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.LACRE), "", objUCFaturamentoFor.LACRE)))
                        Me.txtObservacao.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.ITENSESP), "", objUCFaturamentoFor.ITENSESP)))

                        'Mostra o tipo do medidor
                        llngTipoMed = CInt(IIf(IsDBNull(objUCFaturamentoFor.IDTIPO_MEDIDOR), 0, objUCFaturamentoFor.IDTIPO_MEDIDOR))
                        lintLinha = 0
                        With Me.cmbTipoMedidor
                            For lintLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbTipoMedidor, lintLinha) = llngTipoMed Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        llngIdCondutor = CInt(IIf(IsDBNull(objUCFaturamentoFor.IDCONDUTOR), 0, objUCFaturamentoFor.IDCONDUTOR))
                        lintLinha = 0
                        With Me.cmbCondutor
                            For lintLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbCondutor, lintLinha) = llngIdCondutor Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        llngIdCorrente = CInt(IIf(IsDBNull(objUCFaturamentoFor.IDCORRENTE), 0, objUCFaturamentoFor.IDCORRENTE))
                        lintLinha = 0
                        With Me.cmbCorrente
                            For lintLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbCorrente, lintLinha) = llngIdCorrente Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        llngIdTipoPadraoMedicao = CInt(IIf(IsDBNull(objUCFaturamentoFor.IDTIPO_PADRAO_MEDICAO), 0, objUCFaturamentoFor.IDTIPO_PADRAO_MEDICAO))
                        lintLinha = 0
                        With Me.cmbTipoPadraoMedicao
                            For lintLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbTipoPadraoMedicao, lintLinha) = llngIdTipoPadraoMedicao Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        llngIdAlimentador = CInt(IIf(IsDBNull(objUCFaturamentoFor.IDALIMENTADOR), 0, objUCFaturamentoFor.IDALIMENTADOR))
                        lintLinha = 0
                        With Me.cmbAlimentador
                            For lintLinha = 0 To .Items.Count - 1
                                If VB6.GetItemData(Me.cmbAlimentador, lintLinha) = llngIdAlimentador Then
                                    .SelectedIndex = lintLinha
                                    lintLinha = .Items.Count
                                End If
                            Next lintLinha
                        End With

                        Me.txtComprimento.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.COMPRIMENTO_FIO), "", objUCFaturamentoFor.COMPRIMENTO_FIO)))
                        Me.txtModelo.Text = UCase(Trim(IIf(IsDBNull(objUCFaturamentoFor.MODELO), "", objUCFaturamentoFor.MODELO)))
                        Me.opbIndireta.Checked = (IIf(IsDBNull(objUCFaturamentoFor.COD_TIPO_MEDICAO), 0, objUCFaturamentoFor.COD_TIPO_MEDICAO) = 1)
                        If Me.opbIndireta.Checked = False Then
                            Me.opbDireta.Checked = True
                        End If

                        Me.txtTCRelacaoPrimaria.Text = CStr(CShort(IIf(IsDBNull(objUCFaturamentoFor.TC_RELACAO_PRIMARIA), 0, objUCFaturamentoFor.TC_RELACAO_PRIMARIA)))
                        Me.txtTCRelacaoSecundaria.Text = CStr(CShort(IIf(IsDBNull(objUCFaturamentoFor.TC_RELACAO_SECUNDARIA), 0, objUCFaturamentoFor.TC_RELACAO_SECUNDARIA)))
                        Me.txtTPRelacaoPrimaria.Text = CStr(CShort(IIf(IsDBNull(objUCFaturamentoFor.TP_RELACAO_PRIMARIA), 0, objUCFaturamentoFor.TP_RELACAO_PRIMARIA)))
                        Me.txtTPRelacaoSecundaria.Text = CStr(CShort(IIf(IsDBNull(objUCFaturamentoFor.TP_RELACAO_SECUNDARIA), 0, objUCFaturamentoFor.TP_RELACAO_SECUNDARIA)))
                        Call opbDireta_CheckedChanged(opbDireta, New System.EventArgs())

                        '************ Tab Contratos
                        If UCase(astrGrupo) = "A" Then
                            Me.chkPeriodoTeste.CheckState = IIf(CShort(IIf(IsDBNull(objUCFaturamentoFor.PERIODO_TESTE), "N", objUCFaturamentoFor.PERIODO_TESTE)) = 1, System.Windows.Forms.CheckState.Checked, System.Windows.Forms.CheckState.Unchecked)
                            If Me.chkPeriodoTeste.CheckState = System.Windows.Forms.CheckState.Checked Then
                                Me.dtpPTesteMesAnoIni.Value = CDate(IIf(IsDBNull(objUCFaturamentoFor.INI_PERIODO_TESTE), "1900-01-01", objUCFaturamentoFor.INI_PERIODO_TESTE))
                                Me.dtpPTesteMesAnoFim.Value = CDate(IIf(IsDBNull(objUCFaturamentoFor.FIM_PERIODO_TESTE), "1900-01-01", objUCFaturamentoFor.FIM_PERIODO_TESTE))
                            End If
                            If Mid(lstrGrTar, 3, 2) = "A4" Or Mid(lstrGrTar, 3, 2) = "AS" Then
                                'Me.txtDemandaContrU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.demanda_contr), 0, objUCFaturamentoFor.demanda_contr), 2)
                                Me.txtDemandaContrPU.Text = ""
                                Me.txtDemandaContrFPU.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.DEMANDA_CONTR), 0, objUCFaturamentoFor.DEMANDA_CONTR), 2)
                                'Anterior
                                'Me.txtDemandaAnteriorContrU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.demanda_contr_anterior), 0, objUCFaturamentoFor.demanda_contr_anterior), 2)
                                Me.txtDemandaAnteriorContrPU.Text = ""
                                Me.txtDemandaAnteriorContrFPU.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.DEMANDA_CONTR_ANTERIOR), 0, objUCFaturamentoFor.DEMANDA_CONTR_ANTERIOR), 2)
                            Else
                                'Me.txtDemandaContrU.Text = ""
                                Me.txtDemandaContrPU.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.DEM_CONTR_PONTA), 0, objUCFaturamentoFor.DEM_CONTR_PONTA), 2)
                                Me.txtDemandaContrFPU.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.DEM_CONTR_FP), 0, objUCFaturamentoFor.DEM_CONTR_FP), 2)
                                'Anterior
                                'Me.txtDemandaAnteriorContrU.Text = ""
                                Me.txtDemandaAnteriorContrPU.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.DEM_CONTR_PONTA_ANTERIOR), 0, objUCFaturamentoFor.DEM_CONTR_PONTA_ANTERIOR), 2)
                                Me.txtDemandaAnteriorContrFPU.Text = FormatNumber(IIf(IsDBNull(objUCFaturamentoFor.DEM_CONTR_FP_ANTERIOR), 0, objUCFaturamentoFor.DEM_CONTR_FP_ANTERIOR), 2)
                            End If
                            Me.txtDtDemandaContrU.Text = CStr(CDate(IIf(IsDBNull(objUCFaturamentoFor.DATA_CONTRATO_DEMANDA), "1900-01-01", objUCFaturamentoFor.DATA_CONTRATO_DEMANDA)))
                            If CDate(Me.txtDtDemandaContrU.Text) = CDate("01/01/1900") Then Me.txtDtDemandaContrU.Text = ""
                        End If

                        '************ Tab Leituras/Contantes/Consumo
                        'Fazer a verificação do grupo(A ou B) e verificar a tarifa(B,A4,AV,AA) da unidade
                        If UCase(astrGrupo) = "A" Then
                            If Mid(lstrGrTar, 3, 2) = "A4" Or Mid(lstrGrTar, 3, 2) = "AS" Then
                                lstrConstkWhPonta = "const_consumo"
                                lstrConstkWhInter = "const_consumo"
                                lstrConstkWhForaP = "const_consumo"
                                lstrConstkWPonta = "const_demanda"
                                lstrConstkWForaP = "const_demanda_fp"
                                lstrConstkVarhPonta = "const_kvarh"
                                lstrConstkVarhInter = "const_kvarh"
                                lstrConstkVarhForaP = "const_kvarh"

                                ' Grupo A - Convencional
                                'Me.txtGACLeitkWhU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.leit), 0, objUCFaturamentoFor.leit), 0)
                                'Falta definir na tabela UC_FATURAMENTO pois so esta sendo gravado na leitura
                                'txtGACLeitkWU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.leitdema), "0", objUCFaturamentoFor.leitdema), 0, vbUseDefault, vbUseDefault, vbUseDefault)
                                'Me.txtGACLeitKVArhU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.kvar), 0, objUCFaturamentoFor.kvar), 0)
                            ElseIf Mid(lstrGrTar, 3, 2) = "AA" Or Mid(lstrGrTar, 3, 2) = "AV" Or Mid(lstrGrTar, 3, 2) = "AL" Or Mid(lstrGrTar, 3, 2) = "AX" Then
                                'Me.txtGAHLeitkWhPU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.cap), 0, objUCFaturamentoFor.cap), 0)
                                'Me.txtGAHLeitkWhFPU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.leitant), 0, objUCFaturamentoFor.leitant), 0)
                                'Me.txtGAHLeitkWPU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.demanda), 0, objUCFaturamentoFor.demanda), 0)
                                'Me.txtGAHLeitkVArhPU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.kvarhpn), 0, objUCFaturamentoFor.kvarhpn), 0)
                                'Me.txtGAHLeitkVArhFPU.Text = FormatNumber(IIf(IsNull(objUCFaturamentoFor.kvarhfpn), 0, objUCFaturamentoFor.kvarhfpn), 0)
                                lstrConstkWhPonta = "const_cons_p"
                                lstrConstkWhInter = "const_cons_p"
                                lstrConstkWhForaP = "const_cons_fp"
                                lstrConstkWPonta = "const_demanda"
                                lstrConstkWForaP = "const_demanda_fp"
                                lstrConstkVarhPonta = "const_kvarh_p"
                                lstrConstkVarhInter = "const_kvarh_p"
                                lstrConstkVarhForaP = "const_kvarh_fp"
                            End If
                        Else
                            lstrUltLeikWh = "ultleit"
                            lstrUltReskWh = "residuo_consumo"
                            lstrUltLeikVarh = "kvarh"
                            lstrUltLeiRev = "ultleit_reverso"
                            lstrUltResRev = "kwh_reverso_res"
                            lstrUltLeiIrr = "ultleit_irrigante"
                            lstrUltResIrr = "kwh_irrigante_res"
                            lstrUltLeiDes = "ultleit_desligamento"
                            lstrUltLeiCor = "ult_leit_corte"


                            lstrConstkWhPonta = "const"
                            lstrConstkWhInter = "const"
                            lstrConstkWhForaP = "const"
                            lstrConstkWPonta = "const"
                            lstrConstkWForaP = "const"
                            lstrConstkVarhPonta = "constfp"
                            lstrConstkVarhInter = "constfp"
                            lstrConstkVarhForaP = "constfp"
                        End If

                        Me.cmbTipoLigacaoU.SelectedIndex = IIf(IIf(IsDBNull(objUCFaturamentoFor.TP_LIGACAO), "S", objUCFaturamentoFor.TP_LIGACAO) = "S", 1, 0)


                        '          Me.chkApSaudeU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.ap_saude), "N", objUCFaturamentoFor.ap_saude)) = "S", 1, 0)
                        '          Me.chkEstufa.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.estufa), "N", objUCFaturamentoFor.estufa)) = "S", 1, 0)
                        '          Me.chkAltaTensaoU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.alta_tensao), "N", objUCFaturamentoFor.alta_tensao)) = "S", 1, 0)
                        '          Me.chkVectoProxMes.value = IIf(IIf(IsNull(objUCFaturamentoFor.vectoproxmes), "S", objUCFaturamentoFor.vectoproxmes) = "S", 1, 0)
                        '          Me.chkAvisoArqDebito.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.flg_aviso_debito), "N", objUCFaturamentoFor.flg_aviso_debito)) = "S", 1, 0)
                        '          Me.chkPagtoDuvidoso.value = IIf(IsNull(objUCFaturamentoFor.pagto_duvidoso), "0", objUCFaturamentoFor.pagto_duvidoso)
                        '          Me.chkPagtoGovernoU.value = IIf(IIf(IsNull(objUCFaturamentoFor.pagto_governo), "S", objUCFaturamentoFor.pagto_governo) = "S", 1, 0)
                        '          Me.chkLuzTodosU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.luz_todos), "N", objUCFaturamentoFor.luz_todos)) = "S", 1, 0)
                        '          Me.chkIsentoReativo.value = IIf(IIf(IsNull(objUCFaturamentoFor.isentoreativo), "S", objUCFaturamentoFor.isentoreativo) = "S", 1, 0)
                        '          Me.chkLeitReativo.value = CInt(IIf(IsNull(objUCFaturamentoFor.leitreativo), 0, objUCFaturamentoFor.leitreativo))
                        '          Me.chkIsentoU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.isento), "N", objUCFaturamentoFor.isento)) = "S", 1, 0)
                        '          Me.chkIcmsIsentoDemandaU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.icms_isento_demanda), "N", objUCFaturamentoFor.icms_isento_demanda)) = "S", 1, 0)
                        '          Me.chkIcmsDemLida.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.icms_demanda_lida), "N", objUCFaturamentoFor.icms_demanda_lida)) = "S", 1, 0)
                        '          Me.chkIcmsDiferidoU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.icms_diferido), "N", objUCFaturamentoFor.icms_diferido)) = "S", 1, 0)
                        '          Me.chkAliqDif.value = IIf(IIf(IsNull(objUCFaturamentoFor.flg_aliquotadif), "S", objUCFaturamentoFor.flg_aliquotadif) = "S", 1, 0)
                        '          Me.chkIlumU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.ilum), 0, objUCFaturamentoFor.ilum)) = "S", 1, 0)
                        '          Me.chkQhU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.qh), "N", objUCFaturamentoFor.qh)) = "S", 1, 0)
                        '          Me.chkEncargoU.value = IIf(UCase(IIf(IsNull(objUCFaturamentoFor.encargo), "N", objUCFaturamentoFor.encargo)) = "S", 1, 0)
                        '          Me.chkVipComercial.value = IIf(IIf(IsNull(objUCFaturamentoFor.vip_comercial), "S", objUCFaturamentoFor.vip_comercial) = "S", 1, 0)
                        '          Me.chkVipTecnico.value = IIf(IIf(IsNull(objUCFaturamentoFor.vip_tecnico), "S", objUCFaturamentoFor.vip_tecnico) = "S", 1, 0)
                        '          Me.chkMicroGeracao.value = Conversion.CInt(IIf(IsNull(objUCFaturamentoFor.micro_geracao), 0, objUCFaturamentoFor.micro_geracao))
                        '          Me.chkIrriganteAquicultor.value = Conversion.CInt(IIf(IsNull(objUCFaturamentoFor.irrigacao_aquicultura), 0, objUCFaturamentoFor.irrigacao_aquicultura))
                        '          Me.chkLivreLeiturakWh.value = CInt(IIf(IsNull(objUCFaturamentoFor.livre_leitura_consumo), 0, objUCFaturamentoFor.livre_leitura_consumo))
                        '          Me.chkLivreVerde.value = CInt(IIf(IsNull(objUCFaturamentoFor.livre_verde), 0, objUCFaturamentoFor.livre_verde))
                        '          Me.chkParcialmenteCativo.value = Conversion.CInt(IIf(IsNull(objUCFaturamentoFor.parcialmente_cativo), 0, objUCFaturamentoFor.parcialmente_cativo))
                        '          Me.chkLivreEsp.value = CInt(IIf(IsNull(objUCFaturamentoFor.livreespecial), 0, objUCFaturamentoFor.livreespecial))

                        '          Me.cbxUniversalizacao.ListIndex = IIf(IsNull(objUCFaturamentoFor.universalizacao), 0, objUCFaturamentoFor.universalizacao)
                        '          Me.txtUniversalNum.Text = IIf(IsNull(objUCFaturamentoFor.num_universalizacao), 0, objUCFaturamentoFor.num_universalizacao)


                        lblnIrrigacao = False
                        With vCamposParametros
                            For lintAux = LBound(.NOMECAMPO) To UBound(.NOMECAMPO)
                                If .TIPO(lintAux) = "Texto" Then

                                    If .NOMECAMPO(lintAux) = "ap_saude" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.AP_SAUDE = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "estufa" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ESTUFA = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "alta_tensao" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ALTA_TENSAO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "vectoproxmes" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.VECTOPROXMES = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "flg_aviso_debito" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.FLG_AVISO_DEBITO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "pagto_governo" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.PAGTO_GOVERNO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "luz_todos" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.LUZ_TODOS = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "isentoreativo" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ISENTOREATIVO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "isento" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ISENTO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "icms_isento_demanda" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ICMS_ISENTO_DEMANDA = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "icms_demanda_lida" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ICMS_DEMANDA_LIDA = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "icms_diferido" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ICMS_DIFERIDO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "flg_aliquotadif" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.FLG_ALIQUOTADIF = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "ilum" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ILUM = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "qh" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.QH = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "encargo" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ENCARGO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "vip_comercial" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.VIP_COMERCIAL = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "vip_tecnico" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.VIP_TECNICO = "S", True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                ElseIf .TIPO(lintAux) = "Inteiro" Then

                                    If .NOMECAMPO(lintAux) = "pagto_duvidoso" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.PAGTO_DUVIDOSO = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "leitreativo" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.LEITREATIVO = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "leitdema" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.LEITDEMA = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "isento_icms_tusd" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ISENTO_ICMS_TUSD = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "envio_cob_judicial" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ENVIO_COB_JUDICIAL = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "bloquea_religacao" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.BLOQUEA_RELIGACAO = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "bloquea_seg_via_fat" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.BLOQUEA_SEG_VIA_FAT = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "tarifa_branca" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.TARIFA_BRANCA = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "micro_geracao" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.MICRO_GERACAO = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "irrigacao_aquicultura" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.IRRIGACAO_AQUICULTURA = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                        lblnIrrigacao = .VALOR(lintAux)
                                    End If

                                    If .NOMECAMPO(lintAux) = "livre_leitura_consumo" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.LIVRE_LEITURA_CONSUMO = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "livre_verde" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.LIVRE_VERDE = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "parcialmente_cativo" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.PARCIALMENTE_CATIVO = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "livreespecial" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.LIVREESPECIAL = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "conjuge_fatura" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.CONJUGE_FATURA = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "GDI" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.GDI = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "GDII" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.GDII = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "GDIII" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.GDIII = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                    If .NOMECAMPO(lintAux) = "isento_taxa_correio" Then
                                        .VALOR(lintAux) = IIf(objUCFaturamentoFor.ISENTO_TAXA_CORREIO = 1, True, False) 'IIf(IIf(IsDBNull(.NOMECAMPO(lintAux)), "N", .NOMECAMPO(lintAux)) = "S", True, False)
                                    End If

                                End If
                            Next lintAux
                        End With

                        'lblnIrrigacao = True
                        If lblnIrrigacao Then
                            Me.txtIrr_hr_ini.Text = IIf(IsDBNull(objUCFaturamentoFor.IRR_HR_INI), "21: 30", objUCFaturamentoFor.IRR_HR_INI)
                            Me.txtIrr_hr_fim.Text = IIf(IsDBNull(objUCFaturamentoFor.IRR_HR_FIM), "06:00", objUCFaturamentoFor.IRR_HR_FIM)
                            Me.txtIrr_hr_ini.Enabled = True
                            Me.txtIrr_hr_fim.Enabled = True
                        Else
                            Me.txtIrr_hr_ini.Text = ""
                            Me.txtIrr_hr_fim.Text = ""
                        End If

                        If UCase(astrGrupo) = "B" Then
                            With vCamposLeiturasGrupoB
                                For lintAux = LBound(.NOMECAMPO) To UBound(.NOMECAMPO)
                                    If .TIPO(lintAux) = "Decimal" Then
                                        .VALOR(lintAux) = VB6.Format(IIf(IsDBNull(.NOMECAMPO(lintAux)), 0, .NOMECAMPO(lintAux)), "#," & New String("#", IIf(CShort(.PRECISAO(lintAux)) > 0, .PRECISAO(lintAux), 2)) & "0." & New String("0", IIf(CShort(.PRECISAO(lintAux)) > 0, .PRECISAO(lintAux), 2)))

                                        If CDbl(IIf(IsNumeric(.VALOR(lintAux)), .VALOR(lintAux), 0)) = 0 Then
                                            Select Case .NOMECAMPO(lintAux)
                                                'VB6.Format(IIf(IsDBNull(objUCFaturamentoFor.KWH_RES_P), 0, objUCFaturamentoFor.KWH_RES_P)
                                                Case Is = "ult_leit_kwh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KWH_P), 0, objUCFaturamentoFor.ULT_LEIT_KWH_P)
                                                Case Is = "ult_leit_kwh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KWH_I), 0, objUCFaturamentoFor.ULT_LEIT_KWH_I)
                                                Case Is = "kwh_res_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_RES_P), 0, objUCFaturamentoFor.KWH_RES_P)
                                                Case Is = "kwh_res_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_RES_I), 0, objUCFaturamentoFor.KWH_RES_I)
                                                Case Is = "ult_leit_kvarh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KVARH_P), 0, objUCFaturamentoFor.ULT_LEIT_KVARH_P)
                                                Case Is = "ultleit_reverso_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULTLEIT_REVERSO_P), 0, objUCFaturamentoFor.ULTLEIT_REVERSO_P)
                                                Case Is = "ult_leit_kvarh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KVARH_I), 0, objUCFaturamentoFor.ULT_LEIT_KVARH_I)
                                                Case Is = "ultleit_reverso_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULTLEIT_REVERSO_I), 0, objUCFaturamentoFor.ULTLEIT_REVERSO_I)
                                                Case Is = "kwh_reverso_res_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_REVERSO_RES_P), 0, objUCFaturamentoFor.KWH_REVERSO_RES_P)
                                                Case Is = "ult_leit_irrigante_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_P), 0, objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_P)
                                                Case Is = "ult_leit_irrigante_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_I), 0, objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_I)
                                                Case Is = "kwh_irrigante_res_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_IRRIGANTE_RES_P), 0, objUCFaturamentoFor.KWH_IRRIGANTE_RES_P)
                                                Case Is = "ult_leit_desligamento_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_P), 0, objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_P)
                                                Case Is = "ult_leit_desligamento_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_I), 0, objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_I)
                                                Case Is = "ult_leit_corte_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_CORTE_P), 0, objUCFaturamentoFor.ULT_LEIT_CORTE_P)
                                                Case Is = "ult_leit_corte_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_CORTE_I), 0, objUCFaturamentoFor.ULT_LEIT_CORTE_I)
                                                Case Is = "kwh_irrigante_res_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_IRRIGANTE_RES_I), 0, objUCFaturamentoFor.KWH_IRRIGANTE_RES_I)
                                                Case Is = "kwh_reverso_res_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_REVERSO_RES_I), 0, objUCFaturamentoFor.KWH_REVERSO_RES_I)
                                                Case Is = "ult_leit_kwh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KWH_FP), 0, objUCFaturamentoFor.ULT_LEIT_KWH_FP)
                                                Case Is = "kwh_res_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_RES_FP), 0, objUCFaturamentoFor.KWH_RES_FP)
                                                Case Is = "ult_leit_kvarh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KVARH_FP), 0, objUCFaturamentoFor.ULT_LEIT_KVARH_FP)
                                                Case Is = "ultleit_reverso_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULTLEIT_REVERSO_FP), 0, objUCFaturamentoFor.ULTLEIT_REVERSO_FP)
                                                Case Is = "kwh_reverso_res_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_REVERSO_RES_FP), 0, objUCFaturamentoFor.KWH_REVERSO_RES_FP)
                                                Case Is = "ult_leit_irrigante_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_FP), 0, objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_FP)
                                                Case Is = "kwh_irrigante_res_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_IRRIGANTE_RES_FP), 0, objUCFaturamentoFor.KWH_IRRIGANTE_RES_FP)
                                                Case Is = "ult_leit_desligamento_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_FP), 0, objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_FP)
                                                Case Is = "ult_leit_corte_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_CORTE_FP), 0, objUCFaturamentoFor.ULT_LEIT_CORTE_FP)
                                                Case Is = "const_kwh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_P), 0, objUCFaturamentoFor.CONST_KWH_P)
                                                Case Is = "const_kwh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_I), 0, objUCFaturamentoFor.CONST_KWH_I)
                                                Case Is = "const_kwh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_FP), 0, objUCFaturamentoFor.CONST_KWH_FP)
                                                Case Is = "const_kw_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KW_P), 0, objUCFaturamentoFor.CONST_KW_P)
                                                Case Is = "const_kw_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KW_FP), 0, objUCFaturamentoFor.CONST_KW_FP)
                                                Case Is = "const_kvarh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_P), 0, objUCFaturamentoFor.CONST_KVARH_P)
                                                Case Is = "const_kvarh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_I), 0, objUCFaturamentoFor.CONST_KVARH_I)
                                                Case Is = "const_kvarh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_FP), 0, objUCFaturamentoFor.CONST_KVARH_FP)
                                                Case Is = "ult_cons_kwh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_CONS_KWH_P), 0, objUCFaturamentoFor.ULT_CONS_KWH_P)
                                                Case Is = "ult_cons_kwh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_CONS_KWH_I), 0, objUCFaturamentoFor.ULT_CONS_KWH_I)
                                                Case Is = "ult_cons_kwh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_CONS_KWH_FP), 0, objUCFaturamentoFor.ULT_CONS_KWH_FP)
                                                Case Is = "ult_cons_kvarh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_CONS_KVARH_P), 0, objUCFaturamentoFor.ULT_CONS_KVARH_P)
                                                Case Is = "ult_cons_kvarh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_CONS_KVARH_I), 0, objUCFaturamentoFor.ULT_CONS_KVARH_I)
                                                Case Is = "ult_cons_kvarh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_CONS_KVARH_FP), 0, objUCFaturamentoFor.ULT_CONS_KVARH_FP)

                                            End Select
                                        End If
                                    End If
                                Next lintAux
                            End With
                        End If

                        If UCase(astrGrupo) = "A" Then
                            With vCamposLeiturasGrupoA
                                For lintAux = LBound(.NOMECAMPO) To UBound(.NOMECAMPO)
                                    If .TIPO(lintAux) = "Decimal" Then
                                        .VALOR(lintAux) = VB6.Format(IIf(IsDBNull(.NOMECAMPO(lintAux)), 0, .NOMECAMPO(lintAux)), "#," & New String("#", IIf(CShort(.PRECISAO(lintAux)) > 0, .PRECISAO(lintAux), 2)) & "0." & New String("0", IIf(CShort(.PRECISAO(lintAux)) > 0, .PRECISAO(lintAux), 2)))
                                        If CDbl(IIf(IsNumeric(.VALOR(lintAux)), .VALOR(lintAux), 0)) = 0 Then
                                            Select Case .NOMECAMPO(lintAux)
                                                Case Is = "const_kwh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_P), 0, objUCFaturamentoFor.CONST_KWH_P)
                                                Case Is = "const_kwh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_I), 0, objUCFaturamentoFor.CONST_KWH_I)
                                                Case Is = "const_kwh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_FP), 0, objUCFaturamentoFor.CONST_KWH_FP)
                                                Case Is = "const_kw_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KW_P), 0, objUCFaturamentoFor.CONST_KW_P)
                                                Case Is = "const_kw_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KW_FP), 0, objUCFaturamentoFor.CONST_KW_FP)
                                                Case Is = "const_kvarh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_P), 0, objUCFaturamentoFor.CONST_KVARH_P)
                                                Case Is = "const_kvarh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_I), 0, objUCFaturamentoFor.CONST_KVARH_I)
                                                Case Is = "const_kvarh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_FP), 0, objUCFaturamentoFor.CONST_KVARH_FP)
                                                Case Is = "ult_leit_kwh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KWH_P), 0, objUCFaturamentoFor.ULT_LEIT_KWH_P)
                                                Case Is = "ult_leit_kwh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KWH_I), 0, objUCFaturamentoFor.ULT_LEIT_KWH_I)
                                                Case Is = "kwh_res_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_RES_P), 0, objUCFaturamentoFor.KWH_RES_P)
                                                Case Is = "kwh_res_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_RES_I), 0, objUCFaturamentoFor.KWH_RES_I)
                                                Case Is = "ult_leit_kvarh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KVARH_P), 0, objUCFaturamentoFor.ULT_LEIT_KVARH_P)
                                                Case Is = "ultleit_reverso_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULTLEIT_REVERSO_P), 0, objUCFaturamentoFor.ULTLEIT_REVERSO_P)
                                                Case Is = "ult_leit_kvarh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KVARH_I), 0, objUCFaturamentoFor.ULT_LEIT_KVARH_I)
                                                Case Is = "ultleit_reverso_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULTLEIT_REVERSO_I), 0, objUCFaturamentoFor.ULTLEIT_REVERSO_I)
                                                Case Is = "kwh_reverso_res_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_REVERSO_RES_P), 0, objUCFaturamentoFor.KWH_REVERSO_RES_P)
                                                Case Is = "ult_leit_irrigante_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_P), 0, objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_P)
                                                Case Is = "ult_leit_irrigante_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_I), 0, objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_I)
                                                Case Is = "kwh_irrigante_res_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_IRRIGANTE_RES_P), 0, objUCFaturamentoFor.KWH_IRRIGANTE_RES_P)
                                                Case Is = "ult_leit_desligamento_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_P), 0, objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_P)
                                                Case Is = "ult_leit_desligamento_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_I), 0, objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_I)
                                                Case Is = "ult_leit_corte_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_CORTE_P), 0, objUCFaturamentoFor.ULT_LEIT_CORTE_P)
                                                Case Is = "ult_leit_corte_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_CORTE_I), 0, objUCFaturamentoFor.ULT_LEIT_CORTE_I)
                                                Case Is = "kwh_irrigante_res_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_IRRIGANTE_RES_I), 0, objUCFaturamentoFor.KWH_IRRIGANTE_RES_I)
                                                Case Is = "kwh_reverso_res_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_REVERSO_RES_I), 0, objUCFaturamentoFor.KWH_REVERSO_RES_I)
                                                Case Is = "ult_leit_kwh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KWH_FP), 0, objUCFaturamentoFor.ULT_LEIT_KWH_FP)
                                                Case Is = "kwh_res_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_RES_FP), 0, objUCFaturamentoFor.KWH_RES_FP)
                                                Case Is = "ult_leit_kvarh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KVARH_FP), 0, objUCFaturamentoFor.ULT_LEIT_KVARH_FP)
                                                Case Is = "ultleit_reverso_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULTLEIT_REVERSO_FP), 0, objUCFaturamentoFor.ULTLEIT_REVERSO_FP)
                                                Case Is = "kwh_reverso_res_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_REVERSO_RES_FP), 0, objUCFaturamentoFor.KWH_REVERSO_RES_FP)
                                                Case Is = "ult_leit_irrigante_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_FP), 0, objUCFaturamentoFor.ULT_LEIT_IRRIGANTE_FP)
                                                Case Is = "kwh_irrigante_res_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.KWH_IRRIGANTE_RES_FP), 0, objUCFaturamentoFor.KWH_IRRIGANTE_RES_FP)
                                                Case Is = "ult_leit_desligamento_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_FP), 0, objUCFaturamentoFor.ULT_LEIT_DESLIGAMENTO_FP)
                                                Case Is = "ult_leit_corte_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_CORTE_FP), 0, objUCFaturamentoFor.ULT_LEIT_CORTE_FP)
                                                Case Is = "const_kwh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_P), 0, objUCFaturamentoFor.CONST_KWH_P)
                                                Case Is = "const_kwh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_I), 0, objUCFaturamentoFor.CONST_KWH_I)
                                                Case Is = "const_kwh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KWH_FP), 0, objUCFaturamentoFor.CONST_KWH_FP)
                                                Case Is = "const_kw_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KW_P), 0, objUCFaturamentoFor.CONST_KW_P)
                                                Case Is = "const_kw_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KW_FP), 0, objUCFaturamentoFor.CONST_KW_FP)
                                                Case Is = "const_kvarh_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_P), 0, objUCFaturamentoFor.CONST_KVARH_P)
                                                Case Is = "const_kvarh_i"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_I), 0, objUCFaturamentoFor.CONST_KVARH_I)
                                                Case Is = "const_kvarh_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.CONST_KVARH_FP), 0, objUCFaturamentoFor.CONST_KVARH_FP)
                                                Case Is = "ult_leit_kw_p"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KW_P), 0, objUCFaturamentoFor.ULT_LEIT_KW_P)
                                                Case Is = "ult_leit_kw_fp"
                                                    .VALOR(lintAux) = IIf(IsDBNull(objUCFaturamentoFor.ULT_LEIT_KW_FP), 0, objUCFaturamentoFor.ULT_LEIT_KW_FP)
                                            End Select
                                        End If
                                    End If
                                Next lintAux
                            End With
                        End If
                    End If

                Next

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: CarregaDadosUnidade" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try


    End Sub

    Private Sub CarregaDadosConsumidor(ByVal alngConsId As Integer)

        Dim lintLin As Short
        Dim lstrCpfCnpj As String
        Dim lstrTelContato As String
        Dim lstrDDDTelCont As String
        Dim lstrEstCivil As String

        Dim vlist

        Dim objConsum As New entidadeConsum
        Dim repositorioConsum As New repositorioConsum

        Try

            objConsum.CONSREG = alngConsId

            vlist = repositorioConsum.Select(objConsum)

            If vlist.Count > 0 Then

                For Each objConsumFor As entidadeConsum In vlist

                    Me.txtConsRegC.Text = IIf(IsDBNull(objConsumFor.CONSREG), 0, objConsumFor.CONSREG)
                    Me.txtMatriculaC.Text = IIf(IsDBNull(objConsumFor.MATRICULA), "", objConsumFor.MATRICULA)

                    Me.txtDtCadastroC.Text = Trim(ValidaData(IIf(IsDBNull(objConsumFor.DT_CADASTRO), "", objConsumFor.DT_CADASTRO)))
                    With Me.txtDtCadastroC
                        If CInt(Len(.Text)) = 0 Then
                            .ReadOnly = False
                        Else
                            .ReadOnly = True
                        End If
                    End With

                    Me.txtNomeC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.NOME), "", objConsumFor.NOME)))
                    vEndCodC = IIf(IsDBNull(objConsumFor.CODEND), "", objConsumFor.CODEND)
                    Me.txtEndC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.END), "", objConsumFor.END)))
                    Me.txtNumeroC.Text = Trim(IIf(IsDBNull(objConsumFor.NUMERO), "", objConsumFor.NUMERO))
                    Me.txtComplementC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.COMPLEMENT), "", objConsumFor.COMPLEMENT)))
                    Me.txtQuadraC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.QUADRA), "", objConsumFor.QUADRA)))
                    Me.txtLoteC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.LOTE), "", objConsumFor.LOTE)))
                    Me.txtCidadeC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.CIDADE), "", objConsumFor.CIDADE)))
                    Me.txtDistritoC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.DISTRITO), "", objConsumFor.DISTRITO)))
                    Me.txtUfC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.UF), "", objConsumFor.UF)))
                    Me.txtCepC.Text = FormataCep(IIf(IsDBNull(objConsumFor.CEP), "", objConsumFor.CEP))
                    Me.txtBairroC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.BAIRRO), "", objConsumFor.BAIRRO)))
                    Me.txtDDDTelC.Text = IIf(IsDBNull(objConsumFor.DDDTEL), "", objConsumFor.DDDTEL)
                    Me.txtTelefoneC.Text = FormataTel(IIf(IsDBNull(objConsumFor.TELEFONE), "", objConsumFor.TELEFONE))
                    Me.txtDDDFaxC.Text = IIf(IsDBNull(objConsumFor.DDDFAX), "", objConsumFor.DDDFAX)
                    Me.txtFaxC.Text = FormataTel(IIf(IsDBNull(objConsumFor.FAX), "", objConsumFor.FAX))
                    Me.txtEmailC.Text = IIf(IsDBNull(objConsumFor.EMAIL), "", objConsumFor.EMAIL)
                    Me.txtRgC.Text = IIf(IsDBNull(objConsumFor.RG), "", objConsumFor.RG)
                    lstrCpfCnpj = Trim(IIf(IsDBNull(objConsumFor.CGC), "", objConsumFor.CGC))
                    Me.txtCpfC.Text = FormataCPF(IIf(Len(lstrCpfCnpj) <= 11, lstrCpfCnpj, ""))
                    Me.txtCtpsC.Text = IIf(IsDBNull(objConsumFor.CTPS), "", objConsumFor.CTPS)
                    Me.txtProfissaoC.Text = IIf(IsDBNull(objConsumFor.PROFISSAO), "", objConsumFor.PROFISSAO)
                    Me.txtConjuge.Text = IIf(IsDBNull(objConsumFor.NOME_CONJUGE), "", objConsumFor.NOME_CONJUGE)
                    Me.txtNomePaiC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.NOMEPAI), "", objConsumFor.NOMEPAI)))
                    Me.txtNomeMaeC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.NOMEMAE), "", objConsumFor.NOMEMAE)))
                    Me.txtDtNasctoC.Text = ValidaData(IIf(IsDBNull(objConsumFor.DT_NASCTO), "", objConsumFor.DT_NASCTO))
                    Me.txtDDDCelC.Text = IIf(IsDBNull(objConsumFor.DDDCEL), "", objConsumFor.DDDCEL)
                    Me.txtCelC.Text = FormataTel(IIf(IsDBNull(objConsumFor.CEL), "", objConsumFor.CEL))
                    Me.txtCgcC.Text = FormataCNPJ(IIf(Len(lstrCpfCnpj) > 11, lstrCpfCnpj, ""))
                    Me.txtInscC.Text = IIf(IsDBNull(objConsumFor.INSC), "", objConsumFor.INSC)
                    Me.txtNomeContatoC.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.NOMECONTATO), "", objConsumFor.NOMECONTATO)))
                    lstrTelContato = VB6.Format(Trim(IIf(IsDBNull(objConsumFor.TELCONTATO), "0", objConsumFor.TELCONTATO)), "0000000000")
                    lstrDDDTelCont = Trim(Microsoft.VisualBasic.Left(IIf(Microsoft.VisualBasic.Left(lstrTelContato, 2) <> "00", lstrTelContato, "  "), 2))
                    lstrTelContato = Trim(Microsoft.VisualBasic.Right(IIf(Microsoft.VisualBasic.Right(lstrTelContato, 8) <> "00000000", lstrTelContato, "        "), 8))
                    Me.txtDDDTelContatoC.Text = lstrDDDTelCont
                    Me.txtTelContatoC.Text = FormataTel(lstrTelContato)

                    Dim sretornof600 As String = IIf(IsDBNull(objConsumFor.F600RETFONTE), "N", objConsumFor.F600RETFONTE)
                    Me.cmbf600.Text = IIf(sretornof600 = "N", "NÃO", "SIM")

                    Me.txtObsCons.Text = UCase(Trim(IIf(IsDBNull(objConsumFor.OBSERVACAO), "", objConsumFor.OBSERVACAO)))
                    If CInt(Len(Trim(txtCpfC.Text))) > 0 Or CInt(Len(Trim(txtCgcC.Text))) < 1 Then
                        Me.opbFisicaC.Checked = True
                    Else
                        Me.opbJuridicaC.Checked = True
                    End If

                    lstrEstCivil = IIf(IsDBNull(objConsumFor.ESTADO_CIVIL), "", objConsumFor.ESTADO_CIVIL)
                    With Me.cmbEstCivilC
                        For lintLin = 0 To .Items.Count - 1
                            If Microsoft.VisualBasic.Left(Trim(VB6.GetItemString(Me.cmbEstCivilC, lintLin)), 1) = lstrEstCivil Then
                                Me.cmbEstCivilC.SelectedIndex = lintLin
                                lintLin = .Items.Count - 1
                            End If
                        Next lintLin
                    End With

                    LigDesFisJur((Me.opbFisicaC.Checked), (Me.opbJuridicaC.Checked), "C")

                Next

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: CarregaDadosConsumidor" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Function ControleTecla(ByRef aKeyAscii As Short, ByRef astrTipo As String) As Object

        Dim eventArgs As System.Windows.Forms.KeyPressEventArgs

        Try

            If astrTipo = "N" Then
                If aKeyAscii = System.Windows.Forms.Keys.Return Then
                    'TabEnter(aKeyAscii, eventArgs)
                ElseIf aKeyAscii <> 8 And (aKeyAscii <> 44 And (aKeyAscii < 48 Or aKeyAscii > 57)) Then
                    aKeyAscii = 0
                End If
            ElseIf astrTipo = "A" Then
                If aKeyAscii = System.Windows.Forms.Keys.Return Then
                    'TabEnter(aKeyAscii, eventArgs)
                End If
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: ControleTecla" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Private Function SelTodoCampo(ByRef aObjeto As System.Windows.Forms.TextBox, ByRef abTira As Boolean) As Object


        Try

            With aObjeto
                .Text = IIf(abTira = True, Str_Retira(.Text, ".-/ "), .Text)
                .SelectionStart = 0
                .SelectionLength = Len(.Text)
            End With

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: SelTodoCampo" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Public Sub RetornoCamposParametros(ByRef blnValores() As Boolean)

        Dim lintAux As Short

        Try

            For lintAux = LBound(blnValores) To UBound(blnValores)
                With vCamposParametros
                    .VALOR(lintAux) = blnValores(lintAux)
                End With
            Next lintAux

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: RetornoCamposParametros" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Public Sub RetornoCamposLeituraGrupoB(ByRef strValores() As String)

        Dim lintAux As Short

        Try

            For lintAux = LBound(strValores) To UBound(strValores)
                With vCamposLeiturasGrupoB
                    .VALOR(lintAux) = strValores(lintAux)
                End With
            Next lintAux

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: RetornoCamposLeituraGrupoB" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Public Sub RetornoCamposLeituraGrupoA(ByRef strValores() As String)

        Dim lintAux As Short

        Try

            For lintAux = LBound(strValores) To UBound(strValores)
                With vCamposLeiturasGrupoA
                    .VALOR(lintAux) = strValores(lintAux)
                End With
            Next lintAux

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: RetornoCamposLeituraGrupoA" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Private Sub listaUnidades(ByVal alngConsReg As Integer)

        Dim lstrZon As String
        Dim lstrLiv As String
        Dim lstrCon As String
        Dim llngUid As Integer
        Dim lstrGru As String

        Dim vlist

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento

        Try

            With Me.gridUnid
                .Clear()
                .Rows = 0
            End With

            objUCFaturamento.CONS_ID = alngConsReg

            vlist = repositorioUCFaturamento.Select_1(objUCFaturamento)

            If vlist.Count > 0 Then

                For Each objUCFaturamentoFor As entidadeUCFaturamento In vlist

                    lstrZon = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.ZONA), "0", objUCFaturamentoFor.ZONA)), "000")
                    lstrLiv = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.LIVRO), "0", objUCFaturamentoFor.LIVRO)), "00")
                    lstrCon = VB6.Format(Trim(IIf(IsDBNull(objUCFaturamentoFor.CONTA), "0", objUCFaturamentoFor.CONTA)), "000000")
                    llngUid = CInt(IIf(IsDBNull(objUCFaturamentoFor.ID), 0, objUCFaturamentoFor.ID))
                    'lstrGru = Microsoft.VisualBasic.Left(Trim(IIf(IsDBNull(objUCFaturamentoFor.GRUPO_TAR), "B1", objUCFaturamentoFor.GRUPO_TAR)), 1)
                    lstrGru = Microsoft.VisualBasic.Left(Trim(IIf(IsDBNull(objUCFaturamentoFor.GRUPO), "B1", objUCFaturamentoFor.GRUPO)), 1)

                    With Me.gridUnid
                        .Rows = .Rows + 1
                        .set_TextMatrix(.Rows - 1, 0, lstrZon)
                        .set_TextMatrix(.Rows - 1, 1, lstrLiv)
                        .set_TextMatrix(.Rows - 1, 2, lstrCon)
                        .set_TextMatrix(.Rows - 1, 3, llngUid)
                        .set_TextMatrix(.Rows - 1, 4, lstrGru)
                    End With

                Next

                Me.labelStatus.Text = "Registro " & gridUnid.Row + 1 & " de " & gridUnid.Rows & "."

                vUnidade = True

            Else
                vUnidade = False
                Me.labelStatus.Text = String.Empty
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: listaUnidades" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Public Sub SetaCamposEndereco(ByVal astrUf As String, ByVal astrCidade As String, ByVal astrDistrito As String, ByVal astrBairro As String, ByVal astrEnd As String, ByVal astrCep As String, ByVal astrCodigo As String)

        Dim intLinha As Short

        Try

            frmPreencherEnderecos.Close()

            If vModConsEnd = "C" Then
                vEndCodC = astrCodigo
                Me.txtUfC.Text = astrUf
                Me.txtCepC.Text = FormataCep(astrCep)
                Me.txtCidadeC.Text = astrCidade
                Me.txtDistritoC.Text = astrDistrito
                Me.txtBairroC.Text = astrBairro
                Me.txtEndC.Text = astrEnd
            ElseIf vModConsEnd = "UC" Then
                vEndCodUC = astrCodigo
                Me.txtUfU.Text = astrUf
                Me.txtCepU.Text = FormataCep(astrCep)
                Me.txtCidadeU.Text = astrCidade
                Me.txtDistritoU.Text = astrDistrito
                Me.txtBairroU.Text = astrBairro
                Me.txtEndU.Text = astrEnd
            ElseIf vModConsEnd = "UE" Then
                vEndCodEn = astrCodigo
                With Me.cmbUfEntregaU
                    For intLinha = 0 To .Items.Count
                        If VB6.GetItemString(Me.cmbUfEntregaU, intLinha) = UCase(Trim(astrUf)) Then
                            .SelectedIndex = intLinha
                            intLinha = .Items.Count
                        End If
                    Next intLinha
                End With
                Me.txtCepEntregaU.Text = FormataCep(astrCep)
                Me.txtCidEntregaU.Text = astrCidade
                Me.txtDisEntregaU.Text = astrCidade
                Me.txtBaiEntregaU.Text = astrBairro
                Me.txtEndEntregaU.Text = astrEnd
            End If


        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: SetaCamposEndereco" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Function VerifCons() As Boolean

        Dim lblnRet As Boolean

        Try

            lblnRet = True

            If Len(Trim(Me.txtNomeC.Text)) < 4 Then
                MessageBox.Show("Faltou informar o nome do consumidor!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                If Me.txtNomeC.Enabled Then Call Me.txtNomeC.Focus()
                lblnRet = False
            ElseIf Me.opbFisicaC.Checked And Len(Trim(Me.txtCpfC.Text)) < 1 Then
                MessageBox.Show("Faltou informar o cpf do consumidor!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 0
                If Me.txtCpfC.Enabled Then Call Me.txtCpfC.Focus()
                lblnRet = True
            ElseIf Me.opbJuridicaC.Checked And Len(Trim(Me.txtCgcC.Text)) < 1 Then
                MessageBox.Show("Faltou informar o cnpj do consumidor!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 0
                If Me.txtCgcC.Enabled Then Call Me.txtCgcC.Focus()
                lblnRet = True
            End If

            VerifCons = lblnRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: VerifCons" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Public Sub SetaCodigo(ByVal alngCodigo As Integer, ByVal astrZona As String, ByVal astrLivro As String, ByVal astrConta As String, ByVal astrGrupo As String)

        Try
            If vLocaliza = "U" Then
                CarregaDadosUnidade(alngCodigo, astrGrupo, astrZona, astrLivro, astrConta)
                CarregaDadosConsumidor(PegaConsReg(alngCodigo, astrGrupo, astrZona, astrLivro, astrConta))
            ElseIf vLocaliza = "C" Then
                CarregaDadosConsumidor(alngCodigo)
                listaUnidades(alngCodigo)
                If vUnidade = True Then
                    CarregaDadosUnidade(CInt(gridUnid.get_TextMatrix(gridUnid.Row, 3)), gridUnid.get_TextMatrix(gridUnid.Row, 4), gridUnid.get_TextMatrix(gridUnid.Row, 0), gridUnid.get_TextMatrix(gridUnid.Row, 1), gridUnid.get_TextMatrix(gridUnid.Row, 2))
                Else
                    gridUnid.Rows = 0
                    labelStatus.Text = String.Empty
                    lClear("U")
                End If
            ElseIf vLocaliza = "A" Then
                CarregaDadosUnidade(alngCodigo, astrGrupo, astrZona, astrLivro, astrConta)
            End If

            LigDesBotoes("SalvarU")

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: SetaCodigo" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Function VerifUnid() As Boolean

        Dim ldblCtP As Double
        Dim ldblCtFp As Double
        Dim lstrGrupo As String
        Dim lblnRet As Boolean

        Try

            lblnRet = True

            If Trim(Me.txtZonaU.Text = "") Then
                MessageBox.Show("Não foi informada a Zona !", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtZonaU.Enabled Then Call Me.txtZonaU.Focus()
                lblnRet = False
            End If

            If Trim(Me.txtLivroU.Text = "") Then
                MessageBox.Show("Não foi informado o Livro !", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtLivroU.Enabled Then Call Me.txtLivroU.Focus()
                lblnRet = False
            End If

            If Trim(Me.txtContaU.Text = "") Then
                MessageBox.Show("Não foi informada a Conta !", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtContaU.Enabled Then Call Me.txtContaU.Focus()
                lblnRet = False
            End If

            If Trim(Me.txtRotaU.Text = "") Then
                MessageBox.Show("Não foi informada a Rota !", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtRotaU.Enabled Then Call Me.txtRotaU.Focus()
                lblnRet = False
            End If

            If Me.txtNumU.Enabled = True And Len(Trim(Me.txtNumU.Text)) > 0 Then
                lblnRet = Not VerificaMedidor(IIf(IsDBNull(Me.txtNumU.Text), "", Me.txtNumU.Text), "C")
            End If

            If Me.txtMedkWhU.Enabled = True And Len(Trim(Me.txtMedkWhU.Text)) > 0 Then
                lblnRet = Not VerificaMedidor(IIf(IsDBNull(Me.txtMedkWhU.Text), "", Me.txtMedkWhU.Text), "C")
            End If

            If Me.txtMedkWU.Enabled = True And Len(Trim(Me.txtMedkWU.Text)) > 0 Then
                lblnRet = Not VerificaMedidor(IIf(IsDBNull(Me.txtMedkWU.Text), "", Me.txtMedkWU.Text), "D")
            End If

            If Me.txtMedkVArhU.Enabled = True And Len(Trim(Me.txtMedkVArhU.Text)) > 0 Then
                lblnRet = Not VerificaMedidor(IIf(IsDBNull(Me.txtMedkVArhU.Text), "", Me.txtMedkVArhU.Text), "R")
            End If

            If VerificaZLC() Then
                Me.TabConsum.SelectedIndex = 1
                If Me.txtZonaU.Enabled Then Call Me.txtZonaU.Focus()
                lblnRet = False
            ElseIf Me.txtZonaU.Enabled = True And Len(Trim(txtZonaU.Text)) < 1 Then
                MessageBox.Show("Faltou informar a zona da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtZonaU.Enabled Then Call Me.txtZonaU.Focus()
                lblnRet = False
            ElseIf Trim(Me.txtZonaU.Text) <> "" And Me.txtZonaU.Text <> "999" Then
                If ValidaZona(Me.txtZonaU.Text) = False Then
                    MessageBox.Show("A zona informada não pertence ao(s) município(s)!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    lblnRet = False
                End If
            ElseIf Me.txtLivroU.Enabled = True And Len(Trim(txtLivroU.Text)) < 1 Then
                MessageBox.Show("Faltou informar o livro da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtLivroU.Enabled Then Call Me.txtLivroU.Focus()
                lblnRet = False
            ElseIf Me.txtContaU.Enabled = True And Len(Trim(txtContaU.Text)) < 1 Then
                MessageBox.Show("Faltou informar a conta da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtContaU.Enabled Then Call Me.txtContaU.Focus()
                lblnRet = False
            ElseIf Me.txtNomeU.Enabled = True And Len(Trim(txtNomeU.Text)) < 1 Then
                MessageBox.Show("Faltou informar o nome da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                If Me.txtNomeU.Enabled Then Call Me.txtNomeU.Focus()
                lblnRet = False
            ElseIf Me.cmbClasseU.Enabled = True And Me.cmbClasseU.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar a classe da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbClasseU.Enabled Then Call Me.cmbClasseU.Focus()
                lblnRet = False
            ElseIf Me.cmbTensao.Enabled = True And Me.cmbTensao.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar a tensão da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbTensao.Enabled Then Call Me.cmbTensao.Focus()
                lblnRet = False
            ElseIf Me.cmbDiaVencU.Enabled = True And Me.cmbDiaVencU.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar o dia do vencimento da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbDiaVencU.Enabled Then Call Me.cmbDiaVencU.Focus()
                lblnRet = False
            ElseIf Me.cmbFaseU.Enabled = True And Me.cmbFaseU.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar a fase da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbFaseU.Enabled Then Call Me.cmbFaseU.Focus()
                lblnRet = False
            ElseIf Me.cmbFaseLigU.Enabled = True And Me.cmbFaseLigU.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar a fase de ligação da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbFaseLigU.Enabled Then Call Me.cmbFaseLigU.Focus()
                lblnRet = False
            ElseIf Me.cmbRegiao.Enabled = True And Me.cmbRegiao.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar a região da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbRegiao.Enabled Then Call Me.cmbRegiao.Focus()
                lblnRet = False
            ElseIf Me.cmbTipoLigacaoU.Enabled = True And Me.cmbTipoLigacaoU.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar o tipo de ligação da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbTipoLigacaoU.Enabled Then Call Me.cmbTipoLigacaoU.Focus()
                lblnRet = False
            ElseIf Me.cmbBancoU.Enabled = True And Me.cmbBancoU.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar a banco da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 1
                If Me.cmbBancoU.Enabled Then Call Me.cmbBancoU.Focus()
                lblnRet = False
            ElseIf vEndCodUC = "" Then
                MessageBox.Show("Faltou informar o endereço da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 1
                If Me.cmdBuscaEndUnid.Enabled Then Call Me.cmdBuscaEndUnid.Focus()
                lblnRet = False
            ElseIf Trim(Me.txtRotaU.Text) = "" Then
                MessageBox.Show("Faltou informar a rota da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.txtRotaU.Enabled Then Call Me.txtRotaU.Focus()
                lblnRet = False
            ElseIf Me.cmbConjuntoU.SelectedIndex < 0 Then
                MessageBox.Show("Faltou selecionar o conjunto elétrico da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabConsum.SelectedIndex = 1
                Me.TabUnidCons.SelectedIndex = 0
                If Me.cmbConjuntoU.Enabled Then Call Me.cmbConjuntoU.Focus()
                lblnRet = False
            ElseIf Len(Trim(Me.txtDataLigacaoU.Text)) = 0 Then
                MessageBox.Show("Faltou informar a data da ligação da unidade consumidora!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Me.TabUnidCons.SelectedIndex = 0
                If Me.txtDataLigacaoU.Enabled Then Call Me.txtDataLigacaoU.Focus()
                lblnRet = False
            ElseIf Me.cmbTarifaGrAU.SelectedIndex < 0 Or Me.cmbTarifaGrBU.SelectedIndex < 0 Then
                If Me.opbGrupoA.Checked = True Then
                    If Me.cmbTarifaGrAU.SelectedIndex < 0 Then
                        MessageBox.Show("Faltou selecionar a tarifa da unidade consumidora", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Me.TabConsum.SelectedIndex = 1
                        Me.TabUnidCons.SelectedIndex = 0
                        If Me.cmbTarifaGrAU.Enabled Then Call Me.cmbTarifaGrAU.Focus()
                        lblnRet = False
                    End If
                ElseIf Me.opbGrupoB.Checked = True Then
                    If Me.cmbTarifaGrBU.SelectedIndex < 0 Then
                        MessageBox.Show("Faltou selecionar a tarifa da unidade consumidora", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Me.TabConsum.SelectedIndex = 1
                        Me.TabUnidCons.SelectedIndex = 0
                        If Me.cmbTarifaGrBU.Enabled Then Call Me.cmbTarifaGrBU.Focus()
                        lblnRet = False
                    End If
                End If
            ElseIf Me.opbGrupoA.Checked Then
                lstrGrupo = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrAU, Me.cmbTarifaGrAU.SelectedIndex), 2)
                If lstrGrupo = "AL" Then
                    If IsNumeric(Me.txtDemandaContrPU.Text) Then
                        ldblCtP = CDbl(Me.txtDemandaContrPU.Text)
                    End If
                    If IsNumeric(Me.txtDemandaContrFPU.Text) Then
                        ldblCtFp = CDbl(Me.txtDemandaContrFPU.Text)
                    End If
                    If ldblCtP > 0 Then lblnRet = (ldblCtP >= 500)
                    If lblnRet Then
                        If ldblCtFp > 0 Then lblnRet = (ldblCtFp >= 500)
                    End If
                    If IsNumeric(Me.txtDemandaAnteriorContrPU.Text) Then
                        ldblCtP = CDbl(Me.txtDemandaAnteriorContrPU.Text)
                    End If
                    If IsNumeric(Me.txtDemandaAnteriorContrFPU.Text) Then
                        ldblCtFp = CDbl(Me.txtDemandaAnteriorContrFPU.Text)
                    End If
                    If lblnRet Then
                        If ldblCtP > 0 Then lblnRet = (ldblCtP >= 500)
                    End If
                    If lblnRet Then
                        If ldblCtFp > 0 Then lblnRet = (ldblCtFp >= 500)
                    End If
                    If Not lblnRet Then
                        MessageBox.Show("O contrato para consumidor Livre não pode ser inferior a 500kW", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Me.TabConsum.SelectedIndex = 1
                        Me.TabUnidCons.SelectedIndex = 0
                    End If
                End If
            End If

            If Me.cmbClasseU.Enabled And Me.cmbClasseU.SelectedIndex >= 0 Then
                If CDbl(Microsoft.VisualBasic.Left(Trim(CStr(VB6.GetItemData(Me.cmbClasseU, Me.cmbClasseU.SelectedIndex))), 1)) = 8 Then
                    If Str_Retira(gstrEmpresa_CNPJ, "./-+_= ") <> Str_Retira(Me.txtCnpjU.Text, "./-+_= ") Then
                        MessageBox.Show("Você não pode cadastrar a classe de consumo próprio para unidade consumidora que não é da empresa " & gstrEmpresa_Sigla & "!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Me.TabConsum.SelectedIndex = 1
                        Me.TabUnidCons.SelectedIndex = 0
                        If Me.cmbClasseU.Enabled Then Call Me.cmbClasseU.Focus()
                        lblnRet = False
                    End If
                End If
            End If

            VerifUnid = lblnRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: VerifUnid" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try


    End Function

    Private Function PegaConsReg(ByVal alngUnidId As Integer, ByVal astrGrupo As String, ByVal astrZona As String, ByVal astrLivro As String, ByVal astrConta As String) As Integer

        Dim llngRet As Integer

        Dim vlist

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento

        Try

            objUCFaturamento.ID = alngUnidId
            objUCFaturamento.ZONA = astrZona
            objUCFaturamento.LIVRO = astrLivro
            objUCFaturamento.CONTA = astrConta

            vlist = repositorioUCFaturamento.Select(objUCFaturamento)

            If vlist.Count > 0 Then

                For Each objUCFaturamentoFor As entidadeUCFaturamento In vlist

                    llngRet = CInt(IIf(IsDBNull(objUCFaturamentoFor.CONS_ID), 0, objUCFaturamentoFor.CONS_ID))

                Next

            Else
                llngRet = 0
            End If

            PegaConsReg = llngRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: PegaConsReg" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try


    End Function

    Private Function VerificaZLC() As Boolean
        Dim lblnRet As Boolean

        Dim vlist

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento

        Try

            lblnRet = False

            If (Me.txtZonaU.Text <> "999" And Me.txtLivroU.Text <> "99" And Me.txtContaU.Text <> "999999") Or (Me.txtZonaU.Text <> "" And Me.txtLivroU.Text <> "" And Me.txtContaU.Text <> "") Then

                objUCFaturamento.ZONA = Me.txtZonaU.Text
                objUCFaturamento.LIVRO = Me.txtLivroU.Text
                objUCFaturamento.CONTA = Me.txtContaU.Text
                objUCFaturamento.CONS_ID = CInt(IIf(IsNumeric(Me.txtConsRegC.Text), Me.txtConsRegC.Text, 0))
                objUCFaturamento.ID = CInt(IIf(IsNumeric(Me.txtUnidIDU.Text), Me.txtUnidIDU.Text, 0))

                vlist = repositorioUCFaturamento.Select_2(objUCFaturamento)

                If vlist.Count > 0 Then

                    For Each objUCFaturamentoFor As entidadeUCFaturamento In vlist
                        MessageBox.Show("A ZLC (" & Me.txtZonaU.Text & "." & Me.txtLivroU.Text & "." & Me.txtContaU.Text & "), já esta cadastrada para outra unidade com o nome(" & IIf(IsDBNull(objUCFaturamentoFor.NOME), "", objUCFaturamentoFor.NOME) & ")", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        lblnRet = True
                    Next

                End If


            End If


            VerificaZLC = lblnRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: VerificaZLC" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Private Function BuscaAlimentadorRota(ByVal astrRota As String) As Integer

        Dim llngIdA As Integer


        Dim vlist

        Dim objAlimentadorLigacao As New entidadeAlimentadorLigacao
        Dim repositorioAlimentadorLigacao As New repositorioAlimentadorLigacao

        Try



            objAlimentadorLigacao.IDROTA = CInt(Microsoft.VisualBasic.Left(astrRota, 4))

            vlist = repositorioAlimentadorLigacao.Select(objAlimentadorLigacao)

            If vlist.Count > 0 Then

                For Each objAlimentadorLigacaoFor As entidadeAlimentadorLigacao In vlist
                    llngIdA = CInt(IIf(IsDBNull(objAlimentadorLigacaoFor.IDALIMENTADOR), 0, objAlimentadorLigacaoFor.IDALIMENTADOR))
                Next

            End If


            BuscaAlimentadorRota = llngIdA

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: BuscaAlimentadorRota" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Private Function ExisteFatura(ByVal astrZona As String, ByVal astrLivro As String, ByVal astrConta As String) As Object

        Dim vlist

        Dim objNf As New entidadeNf
        Dim repositorioNf As New repositorioNf

        Try


            objNf.ZONA = astrZona
            objNf.LIVRO = astrLivro
            objNf.CONTA = astrConta
            objNf.GRUPO = IIf(Me.opbGrupoA.Checked, "A", "B")

            vlist = repositorioNf.SelectOthersTables_1(objNf)

            If vlist.Count > 0 Then

                For Each objNfFor As entidadeNf In vlist


                    Me.txtZonaU.Enabled = False
                    Me.txtLivroU.Enabled = False
                    Me.txtContaU.Enabled = False
                    Me.cmbClasseU.Enabled = False
                    Me.cmbTarifaGrAU.Enabled = False
                    Me.cmbTarifaGrBU.Enabled = False
                    Me.cmdExcluirU.Enabled = False

                Next

            Else

                Me.txtZonaU.Enabled = True
                Me.txtLivroU.Enabled = True
                Me.txtContaU.Enabled = True
                Me.cmbClasseU.Enabled = True
                Me.cmbTarifaGrAU.Enabled = True
                Me.cmbTarifaGrBU.Enabled = False

                If vQtdUnid = 1 Then
                    Me.cmdExcluirU.Enabled = False
                Else
                    Me.cmdExcluirU.Enabled = vUsuarioUnidadeConsumidoraExcluir
                End If

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: ExisteFatura" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try


    End Function

    Private Function VerificaDependenciasZLC(ByVal alngConsId As Integer, ByVal alngUnidId As Integer, ByVal astrZona As String, ByVal astrLivro As String, ByVal astrConta As String, ByVal astrGrupo As String) As Boolean

        Dim lblnRet As Boolean

        Dim dt As DataTable

        Dim objNf As New entidadeNf
        Dim repositorioNf As New repositorioNf

        Dim objSolServ As New entidadeSolServ
        Dim repositorioSolServ As New repositorioSolServ

        Dim objConvenios As New entidadeConvenios
        Dim repositorioConvenios As New repositorioConvenios

        Try

            lblnRet = False


            objNf.UNID_ID = alngUnidId
            objNf.ZONA = astrZona
            objNf.LIVRO = astrLivro
            objNf.CONTA = astrConta
            objNf.GRUPO = astrGrupo

            dt = repositorioNf.SelectCount(objNf)

            If Convert.ToInt32(dt.Rows(0).ItemArray(0).ToString()) > 0 Then
                lblnRet = True
            End If


            If Not lblnRet Then

                objSolServ.UNID_ID = alngUnidId
                objSolServ.ZLC = astrZona & astrLivro & astrConta
                objSolServ.UNID = astrGrupo

                dt = repositorioSolServ.SelectCount(objSolServ)

                If Convert.ToInt32(dt.Rows(0).ItemArray(0).ToString()) > 0 Then
                    lblnRet = True
                End If

            End If

            If Not lblnRet Then

                objConvenios.UNID_ID = alngUnidId
                objConvenios.CONS_ID = alngConsId
                objConvenios.ZONA = astrZona
                objConvenios.LIVRO = astrLivro
                objConvenios.CONTA = astrConta

                dt = repositorioConvenios.SelectCount(objConvenios)

                If Convert.ToInt32(dt.Rows(0).ItemArray(0).ToString()) > 0 Then
                    lblnRet = True
                End If

            End If

            VerificaDependenciasZLC = lblnRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: VerificaDependenciasZLC" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End Try

    End Function

    Public Sub AtualizaCargaInstalada(ByVal alngUnidId As Integer, ByVal adblCarga As Double, ByVal ablnGravou As Boolean)

        Dim objUCFaturamento As New entidadeUCFaturamento

        Try
            'Chamada pelo form de carga instalada

            If ablnGravou Then
                Me.txtCargaU.Text = CStr(adblCarga)

                objUCFaturamento.CARGA = adblCarga
                ' objUCFaturamento.UNID_ID = alngUnidId
                objUCFaturamento.ID = alngUnidId

                If Not lDelete(objUCFaturamento) Then
                    MessageBox.Show("A Carga Instalada não pode ser atualizada!", "Confirmação de Atualização", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Else
                    MessageBox.Show("A Carga Instalada foi atualizada com sucesso!", "Confirmação de Atualização", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: AtualizaCargaInstalada" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try

    End Sub

    Private Function GravaCons(ByVal astrTipo As String) As Boolean

        Dim lblnRet As Boolean
        Dim ldteBas As Date

        Dim objConsum As New entidadeConsum
        Dim repositorioConsum As New repositorioConsum

        Dim vlist

        Try
            lblnRet = False

            ldteBas = Date.Now

            If ValidaCPF(Microsoft.VisualBasic.Left(Str_Retira(Me.txtCpfC.Text, ".-/ "), 11)) = False Then
                Me.txtCpfC.Text = String.Empty
            End If
            If ValidaCNPJ(Microsoft.VisualBasic.Left(Str_Retira(Me.txtCgcC.Text, ".-/ "), 14)) = False Then
                Me.txtCgcC.Text = String.Empty
            End If

            If astrTipo = "U" Then
                objConsum.CONSREG = Me.txtConsRegC.Text
            End If

            objConsum.MATRICULA = CInt(IIf((Len(Trim(Me.txtMatriculaC.Text)) = 0), 0, Me.txtMatriculaC.Text))
            objConsum.DT_CADASTRO = VB6.Format(IIf(IsDate(Me.txtDtCadastroC.Text), Me.txtDtCadastroC.Text, ldteBas), "yyyy-MM-dd")
            objConsum.DT_NASCTO = IIf(Me.opbFisicaC.Checked, VB6.Format(IIf(IsDate(Me.txtDtNasctoC.Text), Me.txtDtNasctoC.Text, "1900-01-01"), "yyyy-MM-dd"), "1900-01-01")
            objConsum.NOME = UCase(Me.txtNomeC.Text)
            objConsum.CODEND = vEndCodC
            objConsum.CIDADE = UCase(Me.txtCidadeC.Text)
            objConsum.DISTRITO = UCase(Me.txtDistritoC.Text)
            objConsum.BAIRRO = UCase(Me.txtBairroC.Text)
            objConsum.END = UCase(Me.txtEndC.Text)
            objConsum.NUMERO = UCase(Me.txtNumeroC.Text)
            objConsum.COMPLEMENT = UCase(Me.txtComplementC.Text)
            objConsum.LOTE = UCase(Me.txtLoteC.Text)
            objConsum.QUADRA = UCase(Me.txtQuadraC.Text)
            objConsum.UF = UCase(Me.txtUfC.Text)
            objConsum.CEP = Str_Retira(Me.txtCepC.Text, ".-/ ")
            objConsum.CGC = Str_Retira(IIf(Me.opbFisicaC.Checked, Me.txtCpfC.Text, Me.txtCgcC.Text), ".-/ ")
            objConsum.INSC = Str_Retira(Me.txtInscC.Text, ".-/ ")
            objConsum.RG = IIf(Me.opbFisicaC.Checked, Me.txtRgC.Text, "")
            'objConsum.rg_orgao        = " "
            'objConsum.rg_uf           = " "
            objConsum.CTPS = IIf(Me.opbFisicaC.Checked, Me.txtCtpsC.Text, "")
            objConsum.TITULO_ELEITOR = IIf(Me.opbFisicaC.Checked, Me.txtTituloEleitorC.Text, "")
            objConsum.DDDTEL = Me.txtDDDTelC.Text
            objConsum.TELEFONE = Str_Retira(Me.txtTelefoneC.Text, ".-/ ")
            objConsum.DDDFAX = Me.txtDDDFaxC.Text
            objConsum.FAX = Str_Retira(Me.txtFaxC.Text, ".-/ ")
            objConsum.DDDCEL = Me.txtDDDCelC.Text
            objConsum.CEL = Str_Retira(Me.txtCelC.Text, ".-/ ")
            objConsum.TELCONTATO = Str_Retira(txtDDDTelContatoC.Text & txtTelContatoC.Text, ".-/ ")
            objConsum.OBSERVACAO = Me.txtObsCons.Text
            objConsum.EMAIL = Me.txtEmailC.Text
            'objConsum.itenshist       = " "
            'objConsum.nis_numer       = " "
            'objConsum.nis_data        = " "
            'objConsum.nis_uf          = " "
            'objConsum.nis_faturado    = " "
            objConsum.ICMS = " "
            objConsum.CIP = " "
            'objConsum.et              = " "
            'objConsum.idestado_civil  = " "
            'objConsum.idprofissao     = " "
            'objConsum.idnacionalidade = " "
            'objConsum.dtautodec       = " "
            objConsum.ESTADO_CIVIL = Microsoft.VisualBasic.Left(Trim(VB6.GetItemString(Me.cmbEstCivilC, Me.cmbEstCivilC.SelectedIndex)), 1)
            objConsum.PROFISSAO = UCase(Trim(Me.txtProfissaoC.Text))
            'objConsum.nacionalidade   = " "
            Me.txtNomeContatoC.Text = Replace(Me.txtNomeContatoC.Text, "'", "\'")
            objConsum.NOMECONTATO = UCase(Me.txtNomeContatoC.Text)

            Me.txtConjuge.Text = Replace(Me.txtConjuge.Text, "'", "\'")
            objConsum.NOME_CONJUGE = UCase(IIf(Me.opbFisicaC.Checked, Me.txtConjuge.Text, ""))

            Me.txtNomePaiC.Text = Replace(Me.txtNomePaiC.Text, "'", "\'")
            objConsum.NOMEPAI = UCase(IIf(Me.opbFisicaC.Checked, Me.txtNomePaiC.Text, ""))

            Me.txtNomeMaeC.Text = Replace(Me.txtNomeMaeC.Text, "'", "\'")
            objConsum.NOMEMAE = UCase(IIf(Me.opbFisicaC.Checked, Me.txtNomeMaeC.Text, ""))

            objConsum.F600RETFONTE = IIf(Me.cmbf600.Text = "SIM", "S", "N")

            If astrTipo = "U" Then
                lblnRet = lUpdate(objConsum)
            ElseIf astrTipo = "I" Then
                lblnRet = lInsert(objConsum)

                vlist = repositorioConsum.SelectMax(objConsum)

                For Each objConsumFor As entidadeConsum In vlist
                    Me.txtConsRegC.Text = CStr(CInt(IIf(IsDBNull(objConsumFor.CONSREG), 0, objConsumFor.CONSREG)))
                Next

            End If


            GravaCons = lblnRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: GravaCons" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try

    End Function

    Private Function GravaUnid(ByRef astrTipo As String) As Boolean

        Dim llngBanId As String
        Dim lstrClasse As String
        Dim lstrDsClasse As String
        Dim lstrTarClasse As String
        Dim llngTarClasse As Integer
        Dim lstrBxRenda As String
        Dim lstrGrupo As String
        Dim lstrGrTar As String
        Dim lstrMesAno As String
        Dim lblnRet As Boolean
        Dim lintAux As Short
        Dim lblnAltaTensao As Boolean

        Dim lintLeituraAnterior As Short
        Dim ldblLeituraAnterior As Double
        Dim lintLeituraReversoAnterior As Short
        Dim lintkWhReversoResiduo As Short
        Dim lintLeituraCorte As Short
        Dim lintResiduo As Short

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento

        Dim objLeitmensal As New entidadeLeitmensal
        Dim repositorioLeitmensal As New repositorioLeitmensal

        Dim objUC As New entidadeUC
        Dim repositorioUC As New repositorioUC

        Dim objGDTipo As New entidadeGDTipo
        Dim repositorioGDTipo As New repositorioGDTipo

        Dim objMicrogeracaoDistribuida As New entidadeMicrogeracaoDistribuida
        Dim repositorioMicrogeracaoDistribuida As New repositorioMicrogeracaoDistribuida

        Try

            lblnRet = False

            'Caso passe algum  cpf/cnpj inválido, então limpa antes de gravar
            If ValidaCPF(Microsoft.VisualBasic.Left(Str_Retira(Me.txtCpfU.Text, ".-/ "), 11)) = False Then
                Me.txtCpfU.Text = String.Empty
            End If

            If ValidaCNPJ(Microsoft.VisualBasic.Left(Str_Retira(Me.txtCnpjU.Text, ".-/ "), 14)) = False Then
                Me.txtCnpjU.Text = String.Empty
            End If

            'Pega o ban_id do Banco
            If Me.cmbBancoU.SelectedIndex >= 0 Then
                llngBanId = CStr(VB6.GetItemData(Me.cmbBancoU, Me.cmbBancoU.SelectedIndex))
            Else
                llngBanId = CStr(0)
            End If

            'Classe
            lstrClasse = VB6.Format(VB6.GetItemData(Me.cmbClasseU, Me.cmbClasseU.SelectedIndex), "0000")
            lstrDsClasse = BuscaDescricaoClasse(lstrClasse)
            lstrBxRenda = "N"

            If Me.opbGrupoA.Checked Then
                lstrGrupo = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrAU, Me.cmbTarifaGrAU.SelectedIndex), 2)
            ElseIf Me.opbGrupoB.Checked Then
                lstrGrupo = Microsoft.VisualBasic.Left(VB6.GetItemString(Me.cmbTarifaGrBU, Me.cmbTarifaGrBU.SelectedIndex), 2)
            End If

            'Configura o grupo e a Tarifa
            If lstrGrupo = "B3" Then
                If CDbl(Microsoft.VisualBasic.Left(lstrClasse, 2)) = 61 Then
                    lstrGrTar = "01B334"
                ElseIf CDbl(Microsoft.VisualBasic.Left(lstrClasse, 2)) = 62 Then
                    lstrGrTar = "01B335"
                ElseIf CDbl(Microsoft.VisualBasic.Left(lstrClasse, 2)) = 63 Then
                    lstrGrTar = "01B336"
                ElseIf CDbl(lstrClasse) = 7100 Then
                    lstrGrTar = "01B337"
                ElseIf CDbl(lstrClasse) = 7200 Then
                    lstrGrTar = "01B338"
                Else
                    lstrGrTar = "01B300"
                End If
            Else
                lstrGrTar = "01" & lstrGrupo & "00"
            End If

            If astrTipo = "U" Then
                ' objUCFaturamento.ID = CInt(IIf(IsNumeric(Me.txtUCID.Text), Me.txtUCID.Text, 0))
                objUCFaturamento.UNID_ID = CInt(IIf(IsNumeric(Me.txtUCID.Text), Me.txtUCID.Text, 0))
                objUCFaturamento.ID = CInt(IIf(IsNumeric(Me.txtUnidIDU.Text), Me.txtUnidIDU.Text, 0))
            End If

            objUCFaturamento.CONS_ID = CInt(IIf(IsNumeric(Me.txtConsRegC.Text), Me.txtConsRegC.Text, 0))
            objUCFaturamento.ZONA = Str_Retira(Me.txtZonaU.Text, ",")
            objUCFaturamento.LIVRO = Str_Retira(Me.txtLivroU.Text, ",")
            objUCFaturamento.CONTA = Str_Retira(Me.txtContaU.Text, ",")
            objUCFaturamento.ROTA = Str_Retira(Me.txtRotaU.Text, ",")
            objUCFaturamento.SEQUENCIA = Str_Retira(Me.txtSeqU.Text, ",")
            objUCFaturamento.SITUACAO = Microsoft.VisualBasic.Left(Trim(VB6.GetItemString(Me.cmbSituacaoU, Me.cmbSituacaoU.SelectedIndex)), 1)
            objUCFaturamento.NOME = Replace(Microsoft.VisualBasic.Left(UCase(Me.txtNomeU.Text), 85), "'", "\'")
            objUCFaturamento.GRUPO = IIf(opbGrupoA.Checked, "A", "B") 'UCase(lstrGrupo)
            objUCFaturamento.CLAS = VB6.Format(lstrClasse, "0000")
            objUCFaturamento.TA = UCase(lstrGrTar)
            objUCFaturamento.DATA_LIGACAO = VB6.Format(IIf(IsDate(Me.txtDataLigacaoU.Text), Me.txtDataLigacaoU.Text, "1900-01-01"), "yyyy-MM-dd")
            objUCFaturamento.DATA_ENTRADA = VB6.Format(IIf(IsDate(Me.txtDataEntradaU.Text), Me.txtDataEntradaU.Text, "1900-01-01"), "yyyy-MM-dd")
            objUCFaturamento.FPFIXO = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtFpFixoU.Text), Me.txtFpFixoU.Text, 0))), ",", ".")
            objUCFaturamento.FINAL = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtPerdasU.Text), Me.txtPerdasU.Text, 0))), ",", ".")
            objUCFaturamento.IDCCEE = CInt(IIf(IsNumeric(Me.txtIdCcee.Text), Me.txtIdCcee.Text, 0))
            objUCFaturamento.CARGA = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtCargaU.Text), Me.txtCargaU.Text, 0))), ",", ".")
            objUCFaturamento.LATITUDE = Me.txtLatitude.Text
            objUCFaturamento.LONGITUDE = Me.txtLongitude.Text
            objUCFaturamento.AREA = CInt(Replace(Replace(IIf(IsNumeric(Me.txtAreaU.Text), Me.txtAreaU.Text, 0), ",", ""), ".", ""))
            objUCFaturamento.CICE = Microsoft.VisualBasic.Left(Trim(Me.txtCiceU.Text), 12)
            objUCFaturamento.TIPOUC = Microsoft.VisualBasic.Left(Trim(Me.txtTipoUcU.Text), 10)
            objUCFaturamento.CONST = Trim(Me.txtConst.Text)


            If VB6.GetItemString(Me.cmbConjuntoU, Me.cmbConjuntoU.SelectedIndex) = "" Then
                objUCFaturamento.CIRCUITO = ""
            Else
                objUCFaturamento.CIRCUITO = VB6.GetItemData(Me.cmbConjuntoU, Me.cmbConjuntoU.SelectedIndex)
            End If

            If VB6.GetItemString(Me.cmbRegiao, Me.cmbRegiao.SelectedIndex) = "" Then
                objUCFaturamento.REGIAO = ""
            Else
                objUCFaturamento.REGIAO = Microsoft.VisualBasic.Left(Trim(VB6.GetItemString(Me.cmbRegiao, Me.cmbRegiao.SelectedIndex)), 1)
            End If

            objUCFaturamento.ENVIO_EMAIL_FATURA = IIf(Me.chkenvioemail.CheckState = System.Windows.Forms.CheckState.Checked, "S", "N")


            If VB6.GetItemString(Me.cmbTensao, Me.cmbTensao.SelectedIndex) = "" Then
                objUCFaturamento.TENSAO = ""
            Else
                objUCFaturamento.TENSAO = Replace(Replace(VB6.GetItemString(Me.cmbTensao, Me.cmbTensao.SelectedIndex), ".", ""), ",", "")
            End If

            objUCFaturamento.FASE = Microsoft.VisualBasic.Left(Trim(VB6.GetItemString(Me.cmbFaseU, Me.cmbFaseU.SelectedIndex)), 1)

            If VB6.GetItemString(Me.cmbDiaVencU, Me.cmbDiaVencU.SelectedIndex) = "" Then
                objUCFaturamento.DIAVENC = ""
            Else
                objUCFaturamento.DIAVENC = VB6.Format(Trim(VB6.GetItemString(Me.cmbDiaVencU, Me.cmbDiaVencU.SelectedIndex)), "00")
            End If
            objUCFaturamento.IRR_HR_INI = Me.txtIrr_hr_ini.Text
            objUCFaturamento.IRR_HR_FIM = Me.txtIrr_hr_fim.Text
            objUCFaturamento.BXRENDA = lstrBxRenda

            lblnAltaTensao = False

            'Campos parametros
            For lintAux = LBound(vCamposParametros.NOMECAMPO) To UBound(vCamposParametros.NOMECAMPO)

                If vCamposParametros.TIPO(lintAux) = "Texto" Then

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "AP_SAUDE" Then
                        objUCFaturamento.AP_SAUDE = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ESTUFA" Then
                        objUCFaturamento.ESTUFA = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ALTA_TENSAO" Then
                        objUCFaturamento.ALTA_TENSAO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "VECTOPROXMES" Then
                        objUCFaturamento.VECTOPROXMES = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "FLG_AVISO_DEBITO" Then
                        objUCFaturamento.FLG_AVISO_DEBITO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "PAGTO_GOVERNO" Then
                        objUCFaturamento.PAGTO_GOVERNO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "LUZ_TODOS" Then
                        objUCFaturamento.LUZ_TODOS = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ISENTOREATIVO" Then
                        objUCFaturamento.ISENTOREATIVO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ISENTO" Then
                        objUCFaturamento.ISENTO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ICMS_ISENTO_DEMANDA" Then
                        objUCFaturamento.ICMS_ISENTO_DEMANDA = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ICMS_DEMANDA_LIDA" Then
                        objUCFaturamento.ICMS_DEMANDA_LIDA = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ICMS_DIFERIDO" Then
                        objUCFaturamento.ICMS_DIFERIDO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "FLG_ALIQUOTADIF" Then
                        objUCFaturamento.FLG_ALIQUOTADIF = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ILUM" Then
                        objUCFaturamento.ILUM = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "QH" Then
                        objUCFaturamento.QH = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ENCARGO" Then
                        objUCFaturamento.ENCARGO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "VIP_COMERCIAL" Then
                        objUCFaturamento.VIP_COMERCIAL = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "VIP_TECNICO" Then
                        objUCFaturamento.VIP_TECNICO = IIf(vCamposParametros.VALOR(lintAux) = True, "S", "N")
                    End If


                ElseIf vCamposParametros.TIPO(lintAux) = "Inteiro" Then

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "PAGTO_DUVIDOSO" Then
                        objUCFaturamento.PAGTO_DUVIDOSO = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "LEITREATIVO" Then
                        objUCFaturamento.LEITREATIVO = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "LEITDEMA" Then
                        objUCFaturamento.LEITDEMA = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ISENTO_ICMS_TUSD" Then
                        objUCFaturamento.ISENTO_ICMS_TUSD = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ENVIO_COB_JUDICIAL" Then
                        objUCFaturamento.ENVIO_COB_JUDICIAL = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "BLOQUEA_SEG_VIA_FAT" Then
                        objUCFaturamento.BLOQUEA_SEG_VIA_FAT = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "BLOQUEA_RELIGACAO" Then
                        objUCFaturamento.BLOQUEA_RELIGACAO = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "TARIFA_BRANCA" Then
                        objUCFaturamento.TARIFA_BRANCA = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "MICRO_GERACAO" Then
                        objUCFaturamento.MICRO_GERACAO = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "IRRIGACAO_AQUICULTURA" Then
                        objUCFaturamento.IRRIGACAO_AQUICULTURA = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "LIVRE_LEITURA_CONSUMO" Then
                        objUCFaturamento.LIVRE_LEITURA_CONSUMO = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "LIVRE_VERDE" Then
                        objUCFaturamento.LIVRE_VERDE = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "PARCIALMENTE_CATIVO" Then
                        objUCFaturamento.PARCIALMENTE_CATIVO = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "LIVREESPECIAL" Then
                        objUCFaturamento.LIVREESPECIAL = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "CONJUGE_FATURA" Then
                        objUCFaturamento.CONJUGE_FATURA = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "GDI" Then
                        objUCFaturamento.GDI = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "GDII" Then
                        objUCFaturamento.GDII = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "GDIII" Then
                        objUCFaturamento.GDIII = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                    If vCamposParametros.NOMECAMPO(lintAux).ToUpper() = "ISENTO_TAXA_CORREIO" Then
                        objUCFaturamento.ISENTO_TAXA_CORREIO = IIf(vCamposParametros.VALOR(lintAux) = True, 1, 0)
                    End If

                End If

            Next lintAux

            lintLeituraAnterior = -1
            lintLeituraReversoAnterior = -1
            lintkWhReversoResiduo = -1
            lintLeituraCorte = -1
            lintResiduo = -1

            'Campos de leituras/Consumo/Constantes
            If Microsoft.VisualBasic.Left(lstrGrupo, 1) = "B" Then

                For lintAux = LBound(vCamposLeiturasGrupoB.NOMECAMPO) To UBound(vCamposLeiturasGrupoB.NOMECAMPO)

                    If vCamposLeiturasGrupoB.TIPO(lintAux) = "Decimal" Then

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KWH_P" Then
                            objUCFaturamento.ULT_LEIT_KWH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KWH_I" Then
                            objUCFaturamento.ULT_LEIT_KWH_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KWH_FP" Then
                            objUCFaturamento.ULT_LEIT_KWH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                            objUCFaturamento.ULTLEIT = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                            ldblLeituraAnterior = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_RES_P" Then
                            objUCFaturamento.KWH_RES_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_RES_I" Then
                            objUCFaturamento.KWH_RES_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_RES_FP" Then
                            objUCFaturamento.KWH_RES_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "CONST_KWH_P" Then
                            objUCFaturamento.CONST_KWH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "CONST_KWH_I" Then
                            objUCFaturamento.CONST_KWH_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "CONST_KWH_FP" Then
                            objUCFaturamento.CONST_KWH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KWH_P" Then
                            objUCFaturamento.ULT_CONS_KWH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KWH_I" Then
                            objUCFaturamento.ULT_CONS_KWH_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KWH_FP" Then
                            objUCFaturamento.ULT_CONS_KWH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KVARH_P" Then
                            objUCFaturamento.ULT_LEIT_KVARH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KVARH_I" Then
                            objUCFaturamento.ULT_LEIT_KVARH_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KVARH_FP" Then
                            objUCFaturamento.ULT_LEIT_KVARH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "CONST_KVARH_P" Then
                            objUCFaturamento.CONST_KVARH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "CONST_KVARH_I" Then
                            objUCFaturamento.CONST_KVARH_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "CONST_KVARH_FP" Then
                            objUCFaturamento.CONST_KVARH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KVARH_P" Then
                            objUCFaturamento.ULT_CONS_KVARH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KVARH_I" Then
                            objUCFaturamento.ULT_CONS_KVARH_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KVARH_FP" Then
                            objUCFaturamento.ULT_CONS_KVARH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULTLEIT_REVERSO_P" Then
                            objUCFaturamento.ULTLEIT_REVERSO_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULTLEIT_REVERSO_I" Then
                            objUCFaturamento.ULTLEIT_REVERSO_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULTLEIT_REVERSO_FP" Then
                            objUCFaturamento.ULTLEIT_REVERSO_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_REVERSO_RES_P" Then
                            objUCFaturamento.KWH_REVERSO_RES_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_REVERSO_RES_I" Then
                            objUCFaturamento.KWH_REVERSO_RES_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_REVERSO_RES_FP" Then
                            objUCFaturamento.KWH_REVERSO_RES_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_IRRIGANTE_P" Then
                            objUCFaturamento.ULT_LEIT_IRRIGANTE_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_IRRIGANTE_I" Then
                            objUCFaturamento.ULT_LEIT_IRRIGANTE_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_IRRIGANTE_FP" Then
                            objUCFaturamento.ULT_LEIT_IRRIGANTE_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_IRRIGANTE_RES_P" Then
                            objUCFaturamento.KWH_IRRIGANTE_RES_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_IRRIGANTE_RES_I" Then
                            objUCFaturamento.KWH_IRRIGANTE_RES_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "KWH_IRRIGANTE_RES_FP" Then
                            objUCFaturamento.KWH_IRRIGANTE_RES_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_DESLIGAMENTO_P" Then
                            objUCFaturamento.ULT_LEIT_DESLIGAMENTO_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_DESLIGAMENTO_I" Then
                            objUCFaturamento.ULT_LEIT_DESLIGAMENTO_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_DESLIGAMENTO_FP" Then
                            objUCFaturamento.ULT_LEIT_DESLIGAMENTO_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_CORTE_P" Then
                            objUCFaturamento.ULT_LEIT_CORTE_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_CORTE_I" Then
                            objUCFaturamento.ULT_LEIT_CORTE_I = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoB.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_CORTE_FP" Then
                            objUCFaturamento.ULT_LEIT_CORTE_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintAux)), vCamposLeiturasGrupoB.VALOR(lintAux), 0)))
                        End If

                    End If


                Next lintAux

            End If

            If Microsoft.VisualBasic.Left(lstrGrupo, 1) = "A" Then

                For lintAux = LBound(vCamposLeiturasGrupoA.NOMECAMPO) To UBound(vCamposLeiturasGrupoA.NOMECAMPO)

                    If vCamposLeiturasGrupoA.TIPO(lintAux) = "Decimal" Then

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KWH_P" Then
                            objUCFaturamento.ULT_LEIT_KWH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KWH_FP" Then
                            objUCFaturamento.ULT_LEIT_KWH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "KWH_RES_P" Then
                            objUCFaturamento.KWH_RES_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "KWH_RES_FP" Then
                            objUCFaturamento.KWH_RES_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "CONST_KWH_P" Then
                            objUCFaturamento.CONST_KWH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "CONST_KWH_FP" Then
                            objUCFaturamento.CONST_KWH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KWH_P" Then
                            objUCFaturamento.ULT_CONS_KWH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KWH_FP" Then
                            objUCFaturamento.ULT_CONS_KWH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KW_P" Then
                            objUCFaturamento.ULT_LEIT_KW_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KW_FP" Then
                            objUCFaturamento.ULT_LEIT_KW_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "CONST_KW_P" Then
                            objUCFaturamento.CONST_KW_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "CONST_KW_FP" Then
                            objUCFaturamento.CONST_KW_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KW_P" Then
                            objUCFaturamento.ULT_CONS_KW_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KW_FP" Then
                            objUCFaturamento.ULT_CONS_KW_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KVARH_P" Then
                            objUCFaturamento.ULT_LEIT_KVARH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_KVARH_FP" Then
                            objUCFaturamento.ULT_LEIT_KVARH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "CONST_KVARH_P" Then
                            objUCFaturamento.CONST_KVARH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "CONST_KVARH_FP" Then
                            objUCFaturamento.CONST_KVARH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KVARH_P" Then
                            objUCFaturamento.ULT_CONS_KVARH_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_CONS_KVARH_FP" Then
                            objUCFaturamento.ULT_CONS_KVARH_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULTLEIT_REVERSO_P" Then
                            objUCFaturamento.ULTLEIT_REVERSO_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULTLEIT_REVERSO_FP" Then
                            objUCFaturamento.ULTLEIT_REVERSO_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "KWH_REVERSO_RES_P" Then
                            objUCFaturamento.KWH_REVERSO_RES_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "KWH_REVERSO_RES_FP" Then
                            objUCFaturamento.KWH_REVERSO_RES_FP = Replace(CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0))), ",", ".")
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_IRRIGANTE_P" Then
                            objUCFaturamento.ULT_LEIT_IRRIGANTE_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_IRRIGANTE_FP" Then
                            objUCFaturamento.ULT_LEIT_IRRIGANTE_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "KWH_IRRIGANTE_RES_P" Then
                            objUCFaturamento.KWH_IRRIGANTE_RES_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "KWH_IRRIGANTE_RES_FP" Then
                            objUCFaturamento.KWH_IRRIGANTE_RES_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_DESLIGAMENTO_P" Then
                            objUCFaturamento.ULT_LEIT_DESLIGAMENTO_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_DESLIGAMENTO_FP" Then
                            objUCFaturamento.ULT_LEIT_DESLIGAMENTO_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_CORTE_P" Then
                            objUCFaturamento.ULT_LEIT_CORTE_P = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                        If vCamposLeiturasGrupoA.NOMECAMPO(lintAux).ToUpper() = "ULT_LEIT_CORTE_FP" Then
                            objUCFaturamento.ULT_LEIT_CORTE_FP = CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoA.VALOR(lintAux)), vCamposLeiturasGrupoA.VALOR(lintAux), 0)))
                        End If

                    End If

                Next lintAux

            End If

            objUCFaturamento.CODEND = Microsoft.VisualBasic.Left(vEndCodUC, 15)

            Me.txtUfU.Text = Replace(Me.txtUfU.Text, "'", "\'")
            objUCFaturamento.UF = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtUfU.Text)), 2)

            Me.txtCepU.Text = Replace(Str_Retira(Me.txtCepU.Text, ".-/ "), "'", "\'")
            objUCFaturamento.CEP = Microsoft.VisualBasic.Left(Me.txtCepU.Text, 10)

            Me.txtCidadeU.Text = Replace(Me.txtCidadeU.Text, "'", "\'")
            objUCFaturamento.CIDADE = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtCidadeU.Text)), 60)

            Me.txtDistritoU.Text = Replace(Me.txtDistritoU.Text, "'", "\'")
            objUCFaturamento.DISTRITO = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtDistritoU.Text)), 60)

            Me.txtBairroU.Text = Replace(Me.txtBairroU.Text, "'", "\'")
            objUCFaturamento.BAIRRO = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtBairroU.Text)), 60)

            Me.txtEndU.Text = Replace(Me.txtEndU.Text, "'", "\'")
            objUCFaturamento.END = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtEndU.Text)), 60)

            Me.txtNumeroU.Text = Replace(Me.txtNumeroU.Text, "'", "\'")
            objUCFaturamento.NUMERO = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtNumeroU.Text)), 10)

            Me.txtComplementU.Text = Replace(Me.txtComplementU.Text, "'", "\'")
            objUCFaturamento.COMPLEMENT = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtComplementU.Text)), 100)

            Me.txtLoteU.Text = Replace(Me.txtLoteU.Text, "'", "\'")
            objUCFaturamento.LOTE = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtLoteU.Text)), 6)

            Me.txtQuadraU.Text = Replace(Me.txtQuadraU.Text, "'", "\'")
            objUCFaturamento.QUADRA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtQuadraU.Text)), 6)

            Me.txtFoneU.Text = Str_Retira(Me.txtFoneU.Text, ".-/ ")
            objUCFaturamento.FONE = VB6.Format(Me.txtDDDFoneU.Text, "00") & VB6.Format(Me.txtFoneU.Text, "00000000")

            objUCFaturamento.BANCO = VB6.Format(llngBanId, "000")

            Me.txtAgencU.Text = Replace(Me.txtAgencU.Text, "'", "\'")
            objUCFaturamento.AGENC = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtAgencU.Text)), 4)

            Me.txtccU.Text = Replace(Me.txtccU.Text, "'", "\'")
            objUCFaturamento.CC = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtccU.Text)), 12)

            objUCFaturamento.ENTREGA = IIf(Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked, 1, 0)

            If Me.chkEntregaU.CheckState = System.Windows.Forms.CheckState.Checked Then
                objUCFaturamento.CODEND_ENTREGA = Microsoft.VisualBasic.Left(vEndCodEn, 15)

                If VB6.GetItemString(Me.cmbUfEntregaU, Me.cmbUfEntregaU.SelectedIndex) = "" Then
                    objUCFaturamento.UF_ENTREGA = ""
                Else
                    objUCFaturamento.UF_ENTREGA = Replace(Microsoft.VisualBasic.Left(UCase(Trim(VB6.GetItemString(Me.cmbUfEntregaU, Me.cmbUfEntregaU.SelectedIndex))), 2), "'", "\'")
                End If

                Me.txtCepEntregaU.Text = Str_Retira(Me.txtCepEntregaU.Text, ".-/ ")
                Me.txtCepEntregaU.Text = Replace(Me.txtCepEntregaU.Text, "'", "\'")
                objUCFaturamento.CEP_ENTREGA = Microsoft.VisualBasic.Left(Me.txtCepEntregaU.Text, 10)

                Me.txtCidEntregaU.Text = Replace(Me.txtCidEntregaU.Text, "'", "\'")
                objUCFaturamento.CID_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtCidEntregaU.Text)), 60)

                Me.txtDisEntregaU.Text = Replace(Me.txtDisEntregaU.Text, "'", "\'")
                objUCFaturamento.DIS_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtDisEntregaU.Text)), 60)

                Me.txtBaiEntregaU.Text = Replace(Me.txtBaiEntregaU.Text, "'", "\'")
                objUCFaturamento.BAI_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtBaiEntregaU.Text)), 60)

                Me.txtEndEntregaU.Text = Replace(Me.txtEndEntregaU.Text, "'", "\'")
                objUCFaturamento.END_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtEndEntregaU.Text)), 60)

                Me.txtNumEntregaU.Text = Replace(Me.txtNumEntregaU.Text, "'", "\'")
                objUCFaturamento.NUM_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtNumEntregaU.Text)), 10)

                Me.txtComplEntregaU.Text = Replace(Me.txtComplEntregaU.Text, "'", "\'")
                objUCFaturamento.COMPL_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtComplEntregaU.Text)), 100)

                Me.txtLotEntregaU.Text = Replace(Me.txtLotEntregaU.Text, "'", "\'")
                objUCFaturamento.LOT_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtLotEntregaU.Text)), 6)

                Me.txtQuaEntregaU.Text = Replace(Me.txtQuaEntregaU.Text, "'", "\'")
                objUCFaturamento.QUA_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtQuaEntregaU.Text)), 6)
            Else
                objUCFaturamento.CODEND_ENTREGA = Microsoft.VisualBasic.Left(vEndCodUC, 15)

                Me.txtUfU.Text = Replace(Me.txtUfU.Text, "'", "\'")
                objUCFaturamento.UF_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtUfU.Text)), 2)

                Me.txtCepU.Text = Replace(Me.txtCepU.Text, "'", "\'")
                Me.txtCepU.Text = Str_Retira(Me.txtCepU.Text, ".-/ ")
                objUCFaturamento.CEP_ENTREGA = Microsoft.VisualBasic.Left(Me.txtCepU.Text, 10)

                Me.txtCidadeU.Text = Replace(Me.txtCidadeU.Text, "'", "\'")
                objUCFaturamento.CID_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtCidadeU.Text)), 60)

                Me.txtDistritoU.Text = Replace(Me.txtDistritoU.Text, "'", "\'")
                objUCFaturamento.DIS_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtDistritoU.Text)), 60)

                Me.txtBairroU.Text = Replace(Me.txtBairroU.Text, "'", "\'")
                objUCFaturamento.BAI_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtBairroU.Text)), 60)

                Me.txtEndU.Text = Replace(Me.txtEndU.Text, "'", "\'")
                objUCFaturamento.END_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtEndU.Text)), 60)

                Me.txtNumeroU.Text = Replace(Me.txtNumeroU.Text, "'", "\'")
                objUCFaturamento.NUM_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtNumeroU.Text)), 10)

                Me.txtComplementU.Text = Replace(Me.txtComplementU.Text, "'", "\'")
                objUCFaturamento.COMPL_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtComplementU.Text)), 100)

                Me.txtLoteU.Text = Replace(Me.txtLoteU.Text, "'", "\'")
                objUCFaturamento.LOT_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtLoteU.Text)), 6)

                Me.txtQuadraU.Text = Replace(Me.txtQuadraU.Text, "'", "\'")
                objUCFaturamento.QUA_ENTREGA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtQuadraU.Text)), 6)
            End If

            objUCFaturamento.PESSOA = IIf(Me.opbJuridicaU.Checked, "J", "F")

            Me.txtRgU.Text = Replace(Me.txtRgU.Text, "'", "\'")
            objUCFaturamento.RG = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtRgU.Text)), 25)

            objUCFaturamento.CPF_CNPJ = Str_Retira(IIf(Me.opbJuridicaU.Checked, Me.txtCnpjU.Text, Me.txtCpfU.Text), ".-/ ")

            Me.txtInscEstadU.Text = Replace(Me.txtInscEstadU.Text, "'", "\'")
            Me.txtInscEstadU.Text = Str_Retira(Trim(Me.txtInscEstadU.Text), ".-/ ")
            objUCFaturamento.INSC = Microsoft.VisualBasic.Left(Me.txtInscEstadU.Text, 25)

            objUCFaturamento.CNAE = Me.txtCdCnae.Text
            objUCFaturamento.IDCNAE = CInt(IIf(IsNumeric(Me.txtIdCnae.Text), Me.txtIdCnae.Text, 0))
            objUCFaturamento.AGRUPA_ZONA = Me.txtAgrupaZona.Text
            objUCFaturamento.AGRUPA_LIVRO = Me.txtAgrupaLivro.Text
            objUCFaturamento.AGRUPA_CONTA = Me.txtAgrupaConta.Text

            If VB6.GetItemString(Me.cmbAgrupa, Me.cmbAgrupa.SelectedIndex) = "" Then
                objUCFaturamento.AGRUPA = 0
            Else
                objUCFaturamento.AGRUPA = VB6.GetItemData(Me.cmbAgrupa, Me.cmbAgrupa.SelectedIndex)
            End If

            'objUCFaturamento.universalizacao         =  " & Me.cbxUniversalizacao.ListIndex  'EFLUL NÃO TEM
            'objUCFaturamento.num_universalizacao     =  Me.txtUniversalNum.Text  'EFLUL NÃO TEM
            objUCFaturamento.NUM = Str_Retira(Me.txtNumU.Text, ",./- ")
            objUCFaturamento.ELETR = Str_Retira(Me.txtMedkWhU.Text, ",./- ")
            objUCFaturamento.MEDKVARH = Str_Retira(Me.txtMedkVArhU.Text, ",./- ")

            Me.txtMedkWU.Text = Replace(Replace(txtMedkWU.Text, ",", ""), ".", "")
            objUCFaturamento.MEDKW = CStr(CDbl(IIf(IsNumeric(Me.txtMedkWU.Text), Me.txtMedkWU.Text, 0)))

            Me.txtMedkVArhU.Text = Replace(Replace(txtMedkVArhU.Text, ",", ""), ".", "")
            objUCFaturamento.MEDKVARK = CStr(CDbl(IIf(IsNumeric(Me.txtMedkVArhU.Text), Me.txtMedkVArhU.Text, 0)))

            Me.txtMarcaU.Text = Replace(txtMarcaU.Text, "'", "\'")
            objUCFaturamento.MARCA = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtMarcaU.Text)), 30)

            Me.txtModelo.Text = Replace(txtModelo.Text, "'", "\'")
            objUCFaturamento.MODELO = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtModelo.Text)), 30)

            objUCFaturamento.DTAFABMEDIDOR = VB6.Format(IIf(IsDate(Me.txtDtaFabMedidorU.Text), Me.txtDtaFabMedidorU.Text, "1900-01-01"), "yyyy-MM-dd")
            objUCFaturamento.DTAINSTMEDIDOR = VB6.Format(IIf(IsDate(Me.txtDtaInstMedidorU.Text), Me.txtDtaInstMedidorU.Text, "1900-01-01"), "yyyy-MM-dd")

            Me.txtLacreU.Text = Replace(txtLacreU.Text, "'", "\'")
            objUCFaturamento.LACRE = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtLacreU.Text)), 100)

            Me.txtDisjuntorU.Text = Replace(txtDisjuntorU.Text, "'", "\'")
            objUCFaturamento.DISJUNTOR = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtDisjuntorU.Text)), 30)

            'objUCFaturamento.instal                  =  " " 
            Me.txtTransfU.Text = Replace(txtTransfU.Text, "'", "\'")
            objUCFaturamento.TRANSF = Microsoft.VisualBasic.Left(UCase(Trim(Me.txtTransfU.Text)), 10)

            objUCFaturamento.FASELIG = Microsoft.VisualBasic.Left(UCase(VB6.GetItemString(Me.cmbFaseLigU, Me.cmbFaseLigU.SelectedIndex)), 4)

            If VB6.GetItemString(Me.cmbCondutor, Me.cmbCondutor.SelectedIndex) = "" Then
                objUCFaturamento.IDCONDUTOR = 0
            Else
                objUCFaturamento.IDCONDUTOR = VB6.GetItemData(Me.cmbCondutor, Me.cmbCondutor.SelectedIndex)
            End If

            objUCFaturamento.TIPO_MEDICAO = IIf(Me.opbDireta.Checked, "Direta", "Indireta")

            If VB6.GetItemString(Me.cmbTipoPadraoMedicao, Me.cmbTipoPadraoMedicao.SelectedIndex) = "" Then
                objUCFaturamento.IDTIPO_PADRAO_MEDICAO = 0
            Else
                objUCFaturamento.IDTIPO_PADRAO_MEDICAO = VB6.GetItemData(Me.cmbTipoPadraoMedicao, Me.cmbTipoPadraoMedicao.SelectedIndex)
            End If

            If VB6.GetItemString(Me.cmbCorrente, Me.cmbCorrente.SelectedIndex) = "" Then
                objUCFaturamento.IDCORRENTE = 0
            Else
                objUCFaturamento.IDCORRENTE = VB6.GetItemData(Me.cmbCorrente, Me.cmbCorrente.SelectedIndex)
            End If


            Me.txtComprimento.Text = Replace(txtComprimento.Text, ",", ".")
            objUCFaturamento.COMPRIMENTO_FIO = CStr(CDbl(IIf(IsNumeric(Me.txtComprimento.Text), Me.txtComprimento.Text, 0)))

            If VB6.GetItemString(Me.cmbAlimentador, Me.cmbAlimentador.SelectedIndex) = "" Then
                objUCFaturamento.IDALIMENTADOR = BuscaAlimentadorRota(Str_Retira(Me.txtRotaU.Text, "./ -"))
            Else
                objUCFaturamento.IDALIMENTADOR = VB6.GetItemData(Me.cmbAlimentador, Me.cmbAlimentador.SelectedIndex)
            End If

            If VB6.GetItemString(Me.cmbTipoMedidor, Me.cmbTipoMedidor.SelectedIndex) = "" Then
                objUCFaturamento.IDTIPO_MEDIDOR = 0
            Else
                objUCFaturamento.IDTIPO_MEDIDOR = VB6.GetItemData(Me.cmbTipoMedidor, Me.cmbTipoMedidor.SelectedIndex)
            End If

            objUCFaturamento.COD_TIPO_MEDICAO = IIf(Me.opbDireta.Checked, 0, 1)
            objUCFaturamento.TC_RELACAO_PRIMARIA = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtTCRelacaoPrimaria.Text), Me.txtTCRelacaoPrimaria.Text, 0))), ",", ".")
            objUCFaturamento.TC_RELACAO_SECUNDARIA = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtTCRelacaoSecundaria.Text), Me.txtTCRelacaoSecundaria.Text, 0))), ",", ".")
            objUCFaturamento.TP_RELACAO_PRIMARIA = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtTPRelacaoPrimaria.Text), Me.txtTPRelacaoPrimaria.Text, 0))), ",", ".")
            objUCFaturamento.TP_RELACAO_SECUNDARIA = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtTPRelacaoSecundaria.Text), Me.txtTPRelacaoSecundaria.Text, 0))), ",", ".")
            objUCFaturamento.PERIODO_TESTE = IIf(Me.chkPeriodoTeste.CheckState = System.Windows.Forms.CheckState.Checked, 1, 0)
            objUCFaturamento.INI_PERIODO_TESTE = VB6.Format(Me.dtpPTesteMesAnoIni.Value, "yyyy-MM-dd")
            objUCFaturamento.FIM_PERIODO_TESTE = VB6.Format(Me.dtpPTesteMesAnoFim.Value, "yyyy-MM-dd")
            objUCFaturamento.DATA_CONTRATO_DEMANDA = VB6.Format(IIf(IsDate(Me.txtDtDemandaContrU.Text), Me.txtDtDemandaContrU.Text, "1900-01-01"), "yyyy-MM-dd")
            objUCFaturamento.DEMANDA_CONTR = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtDemandaContrFPU.Text), Me.txtDemandaContrFPU.Text, 0))), ",", ".")
            objUCFaturamento.DEM_CONTR_PONTA = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtDemandaContrPU.Text), Me.txtDemandaContrPU.Text, 0))), ",", ".")
            objUCFaturamento.DEM_CONTR_FP = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtDemandaContrFPU.Text), Me.txtDemandaContrFPU.Text, 0))), ",", ".")
            objUCFaturamento.DEMANDA_CONTR_ANTERIOR = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtDemandaAnteriorContrFPU.Text), Me.txtDemandaAnteriorContrFPU.Text, 0))), ",", ".")
            objUCFaturamento.DEM_CONTR_PONTA_ANTERIOR = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtDemandaAnteriorContrPU.Text), Me.txtDemandaAnteriorContrPU.Text, 0))), ",", ".")
            objUCFaturamento.DEM_CONTR_FP_ANTERIOR = Replace(CStr(CDbl(IIf(IsNumeric(Me.txtDemandaAnteriorContrFPU.Text), Me.txtDemandaAnteriorContrFPU.Text, 0))), ",", ".")

            If Microsoft.VisualBasic.Left(UCase(lstrGrupo), 1) = "B" Then

                If lintResiduo > 0 Then
                    objUCFaturamento.RESIDUO_CONSUMO = Replace(CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintResiduo)), vCamposLeiturasGrupoB.VALOR(lintResiduo), 0))), ",", ".")
                End If
            Else

                If lstrGrupo <> "A4" And lstrGrupo <> "AS" Then

                Else

                End If

            End If

            Me.txtObservacao.Text = Replace(UCase(Trim(Me.txtObservacao.Text)), "'", "\'")
            objUCFaturamento.ITENSESP = Me.txtObservacao.Text
            objUCFaturamento.TP_LIGACAO = Microsoft.VisualBasic.Left(UCase(VB6.GetItemString(Me.cmbTipoLigacaoU, Me.cmbTipoLigacaoU.SelectedIndex)), 1)


            If astrTipo = "U" Then
                lblnRet = lUpdate(objUCFaturamento)

            ElseIf astrTipo = "I" Then
                lblnRet = lInsert(objUCFaturamento)

                Dim vlist

                vlist = repositorioUCFaturamento.SelectMax(objUCFaturamento)

                For Each objUCFaturamentofor As entidadeUCFaturamento In vlist
                    Me.txtUnidIDU.Text = CStr(CInt(IIf(IsDBNull(objUCFaturamentofor.ID), 0, objUCFaturamentofor.ID)))
                Next

                listaUnidades(CInt(txtConsRegC.Text))

            End If

            If lblnRet = True Then

                If objUCFaturamento.GDI = 1 Or objUCFaturamento.GDIII = 1 Or objUCFaturamento.GDII = 1 Then

                    objMicrogeracaoDistribuida.CONS_ID = objUCFaturamento.CONS_ID
                    objMicrogeracaoDistribuida.UNID_ID = objUCFaturamento.ID

                    Dim lista As New List(Of entidadeMicrogeracaoDistribuida)

                    lista = repositorioMicrogeracaoDistribuida.Select(objMicrogeracaoDistribuida)



                    Dim perfil = ""
                    Dim tipo = ""

                    If objUCFaturamento.GDI = 1 Then
                        tipo += "GDI"
                        perfil += "1"
                    End If

                    If objUCFaturamento.GDII = 1 Then
                        tipo += ", GDII"
                        perfil += ", 2"
                    End If

                    If objUCFaturamento.GDIII = 1 Then
                        tipo += ", GDIII"
                        perfil += ", 3"
                    End If

                    If tipo.StartsWith(", ") Then
                        tipo = tipo.Substring(", ".Length)
                    End If

                    If perfil.StartsWith(", ") Then
                        perfil = perfil.Substring(", ".Length)
                    End If

                    objGDTipo.ZONA = objUCFaturamento.ZONA
                    objGDTipo.LIVRO = objUCFaturamento.LIVRO
                    objGDTipo.CONTA = objUCFaturamento.CONTA
                    objGDTipo.UNID_ID = objUCFaturamento.ID
                    objGDTipo.CONS_ID = objUCFaturamento.CONS_ID
                    objGDTipo.PERFIL = perfil
                    objGDTipo.TIPO = tipo
                    repositorioGDTipo.Insert_Update(objGDTipo)

                    Dim i As Integer

                    For i = 0 To lista.Count - 1
                        objGDTipo.ZONA = lista.Item(i).ZONA_D
                        objGDTipo.LIVRO = lista.Item(i).LIVRO_D
                        objGDTipo.CONTA = lista.Item(i).CONTA_D
                        objGDTipo.UNID_ID = lista.Item(i).UNID_ID_D
                        objGDTipo.CONS_ID = lista.Item(i).CONS_ID_D
                        objGDTipo.PERFIL = perfil
                        objGDTipo.TIPO = tipo
                        repositorioGDTipo.Insert_Update(objGDTipo)
                    Next



                End If

                LigDesTabLeit()

                lstrMesAno = GetConfig("mes.ano.faturamento")

                If Me.opbGrupoB.Checked Then

                    If ldblLeituraAnterior >= 0 Then
                        objLeitmensal.LEIT_ANT = ldblLeituraAnterior
                    Else
                        objLeitmensal.LEIT_ANT = 0
                    End If

                    If lintLeituraReversoAnterior >= 0 Then
                        objLeitmensal.LEIT_REVERSO_ANT = Replace(CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintLeituraReversoAnterior)), vCamposLeiturasGrupoB.VALOR(lintLeituraReversoAnterior), 0))), ",", ".")
                    Else
                        objLeitmensal.LEIT_REVERSO_ANT = 0

                    End If

                    If lintkWhReversoResiduo >= 0 Then
                        objLeitmensal.KWH_REVERSO_RES = Replace(CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintkWhReversoResiduo)), vCamposLeiturasGrupoB.VALOR(lintkWhReversoResiduo), 0))), ",", ".")
                    Else
                        objLeitmensal.KWH_REVERSO_RES = 0
                    End If

                    If lintLeituraCorte >= 0 Then
                        objLeitmensal.ULT_LEIT_CORTE = Replace(CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintLeituraCorte)), vCamposLeiturasGrupoB.VALOR(lintLeituraCorte), 0))), ",", ".")
                    Else
                        objLeitmensal.ULT_LEIT_CORTE = 0
                    End If

                    If lintResiduo >= 0 Then
                        objLeitmensal.RESIDUO = Replace(CStr(CDbl(IIf(IsNumeric(vCamposLeiturasGrupoB.VALOR(lintResiduo)), vCamposLeiturasGrupoB.VALOR(lintResiduo), 0))), ",", ".")
                    Else
                        objLeitmensal.RESIDUO = 0
                    End If

                    objLeitmensal.ROTA = Str_Retira(Me.txtRotaU.Text, "./-")

                    objLeitmensal.ZONA = Str_Retira(txtZonaU.Text, ".-/ ")
                    objLeitmensal.LIVRO = Str_Retira(txtLivroU.Text, ".-/ ")
                    objLeitmensal.CONTA = Str_Retira(txtContaU.Text, ".-/ ")
                    objLeitmensal.DT_LEIT = "01" & "/" & Mid(lstrMesAno, 1, 2) & "/" & Mid(lstrMesAno, 4, 4)

                    lblnRet = lUpdate(objLeitmensal)
                End If

            End If




            GravaUnid = lblnRet

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: GravaUnid" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try

    End Function

    Private Sub lPrint()

        Dim dt As DataTable
        Dim dc As DataColumn
        Dim ds As DataSet

        Dim bytBLOBData() As Byte

        Dim rpt As New ReportDocument()

        Dim vlist

        Dim objEmpresa As New entidadeEmpresa
        Dim repositorioEmpresa As New repositorioEmpresa

        Dim objUCFaturamento As New entidadeUCFaturamento
        Dim repositorioUCFaturamento As New repositorioUCFaturamento

        Try

            If CInt(IIf(IsNumeric(Me.txtUnidIDU.Text), Me.txtUnidIDU.Text, 0)) > 0 Then


                ds = New DataSet

                vlist = repositorioEmpresa.Select(objEmpresa)

                If vlist.Count <> 0 Then

                    For Each objEmpresaFor As entidadeEmpresa In vlist

                        bytBLOBData = objEmpresaFor.LOGOTIPO

                    Next

                End If

                objUCFaturamento.ID = CInt(IIf(IsNumeric(Me.txtUnidIDU.Text), Me.txtUnidIDU.Text, 0))

                dt = repositorioUCFaturamento.Select_15(objUCFaturamento)

                If dt.Rows.Count > 0 Then

                    dc = New DataColumn("IMAGE", GetType(Byte()))
                    dc.DefaultValue = bytBLOBData
                    dt.Columns.Add(dc)

                End If

                ds.Tables.Add(dt)
                ds.Tables(0).TableName = "REL_CONTRATO_LIGACAO"

                If ds.Tables(0).Rows.Count = 0 Then
                    MessageBox.Show("Não há registros para o relatório escolhido! ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    Exit Sub
                Else

                    rpt = New rptContratoLigacaoEFLUL

                    rpt.SetDataSource(ds)

                    frmViewRelatorios.rpt = rpt

                    frmViewRelatorios.CRViewer.Zoom((100))
                    frmViewRelatorios.Text = "Termo de Fornecimento de Energia Elétrica"
                    frmViewRelatorios.ShowDialog()

                End If

            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lPrint" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Private Function lDelete(ByRef objUCFaturamento As entidadeUCFaturamento) As Boolean
        Dim repositorioUCFaturamento As New repositorioUCFaturamento
        Try

            'repositorioUCFaturamento.Delete(objUCFaturamento)
            repositorioUCFaturamento.Delete_1(objUCFaturamento)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lDelete" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lUpdate_1(ByRef objUCFaturamento As entidadeUCFaturamento) As Boolean
        Dim repositorioUCFaturamento As New repositorioUCFaturamento
        Try

            repositorioUCFaturamento.Update_4(objUCFaturamento)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lUpdate_1" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lInsert(ByRef objConsum As entidadeConsum) As Boolean
        Dim repositorioConsum As New repositorioConsum
        Try

            repositorioConsum.Insert(objConsum)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lInsert" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lUpdate(ByRef objConsum As entidadeConsum) As Boolean
        Dim repositorioConsum As New repositorioConsum
        Try

            repositorioConsum.Update_1(objConsum)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lUpdate" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lInsert(ByRef objUCFaturamento As entidadeUCFaturamento) As Boolean
        Dim repositorioUCFaturamento As New repositorioUCFaturamento
        Try

            repositorioUCFaturamento.Insert(objUCFaturamento)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lInsert" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lUpdate(ByRef objUCFaturamento As entidadeUCFaturamento) As Boolean
        Dim objBancoDados As New entidadeAtualizaBancoDados
        Dim repBancoDados As New repositorioAtualizaBancoDados
        Dim lstrsql = ""
        Dim llngTarClasse
        Dim lstrTarClasse

        Dim repositorioUCFaturamento As New repositorioUCFaturamento

        Try
            repositorioUCFaturamento.Update_5(objUCFaturamento)

            If objUCFaturamento.GRUPO = "B" Then
                Select Case CLng(Strings.Left(objUCFaturamento.CLAS, 1))
                    Case Is < 4
                        llngTarClasse = 6
                        lstrTarClasse = "B3 - INDUSTRIAL / B3 - Industrial"
                    Case Is = 4
                        llngTarClasse = 7
                        lstrTarClasse = "B3 - COMERCIAL / B3 - Comercial"
                    Case Is = 5
                        llngTarClasse = 16
                        lstrTarClasse = "B2 - Rural"
                    Case Is = 6
                        If Strings.Left(objUCFaturamento.CLAS, 2) = 61 Then
                            llngTarClasse = 25
                            lstrTarClasse = "B3 - PODER PÚBLICO / B3 - Poder público municipal"
                        ElseIf Strings.Left(objUCFaturamento.CLAS, 2) = 62 Then
                            llngTarClasse = 24
                            lstrTarClasse = "B3 - PODER PÚBLICO / B3 - Poder público estadual ou distrital"
                        ElseIf Strings.Left(objUCFaturamento.CLAS, 2) = 63 Then
                            llngTarClasse = 23
                            lstrTarClasse = "B3 - PODER PÚBLICO / B3 - Poder público federal"
                        ElseIf Strings.Left(objUCFaturamento.CLAS, 2) = 64 Then
                            llngTarClasse = 26
                            lstrTarClasse = "B4 - ILUMINAÇÃO PÚBLICA / B4 - Iluminação publica"
                        End If
                    Case Is = 7
                        llngTarClasse = 28
                        lstrTarClasse = "B3 - SERVIÇO PÚBLICO / B4 - Água, esgoto e saneamento"
                    Case Is = 8
                        llngTarClasse = 29
                        lstrTarClasse = "B3 - CONSUMO PRÓPRIO / B4 - Consumo próprio"
                    Case Else
                        llngTarClasse = 1
                        lstrTarClasse = "B1 - RESIDENCIAL / B1a - Residencial"
                End Select
            Else
                Select Case objUCFaturamento.TA
                    Case Is = "01A400"
                        llngTarClasse = 30
                        lstrTarClasse = "A4 - CONVENCIONAL / A4 - Convencional"
                    Case Is = "01AS00"
                        llngTarClasse = 31
                        lstrTarClasse = "A4 - CONVENCIONAL / AS - Suprimento"
                    Case Is = "01AA00"
                        llngTarClasse = 32
                        lstrTarClasse = "A4 - HORO SAZONAL / AA - Azul"
                    Case Is = "01AV00"
                        llngTarClasse = 33
                        lstrTarClasse = "A4 - HORO SAZONAL / AV - Verde"
                    Case Is = "01AL00"
                        llngTarClasse = 34
                        lstrTarClasse = "A4 - HORO SAZONAL / AL - Livre"
                    Case Is = "01AP00"
                        llngTarClasse = 35
                        lstrTarClasse = "A4 - HORO SAZONAL / AL - Auto produtor"
                    Case Is = "01AX00"
                        llngTarClasse = 36
                        lstrTarClasse = "A4 - HORO SAZONAL / AX - Suprimento"
                End Select
            End If





            lstrsql = ""
            lstrsql = lstrsql & "UPDATE `" & gstrBDCLinkCenter & "`.`uc` "
            lstrsql = lstrsql & "   SET `rota` = '" & objUCFaturamento.ROTA & "', "
            lstrsql = lstrsql & "       `sequencia` = '" & objUCFaturamento.SEQUENCIA & "', "
            lstrsql = lstrsql & "       `alta_tensao` = '" & IIf(objUCFaturamento.ALTA_TENSAO = "N", 0, 1) & "', "
            lstrsql = lstrsql & "       `id_classe` = '" & objUCFaturamento.CLAS & "', "
            lstrsql = lstrsql & "       `descricao_classe` = (SELECT `descricao` FROM `" & gstrBDCLinkCenter & "`.`classe` WHERE `id` = " & objUCFaturamento.CLAS & "), "
            lstrsql = lstrsql & "       `id_banco` = (SELECT `id` FROM `" & gstrBDCLinkCenter & "`.`banco` WHERE `id_fatwin` = " & objUCFaturamento.BANCO & "), "
            lstrsql = lstrsql & "       `descricao_banco` = (SELECT `descricao` FROM `" & gstrBDCLinkCenter & "`.`banco` WHERE `id_fatwin` = " & objUCFaturamento.BANCO & "), "
            lstrsql = lstrsql & "       `isento_taxa_correio` = " & objUCFaturamento.ISENTO_TAXA_CORREIO & ", "
            lstrsql = lstrsql & "       `id_classe_tarifaria` = '" & llngTarClasse & "', "
            lstrsql = lstrsql & "       `descricao_classe_tar` = '" & Strings.Replace(lstrTarClasse, "'", "\'") & "' "
            lstrsql = lstrsql & " WHERE `unid_id_fatwin` = " & objUCFaturamento.ID & " "

            objBancoDados.QUERY_NAME = lstrSql
            repBancoDados.Execute(objBancoDados)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lUpdate" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lUpdateGDTipo(ByRef objentidadeGDTipo As entidadeGDTipo) As Boolean
        Dim repositorioGDTipo As New repositorioGDTipo
        Try

            repositorioGDTipo.Insert_Update(objentidadeGDTipo)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lUpdate" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lUpdate(ByRef objLeitmensal As entidadeLeitmensal) As Boolean
        Dim repositorioLeitmensal As New repositorioLeitmensal
        Try

            repositorioLeitmensal.Update(objLeitmensal)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lUpdate" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Function lUpdate(ByRef objUC As entidadeUC) As Boolean
        Dim repositorioUC As New repositorioUC
        Try

            repositorioUC.Update(objUC)

            Return True
        Catch ex As Exception
            MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lUpdate" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return False
        End Try
    End Function

    Private Sub txtConst_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles txtConst.KeyPress

        Dim KeyAscii As Short = Asc(eventArgs.KeyChar)

        Try

            If KeyAscii <> 8 And (KeyAscii <48 Or KeyAscii > 57) Then
                KeyAscii = 0
            End If
            eventArgs.KeyChar = Chr(KeyAscii)
            If KeyAscii = 0 Then
                eventArgs.Handled = True
            End If

        Catch ex As Exception
            MessageBox.Show("Ocorreu um Erro Inesperado. Favor, Contate o Administrador do Sistema ou a Equipe de Suporte de sua localidade! ", "Fatal - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub





#End Region


End Class