Buen día tengan compañeros, platico mi Gran Problema, tengo la siguiente función:
Código Delphi
[-]
function SumaFechaD(Fecha:TDate; x:integer):string;
var
Present: TDate;
begin
Present:=Fecha+x;
if Present-Fecha <> X then
Present:=Present+(X-(Present-Fecha));
result:=DateToStr(Present);
end;
La finalidad de esta función es de sumar días a cierta Fecha, la uso para determinar los días de vencimiento de una factura de crédito, TODO funciona de maravilla si hago pruebas, pero en ocasiones me reportan que sale el vencimiento incorrecto es decir la fecha de vencimiento se determina dependiendo de los días de crédito del cliente, yo guardo en el Maestro de la Factura la Fecha de la Factura, Fecha de Vecimiento y Días de Crédito del Cliente, y aprox. de 2 a 4 facturas por semana salen de que teniendo el cliente 30 días de crédito, el vencimiento lo determina por 11,14,16,26,27 ó 28 días, asi sale impreso en la factura y asi se guarda en el maestro de la Factura, no se si tengo algun error en la función que presento arriba, la forma de calcular la fecha de vencimiento es:
Código Delphi
[-]
Vecimiento := SumaFechaD(StrToDate(maFecEmision.text),tClientesDIASCRED.AsInteger);
Agredezco cualquier opinion.