import.css=/download/attachments/327912/newLayout.css |
Ponto-de-Entrada: OPM040DV - Customização do relatório Itens com divergência com o Estoque.
Descrição:
Ponto de Entrada na rotina Inventário de Peças (OFIPM040) executado ao invés do relatório padrão Itens com divergência com o Estoque, com a finalidade possibilitar a customização do relatório pelo cliente.
Eventos
Static Function FS_IMPDIV(nTp,aItens) Local ni := 0 Local nj := 0 Local cAlm := "INICIAL" Private cDesc1 := STR0001 // "INVENTARIO" Private cDesc2 := "" Private cDesc3 := "" Private tamanho := "M" Private limite := 132 Private cString := "VPF" Private titulo := STR0001+" ( "+VPE->VPE_CODIGO+" )" // "INVENTARIO" Private cabec1 := IIf(nTp==3,(STR0094+" -> "+STR0088),STR0098) // Proxima Fase -> Divergencia com o Estoque SEM possibilidade de digitacao / Imprimir Itens que ainda possuem divergencia com o estoque ou entre as contagens Private cabec2 := STR0095 // "Locacao Item Custo Unitario" Private aReturn := {STR0050,1,STR0051,1,2,1,"",1} // "Zebrado" / "Administracao" Private nomeprog:= "OFIPM040DIV" Private nLastKey:= 0 Private cPerg := nil aSort(aItens,1,,{|x,y| x[5]+x[6]+x[7]+x[8] < y[5]+y[6]+y[7]+y[8] }) If nTp == 3 .and. ExistBlock("OPM040DV") ExecBlock("OPM040DV",.f.,.f.,{nTp,aClone(aItens)}) Else nomeprog := SetPrint(cString,nomeprog,cPerg,@titulo,cDesc1,cDesc2,cDesc3,.F.,,,tamanho) If nLastKey == 27 Return EndIf SetDefault(aReturn,cString) nLin := 0 m_pag := 1 Set Printer to &nomeprog Set Printer On Set Device to Printer ProcRegua((len(aItens)/50)) For ni := 1 to len(aItens) If ( nTp == 3 .and. aItens[ni,2] == 3 ) .or. ( nTp <> 3 .and. aItens[ni,2] <> 3 ) If nj == 50 nj := 0 IncProc(STR0053) // "Gerando Relacao dos Itens..." EndIf If cAlm <> aItens[ni,5] .or. nLin > 60 cAlm := aItens[ni,5] nLin := cabec(Alltrim(titulo)+" - "+STR0049+cAlm,cabec1,cabec2,nomeprog,tamanho,15) + 1 // "Armazem: " EndIf SB1->(DbSetOrder(7)) SB1->(DbSeek(xFilial("SB1") + aItens[ni,7] + aItens[ni,8] )) SB2->(DbSetOrder(1)) SB2->(DbSeek(xFilial("SB2") + SB1->B1_COD + aItens[ni,5] )) @ nLin++,00 PSAY left(aItens[ni,6]+" "+aItens[ni,7]+" "+aItens[ni,8]+" "+aItens[ni,9]+space(110),110)+Transform(SB2->B2_CM1,"@E 999,999,999,999,999.99") EndIf Next DbSelectArea("VPF") Set Printer to Set Device to Screen If aReturn[5] == 1 OurSpool( nomeprog ) EndIf MS_Flush() EndIf Return
Programa Fonte
OFIPM040.PRW
Sintaxe
OPM040DV - Customização do relatório Itens com divergência com o Estoque. ( [ nxTp ], [ axItens ] )
Parâmetros:
Retorno
Observações
User Function OPM040DV()
Local nxTp := ParamIxb[1] Local axItens := ParamIxb[2] MsgInfo(“Ponto de Entrada OPM040DV executado!”,”Atencao”) return
Variáveis
|