Abrangências: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Versões: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Idiomas: | Português (Brasil) |
Este ponto de entrada está localizado na rotina Atend. Modelo 2 (VEIXA018). Tem como finalidade validar o percentual de resultado mínimo comercial permitindo a criação de validações customizadas retornando o percentual conforme desejar.
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ VEIXX007 º Autor ³ Andre Luis Almeida º Data ³ 08/04/10 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ Minimo Comercial Valor de Venda e Resultado x Margem Lucro º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºParametros³ nOpcao ( 1-Valor de Venda / 2-Resultado ) º±±
±±º ³ aMinCom (Vetor de Parametros/Retorno) º±±
±±º ³ aMinCom[01] = Chassi Interno (CHAINT) º±±
±±º ³ aMinCom[02] = Marca do Veiculo º±±
±±º ³ aMinCom[03] = Modelo do Veiculo º±±
±±º ³ aMinCom[04] = Segmento do Modelo º±±
±±º ³ aMinCom[05] = Cor do Veiculo º±±
±±º ³ aMinCom[06] = Valor Negociacao º±±
±±º ³ aMinCom[07] = Valor Sugerido Venda º±±
±±º ³ aMinCom[08] = % de Valor de Venda do Minimo Comercial º±±
±±º ³ aMinCom[09] = % do Resultado na Negociacao º±±
±±º ³ aMinCom[10] = % do Resultado Minimo Comercial permitido º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ Veiculos -> Novo Atendimento º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Function VEIXX007(nOpcao,aMinCom)
Local nVlrVdaM := 0 // Valor Minimo Comercial
Local nVlrDiff := 0
If !Empty(aMinCom[1])
VV1->(DbSetOrder(1))
VV1->(DbSeek(xFilial("VV1")+aMinCom[01]))
aMinCom[02] := VV1->VV1_CODMAR
aMinCom[03] := VV1->VV1_MODVEI
aMinCom[04] := VV1->VV1_SEGMOD
aMinCom[05] := VV1->VV1_CORVEI
aMinCom[07] := FGX_VLRSUGV( aMinCom[1] , aMinCom[02] , aMinCom[03] , aMinCom[04] , aMinCom[05] , .t. ) // Valor Sugerido para Venda do Veiculo ( VVP (vlr tabela) + VVC (vlr cor adicional) )
aMinCom[08] := VV1->VV1_MNVLVD // % de Valor de Venda do Minimo Comercial
aMinCom[10] := VV1->VV1_MNCOMV // % do Resultado Minimo Comercial permitido
EndIf
VV2->(DbSetOrder(1))
If VV2->(DbSeek(xFilial("VV2")+aMinCom[02]+aMinCom[03]))
If nOpcao == 1 // Valor de Venda Minimo Comercial
If aMinCom[07] == 0
aMinCom[07] := FGX_VLRSUGV( "" , aMinCom[02] , aMinCom[03] , aMinCom[04] , aMinCom[05] , .t. ) // Valor Sugerido para Venda do Veiculo ( VVP (vlr tabela) + VVC (vlr cor adicional) )
EndIf
If left(GetNewPar("MV_MINCVDU","0"),1) $ "1/S" // Utiliza Minimo Comercial como Valor Sugerido de Venda
aMinCom[08] := 0
Else
If aMinCom[08] == 0
aMinCom[08] := VV2->VV2_MNVLVD // % de Valor de Venda do Minimo Comercial do Modelo do Veiculo
If aMinCom[08] == 0
aMinCom[08] := GetNewPar("MV_MINCVLV",0) // % de Valor de Venda do Minimo Comercial Geral
EndIf
EndIf
EndIf
nVlrVdaM := ( aMinCom[07] * ( aMinCom[08] / 100 ) ) // Valor Minimo Comercial (Vlr de Venda - % Minimo Comercial)
nVlrDiff := ( aMinCom[06] - nVlrVdaM )
DEFINE MSDIALOG oDlgMinCom TITLE "Minimo Comercial" FROM 00,00 TO 15,44 OF oMainWnd // Minimo Comercial
@ 011,018 SAY ("Valor de Tabela"+":") SIZE 80,20 OF oDlgMinCom PIXEL COLOR CLR_BLUE // Valor de Tabela
@ 010,085 MSGET oVlTabel VAR aMinCom[07] PICTURE "@E 999,999,999.99" SIZE 70,08 OF oDlgMinCom PIXEL COLOR CLR_BLUE WHEN .f.
@ 026,018 SAY ("% Minimo Comercial"+":") SIZE 80,20 OF oDlgMinCom PIXEL COLOR CLR_BLUE // % Minimo Comercial
@ 025,085 MSGET oPerVdaM VAR aMinCom[08] PICTURE "@E 9999.99 %" SIZE 70,08 OF oDlgMinCom PIXEL COLOR CLR_BLUE WHEN .f.
@ 041,018 SAY ("Valor Minimo Comercial"+":") SIZE 80,20 OF oDlgMinCom PIXEL COLOR CLR_BLUE // Valor Minimo Comercial
@ 040,085 MSGET oVlrVdaM VAR nVlrVdaM PICTURE "@E 999,999,999.99" SIZE 70,08 OF oDlgMinCom PIXEL COLOR CLR_BLUE WHEN .f.
@ 056,018 SAY ("Valor Negociado"+":") SIZE 80,20 OF oDlgMinCom PIXEL COLOR CLR_BLUE // Valor Negociado
@ 055,085 MSGET oValMov VAR aMinCom[06] PICTURE "@E 999,999,999.99" SIZE 70,08 OF oDlgMinCom PIXEL COLOR CLR_BLUE WHEN .f.
If nVlrDiff == 0
@ 071,070 BITMAP oxBranMC RESOURCE "BR_BRANCO" OF oDlgMinCom NOBORDER SIZE 10,10 when .f. PIXEL
ElseIf nVlrDiff > 0
@ 071,070 BITMAP oxVerdMC RESOURCE "BR_VERDE" OF oDlgMinCom NOBORDER SIZE 10,10 when .f. PIXEL
Else
@ 071,070 BITMAP oxVermMC RESOURCE "BR_VERMELHO" OF oDlgMinCom NOBORDER SIZE 10,10 when .f. PIXEL
EndIf
@ 070,085 MSGET oVlrDiff VAR nVlrDiff PICTURE "@E 999,999,999.99" SIZE 70,08 OF oDlgMinCom PIXEL COLOR CLR_BLUE WHEN .f.
DEFINE SBUTTON FROM 091,130 TYPE 1 ACTION (oDlgMinCom:End()) ENABLE OF oDlgMinCom // Botao OK
ACTIVATE MSDIALOG oDlgMinCom CENTER
ElseIf nOpcao == 2 // Resultado do Minimo Comercial
If aMinCom[10] == 0
aMinCom[10] := VV2->VV2_MNCOMV // % do Resultado Minimo Comercial permitido do Modelo do Veiculo
If aMinCom[10] == 0
aMinCom[10] := GetNewPar("MV_MINCOMV",0) // % do Resultado Minimo Comercial permitido Geral
EndIf
EndIf
///////////////////////////////////////////////////////////
// Customiza o % do Resultado Minimo Comercial permitido //
///////////////////////////////////////////////////////////
If ExistBlock("VX007RMC")
aMinCom[10] := ExecBlock("VX007RMC",.f.,.f.,{aMinCom[10]})
EndIf
VEIXA018, VX007RMC
VX007RMC - Validação de percentual do resultado minimo comercial. ( [ aMinCom[10] ] ) --> nPercRet
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
aMinCom[10] | Vetor | Percentual do resultado do minimo comercial padrão calculado pelo sistema. |
-
nPercRet(numerico)
- Percentual do resultado do minimo comercial padrão calculado de acordo com o ponto de entrada.
#include "Protheus.ch"/*===============================================================================#################################################################################+----------+----------+-------+-------------------------+------+----------+####|Funcao | VX007RMC | Autor | Otavio Favarelli | Data | 25/03/11 |####+----------+----------+-------+-------------------------+------+----------+####|Descricao | Ponto de Entrada para retornar o % de Resultado do Minimo |####| | Comercial permitido a ser validado no Atendimento de Veiculo |####+----------+--------------------------------------------------------------+####|Uso | Atendimento Veiculo |####+----------+--------------------------------------------------------------+#################################################################################===============================================================================*/User Function VX007RMC()Local nPercRet := ParamIxb[1] // % levantado pela rotina padrao VEIXX007MsgInfo("O ponto de entrada VX007RMC foi executado! 25/03/2011.","Atencao!")Return nPercRet // Retorna o % minimo permitido
Nome | Tipo | Escopo | Pode Alterar | descrição | ||||||||||
Array of Record | Global | Não |