User Function VldCabZH() Local lRet := .T. Local cCpo := AllTrim(ReadVar()) Local cDsc := "" Local oModel := FwModelActive() Local nOperation := oModel:GetOperation() If cCpo == "M->ZH_TIPOPRO" If (nOperation == MODEL_OPERATION_INSERT .AND. M->ZH_TIPOPRO == "1") Alert("Tipo de Promoção não pode ser normal ou preço por quantidade, selecione outra opção!") Return(.F.) EndIF If !Empty(M->ZH_TIPOPRO) cDsc := RetTpProm(M->ZH_TIPOPRO,"") IF M->ZH_TIPOPRO == "B" cDsc := "PRODUTOS VENCIDOS" ENDIF EndIf If !Empty(DTOC(M->ZH_DATAINI)) .AND. DTOC(M->ZH_DATAINI) != " / / " cDsc += " - DE " + DTOC(M->ZH_DATAINI) EndIf If !Empty(DTOC(M->ZH_DATAFIM)) .AND. DTOC(M->ZH_DATAFIM) != " / / " cDsc += " ATÉ " + DTOC(M->ZH_DATAFIM) EndIf If !Empty(M->ZH_TABPRC) cDsc += " - " + M->ZH_TABPRC EndIf ElseIf cCpo == "M->ZH_DATAINI" If !Empty(M->ZH_TIPOPRO) cDsc := RetTpProm(M->ZH_TIPOPRO,"") EndIf If !Empty(DTOC(M->ZH_DATAINI)) .AND. DTOC(M->ZH_DATAINI) != " / / " cDsc += " - DE " + DTOC(M->ZH_DATAINI) EndIf If !Empty(DTOC(M->ZH_DATAFIM)) .AND. DTOC(M->ZH_DATAFIM) != " / / " cDsc += " ATÉ " + DTOC(M->ZH_DATAFIM) EndIf If !Empty(M->ZH_TABPRC) cDsc += " - " + M->ZH_TABPRC EndIf ElseIf cCpo == "M->ZH_DATAFIM" If !Empty(M->ZH_TIPOPRO) cDsc := RetTpProm(M->ZH_TIPOPRO,"") EndIf If !Empty(DTOC(M->ZH_DATAINI)) .AND. DTOC(M->ZH_DATAINI) != " / / " cDsc += " - DE " + DTOC(M->ZH_DATAINI) EndIf If !Empty(DTOC(M->ZH_DATAFIM)) .AND. DTOC(M->ZH_DATAFIM) != " / / " cDsc += " ATÉ " + DTOC(M->ZH_DATAFIM) EndIf If !Empty(M->ZH_TABPRC) cDsc += " - " + M->ZH_TABPRC EndIf ElseIf cCpo == "M->ZH_TABPRC" If !Empty(M->ZH_TIPOPRO) cDsc := RetTpProm(M->ZH_TIPOPRO,"") EndIf If !Empty(DTOC(M->ZH_DATAINI)) .AND. DTOC(M->ZH_DATAINI) != " / / " cDsc += " - DE " + DTOC(M->ZH_DATAINI) EndIf If !Empty(DTOC(M->ZH_DATAFIM)) .AND. DTOC(M->ZH_DATAFIM) != " / / " cDsc += " ATÉ " + DTOC(M->ZH_DATAFIM) EndIf If !Empty(M->ZH_TABPRC) cDsc += " - " + M->ZH_TABPRC EndIf EndIf oModel:SetValue("SZHMASTER", "ZH_DESCRI", cDsc) Return(lRet)