;*******************************************************************************
;* Desenvolvido: 04/09/2017 por Anivel Augusto Rodrigues                       *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)               
;Desenvolvido    : 07/09/2017 por Anivel Augusto Rodrigues
;Ultima Alteracao: 13/09/2017 por Anivel Augusto Rodrigues 
;Motivo Alteracao: ajustes fatuarmento devolucao de venda

Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"

While True
  If Verifica_Usuario()
     Then QuitLoop
     Else ConfGeral("Comunicar os usuarios !// //Deseja Continuar com Atualizacao ?")
          If OK<>"S"
             Then Exit
          EndIf
  EndIf
EndWhile

;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_TabelasNS()
destant="????"

setdir "\\sistemas\\vendas"

NR = NRecords("Notac")

CoEdit "NotaC"
PickForm "1"
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, processando dados NS "+BARRA_STRING)

  If [Situacao]="C"    
     Then Loop
  EndIf

  If [Tipo Movimento Estoque]="E"        
     Then Loop
  EndIf

  if [Codigo da Destinacao]<>destant
      then destant=[Codigo da Destinacao]
      
           getrecord "\\Sistemas\\Vendas\\Destin" [Codigo da Destinacao] to regdestin
           if not retval
              then loop
           endif   
           if regdestin["Calcula_Nota"]<>"A"
              then loop
           endif   
  endif   

  If ([Tipo Movimento Estoque]="S" and Search("VEND", [Descricao da Destinacao])=0) or        
     ([Tipo Movimento Estoque]="E" and Search("DEVOL",[Descricao da Destinacao])=0)       
     Then Loop
  EndIf

  VRPIS   =0
  VRCOFINS=0
  
  Moveto "NotaI"
  Scan

    If [PIS_BC   ]>0
       Then 
            [PIS_Aliquota   ]=0.65
            [PIS_Valor      ]=Round(([PIS_BC]*[PIS_Aliquota])/100,2) 
    EndIf
  
    If [COFINS_BC]>0
       Then
            [COFINS_Aliquota]=3
            [COFINS_Valor   ]=Round(([COFINS_BC]*[COFINS_Aliquota])/100,2) 
    EndIf
  
    VRPIS   =VRPIS   +[PIS_Valor   ]
    VRCOFINS=VRCOFINS+[COFINS_Valor]

  EndScan

 Moveto "NotaC"
 [Valor PIS   ]=VRPIS
 [Valor COFINS]=VRCOFINS

EndScan
Do_It!
ClearAll

EndProc ;Correcao_TabelasNS()

;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_TabelasNE()

setdir "\\sistemas\\estoque"

NR = NRecords("Notaec")

CoEdit "NotaEC"
PickForm "1"
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, processando dados NE "+BARRA_STRING)

  If [Data de Entrada]<DateVal("01.01.2017")        
     Then Loop
  EndIf

  Moveto "NotaEI"
  Scan

    If [NotaEC->Tipo de Operacao]="D"    
       Then 
            If [PIS_BC   ]>0
               Then 
                    [PIS_Aliquota   ]=0.65
                    [PIS_Valor      ]=Round(([PIS_BC]*[PIS_Aliquota])/100,2) 
            EndIf
          
            If [COFINS_BC]>0
               Then
                    [COFINS_Aliquota]=3
                    [COFINS_Valor   ]=Round(([COFINS_BC]*[COFINS_Aliquota])/100,2) 
            EndIf
       else
            [PIS_CST        ]="98"
            [PIS_Aliquota   ]=blankNum()
            [PIS_BC         ]=blankNum()
            [PIS_Valor      ]=blankNum()

            [COFINS_CST     ]="98"
            [COFINS_Aliquota]=blankNum()
            [COFINS_BC      ]=blankNum()
            [COFINS_Valor   ]=blankNum()
    EndIf
  EndScan

 Moveto "NotaEC"

EndScan
Do_It!
ClearAll


NR = NRecords("Fornprod")

CoEdit "Fornprod"
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, processando dados FP "+BARRA_STRING)

  [PIS_CST        ]="98"
  [PIS_Aliquota   ]=blankNum()

  [COFINS_CST     ]="98"
  [COFINS_Aliquota]=blankNum()

EndScan
Do_It!
ClearAll


EndProc ;Correcao_TabelasNE()


;------------------------------------------------------------------------------
Aguarde("Atualizando Sistema")
Password("t01avivcl")
Password("FechaSys")
ClearAll

sys_Valor()

if sys_Codigo_Cliente="0390"
   then
        if ConfGeral("Executar acerto BC PIS/COFINS!// //Corre‡Æo Aliquota PIS/COFINS !")
           then 
                Correcao_TabelasNS()
                Correcao_TabelasNE()

                Mensagem("Fim do processo !// Conferir novos Dados !")
        endif
endif   

setdir "\\sistemas\\vendas"

LimpAguarde()

Release Vars All
Release Procs All
