Fórum Relatório comissões: gerentes e vendedores #189286

17/10/2003

0

Prezados,
Estou com um grande problema:
- Aplicação para calcular comissões de vendedores e gerentes;
- Comissao Gerente : em cima do total geral(venda comissionada e ñ comissionada)
- Comissao Vendedor : em cima do total geral do vendedor(venda comissionada)
- As comissões de Vendedores e gerentes serão lançadas individualmente na base,
- Vendedores e gerentes possuem uma cota de venda que será lançada na base:
- Se venda(total) < cota, comissão = 4¬;
- Se venda(total) > cota até 20¬(da cota), comissão = 4,5¬;
- Se venda(total) > 20¬(da cota), comissão = 5¬;

OBS1: Como esses campos são lançados também individualmente, e podem sofrer mudanças,
criei 3 campos: comissao1,comissao2,comissao3;

OBS2: na tabela de vendedores criei um campo tipo (´V´ ou ´G´)

OBS3: O parametro de entrada será o mês. Uma das minhas dúvidas é onde colocar a
consulta(no query do Data Module ou no QuickReport) e onde vou fazer os testes para
saber se é vendedor ou gerente e atualizar os valores de acordo com o total de sua venda

OBS4:
campos comissionados: avista,cartao,cartao_parc,cred_proprio,juros
campos não comissionados: vale_func, outros

- Aplicação: Delphi6, Interbase, Data Module, paleta INTERBASE, QuickReport

Segue o script de criação das tabelas e a consulta:

create table loja (
cod_loja integer not null primary key,
nome varchar(30) unique not null
);

create table vendedor (
cod_vendedor integer not null primary key,
nome varchar(50) unique not null,
tipo varchar(1) not null,
cota double precision,
comissao1 double precision,
comissao2 double precision,
comissao3 double precision,
cod_loja integer not null references
loja(cod_loja)
);

create table venda (
cod_boleta integer not null primary key,
data date not null,
vale_func double precision,
avista double precision,
cartao double precision,
cartao_parc double precision,
cred_proprio double precision,
entrada double precision,
cheque_pre double precision,
outros double precision,
juros double precision,
cod_loja integer not null references
loja(cod_loja),
cod_vendedor integer not null references
vendedor(cod_vendedor)
);


sql:

SELECT VENDA.cod_loja, VENDEDOR.nome, Sum(avista+cartao+cartao_parc+cred_proprio+juros) AS TOTAL
FROM VENDEDOR INNER JOIN VENDA ON
VENDEDOR.cod_vendedor = VENDA.cod_vendedor
GROUP BY VENDA.cod_loja, VENDEDOR.nome;

Qualquer ajuda será muito bem vinda

Grata


Angela

Angela

Responder

Posts

17/10/2003

Bacalhau

Estimada colega, não vou responder à tua enorme questão, mas lançar outra questão: essas comissões são pagas após a venda ou após o recebimento? E como é feito o recebimento? Na totalidade ou parcelado?

Se respondeste sim, então o problema é mais complexo (que é o problema aqui na Europa).

A solução que encontrei é não olhar para as vendas, mas sim para os recebimentos. Aí calculo a comissão dos vendedores. Só depois é que os gerentes entram na fatia do dinheiro.

Espero ter ajudado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar