× Linguagem de Programação ADVPL

Perguntas Urgente

Mais
11 anos 6 meses atrás #13695 por de019
Urgente foi criado por de019
Galera estou precisando de um modelo para um fonte q vai fazer o seguinte

Preciso montar um gatilho em Advpl, que quando o cara digita o valor de desconto no pedido de venda o valor do produto altera tbm igualando ao valor de desconto...
exemplo... esta assim: Preço do produto 100
Valor total 100
Ai altero para: Preço do Produto 100
Deconto 10%
Valor total 90
Preciso de: Preço do Produto 100
Desconto 10%
Valor Total 90

Quando fizer isso ele automaticamente passa para:
Preço do Produto 90
Desconto 0
Valor Total 90


No geral eh isso aqui

Gravar C6_PRUNIT em C6_XPREGRA
Gravar C6_VALDESC em C6_XVLRDES
Gravar C6_DESCONT em C6_XPERDES
Gravar C6_PRCVEN em C6_PRUNIT
gravar o zero em C6_DESCONT e C6_VALDESC
recalcular o pedido

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13732 por rcaps
Respondido por rcaps no tópico Urgente
Olá André !

Tenho uma rotina semelhante só que é aplicada no Call Center ( tabelas SUA e SUB ) mas que podem servir de exemplo
trocando os campos e as tabelas, mas o conceito é o mesmo, e esta rotina foi colocada em um botão da barra de ferramentas do Atendimento do Call Center :

#Include "PROTHEUS.CH"
/*
*/
User Function Desconta()
/*
*/
Local oBitmap1
Local oButton1
Local oButton2
Local oFont1 := TFont():New("Arial Rounded MT Bold",,018,,.F.,,,,,.F.,.F.)
Local oGet1
Local nGet1 := 0
Local oPanel1
Local oSay1
Local oSay2
Static oDlg
cFileLogo := GetSrvProfString('Startpath','') + 'LOGOALISPEC2' + '.JPG'

DEFINE MSDIALOG oDlg TITLE "Desconto Comercial" FROM 000, 000 TO 200, 500 COLORS 0, 8948277 PIXEL

@ 001, 002 MSPANEL oPanel1 SIZE 249, 099 OF oDlg COLORS 0, 16777215 RAISED
@ 004, 008 BITMAP oBitmap1 SIZE 040, 021 OF oPanel1 FILENAME cFileLogo NOBORDER PIXEL
@ 019, 068 SAY oSay1 PROMPT "Aplicação de Desconto - Alispec" SIZE 128, 007 OF oPanel1 FONT oFont1 COLORS 8388608, 16777215 PIXEL
@ 054, 005 SAY oSay2 PROMPT "Percentual do Desconto :" SIZE 100, 007 OF oPanel1 FONT oFont1 COLORS 0, 16777215 PIXEL
@ 052, 101 MSGET oGet1 VAR nGet1 SIZE 036, 011 OF oPanel1 PICTURE "@E 999.99" COLORS 0, 16777215 FONT oFont1 PIXEL
@ 050, 173 BUTTON oButton1 PROMPT "Aplicar o Desconto" SIZE 050, 012 OF oPanel1 Action (AplicDesc(nGet1),oDlg:End()) WHEN ALTERA .OR. INCLUI PIXEL
@ 074, 173 BUTTON oButton2 PROMPT "Cancelar" SIZE 050, 012 OF oPanel1 action oDlg:End() PIXEL

ACTIVATE MSDIALOG oDlg CENTERED

Return

/*
*/
Static Function AplicDesc(Desc)
/*
*/
xFator := ((100 - Desc)/ 100)
For i:= 1 to Len(Acols)
// If MsgYesNo("Aplicar para o Item - "+strzero(i,3)+" ? ","Atenção") -> use se quiser fazer em um item específic
If Acols[8] <> 0
aCols[14] := aCols[6]
aCols[8] := 0
aCols[9] := 0
Loop
Endif
Acols[6] := Round((aCols[6] * xFator),2)
Acols[14] := Acols[14] * xFator
TK273RECALC(i,.T.) // -> recálculo dos impostos e totais item a item ( função interna do Protheus )
// Endif
Next

Return

Abraço.

Raul

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13738 por de019
Respondido por de019 no tópico Urgente
Po Raul... Obrigadão hein...

Eu passei uma outra opção para o coordenador do projeto... dei a opção de ele cadastrar as TES para calcular os impostos sobre o valor liquido... Ele ficou de passar para os diretores... caso não aprovem seu fonte vai ser uma mão na roda... rs...

Valeu!!!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.141 segundos
Joomla templates by a4joomla