× Linguagem de Programação ADVPL

Perguntas F440COM

Mais
11 anos 1 mês atrás #17825 por mariotchak
F440COM foi criado por mariotchak
Senhores Boa Tarde,

estou com um problema que esta me deixando irritado. Aqui na empresa temos uma padronização de pagamento de comissão diferente para isso utilizei o PE F440COM que no momento da preparação do documento ele inclui a comissão.

Meu problema é que preciso incluir a comissão do gerente caso o vendedor possui gerente, basicamente assim Portanto escrevi as linhas abaixo mas ele nao consegue achar o campo E3_GEREN na tabela SE3, nao sei se preciso escrever algo a mais.

Isto é um resumo do que esta escrito no PE, os demais recursos estão funcionando OK.



IF SC5->C5_BASCNT <> '0' //caso devemos pagar a comissão

SE1->E1_BASCNT := SC5->C5_BASCNT

//Inclusão de comissão Gerente Contrato

cVend := SE1->E1_VEND1
cGeren := SA3->A3_GEREN //meu problema, ele nao "acha" o campo

dbselectarea("SA3")

If !SA3->(dbSetOrder(1), dbSeek(cVend))

if !Empty(cGeren) //se o campo gerente no cadastro de vendedor nao estiver vazio, prossigo

RecLock("SE3",.T.)
Replace E3_BASE With SE1->E1_VALOR, E3_COMIS With SE1->E1_VALOR*0.5,;
E3_FILIAL With xFilial(), E3_VEND With cGeren,;
E3_NUM With SE1->E1_NUM, E3_SERIE With SE1->E1_SERIE,;
E3_PORC With 50, E3_CODCLI With SE1->E1_CLIENTE,;
E3_LOJA With SE1->E1_LOJA, E3_EMISSAO With SE1->E1_EMISSAO,;
E3_PREFIXO With SE1->E1_PREFIXO, E3_PARCELA With SE1->E1_PARCELA,;
E3_TIPO With SE1->E1_TIPO, E3_ORIGEM With "E",;
E3_VENCTO With MonthSum( dDATABASE , 1 ), E3_MOEDA With "01",;
E3_PEDIDO With SC5->C5_NUM
msUnLock()

EndIf
EndIf

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17826 por cleber.orati
Respondido por cleber.orati no tópico F440COM
Na empresa que trabalho, para uma situação parecida, eu faço o preenchimento do C5_VEND2 e C5_COMIS2 caso haja comissão para o gerente, ou seja, colocamos o gerente também como vendedor, assim você deixa o fluxo do comissionamento no padrão Protheus.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17827 por kanaamlrr
Respondido por kanaamlrr no tópico F440COM
Mario,
tente dessa forma:
IF SC5->C5_BASCNT <> '0' //caso devemos pagar a comissão

SE1->E1_BASCNT := SC5->C5_BASCNT

//Inclusão de comissão Gerente Contrato

cVend := SE1->E1_VEND1

dbselectarea("SA3")

If !SA3->(dbSetOrder(1), dbSeek(cVend))
cGeren := SA3->A3_GEREN //meu problema, ele nao "acha" o campo

if !Empty(cGeren) //se o campo gerente no cadastro de vendedor nao estiver vazio, prossigo

RecLock("SE3",.T.)
Replace E3_BASE With SE1->E1_VALOR, E3_COMIS With SE1->E1_VALOR*0.5,;
E3_FILIAL With xFilial(), E3_VEND With cGeren,;
E3_NUM With SE1->E1_NUM, E3_SERIE With SE1->E1_SERIE,;
E3_PORC With 50, E3_CODCLI With SE1->E1_CLIENTE,;
E3_LOJA With SE1->E1_LOJA, E3_EMISSAO With SE1->E1_EMISSAO,;
E3_PREFIXO With SE1->E1_PREFIXO, E3_PARCELA With SE1->E1_PARCELA,;
E3_TIPO With SE1->E1_TIPO, E3_ORIGEM With "E",;
E3_VENCTO With MonthSum( dDATABASE , 1 ), E3_MOEDA With "01",;
E3_PEDIDO With SC5->C5_NUM
msUnLock()

EndIf
EndIf

do jeito que estava, ele estava capturando o gerente sem antes posicionar o vendedor, então teoricamente estava pegando sempre o gerente do primeiro vendedor do seu cadastro.

Por favor Acessar ou Registrar para participar da conversa.

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