Descrição: Ponto de entrada que permite a manipulação dos textos utilizados na identificação dos componentes da estrutura, na tela Comparação de Estruturas.
Eventos: O ponto de entrada será executado sempre ao adicionar um item nas estruturas que estão sendo comparadas.
Programa fonte: MATA200.PRW / PCPA200.PRW
Sintaxe: M200CPTX - Manipulação dos textos nos componentes da estrutura ( [ cTexto ], [ cCodPai ], [ cComp ], [ cDescri ], [ cTRT ], [ nQtde ], [ cRevIni ], [ cRevFim ] ) --> cRet
Parâmetro:
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|
cTexto | Caracter | Texto original. |
|
|
|
cCodPai | Caracter | Código do produto cuja estrutura está sendo comparada. |
|
|
|
cComp | Caracter | Código do componente. |
|
|
|
cDescri | Caracter | Descrição do componente. |
|
|
|
cTRT | Caracter | Sequência do componente. |
|
|
|
nQtde | Numérico | Quantidade do componente na estrutura. |
|
|
|
cRevIni | Caracter | Revisão inicial. |
|
|
|
cRevFim | Caracter |
|
|
|
|
Retorno:
cRet(caracter) Texto a ser utilizado como identificação do componente na estrutura.
Exemplo:
Bloco de código |
---|
language | cpp |
---|
title | Exemplo de implementação: |
---|
linenumbers | true |
---|
collapse | true |
---|
|
#INCLUDE 'TOTVS.CH'
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'RWMAKE.CH'
User Function M200CPTX()
Local cTexto := PARAMIXB[1] // Texto original, já com o TRT e a QTDE adicionados por padrão do sistema
Local cCodPai := PARAMIXB[2] // Código do item pai
Local cComp := PARAMIXB[3] // Código do componente que está sendo inserido na árvore
Local cDescri := PARAMIXB[4] // Descricao do Produto (B1_DESC)
Local cTRT := PARAMIXB[5] // Sequencia TRT do item na estrutura
Local nQtde := PARAMIXB[6] // Quantidade do item na estrutura
Local cRevIni := PARAMIXB[7] // Revisão Inicial do Item na estrura
Local cRevFim := PARAMIXB[8] // Revisão Final do Item na estrura
Local nTamCod := TamSX3("B1_COD")
Local nTamQtd := TamSX3("G1_QUANT")
Local cQuant := ""
Local cRet := ""//Customizações
If !(Empty(cComp))
SB1->(dbSetOrder(1))
If SB1->(dbSeek(xFilial("SB1") + cComp, .F.)) // Posiciona no produto para obter sua descrição
cRet := AllTrim(cComp) + " - " + SB1->B1_DESC + Space(nTamCod[1] - Len(AllTrim(cComp)))
EndIf
If !Empty(cTRT)
cTRT := " | "+cTRT
EndIf
cQuant := " | "+AllTrim(Str(nQtde, nTamQtd[1], nTamQtd[2]))
If !(Empty(cCodPai)) .And. !(cCodPai == cComp) // itens internos da estrutura
cRet := Pad(AllTrim(cRet)+cQuant+cTRT, Len(cRet+cQuant+cTRT))
EndIf
Else
cRet := cTexto
EndIf// Restaura as áreas originaisRestArea(aAreaSB1)RestArea(aArea)
Return cRet |