#Include 'Protheus.ch' #Include 'FWMVCDEF.CH' #INCLUDE 'FWEDITPANEL.CH' #DEFINE CPROG "Cli_x_Vlr" User Function Cli_x_Vlr() Local lRet := .F. Local aEnableButtons := {{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.T.,Nil},{.T.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil}} If SA1->A1_MSBLQL == '1' lOk := ( FWExecView('Despesas Comerciais - Visualizar', CPROG, MODEL_OPERATION_VIEW ,/**/,/* */,/**/,,aEnableButtons ) == 0 ) //"Valores Acessórios"###"Alteração" Else lOk := ( FWExecView('Despesas Comerciais - Editar' , CPROG, MODEL_OPERATION_UPDATE,/**/,/* */,/**/,,aEnableButtons ) == 0 ) //"Valores Acessórios"###"Alteração" EndIf Return lRet Static Function ModelDef() Local oModel := MPFormModel():New( "CLIXVLRM",/*Pre*/,/*Pos*/, {|oModel| fGRV( oModel )} /*Commit*/ ) Local oSA1 := FWFormStruct(1, 'SA1') Local oZ21 := FWFormStruct(1, 'Z21') //Local bInitDesc := FWBuildFeature( STRUCT_FEATURE_INIPAD, 'IIF(!INCLUI,Posicione("Z20",1, xFilial("Z20") + Z20->Z20_CODIGO,"Z20_DESC"),"")') Local aAuxChv := {} oZ21:AddField( "Desc Despesas" ,; // [01] Titulo do campo "Desc Despesas" ,; // [02] ToolTip do campo "Z21_NDESP" ,; // [03] Id do Field "C" ,; // [04] Tipo do campo 30 ,; // [05] Tamanho do campo 0 ,; // [06] Decimal do campo { || .T. } ,; // [07] Code-block de validação do campo { || .F. } ,; // [08] Code-block de validação When do campo ,; // [09] Lista de valores permitido do campo .F. ,; // [10] Indica se o campo tem preenchimento obrigatório ,; // [11] Inicializador Padrão do campo ,; // [12] ,; // [13] .T.) // [14] Virtual oZ21:AddTrigger( "Z21_CODZ20", "Z21_NDESP" , {|| .T. },{|oModel| Posicione("Z20",1,xFilial("Z20")+oModel:GetValue("Z21_CODZ20"),"Z20_DESC")}) oSA1:SetProperty('*',MODEL_FIELD_OBRIGAT, .F.) oModel:AddFields("SA1MASTER",/*cOwner*/ , oSA1) oModel:AddGrid("Z21DETAIL" ,"SA1MASTER", oZ21) oModel:SetPrimaryKey({'A1_FILIAL','A1_COD','A1_LOJA'}) oModel:GetModel( 'Z21DETAIL' ):SetUniqueLine( { 'Z21_CODZ20' } ) aAdd( aAuxChv, {"Z21_FILIAL","FwXFilial('Z21')"} ) aAdd( aAuxChv, {"Z21_CODSA1","A1_COD"}) aAdd( aAuxChv, {"Z21_LOJA","A1_LOJA"}) oModel:SetRelation("Z21DETAIL", aAuxChv , Z21->(IndexKey(2) ) ) Return oModel Static Function ViewDef() Local oView := FWFormView():New() Local oModel := FWLoadModel( CPROG ) Local oSA1 := FWFormStruct( 2, 'SA1', { |x| ALLTRIM(x) $ 'A1_COD, A1_LOJA, A1_NOME, A1_EST, A1_MUN' }) Local oZ21 := FWFormStruct( 2, 'Z21', { |x| ALLTRIM(x) $ 'Z21_CODZ20, Z21_VALOR' }) oSA1:SetNoFolder() oZ21:AddField("Z21_NDESP", "30", "Desc Despesa", "Desc Despesa", {}, "G", "@!",/*bPictVar*/,/*cLookUp*/,/*lCanChange*/,/*cFolder*/)//"Descricao da despesa" oZ21:SetProperty( 'Z21_CODZ20' , MVC_VIEW_ORDEM, '1') oZ21:SetProperty( 'Z21_NDESP' , MVC_VIEW_ORDEM, '2') oZ21:SetProperty( 'Z21_VALOR' , MVC_VIEW_ORDEM, '3') oView:SetModel( oModel ) oView:AddField( 'VIEW_SA1', oSA1, 'SA1MASTER' ) oView:AddGrid("VIEW_Z21" ,oZ21,"Z21DETAIL") oView:SetOnlyView('VIEW_SA1') oView:CreateHorizontalBox( 'BOXSA1', 027 ) oView:CreateHorizontalBox( 'BOXZ21', 073 ) oView:SetOwnerView('VIEW_SA1', 'BOXSA1') oView:SetOwnerView('VIEW_Z21', 'BOXZ21') //oView:EnableTitleView('VIEW_SA1' , 'Cliente') oView:EnableTitleView('VIEW_Z21' , 'Despesas') Return oView Static Function fGRV(oModel) Return .t.