DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 15/12/2010 10:43:41 AM
 
Pessoal, criei um sistema de vendas que está funcionando blz, muito interessante, mas o cliente me solicitou uma modificação que fiquei intrigado.
 
O cliente deseja lançar títulos a receber, sem lançar vendas.
 
Minha base de dados está na seguinte estrutura:
 
 
tblCliente.IdCliente-------> tblPDV.IdCliente| Para cada Pedido, um cliente.
 
tblPDV.IdPDV------------> tblParcela.IdPDV| Para cada Parcela um Pedido.
 
Lançando o pedido o contas a receber fica fácil, mas como lançar contas a receber sem lançar Pedido?
 
Alguém pode me ajudar?
LEONARDO XAVIER
 

 


País: Brasil
Estado: RS
Cidade: São Gabriel
Mensagens: 745
 Postado em: 15/12/2010 05:14:24 PM
 
Cara ja tentou criar uma nova tabela para estes dados?
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 16/12/2010 10:15:23 AM
 

Citação:
Cara ja tentou criar uma nova tabela para estes dados?
Bom, criar uma nova tabela tudo bem.
 
Mas ae vem a pergunta, na hora de dar baixar em ambos os títulos, os que tem vendas e os títulos avulsos?
 
Como seria feito essa query?
LEONARDO XAVIER
 

 


País: Brasil
Estado: RS
Cidade: São Gabriel
Mensagens: 745
 Postado em: 16/12/2010 02:37:41 PM
 
no caso você trabalharia com a "pré-venda"porque pelo que entendi voc tera uma tabela informando os titulos que serão um dia lançados. Quando estes titulos forem lançados passe para a tabela correspondente os dados que você precisa.
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 16/12/2010 06:23:12 PM
 

Citação:
no caso você trabalharia com a "pré-venda"porque pelo que entendi voc tera uma tabela informando os titulos que serão um dia lançados. Quando estes titulos forem lançados passe para a tabela correspondente os dados que você precisa.
.
 .
Vou te explicar melhor
 
Quando o cliente gera um pedido, as parcelas aparecem no contas a receber, daí ele o pode dar baixa tudo certinho.
 
Mas ae, digamos que estou instalando sistema hoje numa loja, só que existem vendas anteriores a data atual, daí tenho que lançar esses Títulos, mas não posso mais lançar como venda, pois vai alterar estoque e outros contra tempos.
 
Daí criei uma tela onde vai gerar os Títulos pro contas a receber, mas estou sem idéia de como isso pode ser feito. Fiquei um pouco perdido nisso ae.
LEONARDO XAVIER
 

 


País: Brasil
Estado: RS
Cidade: São Gabriel
Mensagens: 745
 Postado em: 17/12/2010 11:46:59 AM
 
Isso me parece ser simples... Você ja tem a estrutura para gerar novas contas e fazer baixa,..enfim tem todos os processo apra uma loja que começaria a funcionar apartir da data de instalaçao certo! Então crie uma tabela nova com o nome de Histórico, somente com os lançamentos e com um campo para identificar o que foi pago e o que nao fou, pois com toda certeza devem ter contas pendentes. AS que forem parcadas como pagas nao gera fatura as que forem marcadas como nao pagas vc faz a rotina de gerar fatura.
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 17/12/2010 12:56:31 PM
 

Citação:
Isso me parece ser simples... Você ja tem a estrutura para gerar novas contas e fazer baixa,..enfim tem todos os processo apra uma loja que começaria a funcionar apartir da data de instalaçao certo! Então crie uma tabela nova com o nome de Histórico, somente com os lançamentos e com um campo para identificar o que foi pago e o que nao fou, pois com toda certeza devem ter contas pendentes. AS que forem parcadas como pagas nao gera fatura as que forem marcadas como nao pagas vc faz a rotina de gerar fatura.
.
.
 
Vlw pela dica, vou fazer uns testes e retorno.
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 18/12/2010 06:06:52 PM
 
Ficou ótimo agora.
 
Criei uma nova tabela tblHistorico e lancei os itens por código do cliente, daí ficou tudo certo.
 
Porém, queria saber como calcular parcelas para arredondar valores tipo:
 
Compras de R$ 100,00. Como o sistema pdoe gerar 3 parcelas automaticamente?
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 20/12/2010 10:38:41 AM
 

Citação:
Ficou ótimo agora.
 
Criei uma nova tabela tblHistorico e lancei os itens por código do cliente, daí ficou tudo certo.
 
Porém, queria saber como calcular parcelas para arredondar valores tipo:
 
Compras de R$ 100,00. Como o sistema pdoe gerar 3 parcelas automaticamente?
.
 
Eae pessoal, alguma novidade? Como posso fazer esse cáculo?
LEONARDO XAVIER
 

 


País: Brasil
Estado: RS
Cidade: São Gabriel
Mensagens: 745
 Postado em: 20/12/2010 12:16:41 PM
 
Tente assim:

[CODE]
procedure.....
var
   ValorTotal:currency;
    ValorParcelas, PrimeiraParcela: Integer;
    nParcelas: Integer;
