;** ImpPda02 *******************************************************************
;* Importacao de Dados PDA Sistemas Inner                                      *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 04/09/2006 por Anivel Augusto Rodrigues
;Ultima Alteracao: 12/03/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes CPF/CNPJ
;Ultima Alteracao: 04/04/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Tipo Pessoa
;Ultima Alteracao: 12/07/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes CGC, Cidades, Lookups Destinat
;Ultima Alteracao: 15/08/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Run
;Ultima Alteracao: 24/08/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes CNPJ/CPF/IE
;Ultima Alteracao: 24/03/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Criar Cliente Novo
;Ultima Alteracao: 16/05/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Criar Cliente Novo
;Ultima Alteracao: 05/02/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Layout Cliente/Pedidoc/Pedidoi/Enderecos
;Ultima Alteracao: 09/03/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes 
;Ultima Alteracao: 07/07/2015 por Bruno Carvalho 
;Motivo Alteracao: Cleber realizou altera‡äes na proc Importa() p/ [Codigo da Destinacao] receber valor
;Ultima Alteracao: 07/07/2015 por Bruno Carvalho 
;Motivo Alteracao: Alterado na importa‡Ęo dos pedidos a situa‡Ęo, de ABERTO p/ SUSPENSO

;*******************************************************************************
;* Rotina Converte DB                                                          *
;*******************************************************************************
Proc Syncroniza(Tp)
ClearAll

Switch
  Case Tp="Importa":
       Aguarde("Aguarde, Convertendo "+ARQ)

       Empty("InnerOut")
       Empty("IS_clie")
       Empty("IS_pedc")
       Empty("IS_pedi")
       If IsAssigned(varinner) Then release vars varinner  EndIf

       FileRead ARQ to varinner
       Edit "InnerOut"
       pos=1
       While True
         posf=searchFrom("\n",varinner,pos)
         if posf=0 then quitLoop endif
         [Texto]=substr(varinner,pos,(posf-pos))
         Down
         pos=posf+1
       EndWhile
       Do_It!
       ClearAll

       If IsAssigned(varinner) Then release vars varinner  EndIf

  Case Tp="Renomeia":
       Aguarde("Aguarde, Renomeando "+ARQ)

       ARQLido="C:\\Inner\\Out\\"+
               "Importado "+Completa(USERPALM,9," ")+"em "+

                AlinhM(StrVal(Year(Today())),4) +
                AlinhM(StrVal(Month(Today())),2)+
                AlinhM(StrVal(Day(Today())),2)  +"-"+

                SubStr(StrVal(Time()),1,2)+
                SubStr(StrVal(Time()),4,2)+
                SubStr(StrVal(Time()),7,2)+

                ".OUT"

       Executa_Programa("Execvise Renomeia "+ARQ+" \""+ARQLido+"\"")

EndSwitch
Return True
EndProc



Proc PegaValor(numcampo)

posi=1
For i From 1 To numcampo
  Pos=SearchFrom("|",[InnerOut->Texto],posi)
  If pos=0 then pos=500 EndIf
  Valor=UPPER(RTrim(SubStr([InnerOut->Texto],posi,(pos-posi))))
  posi=pos+1
EndFor

Return Valor
EndProc



;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc LerDados()
ClearAll
Aguarde("Aguarde, lendo dados "+ARQ)

