;** FT_CONSI *******************************************************************
;*  Rotina de Consignacao                                                      *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 01/02/2001 por Anivel Augusto Rodrigues
;Ultima Alteracao: 10/09/2001 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes

;*******************************************************************************
;* Atualizacao Consignacao                                                     *
;*******************************************************************************
Proc CONSIGNACAO()
Private NUMEROL, ANOREF, MESREF, CODCLIEC, MC_ENCONTRADA,

If Search("CONSIG",[Descricao da Destinacao])=0
   Then Return
EndIf
If [FaturaC->Tipo Movimento Estoque]<>"S"
   Then Return
EndIf

Moveto "\\Sistemas\\Consigna\\CabMovim"
Moveto [Codigo do Cliente]
Locate IndexOrder By "cabmovimi01" [FaturaC->Codigo],
       NOTAFISC,"M-1"
If RetVal
   then MC_ENCONTRADA=True
        NUMEROL =[\Sistemas\Consigna\CabMovim->Numero do Lancamento]
        ANOREF  =AlinhM(StrVal(Year([\Sistemas\Consigna\CabMovim->Data de Emissao])),4)
        MESREF  =AlinhM(StrVal(Month([\Sistemas\Consigna\CabMovim->Data de Emissao])),2)
        CODCLIEC=[\Sistemas\Consigna\CabMovim->Codigo do Cliente]
        Del
   Else MC_ENCONTRADA=False
        End
        If [Numero do Lancamento]=""
           Then NUMEROL=1
           Else NUMEROL=[Numero do Lancamento]+1
        EndIf
EndIf

If MC_ENCONTRADA
   Then Moveto "\\Sistemas\\Consigna\\IteMovim"
        Moveto [Numero do Lancamento]
        Locate NUMEROL
        If RetVal
           Then While True
                  Moveto "\\Sistemas\\Consigna\\IteSaldo"
                  Locate CODCLIEC,[\Sistemas\Consigna\IteMovim->Codigo do Item],
                         [\Sistemas\Consigna\IteMovim->Codigo da Cor],
                         [\Sistemas\Consigna\IteMovim->Tamanho do Item],
                         ANOREF,MESREF
                  If RetVal
                     Then [Entradas]=[Entradas]-[\Sistemas\Consigna\IteMovim->Quantidade]
                          UnLockRecord
                  EndIf

                  Moveto "\\Sistemas\\Consigna\\IteMovim"
                  Del

                  Locate Next NUMEROL
                  If Not RetVal
                     Then QuitLoop
                  EndIf

                EndWhile
        EndIf
EndIf

Moveto "\\Sistemas\\Consigna\\CabMovim"
End
Down
[Numero do Lancamento]=NUMEROL
[Codigo do Cliente   ]=[FaturaC->Codigo]
[Numero do Documento ]=NOTAFISC
[Codigo do Documento ]="NF1"
[Tipo de Movimento   ]="E"
[Tipo de Operacao    ]="C"
[Data de Emissao     ]=[FaturaC->Data de Emissao]
[Codigo da Empresa   ]=[FaturaC->Codigo da Empresa]
[Sistema Gerador     ]="NF"
UnLockrecord

Moveto "FaturaI"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
While [Numero da OF]=[FaturaC->Numero da OF]

  Moveto "\\Sistemas\\Consigna\\IteMovim"
  End
  Down

  [Numero do Lancamento   ]=NUMEROL
  [Sequencia do Lancamento]=[FaturaI->Item da OF             ]
  [Codigo do Item         ]=[FaturaI->Codigo do Item         ]
  [Codigo da Cor          ]=[FaturaI->Codigo da Cor_Tecido   ]
  [Tamanho do Item        ]=[FaturaI->Tamanho                ]
  [Descricao da Cor       ]=[FaturaI->Descricao da Cor_Tecido]
  [Quantidade             ]=[FaturaI->Quantidade             ]
  [Valor Unitario         ]=[FaturaI->Preco Unitario         ]
  [Valor Total            ]=[FaturaI->Preco Total            ]
  UnLockrecord

  Moveto "\\Sistemas\\Consigna\\IteSaldo"
  Locate [FaturaC->Codigo],[FaturaI->Codigo do Item],
         [FaturaI->Codigo da Cor_Tecido], [FaturaI->Tamanho],
         AlinhM(StrVal(Year([FaturaC->Data de Emissao])),4),
         AlinhM(StrVal(Month([FaturaC->Data de Emissao])),2)
  If Not RetVal
     Then End
          Down
          [Codigo do Cliente]=[FaturaC->Codigo              ]
          [Codigo do Item   ]=[FaturaI->Codigo do Item      ]
          [Codigo da Cor    ]=[FaturaI->Codigo da Cor_Tecido]
          [Tamanho do Item  ]=[FaturaI->Tamanho             ]
          [Ano Referencia   ]=AlinhM(StrVal(Year([FaturaC->Data de Emissao])),4)
          [Mes Referencia   ]=AlinhM(StrVal(Month([FaturaC->Data de Emissao])),2)
  EndIf
  [Entradas]=[Entradas]+[FaturaI->Quantidade]
  UnLockRecord

  Moveto "\\Sistemas\\Consigna\\CabSaldo"
  Moveto [Codigo do Cliente]
  Locate [FaturaC->Codigo],[FaturaI->Codigo do Item],
         [FaturaI->Codigo da Cor_Tecido], [FaturaI->Tamanho]
  If Not Retval
     Then End
          Down
          [Codigo do Cliente]=[FaturaC->Codigo                 ]
          [Codigo do Item   ]=[FaturaI->Codigo do Item         ]
          [Codigo da Cor    ]=[FaturaI->Codigo da Cor_Tecido   ]
          [Tamanho do Item  ]=[FaturaI->Tamanho                ]
          [Descricao da Cor ]=[FaturaI->Descricao da Cor_Tecido]
          UnLockRecord
  Endif

  Moveto "FaturaI"
  Skip
  If EOT() Then QuitLoop EndIf
EndWhile

Moveto "FaturaC"
EndProc   ; (Consignacao)

;**** Rotina Principal *****
Consignacao()

Release Procs Consignacao