begin

 ValorParcelas  := Trunc(ValorTotal/nParcelas);
  PrimeiraParcela := ValorParcelas + Trunc(ValorTotal - (ValorParcelas * nParcelas));
  ShowMessage('O valor da primeira parcela é: R$ '+IntToStr(PrimeiraParcela)+''#10'O valor das parcelas restantes é: R$'+IntToStr(ValorParcelas)+''#10' Aquantidade de parcelas é: '+nParcelas);
  v1:=PrimeiraParcela;
  v2:=ValorParcelas;

// v1 e v2 são variáveis globais.
[/CODE]
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 20/12/2010 03:07:19 PM
 

Citação:
Tente assim:

[CODE]
procedure.....
var
   ValorTotal:currency;
    ValorParcelas, PrimeiraParcela: Integer;
    nParcelas: Integer;
begin

 ValorParcelas  := Trunc(ValorTotal/nParcelas);
  PrimeiraParcela := ValorParcelas + Trunc(ValorTotal - (ValorParcelas * nParcelas));
  ShowMessage('O valor da primeira parcela é: R$ '+IntToStr(PrimeiraParcela)+''#10'O valor das parcelas restantes é: R$'+IntToStr(ValorParcelas)+''#10' Aquantidade de parcelas é: '+nParcelas);
  v1:=PrimeiraParcela;
  v2:=ValorParcelas;

// v1 e v2 são variáveis globais.
[/CODE]
.
.
.
 
 
Funcionou Muito bem, só os centavos que não está calculando!
 
Como posso contronar isso?
LEONARDO XAVIER
 

 


País: Brasil
Estado: RS
Cidade: São Gabriel
Mensagens: 745
 Postado em: 20/12/2010 03:15:10 PM
 
Esta funçao arredonda os valores. Você pode pegar o valor dos centavos e armazenar em uma variavel, e no valor de v1 somar os centavos e gravar no banco calculando o valor das parcelas com um numero redondo. Espero que agora vc resolva o seu problema. Abraços
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 20/12/2010 03:29:25 PM
 

Citação:
Esta funçao arredonda os valores. Você pode pegar o valor dos centavos e armazenar em uma variavel, e no valor de v1 somar os centavos e gravar no banco calculando o valor das parcelas com um numero redondo. Espero que agora vc resolva o seu problema. Abraços
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 20/12/2010 03:29:29 PM
 

Citação:
Esta funçao arredonda os valores. Você pode pegar o valor dos centavos e armazenar em uma variavel, e no valor de v1 somar os centavos e gravar no banco calculando o valor das parcelas com um numero redondo. Espero que agora vc resolva o seu problema. Abraços
PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 20/12/2010 03:29:31 PM
 

Citação:
Esta funçao arredonda os valores. Você pode pegar o valor dos centavos e armazenar em uma variavel, e no valor de v1 somar os centavos e gravar no banco calculando o valor das parcelas com um numero redondo. Espero que agora vc resolva o seu problema. Abraços
.
 
 
procedure.....
var
   ValorTotal:currency;
    ValorParcelas, PrimeiraParcela: Integer;
    nParcelas: Integer;
begin

 ValorParcelas  := Trunc(ValorTotal/nParcelas);
  PrimeiraParcela := ValorParcelas + Trunc(ValorTotal - (ValorParcelas * nParcelas));
  ShowMessage('O valor da primeira parcela é: R$ '+IntToStr(PrimeiraParcela)+''#10'O valor das parcelas restantes é: R$'+IntToStr(ValorParcelas)+''#10' Aquantidade de parcelas é: '+nParcelas);
  v1:=PrimeiraParcela;
  v2:=ValorParcelas;

// v1 e v2 são variáveis globais.

PAULO HENRIQUE DOS SANTOS ANDRADE
 


País: Brasil
Estado: PE
Cidade: Petrolina
Mensagens: 179
 Postado em: 20/12/2010 03:30:25 PM
 

Citação:
Esta funçao arredonda os valores. Você pode pegar o valor dos centavos e armazenar em uma variavel, e no valor de v1 somar os centavos e gravar no banco calculando o valor das parcelas com um numero redondo. Espero que agora vc resolva o seu problema. Abraços
.
.
procedure.....
var
   ValorTotal:currency;
    ValorParcelas, PrimeiraParcela: Integer;
    nParcelas: Integer;
begin

 ValorParcelas  := Trunc(ValorTotal/nParcelas);
  PrimeiraParcela := ValorParcelas + (ValorTotal - (ValorParcelas * nParcelas));
  ShowMessage('O valor da primeira parcela é: R$ '+IntToStr(PrimeiraParcela)+''#10'O valor das parcelas restantes é: R$'+IntToStr(ValorParcelas)+''#10' Aquantidade de parcelas é: '+nParcelas);
  v1:=PrimeiraParcela;
  v2:=ValorParcelas;

// v1 e v2 são variáveis globais.

Tirei o Trun da primeira parcela e resolveu.
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03