Árvore de páginas

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()