View "IS_PEDC"
View "IS_PEDI"
View "IS_CLIE"
CoEdit "InnerOut"
SetHighLight Current Record 23 Field 31
NR = NRecords("InnerOut")
NregPed=NR
Scan

  Barra(NR, RecNo())
  Aguarde("Aguarde, lendo dados "+BARRA_STRING)

  If SubStr([Texto],1,1)="" Then Loop EndIf

  Switch
    Case PegaValor(1)="IS_CLIENTE_EX"    : TipoReg="CLIENTE"

      CODCLI=AlinhM(StrVal(NumVal(PegaValor(5))),4)

      Moveto "IS_CLIE"
      Moveto [CLIENTE_ID]
      Locate CODCLI
      If Not RetVal
         Then End
              Down

              [CLIENTE_ID   ]=CODCLI
              [NOME         ]=Tira_CharEspecial(PegaValor(7))
              [RSOCIAL      ]=Tira_CharEspecial(PegaValor(8))
              [PJ           ]=PegaValor(9)
              [CNPJ         ]=Tira_CharNum(PegaValor(10))
              [ENDERECO     ]=Tira_CharEspecial(PegaValor(11))
              [CIDADE       ]=Tira_CharEspecial(PegaValor(12))
              [UF           ]=Tira_CharEspecial(PegaValor(13))
              [BAIRRO       ]=Tira_CharEspecial(PegaValor(14))
              [INSCEST      ]=Tira_CharNum(PegaValor(15))
              [TELEFONE     ]=PegaValor(16)
              [EMAIL        ]=PegaValor(17)
              [FAX          ]=PegaValor(18)
              [CEP          ]=Tira_CharNum(PegaValor(20))
              [ID_CATCLI    ]=AlinhM(StrVal(NumVal(PegaValor(26))),4)
              [ID_TRANSP    ]=AlinhM(StrVal(NumVal(PegaValor(27))),4)
              [OBS          ]=PegaValor(33)
      EndIf
    Case PegaValor(1)="IS_ENDEALT_EX"    : TipoReg="ENDERECOS"

      CODCLI=AlinhM(StrVal(NumVal(PegaValor(6))),4)
      TIPEND=StrVal(NumVal(PegaValor(7)))

      Switch
        Case TIPEND="1":
          Moveto "IS_CLIE"
          Moveto [CLIENTE_ID]
          Locate CODCLI
          If Not RetVal
             Then End
                  Down
                  [ID_CLIENTE   ]=CODCLI
          Endif
          [ENDERECO_COB ]=Tira_CharEspecial(PegaValor(9))
          [CIDADE_COB   ]=Tira_CharEspecial(PegaValor(10))
          [UF_COB       ]=Tira_CharEspecial(PegaValor(11))
          [BAIRRO_COB   ]=Tira_CharEspecial(PegaValor(12))
          [CEP_COB      ]=Tira_CharNum(PegaValor(13))
        Case TIPEND="2":
          Moveto "IS_CLIE"
          Moveto [CLIENTE_ID]
          Locate CODCLI
          If Not RetVal
             Then End
                  Down
                  [ID_CLIENTE   ]=CODCLI
          Endif
          [ENDERECO_ENT ]=Tira_CharEspecial(PegaValor(9))
          [CIDADE_ENT   ]=Tira_CharEspecial(PegaValor(10))
          [UF_ENT       ]=Tira_CharEspecial(PegaValor(11))
          [BAIRRO_ENT   ]=Tira_CharEspecial(PegaValor(12))
          [CEP_ENT      ]=Tira_CharNum(PegaValor(13))
      EndSwitch

    Case PegaValor(1)="IS_PEDIDO"        : TipoReg="CABECA"

      Moveto "IS_PEDC"
      End
      Down

      [Numero do Pedido         ]=StrVal(NumVal(PegaValor(2)))
      [Codigo                   ]=StrVal(NumVal(PegaValor(3)))

      DT=PegaValor(4)
      [Data de Emissao          ]=DateVal(SubStr(DT,5,2)+"/"+
                                          SubStr(DT,7,2)+"/"+
                                          SubStr(DT,1,4))

      DT=PegaValor(11)
      [Data de Entrega          ]=DateVal(SubStr(DT,5,2)+"/"+
                                          SubStr(DT,7,2)+"/"+
                                          SubStr(DT,1,4))

      [Condicao de Pagamento    ]=AlinhM(StrVal(NumVal(PegaValor(8))),2)
      [Forma de Pagamento       ]=StrVal(NumVal(PegaValor(9)))
      [Codigo da Transportadora ]=AlinhM(StrVal(NumVal(PegaValor(13))),4)
      [Frete por Conta          ]=StrVal(NumVal(PegaValor(14)))
      [Codigo da Tabela         ]=AlinhM(StrVal(NumVal(PegaValor(7))),5)

      VR=XTrim(PegaValor(10),",")
      [Valor do Desconto        ]=NumVal(VR)/100

      VR=XTrim(PegaValor(15),",")
      [Valor Nota Fiscal        ]=NumVal(VR)/100

      [Observacao do Pedido     ]=PegaValor(33)
      [Codigo da Destinacao     ]=AlinhM(StrVal(NumVal(PegaValor(32))),3)  

    Case PegaValor(1)="IS_PEDIDO_PRODUTO": TipoReg="ITEM"
      Moveto "IS_PEDI"
      End
      Down

      [Numero do Pedido     ]=StrVal(NumVal(PegaValor(3)))
      [Item do Pedido       ]=NumVal(PegaValor(2))
      [Codigo do Item       ]=AlinhM(StrVal(NumVal(PegaValor(4))),10)

      VR=XTrim(PegaValor(6),",")
      [Quantidade           ]=NumVal(VR)/100

      VR=XTrim(PegaValor(7),",")
      [Preco Unitario Tabela]=NumVal(VR)/100

      VR=XTrim(PegaValor(8),",")
      PRECOTOT =NumVal(VR)/100

      [Preco Unitario       ]=PRECOTOT/[Quantidade]
      [Preco Total          ]=Round([Quantidade]*[Preco Unitario],2)
      [Codigo da Tabela     ]=AlinhM(StrVal(NumVal(PegaValor(5))),5)

  EndSwitch

  Moveto "InnerOut"
EndScan
Do_It!
ClearAll

Endproc

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Importa()
ClearAll

Aguarde("Aguarde, Importando Pedidos")

CHAVEC=1

LidoCli=0
NregPed=0
LidoPed=0
ImpoPed=0
SyncPed=0

View "\\Sistemas\\Cadastro\\Destinat"
View "\\Sistemas\\Cadastro\\DestObs"
View "\\Sistemas\\Cadastro\\End_Cob"
View "\\Sistemas\\Cadastro\\Fpgpda"
View "\\Sistemas\\Cadastro\\Cidades"
View "PedidoI"
View "PedidoV"
View "PedidoC"
View "IS_CLIE"
View "IS_PEDI"
CoEdit "IS_PEDC"
NR = NRecords("IS_PEDC")
NregPed=NR
Scan For [Numero do Pedido]<>""

  Barra(NR, RecNo())
  Aguarde("Aguarde, Importando Pedidos "+BARRA_STRING)

  LidoPed=LidoPed+1

  PEDORIG=VSDGREPRESEN+"/"+AlinhM([IS_PEDC->Numero do Pedido],6)
  PED_OK=True
  Moveto "PedidoC"
  Moveto [Numero Pedido Origem]
  Locate PEDORIG
  If RetVal
     Then While True
            If [Situacao do Pedido]<>"CANCELADO"
               Then If [Codigo do Representante]=VSDGREPRESEN And
                       [Data de Emissao]=[IS_PEDC->Data de Emissao]
                       Then ;;MSG="Pedido do PDA Nõ "+AlinhM(StrVal([INNEROUT->NUM_PED]),6)+" j˙ existe no sistema !// //"
                            ;;MSG=MSG+"Pedido Origem: "+PEDORIG+", Pedido Sistema: "+[Numero do Pedido]
                            ;;Mensagem(MSG)

                            SyncPed=SyncPed+1
                            PED_OK=False
                            QuitLoop
                    EndIf
            EndIf
            Skip
            If EOT() Then Quitloop EndIf
            Locate Next PEDORIG
            If Not RetVal
               Then QuitLoop
            EndIf
          EndWhile
  EndIf
  If Not PED_OK
     Then Moveto "IS_PEDC"
          ;;CONFGERAL("Deseja continuar com a importa+"o ?")
          ;;If OK<>"S"
          ;;   Then QuitLoop
          ;;   Else Loop
          ;;EndIf

          Loop
  EndIf

  CLIENTE   =[IS_PEDC->Codigo]
  CodClieNew=""
  ClieNew   =False
  OBSIMP    =""

  Moveto "IS_CLIE"
  Moveto [CLIENTE_ID]
  Locate CLIENTE
  If RetVal
     Then
          OBSIMP="** CLIENTE NOVO **"

          Pesq_CNPJ_CPF="????"
          Tipo_Pessoa="FISICA"
          If Not IsBlank([IS_CLIE->CNPJ])
             Then
                ;;If [IS_CLIE->PJ]="1"

                  If Len([IS_CLIE->CNPJ])>11
                     Then  ;;Pesq_CNPJ_CPF=[IS_CLIE->CNPJ]
                           Tipo_Pessoa="JURIDICA"
                           Pesq_CNPJ_CPF=SubStr([IS_CLIE->CNPJ],01,2)+"."+
                                         SubStr([IS_CLIE->CNPJ],03,3)+"."+
                                         SubStr([IS_CLIE->CNPJ],06,3)+"/"+
                                         SubStr([IS_CLIE->CNPJ],09,4)+"-"+
                                         SubStr([IS_CLIE->CNPJ],13,2)

                      Else ;;Pesq_CNPJ_CPF=[IS_CLIE->CNPJ]
                           Tipo_Pessoa="FISICA"
                           Pesq_CNPJ_CPF=SubStr([IS_CLIE->CNPJ],01,3)+"."+
                                         SubStr([IS_CLIE->CNPJ],04,3)+"."+
                                         SubStr([IS_CLIE->CNPJ],07,3)+"-"+
                                         SubStr([IS_CLIE->CNPJ],10,2)
                  EndIf
          EndIf

          Moveto "\\Sistemas\\Cadastro\\Destinat"
          Moveto [CGC]
          Locate Pesq_CNPJ_CPF
          If RetVal
             Then CLIENTE=[Codigo]
             Else Cria_Cliente()
                  ClieNew=True
          EndIf
  EndIf

  Moveto "PedidoC"
  Moveto [Numero do Pedido]
  While True
    End
    If IsBlank([Numero do Pedido])
       Then NPED="000001"
       Else NPED=AlinhM(StrVal(NumVal([Numero do Pedido])+1),6)
    EndIf
    Down
    [Numero do Pedido]=NPED
    If IsLockRecord()
       Then Del
       Else QuitLoop
    EndIf
  EndWhile

  ImpoPed=ImpoPed+1
  [Codigo da Empresa        ]=VSDGEMPRESA
  [Data de Emissao          ]=[IS_PEDC->Data de Emissao          ]
  [Data de Entrega          ]=[IS_PEDC->Data de Entrega          ]
  If Not ClieNew
     Then [Codigo                   ]=AlinhM(CLIENTE,4)
     Else [Codigo                   ]=CodClieNew
  EndIf

  Enderecos()

  [Codigo do Representante  ]=VSDGREPRESEN
  [Nome Fantasia Represent  ]=VSDGNOMREPR
  [Condicao de Pagamento    ]=[IS_PEDC->Condicao de Pagamento    ]

  Moveto "\\Sistemas\\Cadastro\\fpgpda"
  Moveto [Codigo]
  Locate NumVal([IS_PEDC->Forma de Pagamento])
  If RetVal
     Then cfpg=[Tipo do Pagamento]
     Else cfpg=""
  EndIf

  Moveto "PedidoC"
  [Forma de Pagamento       ]=cfpg

  ;Switch
  ;  Case [INNEROUT->Tp_ped]="1" : [Codigo da Destinacao     ]="001"
  ;  Case [INNEROUT->Tp_ped]="2" : [Codigo da Destinacao     ]="033"
  ;  Case [INNEROUT->Tp_ped]="3" : [Codigo da Destinacao     ]="026"
  ;  Case [INNEROUT->Tp_ped]="4" : [Codigo da Destinacao     ]="044"
  ;  OtherWise                   : [Codigo da Destinacao     ]="001"
  ;EndSwitch
  
  Switch
    Case [IS_PEDC->Codigo da Destinacao]="000" : [Codigo da Destinacao]="001"
    OtherWise                                  : [Codigo da Destinacao]=[IS_PEDC->Codigo da Destinacao]
  EndSwitch
 
  Checa_UF_Destinacao()
  [Codigo da Transportadora ]=[IS_PEDC->Codigo da Transportadora ]
  [Frete por Conta          ]=[IS_PEDC->Frete por Conta          ]
  [Valor do Desconto        ]=[IS_PEDC->Valor do Desconto        ]

  [Observacao do Pedido     ]=[IS_PEDC->Observacao do Pedido]+obsimp
  [Situacao do Pedido       ]="SUSPENSO"
  [Codigo da Tabela         ]=[IS_PEDC->Codigo da Tabela         ]
  [Sistema Gerador          ]="PM"
  [Numero_Carregamento      ]=VSDGNCARREG

  [Numero Pedido Origem     ]=PEDORIG
  [Codigo do Veiculo        ]=CODVEICULO
  Controle_Dia()

  UnLockRecord


  Seq=0

  Moveto "IS_PEDI"
  Moveto [Numero do Pedido]
  Locate [IS_PEDC->Numero do Pedido]
  While [Numero do Pedido]=[IS_PEDC->Numero do Pedido]

    Moveto "PedidoI"
    End
    Down

    Seq=Seq+1
    [Numero do Pedido     ]=[PedidoC->Numero do Pedido     ]
    [Item do Pedido       ]=Seq
    [Codigo do Item       ]=[IS_PEDI->Codigo do Item       ]
    [Quantidade           ]=[IS_PEDI->Quantidade           ]
    [Preco Unitario       ]=[IS_PEDI->Preco Unitario       ]
    [Preco Unitario Tabela]=[IS_PEDI->Preco Unitario Tabela]
    [Codigo da Tabela     ]=[IS_PEDI->Codigo da Tabela     ]
    [Preco Total          ]=[IS_PEDI->Preco Total          ]

    If [Tributacao de ICMS]="D"
       Then If TRIB_ICMS="D" And UF_ALIQUOTA_ICMS>0
               Then [Aliquota de ICMS  ]=UF_ALIQUOTA_ICMS
               Else [Tributacao de Icms]=TRIB_ICMS
            EndIf
    EndIf

    If [Tributacao de ICMS]<>"D"
       Then If Not IsBlank([Tributacao de ICMS      ])
                Then [Aliquota Reduzida BCICMS]=BlankNum()
                     [Aliquota de ICMS        ]=BlankNum()
                     [Valor do ICMS           ]=BlankNum()
             EndIf
    EndIf

    If [Aliquota Reduzida BCICMS]>0 And
       [Aliquota de ICMS        ]>0
       Then [Valor do ICMS]=Round((([Preco Total]-(([Preco Total]*[Aliquota Reduzida BCICMS])/100))*[Aliquota de ICMS])/100,2)
       Else [Valor do ICMS]=Round(([Preco Total]*[Aliquota de ICMS])/100,2)
    EndIf

    If [Aliquota Reduzida BCIPI ]>0 And
       [Aliquota de IPI         ]>0
       Then [Valor do IPI ]=Round((([Preco Total]-(([Preco Total]*[Aliquota Reduzida BCIPI ])/100))*[Aliquota de IPI])/100,2)
       Else [Valor do IPI ]=Round(([Preco Total]*[Aliquota de IPI ])/100,2)
    EndIf

    ;* Seta Variaveis PegaCFOP
    Checa_CFOP   ="S"
    CFO_C        =[PedidoC->CFO      ]
    CFOP_TPITEM  =[Tipo do Item      ]
    CFOP_TRIBICMS=[Tributacao de ICMS]
    CFOP_TPTRIB  =[Tipo Tributacao   ]
    Play "\\Sistemas\\Exporta\\PegaCFOP"
    [CFO            ]=CFO_C
    [Tipo Tributacao]=CFOP_TPTRIB

    UnLockRecord

    Moveto "IS_PEDI"
    Skip
    If EOT() Then QuitLoop EndIf

  EndWhile

  Moveto "PedidoC"
  Calc_Imposto()
  UnLockRecord

  Moveto  "PedidoV"
  Calc_Venctos()
  Moveto "IS_PEDC"

EndScan
Do_It!
ClearAll

EndProc

;*******************************************************************************
;* Checa Cliente Novo                                                          *
;*******************************************************************************
Proc Clientes()
ClearAll

View "\\Sistemas\\Cadastro\\Destinat"
View "\\Sistemas\\Cadastro\\DestObs"
View "\\Sistemas\\Cadastro\\End_Cob"
View "\\Sistemas\\Cadastro\\Cidades"
CoEdit "IS_CLIE"
NR = NRecords("IS_CLIE")
Scan

  Barra(NR, RecNo())
  Aguarde("Aguarde, Importando Clientes Novos "+BARRA_STRING)

  CodClieNew=""
  ClieNew   =False

  OBSIMP="** CLIENTE NOVO **"

  Pesq_CNPJ_CPF="????"
  Tipo_Pessoa="FISICA"
  If Not IsBlank([IS_CLIE->CNPJ])
     Then
        ;;If [IS_CLIE->PJ]="1"

          If Len([IS_CLIE->CNPJ])>11
             Then  ;;Pesq_CNPJ_CPF=[IS_CLIE->CNPJ]
                   Tipo_Pessoa="JURIDICA"
                   Pesq_CNPJ_CPF=SubStr([IS_CLIE->CNPJ],01,2)+"."+
                                 SubStr([IS_CLIE->CNPJ],03,3)+"."+
                                 SubStr([IS_CLIE->CNPJ],06,3)+"/"+
                                 SubStr([IS_CLIE->CNPJ],09,4)+"-"+
                                 SubStr([IS_CLIE->CNPJ],13,2)

              Else ;;Pesq_CNPJ_CPF=[IS_CLIE->CNPJ]
                   Tipo_Pessoa="FISICA"
                   Pesq_CNPJ_CPF=SubStr([IS_CLIE->CNPJ],01,3)+"."+
                                 SubStr([IS_CLIE->CNPJ],04,3)+"."+
                                 SubStr([IS_CLIE->CNPJ],07,3)+"-"+
                                 SubStr([IS_CLIE->CNPJ],10,2)
          EndIf
  EndIf

  Moveto "\\Sistemas\\Cadastro\\Destinat"
  Moveto [CGC]
  Locate Pesq_CNPJ_CPF
  If Not RetVal
     Then Cria_Cliente()
          ClieNew=True
  EndIf

  Moveto "IS_CLIE"
EndScan
Do_It!
ClearAll
EndProc

;*******************************************************************************
;* Criar Cliente Novo                                                          *
;*******************************************************************************
Proc Cria_Cliente()
Moveto "\\Sistemas\\Cadastro\\Cidades"
Moveto [Cidade]
Locate [IS_CLIE->CIDADE    ]
If Not RetVal
   Then End Down
        [Cidade ]=[IS_CLIE->CIDADE    ]
        UnLockRecord
EndIf

Moveto "\\Sistemas\\Cadastro\\Destinat"
Moveto [Codigo]
While True
  End
  CodClieNew=AlinhM(StrVal(NumVal([Codigo])+1),4)
  Down
  [Codigo]=CodClieNew
  If Not IsLockRecord()
     Then QuitLoop
     Else Del
  EndIf
EndWhile

[Tipo                   ]="C"
[Nome Fantasia EmitDest ]=[IS_CLIE->NOME      ]
[Razao Social           ]=[IS_CLIE->RSOCIAL   ]
[Endereco               ]=[IS_CLIE->ENDERECO  ]
[Bairro                 ]=[IS_CLIE->BAIRRO    ]
[CEP                    ]=SubStr([IS_CLIE->CEP],1,2)+"."+
                          SubStr([IS_CLIE->CEP],3,3)+"-"+
                          SubStr([IS_CLIE->CEP],6,3)
[Cidade                 ]=[IS_CLIE->CIDADE    ]
[UF                     ]=[IS_CLIE->UF        ]
[Telefone               ]=[IS_CLIE->TELEFONE  ]
If IsBlank([IS_CLIE->INSCEST   ])
   Then [IE]="ISENTO"
   Else [IE]=SubStr([IS_CLIE->INSCEST],01,2)+"."+
             SubStr([IS_CLIE->INSCEST],03,6)+"."+
             RTrim(SubStr([IS_CLIE->INSCEST],09,5))
EndIf
[Endereco_Eletronico    ]=[IS_CLIE->EMAIL     ]
[Data_Cadastro          ]=Today()

;12 345 678 9012 34
;##.###.###/####-##  CGC
;123 456 789 01
;###.###.###-##      CPF

[Tipo Pessoa]=Tipo_Pessoa
[Cgc        ]=Pesq_CNPJ_CPF

[Codigo do Representante ]=VSDGREPRESEN
[Nome Fantasia Represent ]=VSDGNOMREPR

If [IS_CLIE->ID_CATCLI]<>"0000"
   Then [Codigo Atividade        ]=[IS_CLIE->ID_CATCLI]
EndIf
If [IS_CLIE->ID_TRANSP]<>"0000"
   Then [Codigo da Transportadora]=[IS_CLIE->ID_TRANSP]
EndIf

[Consumidor Final       ]="N"
[Inativo                ]="N"
[Situacao do Cliente    ]="BOM"
[Pais                   ]="BRASIL"
[Tipo Assistencia       ]="EVENTUAL"

[Data da Manutencao     ]=Today()
[Hora da Manutencao     ]=Time()
[Chapa                  ]= SYS_CHAPA_USUARIO
UnLockRecord

If Not IsBlank([IS_CLIE->ENDERECO_ENT]) Or
   Not IsBlank([IS_CLIE->ENDERECO_COB])
   Then
        Moveto "\\Sistemas\\Cadastro\\End_Cob"
        Moveto [Codigo]
        Locate CodClieNew
        If Not RetVal
           Then End
                Down
                [Codigo              ]=CodClieNew
                [Endereco de Cobranca]=[IS_CLIE->ENDERECO_COB ]
                [Bairro de Cobranca  ]=[IS_CLIE->BAIRRO_COB   ]
                [CEP de Cobranca     ]=SubStr([IS_CLIE->CEP_COB],1,2)+"."+
                                       SubStr([IS_CLIE->CEP_COB],3,3)+"-"+
                                       SubStr([IS_CLIE->CEP_COB],6,3)
                [Cidade de Cobranca  ]=[IS_CLIE->CIDADE_COB   ]
                [UF de Cobranca      ]=[IS_CLIE->UF_COB       ]

                [Endereco de Entrega ]=[IS_CLIE->ENDERECO_ENT ]
                [Bairro de Entrega   ]=[IS_CLIE->BAIRRO_ENT   ]
                [CEP de Entrega      ]=SubStr([IS_CLIE->CEP_ENT],1,2)+"."+
                                       SubStr([IS_CLIE->CEP_ENT],3,3)+"-"+
                                       SubStr([IS_CLIE->CEP_ENT],6,3)
                [Cidade de Entrega   ]=[IS_CLIE->CIDADE_ENT   ]
                [UF de Entrega       ]=[IS_CLIE->UF_ENT       ]
                UnLockRecord
        EndIf
EndIf

If Not IsBlank([IS_CLIE->OBS])
   Then
        Moveto "\\Sistemas\\Cadastro\\DestObs"
        Moveto [Codigo]
        Locate CodClieNew
        If Not RetVal
           Then End
                Down
                [Codigo     ]=CodClieNew
                [Observacoes]=[IS_CLIE->OBS]
                UnLockRecord
        EndIf
EndIf

LidoCli=LidoCli+1
EndProc

;*******************************************************************************
;*** Checagem UF/Destinacao
;*******************************************************************************
Proc Checa_UF_Destinacao()

;*** Aliquota do Estado ***
Moveto [UF]
Ativa_Lookup()
Moveto [UF]
Locate [PedidoC->UF]
If RetVal
   Then UF_ALIQUOTA_ICMS=[Aliquota de ICMS]
   Else UF_ALIQUOTA_ICMS=BlankNum()
EndIf
KeyPress "ESC"

;*** Aliquota/Tributacao/Observacao da Destinacao ***
If CHAVEC=1
   Then OBS=[Observacao na Nota Fiscal]
   Else OBS=""
EndIf
TRIB_ICMS=""

Moveto [Codigo da Destinacao]
Ativa_Lookup()
Moveto [Codigo da Destinacao]
Locate [PedidoC->Codigo da Destinacao]
If RetVal
   Then If [ICMS Aliquota do Estado]<>"S"
           Then UF_ALIQUOTA_ICMS=[Aliquota de ICMS]
        EndIf
        TRIB_ICMS=[Tributacao de ICMS]

EndIf
KeyPress "ESC"
[Observacao na Nota Fiscal]=OBS

EndProc

;*******************************************************************************
;*** Calcula Impostos
;*******************************************************************************
Proc Calc_Imposto()

For I From 1 To 10
    AICMS[I] =BlankNum()
    AIPI[I]  =BlankNum()

    BCICMS[I] =BlankNum()
    BCIPI[I]  =BlankNum()

    VIICMS[I] =BlankNum()
    VIIPI[I]  =BlankNum()

    RICMS[I] =BlankNum()
    RIPI[I]  =BlankNum()
EndFor

VRMERC=0
Moveto "PedidoI"
Moveto [Numero do Pedido]
Locate NPED
While [Numero do Pedido]=NPED

  If [Tributacao de ICMS]="D" And [Aliquota de ICMS]>0
     Then For I From 1 To 10
              If Not IsBlank(AICMS[I])
                 Then If AICMS[I]=[Aliquota de ICMS] And RICMS[I]=[Aliquota Reduzida BCICMS]
                         Then BCICMS[I]=BCICMS[I]+[Preco Total]
                              VIICMS[I]=VIICMS[I]+[Valor do ICMS]
                              QuitLoop
                      EndIf
                 Else AICMS[I] =[Aliquota de ICMS]
                      RICMS[I] =[Aliquota Reduzida BCICMS]
                      BCICMS[I]=[Preco Total]
                      VIICMS[I]=VIICMS[I]+[Valor do ICMS]
                      QuitLoop
              EndIf
          EndFor
  EndIf

  If [Tributacao de IPI]="D" And [Aliquota de IPI]>0
     Then For I From 1 To 10
             If Not IsBlank(AIPI[I])
                Then If AIPI[I]=[Aliquota de IPI] And RIPI[I]=[Aliquota Reduzida BCIPI]
                         Then BCIPI[I]=BCIPI[I]+[Preco Total]
                              VIIPI[I]=VIIPI[I]+[Valor do IPI]
                              QuitLoop
                      EndIf
                 Else AIPI[I] =[Aliquota de IPI]
                      RIPI[I] =[Aliquota Reduzida BCIPI]
                      BCIPI[I]=[Preco Total]
                      VIIPI[I]=VIIPI[I]+[Valor do IPI]
                      QuitLoop
             EndIf
         EndFor
  EndIf

  If [Tipo do Item]<>"C"
     Then VRMERC=VRMERC+[Preco Total]
  EndIf

  Skip
  If EOT() Then QuitLoop EndIf
EndWhile
Moveto "PedidoC"
CALC_PEDIDO()
CALC_VOLUMES()

EndProc ;(Calc_Imposto)

;*******************************************************************************
;* Rotina para Calculo de Vencimentos                                          *
;*******************************************************************************
Proc CALC_VENCTOS()
If Not Checa_CompDias([PedidoC->Composicao de Dias])
   Then Return
EndIf

PARAM_COMIS_VENCTO="S"

NPC=1
i=1
If Not IsBlank([PedidoC->Composicao de Dias])
   Then While True
          pos_s=SearchFrom("/",[PedidoC->Composicao de Dias],i)
          If pos_s=0
             Then QuitLoop
             Else NPC=NPC+1
                  i=pos_s+1
          EndIf
        EndWhile
   Else NPC=0
EndIf
If NPC=0
   Then NP=[PedidoC->Numero de Parcelas]
   Else If NPC=1 And [PedidoC->Numero de Parcelas]>1
           Then NP=[PedidoC->Numero de Parcelas]
           Else NP=NPC
        EndIf
EndIf

VRVENCTO=NDecimal(([PedidoC->Valor Nota Fiscal]/NP),2)
VRDIFERE=[PedidoC->Valor Nota Fiscal]-(VRVENCTO*NP)

If PARAM_COMIS_VENCTO="S"
   Then VREF=NDecimal(([PedidoC->Valor Nota Fiscal]*[PedidoC->Comissao do Representante])/100,2)
        VCVENCTO=NDecimal((VREF/NPC),2)
        VCDIFERE=VREF-(VCVENCTO*NPC)
   Else VCVENCTO=BlankNum()
        VCDIFERE=BlankNum()
EndIf

j=1
i=1
While i<=NP
  pos_s=SearchFrom("/",[PedidoC->Composicao de Dias],j)
  If pos_s=0
     Then If i>1
             Then NDIAS=NumVal(SubStr([PedidoC->Composicao de Dias],j,(Len([PedidoC->Composicao de Dias])-(j-1))))
             Else If Not IsBlank([PedidoC->Composicao de Dias])
                     Then NDIAS=NumVal(SubStr([PedidoC->Composicao de Dias],j,Len([PedidoC->Composicao de Dias])))
                     Else NDIAS=0
                  EndIf
          EndIf
     Else NDIAS=NumVal(SubStr([PedidoC->Composicao de Dias],j,pos_s-j))
          j=pos_s+1
  EndIf

  End
  Down
  [Numero do Pedido ]=NPED
  [Sequencia        ]=AlinhM(StrVal(i),2)
  If pos_s=0 And NPC=1 And NP>1
     Then [Numero de Dias   ]=BlankNum()
          If PARAM_DATAS_VENCTOS="F"
             Then DIA_VECTO=Day([PedidoC->Data de Entrega])
                  MES_VECTO=Month([PedidoC->Data de Entrega])
                  ANO_VECTO=Year([PedidoC->Data de Entrega])
                  MES_VECTO=MES_VECTO+i
                  If MES_VECTO>12
                     Then MES_VECTO=1
                          ANO_VECTO=ANO_VECTO+1
                  EndIf
                  [Data             ]=DateVal(AlinhM(StrVal(DIA_VECTO),2)+"."+AlinhM(StrVal(MES_VECTO),2)+"."+SubStr(StrVal(ANO_VECTO),3,2))
             Else [Numero de Dias   ]=NDIAS*i
                  [Data             ]=[PedidoC->Data de Emissao]+(NDIAS*i)
          EndIf
     Else [Numero de Dias   ]=NDIAS
          [Data             ]=[PedidoC->Data de Entrega]+NDIAS
  EndIf
  If i<>NP
     Then [Valor            ]=VRVENCTO
          [Valor da Comissao]=VCVENCTO
     Else [Valor            ]=VRVENCTO+VRDIFERE
          [Valor da Comissao]=VCVENCTO+VCDIFERE
  EndIf
  [Forma de Pagamento]=[PedidoC->Forma de Pagamento]

  i=i+1
EndWhile

Moveto "PedidoC"

EndProc

;*******************************************************************************
;* Rotina para Checagem de Composicao de Dias                                  *
;*******************************************************************************
Proc Checa_CompDias(Texto)
Private Texto,Contador_Repeticao
Contador_Repeticao=0
For ncc From 1 To Len(Texto)
    If Asc(SubStr(Texto,ncc,1))<47 Or
       Asc(SubStr(Texto,ncc,1))>57
       Then Mensagem("Formato da Composicao de Dias Invalido !//Exemplo= 30/60/90")
            Return False
       Else If SubStr(Texto,ncc,1)="/"
               Then Contador_Repeticao=Contador_Repeticao+1
               Else Contador_Repeticao=0
            EndIf
            If Contador_Repeticao>1 Or
               SubStr(Texto,1,1)="/" Or
               SubStr(Texto,Len(Texto),1)="/"
               Then Mensagem("Formato da Composicao de Dias Invalido !//Exemplo= 30/60/90")
                    Return False
            EndIf
    EndIf
EndFor
Return True
EndProc

;****************************************+**************************************
;* Rotina para Calculo de Valores do Pedido                                    *
;*******************************************************************************
Proc CALC_PEDIDO()
[Valor Mercadoria]=VRMERC
If [Taxa de Desconto]>0
   Then VRDESCTO=Round((VRMERC*[Taxa de Desconto])/100,2)
        TXDESCTO_TOTAL=[Taxa de Desconto]
   Else VRDESCTO=[Valor do Desconto]
        TXDESCTO_TOTAL=(VRDESCTO/VRMERC)*100
EndIf
[Valor Desconto           ]=VRDESCTO
[Valor Mercadoria Liquido ]=[Valor Mercadoria]-VRDESCTO
If [IS_PEDC->Valor Nota Fiscal]>[Valor Mercadoria ]
   Then [Valor Despesas Acessorias]=[IS_PEDC->Valor Nota Fiscal]-[Valor Mercadoria]
EndIf

VRBCICMS=0
VRICMS  =0
VRIPI   =0
VRNF    =0

For I From 1 To 10
    If Not IsBlank(AICMS[I])
       Then If BCICMS[I]>0
               Then VBC=BCICMS[I]-Round((BCICMS[I]*TXDESCTO_TOTAL)/100,2)
                    VBC=VBC-Round((VBC*RICMS[I])/100,2)
                    VRBCICMS=VRBCICMS+VBC
                    VRICMS=VRICMS+Round((VBC*AICMS[I])/100,2)
               Else VRICMS=VRICMS+VIICMS[I]
            EndIf
    EndIf
    If Not IsBlank(AIPI[I])
       Then If BCIPI[I]>0
               Then VBC=BCIPI[I]-Round((BCIPI[I]*TXDESCTO_TOTAL)/100,2)
                    VBC=VBC-Round((VBC*RIPI[I])/100,2)
                    VRIPI=VRIPI+Round((VBC*AIPI[I])/100,2)
               Else VRIPI=VRIPI+VIIPI[I]
            EndIf
    EndIf
EndFor

[Valor BCICMS]=VRBCICMS
[Valor ICMS  ]=VRICMS
[Valor IPI   ]=VRIPI
[Valor Nota Fiscal]=[Valor Mercadoria Liquido]+[Valor IPI]+[Valor Despesas Acessorias]+
                    [Valor Substituicao ICMS]+[Valor do Seguro]

VRNF=[Valor Nota Fiscal]

If [Aliquota BCFrete Nota]>0
   Then [Valor do Frete]=Round(([Valor Nota Fiscal]*[Aliquota BCFrete Nota])/100,2)
EndIf

If [Frete Incluso na Nota]="+"
   Then [Valor Nota Fiscal]=[Valor Nota Fiscal]+[Valor do Frete]
        If [Aliquota BCICMS Frete]>0
           Then [Valor BCICMS]=[Valor BCICMS]+Round(([Valor do Frete]*[Aliquota BCICMS Frete])/100,2)
                [Valor ICMS  ]=[Valor ICMS]+Round(((([Valor do Frete]*[Aliquota BCICMS Frete])/100)*[Aliquota de ICMS Frete])/100,2)
           Else [Valor BCICMS]=[Valor BCICMS]+[Valor do Frete]
                [Valor ICMS  ]=[Valor ICMS]+Round(([Valor do Frete]*[Aliquota de ICMS Frete])/100,2)
        EndIf
EndIf

If [Consumidor Final]="S"
   Then [Valor BCICMS]=[Valor Nota Fiscal]
        [Valor ICMS  ]=Round(([Valor BCICMS]*UF_ALIQUOTA_ICMS)/100,2)
EndIf

EndProc

;*******************************************************************************
;* Rotina para Localizar Enderecos                                             *
;*******************************************************************************
Proc Enderecos()

CODIGO_OK=False
Moveto [Codigo_Entrega_Cobranca]
Ativa_Lookup()
Moveto [Codigo]
Locate [PedidoC->Codigo]
If RetVal
   Then CODIGO_OK=True
EndIf
KeyPress "ESC"

If CODIGO_OK
   Then [Codigo_Entrega_Cobranca]=[Codigo]
EndIf
If IsBlank([Endereco de Entrega])
   Then [Endereco de Entrega]="O MESMO"
EndIf
If IsBlank([Endereco de Cobranca])
   Then [Endereco de Cobranca]="O MESMO"
EndIf
EndProc   ;  (EnderecoS)

;*******************************************************************************
;* Rotina para Calculos de Caracteristicas de Volumes                          *
;*******************************************************************************
Proc CALC_VOLUMES()

NVOL   =0
PESOL  =0
PESOB  =0
DMARCA =""
NMARCA =0
DUNID  =""
NUNID  =0

Moveto "PedidoI"
Moveto [Numero do Pedido]
Locate NPED
While [Numero do Pedido]=NPED
  If DMARCA<>[Descricao da Marca]
     Then DMARCA=[Descricao da Marca]
          NMARCA=NMARCA+1
  EndIf
  If DUNID <>[Descricao da Unidade]
     Then DUNID =[Descricao da Unidade]
          NUNID =NUNID+1
  EndIf
  NVOL =NVOL +NDecimal(([Quantidade]*[Volumes]),2)
  PESOL=PESOL+NDecimal(([Quantidade]*[Peso Liquido]),2)
  PESOB=PESOB+NDecimal(([Quantidade]*[Peso Embalagem]),2)

  Skip
  If EOT() Then QuitLoop EndIf
EndWhile

Moveto "PedidoC"
If (PESOB+PESOL)>0
   Then [Peso Bruto  ]=PESOB+PESOL
   Else [Peso Bruto  ]=BlankNum()
EndIf
If PESOL>0
   Then [Peso Liquido]=PESOL
   Else [Peso Liquido]=BlankNum()
EndIf
If NVOL>0
   Then [Numero de Volumes]=NVOL
   Else [Numero de Volumes]=BlankNum()
EndIf
If NMARCA>1
   Then [Marca dos Volumes]="DIVERSAS"
   Else [Marca dos Volumes]=DMARCA
EndIf
If NUNID>1
   Then [Especie de Volumes]="VOLUME(S)"
   Else [Especie de Volumes]=DUNID
EndIf
Endproc

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_EMPRESA"       : Campo="NO"
            Case Campo="TG_REPRESEN"      : Campo="TG_EMPRESA"
            Case Campo="TG_NCARREG"       : Campo="TG_REPRESEN"
            Case Campo="YES" Or Campo="NO": Campo="TG_EMPRESA"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or 
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_EMPRESA"  : Campo="TG_REPRESEN"
                    Case Campo="TG_REPRESEN" : Campo="TG_NCARREG"
                    Case Campo="TG_NCARREG"  : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="":
     MSG_CAMPO=""
  Case Campo="TG_EMPRESA":
     MSG_CAMPO="Informe uma empresa"
  Case Campo="TG_REPRESEN":
     MSG_CAMPO="Informe um representante"
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
If Not IsAssigned(SYS_EMPRESA_DEFAULT) Then SYS_EMPRESA_DEFAULT="" EndIf
If Not IsAssigned(SYS_CODIGO_CLIENTE)  Then SYS_CODIGO_CLIENTE=""  EndIf
If Not IsAssigned(SYS_CONTROLE_DIA)    Then SYS_CONTROLE_DIA=""    EndIf
LimpAguarde()

Array AICMS[10]
Array AIPI[10]

Array VIICMS[10]
Array VIIPI[10]

Array BCICMS[10]
Array BCIPI[10]

Array RICMS[10]
Array RIPI[10]

VSDGEMPRESA =""
VSDGREPRESEN=""
VSDGNCARREG =""

While True

  ShowDialog "Importa+"o PDA - Sistemas Inner" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
   @ 05,12   Height 11 Width 56

    Label  @ 00,00 "Empresa"  For "TG_EMPRESA"
    Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_EMPRESA"    To VSDGEMPRESA
    Accept @ 01,09 Width 23 "A20" Picture "!*!" Tag "TG_NOMEMPRESA" To VSDGNOMEMP

    Label  @ 02,00 "Representante"  For "TG_REPRESEN"
    Accept @ 03,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_REPRESEN"   To VSDGREPRESEN
    Accept @ 03,09 Width 23 "A20" Picture "!*!" Tag "TG_NOMREPR"    To VSDGNOMREPR

    Label  @ 04,00 "Nõ Carregamento" For "TG_NCARREG"
    Accept @ 05,01 Width 9  "A6"  Picture "#*#" Tag "TG_NCARREG"    To VSDGNCARREG
    Accept @ 05,11 Width 23 "A20" Picture "!*!" Tag "TG_NOMNCARREG" To VSDGNOMNCARREG

    Pushbutton @ 07,14 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 07,28 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf

  If IsBlank(VSDGEMPRESA)
     Then Mensagem("Informe uma Empresa !")
          Loop
  EndIf
  If IsBlank(VSDGREPRESEN)
     Then Mensagem("Informe um Representante !")
          Loop
  EndIf

  TabOk=False
  View "\\Sistemas\\Cadastro\\Represen"
  Moveto [Codigo do Representante]
  Locate VSDGREPRESEN
  If RetVal
     Then If Not IsBlank([\Sistemas\Cadastro\Represen->Conta Contabil Represent])
             Then TabOk=True
                  USERPALM=RTRIM([\Sistemas\Cadastro\Represen->Conta Contabil Represent])
          EndIf
  EndIf
  ClearAll
  If Not TabOk
     Then Mensagem("Representante sem Conta informada no cadastro !// //Usu˙rio Palm Desktop !")
          Loop
  EndIf

  ARQ="C:\\Inner\\Out\\"+USERPALM+".OUT"
  If Not IsFile(ARQ)
     Then Mensagem("Arquivo "+ARQ+" n’o encontrado !")
          Loop
  EndIf

  NCarregOk =True
  CODVEICULO=""
  If Not IsBlank(VSDGNCARREG)
     Then View "AcCarrgC"
          Moveto [Numero_Carregamento]
          Locate VSDGNCARREG
          If Not RetVal
             Then NCarregOk=False
                  Mensagem("Carregamento inv˙lido !")
             Else CODVEICULO=[Codigo do Veiculo]
                  If IsBlank(CODVEICULO)
                     Then NCarregOk=False
                          Mensagem("Veiculo n"o informado no Carregamento ")
                  EndIf
          EndIf
          ClearAll
  EndIf
  If Not NCarregOk Then Loop EndIf

  If Not Syncroniza("Importa")
     Then MENSAGEM("N"o existem pedidos a processar")
          Loop
  EndIf
  LerDados()
  Importa()
  Clientes()

  If NregPed=0
     Then MSG="N"o existem Pedidos no arquivo !// //"
     Else MSG="Resumo do Arquivo:// //"
          MSG=MSG+Format("W5,EIC",LidoPed)+" pedidos lidos           //"
          MSG=MSG+Format("W5,EIC",SyncPed)+" pedidos j˙ Sincronizados//"
          MSG=MSG+Format("W5,EIC",ImpoPed)+" pedidos importados      // //"
          MSG=MSG+Format("W5,EIC",LidoCli)+" clientes atualizados    // //"
  EndIf
  MSG=MSG+"Se por algum motivo precisar repetir este processo//"
  MSG=MSG+"para este Vendedor, verificar arquivo: "+ARQ
  Mensagem(MSG)
  Syncroniza("Renomeia")

EndWhile
ClearAll
Release Vars All
Release Procs All
