Pagetitle |
---|
| A300STRU - Manipulação do ModelDef e ViewDef na rotina de manutenção de contratos |
---|
| A300STRU - Manipulação do ModelDef e ViewDef na rotina de manutenção de contratos |
---|
|
Ponto-de-Entrada: A300STRU - Manipulação do ModelDef e ViewDef na rotina de manutenção de contratos.
Abrangências: | Microsiga Protheus 12 | Versões: | Microsiga Protheus 12 | Compatível Países: | Todos | Sistemas Operacionais: | Todos | Compatível às Bases de Dados: | Todas TotvsDbAccess | Idiomas: | Português (Brasil) |
Descrição:Ponto de entrada chamado nas definições de model e view da manutenção de contratos de compras e de vendas (após todas as definições padrões da rotina). Esse ponto de entrada permite a manipulação do modelo de dados e da interface, no intuito de adicionar abas e campos personalizados. Programa Fonte CNTA300 CNTA301 Retorno Parâmetros:Ordem | Tipo | Descrição | Referência |
---|
1 | Caractere | Local de chamada do ponto de entrada. Valores possíveis: - "MODELDEF" - Se chamado do ModelDef do CNTA300 ou CNTA301;
- "VIEWDEF" - Se chamado da ViewDef do CNTA300 ou CNTA301.
| Não | 2 | Caractere | Tipo de contrato que está sendo manipulado. Valores possíveis: - "C" - Contrato de compra (chamado do CNTA300);
- "V" - Contrato de venda (chamado do CNTA301).
| Não | 3 | Objeto | Objeto com as definições do model ou da view, conforme local de chamada do ponto de entrada. - Se chamado do "MODELDEF", será um objeto da classe MPFormModel;
- Se chamado da "VIEWDEF", será um objeto da classe FWFormView.
Esse parâmetro é informado por referência, então basta realizar as alterações no mesmo, que essas serão aplicadas na rotina padrão.
| Sim |
Retorno Não há um retorno esperado para esse ponto de entrada. A personalização do modelo de dados e interface deverá ser aplicada diretamente no terceiro parâmetro recebido, que são objetos informados por referência. Dessa forma, as alterações já serão aplicadas na rotina aRet - Vetor com as opções a serem adicionadas no menu padrão.
Exemplos #Include #include " protheus.ch" #Include #include " parmtype.ch" User Function CN230ROTA300STRU() Local aRet := {} AADD( aRet, { "Teste123", "MsgInfo('Opção personalizada')", 0, 4 } ) Return aRet Local aParam := PARAMIXB Local cIdPonto := "" Local cCompVend := "" Local oModel := "" Local oView := "" Local oStruZZZ := Nil If aParam <> NIL cIdPonto := aParam[1] cCompVend := aParam[2] If cIdPonto == "MODELDEF" oModel := aParam[3] oStruZZZ := FWFormStruct( 1, "ZZZ" ) oModel:AddFields( "ZZZDETAIL", "CN9MASTER", oStruZZZ ) oModel:SetRelation( "ZZZDETAIL", { { "ZZZ_FILIAL", "FWxFilial('ZZZ')" }, { "ZZZ_NUMCTR", "CN9_NUMERO" }, { "ZZZ_REVISA", "CN9_REVISA" } }, ZZZ->( IndexKey( 1 ) ) ) ElseIf cIdPonto == "VIEWDEF" oView := aParam[3] oStruZZZ := FWFormStruct( 2, "ZZZ" ) oView:AddField( "VIEW_ZZZ", oStruZZZ, "ZZZDETAIL" ) oView:AddSheet( "FLDCNT", "Custom1", "TitleTeste" ) oView:CreateHorizontalBox( "TitleTeste2", 100,,, "FLDCNT", "Custom1" ) oView:SetOwnerView( "VIEW_ZZZ", "TitleTeste2" ) EndIf EndIf Return Nil
Informações complementares sobre o Model e a View do CNTA300 e CNTA301
Nomenclaturas de forms e grids do modelo:
- CN9MASTER - Cabeçalho do contrato;
- CNCDETAIL - Grid de fornecedor / cliente;
- CN8DETAIL - Grid de cauções;
- CNIDETAIL - Grid de notas fiscais de caução;
- CNADETAIL - Grid de planilhas;
- CNBDETAIL - Grid de itens das Planilhas;
- CXMDETAIL - Grid de agrupadores de estoque por planilha;
- CNFDETAIL - Grid de cronograma financeiro;
- CXIDETAIL - Grid de partes envolvidas do contrato;
- CNHDETAIL - Grid de multas;
- CNKDETAIL - Grid de documentos contratuais;
- CNXDETAIL - Grid de adiantamentos;
- CNUDETAIL - Grid de vendedores;
- CPDDETAIL - Grid de filial x contrato;
- CNZDETAIL - Grid de rateio de itens;
- CNSDETAIL - Grid de cronograma físico;
- CNNDETAIL - Grid de usuário x contrato;
- CNVDETAIL - Grid de cronograma contábil;
- CNWDETAIL - Grid de parcelas do cronograma contábil;
- CNTDETAIL - Grid de cauções retidas;
- CNGDETAIL - Grid de histórico do contrato;
- AGWDETAIL - Grid de localizações físicas;
- CXLDETAIL - Grid de itens do reajuste automático;
- CNDDETAIL - Grid de medição do contrato;
Nomenclaturas das estruturas de interface (view):
- FLDCNT - Folder inferior da manutenção de contrato:
Image Added
- FLDPLAN - Folder inferior da aba "Planilhas":
Image Added
|