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) |
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
Parâmetros:
Ordem | Tipo | Descrição | Referência |
---|---|---|---|
1 | Caractere | Local de chamada do ponto de entrada. Valores possíveis:
| Não |
2 | Caractere | Tipo de contrato que está sendo manipulado. Valores possíveis:
| Não |
3 | Objeto | Objeto com as definições do model ou da view, conforme local de chamada do ponto de entrada.
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 padrão.
Exemplos
#include "protheus.ch"
#include "parmtype.ch"
User Function A300STRU()
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
#include "parmtype.ch"
User Function A300STRU()
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:
- FLDPLAN - Folder inferior da aba "Planilhas":
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas