Portal Vendedor - Pedido de Vendas

Gostaria de adicionar alguns campos na cabec do formulário de pedido de vendas do portal do vendedor alguém tem algum exemplo que possa compartilhar?? Esses campos são necessário para inclusão do pedido de vendas por ser campos obrigatórios.

Com muita pesquisa achei uma informação útil

1º Adicionar este ponto de entrada, ele é chamado no fonte


#Include 'Protheus.ch'
#Include "RwMake.ch"

User Function PEF053()

Local aReturn := {}
Local nTipo := PARAMIXB[1]

Do Case
    Case nTipo == 1 // Cabecalho
        aAdd( aReturn, { "ORDERID", "D" } )  

        aAdd( aReturn, { "CUSTOMERCODE", "N",  { "BRWCUSTOMER", ;
                                                    { "CCUSTOMERCODE", "CCODE" }, ;
                                                    { "CCUSTOMERUNIT", "CUNIT" } ;
                                                }, ;
                                                { "CCODE", "CUNIT", "CDESCRIPTION" } } )

        aAdd( aReturn, "CUSTOMERUNIT" )
        aAdd( aReturn, { "CARRIERCODE", "N", { "GETCARRIER", ;
                                                { "CCARRIERCODE", "CCODE" } ;
                                                }, ;
                                                { "CCODE", "CDESCRIPTION" } } )
        aAdd( aReturn, { "PAYMENTPLANCODE", "N", { "BRWPAYMENTPLAN", ;
                                                    { "CPAYMENTPLANCODE", "CPAYMENTPLANCODE" } ;
                                                    }, ;
                                                    { "CPAYMENTPLANCODE", "CDESCRIPTIONPAYMENTPLAN" } } )
        aAdd( aReturn, "PRICELISTCODE" )
        aAdd( aReturn, { "REGISTERDATE", "D" } )
        aAdd( aReturn, "BIDNUMBER" )
        aAdd( aReturn, { "FREIGHTVALUE", "D" } )
        aAdd( aReturn, { "INSURANCEVALUE", "D" } )
        aAdd( aReturn, { "ADDITIONALEXPENSEVALUE", "D" } )
        aAdd( aReturn, { "INDEPENDENTFREIGHT", "D" } )
        aAdd( aReturn, { "ADJUSTMENTTYPE", "D" } )
        aAdd( aReturn, { "SALESORDERCURRENCY", "N" } )
        aAdd( aReturn, { "NETWEIGHT", "D" } )
        aAdd( aReturn, { "GROSSWEIGHT", "D" } )
        aAdd( aReturn, { "REDELIVERYCARRIERCODE", "D" } )
        aAdd( aReturn, { "FINANCIALINCREASE", "D" } )
        aAdd( aReturn, { "INVOICEMESSAGE", "N" } )
        aAdd( aReturn, { "STANDARDMESSAGE1", "D" } )
        aAdd( aReturn, { "INDEMNITYVALUE", "D" } )
        aAdd( aReturn, { "INDEMNITYPERCENTAGE", "D" } )
        aAdd( aReturn, { "C5_XFORMA", "C" } )
        aAdd( aReturn, { "C5_XORC", "C" } )
    CASE nTipo == 2
        aAdd( aReturn, { "ORDERITEM", "D", 2 } )
        aAdd( aReturn, { "PRODUCTID", "N", { "GETCATALOG", ;
                                                        { "CPRODUCTID", "CPRODUCTCODE" }, ; 
                                                        { "CPRODUCTDESCRIPTION", "CDESCRIPTION"} ; 
                                                    }, ;   
                                                    { "CPRODUCTCODE", "CDESCRIPTION" }, 13 } )
        aAdd( aReturn, { "PRODUCTDESCRIPTION", "N", 30, .T. } )
        aAdd( aReturn, { "QUANTITY", "N", 3 } )
        aAdd( aReturn, { "NETUNITPRICE", "N", 9, .T. } )
        aAdd( aReturn, { "DISCOUNTPERCENTAGE", "N", 3 } )
        aAdd( aReturn, { "CUSTOMERORDERNUMBER", "N", 5 } )
        aAdd( aReturn, { "NETTOTAL", "N", 0, .F. } )
Endcase
return aReturn

2º Criar outro fonte, este por sua vez responsável por adicionar ele ao dicionário do portal.


#Include 'Protheus.ch'
#Include "RwMake.ch"

User Function WSUSRFIELD()

    Local cTabela := PARAMIXB[1]
    Local aReturn := {}

    Do Case
        Case cTabela == "SC5"
            aAdd( aReturn,"C5_XORC")
            aAdd( aReturn,"C5_XFORMA")
    EndCase

Return aReturn

Bom dia, isso serve para o portal FGV?