×
Linguagem de Programação ADVPL
Perguntas F440COM
- mariotchak
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 59
- Obrigados Recebidos: 0
11 anos 2 meses 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
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.
- cleber.orati
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 32
- Obrigados Recebidos: 0
11 anos 2 meses 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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 2 meses atrás #17827
por kanaamlrr
Mario,
tente dessa forma:
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.
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.100 segundos