parcelamento, no pedido.
Boa Noite, agora preciso colocar parcelamento no meu Pedido de Venda.
Está funcionando normalmente, mas tenho algumas dúvidas sobre o parcelamento.
Adicionei um campo Vencimento no Cadastro (Forma de Pagamento).
Até ai tudo bem.
Mas como funciona o parcelamento ?
Como é a lógica, eu pego a quantidade de dias no vencimento vejo a data de hoje e mostro somente na impressao ?
Devo criar uma tabela para parcelas ?
Na verdade o pedido é só para o cliente ver e retornar um fax,
Só preciso mostrar o valor total, e as parcelas na impressão.
Obrigado
Está funcionando normalmente, mas tenho algumas dúvidas sobre o parcelamento.
Adicionei um campo Vencimento no Cadastro (Forma de Pagamento).
Até ai tudo bem.
Mas como funciona o parcelamento ?
Como é a lógica, eu pego a quantidade de dias no vencimento vejo a data de hoje e mostro somente na impressao ?
Devo criar uma tabela para parcelas ?
Na verdade o pedido é só para o cliente ver e retornar um fax,
Só preciso mostrar o valor total, e as parcelas na impressão.
Obrigado
Lynx
Curtidas 0
Respostas
Lynx
23/08/2005
sobe
GOSTEI 0
Lynx
23/08/2005
Na Realidade, só vou precisar imprimir as parcelas.
é só pra enviar o pedido, e o cliente retornar um fax.
Não vou precisar fazer consultas nada, só impressao.
Alguém tem algum exemplo, para fazer isso no relatório ?
(obs: Talvez é bom guardar as parcelas em uma tabela pra ficar mais fácil no relatório...
Porque depois que imprimir nao importa mais as parcelas para mim.)
Se alguém puder ajudar, ficaria muito Agradecido
Obrigado
é só pra enviar o pedido, e o cliente retornar um fax.
Não vou precisar fazer consultas nada, só impressao.
Alguém tem algum exemplo, para fazer isso no relatório ?
(obs: Talvez é bom guardar as parcelas em uma tabela pra ficar mais fácil no relatório...
Porque depois que imprimir nao importa mais as parcelas para mim.)
Se alguém puder ajudar, ficaria muito Agradecido
Obrigado
GOSTEI 0
Marco Salles
23/08/2005
Na verdade o pedido é só para o cliente ver e retornar um fax,
Só preciso mostrar o valor total, e as parcelas na impressão.
Qual o problema disso amigo lynx :?: :?: :?: Qual é a duvida :?: :?:
Como voce esta calculando o valor das parcelas :?: :?: :?: Voce usa Juros simples , juros composto ou amorização :?: :?: :?:
Este parcelamento tem um numero Maximo ou este numero de parcelas é ´aLaVonte´ :?: :?: :?: :?:
Devo criar uma tabela para parcelas ?
Na verdade o pedido é só para o cliente ver e retornar um fax,
Só preciso mostrar o valor total, e as parcelas na impressão
.Porque depois que imprimir nao importa mais as parcelas para mim.
Será que não importa mais mesmo ... Ai o cara liga de lá que mudou de opinião , ou melhor que conversar com voce sobre estes valores :?: :?:
Cadê sua cópia :?: :?: Como voce vai discutir isso com ele :?: :?:
Se tiver confirmação de terceiros , acho melhor guardar esses valores numa tabela que se relaciona com a tabela Pedido pelo numero do pedido (Que deve ser Unico.) Se não tiver confirmação , ai ate que pode-se dispensar esta idéia...
GOSTEI 0
Lynx
23/08/2005
Marcos, Obrigado pela resposta...
Vamos la
Na verdade esse nao é o sistema da empresa, é só um pedido em gráfico separado.
Os valores já estao com impostos, o cadastro do pedido é só, pedido x quantidade, que inseri na tabela de pedido o valor total, e na tabela de itens os produtos.
Minha dúvida é a seguinte, como está tudo funcionando normal e agora preciso só imprimir as parcelas, criei um campo VENCIMENTO no cadastro da Forma de Pagamento.
Um Exemplo:
Como vou saber a quantidade de parcelas o dia certo, do vencimento das parcelas ?
Vamos supor que hoje é dia 15, como vou saber o vencimento do próximo mês através do vencimento ?
Não sei como funciona esse calculo através de datas, se você tiver algum exemplo, sempre é bem vindo.
Outra coisa, vou guardar em uma tabela os valores das parcelas, e o id do pedido, mas para me ajudar no relatório mesmo, porque o cliente, recebe o pedido,pega ele e retorna um fax, e pronto.
Se o pedido aprova, vai ser outro sistema que vai emitir a NF etc...
Mas tirando isso, sempre é bom ter os valores guardados.
Obrigado :)
Vamos la
Na verdade esse nao é o sistema da empresa, é só um pedido em gráfico separado.
Os valores já estao com impostos, o cadastro do pedido é só, pedido x quantidade, que inseri na tabela de pedido o valor total, e na tabela de itens os produtos.
Minha dúvida é a seguinte, como está tudo funcionando normal e agora preciso só imprimir as parcelas, criei um campo VENCIMENTO no cadastro da Forma de Pagamento.
Um Exemplo:
(Tabela Forma de Pagamento) ======== COD || NOME || VENCIMENTO 1 30 / 60 Dias 60
Como vou saber a quantidade de parcelas o dia certo, do vencimento das parcelas ?
Vamos supor que hoje é dia 15, como vou saber o vencimento do próximo mês através do vencimento ?
Não sei como funciona esse calculo através de datas, se você tiver algum exemplo, sempre é bem vindo.
Outra coisa, vou guardar em uma tabela os valores das parcelas, e o id do pedido, mas para me ajudar no relatório mesmo, porque o cliente, recebe o pedido,pega ele e retorna um fax, e pronto.
Se o pedido aprova, vai ser outro sistema que vai emitir a NF etc...
Mas tirando isso, sempre é bom ter os valores guardados.
Obrigado :)
GOSTEI 0
Marco Salles
23/08/2005
Como vou saber a quantidade de parcelas o dia certo, do vencimento das parcelas ?
eu é que lhe pergunto :?: :?: Em algum lugar estes dados devem ter sido Determinados
Vamos supor que hoje é dia 15, como vou saber o vencimento do próximo mês através do vencimento ?
Não sei como funciona esse calculo através de datas, se você tiver algum exemplo, sempre é bem vindo.
Vamos tentar resolver primeiro a primeira etapa.. Incorpora 60 dias a uma data é so somar 60... Mas existe funçoes especificas para isto
Por exemplo
var Data:TDate; begin data:=Date; showmessage(datetostrs(data)); data:=data+60; showmessage(datetostr(data)); end;
GOSTEI 0
Lynx
23/08/2005
é tem uma função na vcl mesmo,
DateToStr(IncDay(Date,15));
Mas no caso eu adicionando 60, vai funcionar...
Mas tem como saber quantos meses passou adicionando 60 dias ?
No caso estamos em agosto, quero adicionar 60 dias.
Vai cair final de outubro ok ?
Tem como saber os 2 meses que passaram ?
Se tiver como fica fácil, da para inserir na tabela de parcelas, os meses que passaram com seus respectivos dias, e valores da parcela (Quebrados).
Valeu
DateToStr(IncDay(Date,15));
Mas no caso eu adicionando 60, vai funcionar...
Mas tem como saber quantos meses passou adicionando 60 dias ?
No caso estamos em agosto, quero adicionar 60 dias.
Vai cair final de outubro ok ?
Tem como saber os 2 meses que passaram ?
Se tiver como fica fácil, da para inserir na tabela de parcelas, os meses que passaram com seus respectivos dias, e valores da parcela (Quebrados).
Valeu
GOSTEI 0
Marco Salles
23/08/2005
é tem uma função na vcl mesmo,
DateToStr(IncDay(Date,15));
OK...
Mas no caso eu adicionando 60, vai funcionar...
:?: :?: :?: :?:
Mas tem como saber quantos meses passou adicionando 60 dias ?
Adicionar sessenta dias a uma determinada data so tem Duas
possibilidades : Ou se passa dois meses , ou se passa tres meses
Isto vai depender do mes em questão e se a data inicial for no inicio ou no final do mes
O Que voce quer afinal :?: :?: :?: Seria uma função que dado duas datas Datainicial , DataIncrementada , ela retorne a quantidade de meses entre essas duas datas :?: :?: :?: :?:
No caso estamos em agosto, quero adicionar 60 dias.
Vai cair final de outubro ok ?
Com certeza , a unica preocupação e que ao adicionar ssesenta dias podera ocorrer dependendo do mes que se encontra cair no inicio do terceiro mes consecutivo...Exemplo particular é o mes de fevereiro ,
Tem como saber os 2 meses que passaram ?
eu ja disse , que existe uma função que dado (datainicial , dataIncrementada) esta função retorna a quantidade de meses entre essas duas datas :!: :!: :!: É isso que voce necessita :?: :?: :?:
GOSTEI 0
Lynx
23/08/2005
Beleza Marcos,
Só com um campo Vencimento, no Cadastro Forma de Pagamento eu já consigo fazer tudo...
Achei que precisava mais alguma coisa, mas informando os dias de vencimento já da pra fazer tudo.
Vou começar a fazer, mais para frente vou pensar para não cair em sábado, domingo e feriados.
Obrigado
Só com um campo Vencimento, no Cadastro Forma de Pagamento eu já consigo fazer tudo...
Achei que precisava mais alguma coisa, mas informando os dias de vencimento já da pra fazer tudo.
Vou começar a fazer, mais para frente vou pensar para não cair em sábado, domingo e feriados.
Obrigado
GOSTEI 0
Lynx
23/08/2005
Seria uma função que dado duas datas Datainicial , DataIncrementada , ela retorne a quantidade de meses entre essas duas datas ?
Isso mesmo !
Retornando a quantidade de meses, e o dia certo do vencimento resolve totalmente o meu problema
GOSTEI 0
Marco Salles
23/08/2005
Isso mesmo !
Retornando a quantidade de meses, e o dia certo do vencimento resolve totalmente o meu problema
Para retornar a quantidade de meses existe a função MonthsBetween
Mas ela tem um comportamento bem particular , como se pode notar no tópico abaixo:
http://forum.devmedia.com.br/viewtopic.php?t=36022&highlight=datas&sid=7cadf410db58a486f13623f7103d0609
Diante disso . o amigo [b:1b2ea03388]emerson.en [/b:1b2ea03388]Postou uma função , que contorna esse ´bug´ da função MonthsBetween... Infelismente suas mensagens foram surrupiadas desse tópico. mas eu como não sou bobo nen nada , copiei esta função em outro local
Pois bem , a função do emerson.en é :
function MesesEntreDatas(dDataInicial, dDataFinal: TDate): integer; var Anosi, Mesesi, Diasi: integer; Anosf, Mesesf, Diasf: integer; Anos, Meses, Dias: Word; begin DecodeDate(dDataInicial,Anos,Meses,Dias); anosi:=Anos; Mesesi:=Meses; DiasI:=Dias; Decodedate(dDataFinal,Anos,Meses,Dias); anosF:=Anos; MesesF:=Meses; DiasF:=Dias; AnosF:=Abs(AnosF-AnosI); MesesF:=(MesesF-Mesesi); DiasF:=(DiasF-Diasi); if MesesF < 0 Then begin Dec(AnosF); Inc(MesesF,12); end; if DiasF < 0 then Dec(MesesF); Result :=abs(MesesF + (AnosF * 12)); end;
Para chamar a função e mais ou menos assim
procedure TForm1.Button2Click(Sender: TObject); var DataInicial,DataFinal:TDate; ano,mes,dia:Word; begin datainicial:=StrToDate(´28/02/2005´); //Pode ser qualquer data dataFinal:=dataInicial + 60 //Pode usar a função Showmessage(IntToStr(Meses(DataInicial, DataFinal))); //quant meses decodedate(Datafinal,ano,mes,dia); Showmessage(´ Ano : ´+inttostr(ano)+´ mes : ´+inttostr(mes)+´ dia : ´+inttostr(dia)); end;
GOSTEI 0
Lynx
23/08/2005
Muito Obrigado Marcos!!! :lol:
GOSTEI 0
Lynx
23/08/2005
é Marcos eu tb acho estranho, só uma informação 90 dias no cadastro, como vou saber se é 30/60/90, ou se é em 90 Dias direto.
Vou ver certo como funciona isso hoje a tarde, no meu ponto de vista acho que deve informar quantas parcelas são no cadastro e em baixo os dias de vencimento.
Valeu!
Vou ver certo como funciona isso hoje a tarde, no meu ponto de vista acho que deve informar quantas parcelas são no cadastro e em baixo os dias de vencimento.
Valeu!
GOSTEI 0
Lynx
23/08/2005
Resolvido, vai ficar assim.
Se alguém tiver alguma sugestão Sempre é Bem Vida!
:)
Valeu
============================ COD | NOME |PARCELAS | VENCIMENTO -------------------------------------------------- 1 30/60 2 30
============================ COD | NOME |PARCELAS | VENCIMENTO -------------------------------------------------- 1 90 1 90
Se alguém tiver alguma sugestão Sempre é Bem Vida!
:)
Valeu
GOSTEI 0
Marco Salles
23/08/2005
é Marcos eu tb acho estranho, só uma informação 90 dias no cadastro, como vou saber se é 30/60/90, ou se é em 90 Dias direto.
Se alguém tiver alguma sugestão Sempre é Bem Vida!
Informe o prazo medio.. Assim 30/60/90 tem prazo medio de 60 dias
30/60 tem prazo medio de 45 dias etc...
procedure TForm1.Button1Click(Sender: TObject); var data1,data2,data3:TDate; Prazomedio:integer; begin data1:=date+30; //data atual + 30 dias; data2:=date+60; //data atual + 30 dias; data3:=date+90; //data atual + 30 dias; Prazomedio:=round(((data1 + data2 + data3)-3*(date))/3); end;
[b:c87678d479]Este exemplo , dado tres datas (data1,data2,data3) fornece a meida de dias dessas datas em relação a data (date) do sistema operacional...[/b:c87678d479]
GOSTEI 0
Lynx
23/08/2005
Pera, deixar eu ver se entendi...
Com esse prazo médio não vou precisar alterar a tabela da forma de pagamento certo ?
vai continuar valendo meu post acima, com a tabela, é só para mostrar.
Mas na impressão mostrando o prazo médio não pode dar problema ?
Ah outra coisa, Será que tem algum problema se cair em um dia com feriado por exemplo.
Fica valendo o próximo dia certo ?, finais de semana da pra resolver, mas feriados complica um pouco.
Valeu :arrow:
Com esse prazo médio não vou precisar alterar a tabela da forma de pagamento certo ?
vai continuar valendo meu post acima, com a tabela, é só para mostrar.
Mas na impressão mostrando o prazo médio não pode dar problema ?
Ah outra coisa, Será que tem algum problema se cair em um dia com feriado por exemplo.
Fica valendo o próximo dia certo ?, finais de semana da pra resolver, mas feriados complica um pouco.
Valeu :arrow:
GOSTEI 0