Histórico da Página
Ponto de Entrada
Descrição: | Ponto de Entrada na rotina Inventario de Pecas (OFIPM040) executado após ordenar a sequencia que será feita a contagem/digitação, antes da impressão das folhas de contagem, tem a finalidade de possibilitar a customização para manipular na sequencia das Pecas para a Contagem. |
Parâmetros: | VPE->VPE_CODIGO - Nro do Inventario |
Eventos: | DbSelectArea("VPF") ProcRegua(RecCount()/800) cQuery := "SELECT VPF.R_E_C_N_O_ RECVPF FROM "+RetSqlName("VPF")+" VPF " cQuery += "WHERE VPF.VPF_FILIAL='"+cFilVPF+"' AND VPF.VPF_CODIGO='"+VPE->VPE_CODIGO+"' AND VPF.VPF_CODITE<>' ' AND VPF.D_E_L_E_T_=' ' " cQuery += "ORDER BY VPF.VPF_ALMOX , VPF.VPF_LOCAC , VPF.VPF_CODITE " dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cQAlias, .F., .T. ) Do While !( cQAlias )->( Eof() ) // ni++ If ni == 800 ni := 0 IncProc(STR0053) // "Gerando Relacao dos Itens..." EndIf VPF->(DbGoTo(( cQAlias )->( RECVPF ))) If VPF->VPF_OK == "0" .and. !Empty(VPF->VPF_ALMOX+VPF->VPF_LOCAC+VPF->VPF_GRUITE+VPF->VPF_CODITE) If cAgrup == "S" If cAgrAx <> VPF->VPF_ALMOX+VPF->VPF_LOCAC+VPF->VPF_CODITE cAgrAx := VPF->VPF_ALMOX+VPF->VPF_LOCAC+VPF->VPF_CODITE Else niI-- EndIf EndIf niI++ If niI > 25 .or. cAlm <> VPF->VPF_ALMOX cAlm := VPF->VPF_ALMOX niI := 1 niF++ EndIf DbSelectArea("VPF") RecLock("VPF",.f.) VPF->VPF_NROREL := strzero(niF,6)+strzero(niI,2) VPF->VPF_OKDIG := "0" MsUnlock() Else DbSelectArea("VPF") RecLock("VPF",.f.) VPF->VPF_NROREL := " " VPF->VPF_OKDIG := "0" MsUnlock() EndIf // ( cQAlias )->( DbSkip() ) EndDo ( cQAlias )->( dbCloseArea() ) // //////////////////////////////////////////////////////////////////////////////////////// // PE utilizado para manipular/gravar a sequencia das Pecas para a Contagem // // Ordem Default: VPF_ALMOX (Local) + VPF_LOCAC (Endereco) + VPF_CODITE (Cod.Item) // //////////////////////////////////////////////////////////////////////////////////////// // ATENCAO - Alterar somente os registros que possuem conteudo no VPF->VPF_NROREL // // Campo a ser gravado: VPF->VPF_NROREL - Caracter 8 - Prencher com: NNNNNNII // // NNNNNN = Numero da Folha (de 000001 a 999999) // // II = Sequencia do Item na Folha (de 01 a 25 por folha) // //////////////////////////////////////////////////////////////////////////////////////// // RecLock("VPF",.f.) // // VPF->VPF_NROREL := NNNNNNII // // MsUnLock() // //////////////////////////////////////////////////////////////////////////////////////// If ExistBlock("OPM040SEQ") // ExecBlock("OPM040SEQ",.f.,.f.,{VPE->VPE_CODIGO}) // EndIf // //////////////////////////////////////////////////////////////////////////////////////// |
Programa Fonte: | OFIPM040 |
Função: | FS_IMPRIMIR() |
Retorno: |
|
Exemplo:
////////////////////////////////////////////////////////////////////////////////////////
// PE utilizado para manipular/gravar a sequencia das Pecas para a Contagem //
// Ordem Default: VPF_ALMOX (Local) + VPF_LOCAC (Endereco) + VPF_CODITE (Cod.Item) //
////////////////////////////////////////////////////////////////////////////////////////
// ATENCAO - Alterar somente os registros que possuem conteudo no VPF->VPF_NROREL //
// Campo a ser gravado: VPF->VPF_NROREL - Caracter 8 - Prencher com: NNNNNNII //
// NNNNNN = Numero da Folha (de 000001 a 999999) //
// II = Sequencia do Item na Folha (de 01 a 25 por folha) //
////////////////////////////////////////////////////////////////////////////////////////
// RecLock("VPF",.f.) //
// VPF->VPF_NROREL := NNNNNNII //
// MsUnLock() //
////////////////////////////////////////////////////////////////////////////////////////
User Function OPM040SEQ()
MsgInfo(“Ponto de Entrada OPM040SEQ executado com sucesso!”,”Atencao”)
Return()