bonjour à tout le monde,
j'ai commencée de développer en c#, je veux écrire une méthode qui me permet de faire une modification dans une facture client suite à un payement.
le client possède un ensemble de facture à régler. lorsque il paye un montant dans une année bien déterminée, alors il faut liquider, en premier lieu, ses crédits dans les années précédentes.
les factures sont représentées par un tableau où chaque ligne représente les détails d'une facture.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
private void CreancePhy_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            int i = CreancePhy.CurrentRow.Index;
            ligne = i;
 
 
            CreancePhy[11, i].Value = " le client a reglé un montant de "+CreancePhy[7,i].Value+"dans la période" +CreancePhy[1,i].Value;
            decimal montant = (decimal)this.CreancePhy[7, i].Value;
 
            for (int j = 0; j <= i; j++)
            {
                if ((((decimal)this.CreancePhy[8, j].Value != 0)) && (((decimal)this.CreancePhy[8, j].Value) <= ((decimal)this.CreancePhy[7, i].Value)))
                {
                    CreancePhy[7, j].Value = (decimal)this.CreancePhy[7, j].Value + (decimal)this.CreancePhy[8, j].Value;
                    CreancePhy[11, j].Value = CreancePhy[11, j].Value + "réglement a eu lieu en" + CreancePhy[1, i].Value + "d'un montant de" + (decimal)this.CreancePhy[8, j].Value;
                    CreancePhy[8, j].Value = (decimal)this.CreancePhy[6, j].Value - (decimal)this.CreancePhy[7, j].Value;
                    CreancePhy[7, i].Value = (decimal)this.CreancePhy[7, i].Value - (decimal)this.CreancePhy[8, j].Value;
 
                    for (int k = j + 1; k <= i; k++)
                    {
                        CreancePhy[4, k].Value = (decimal)this.CreancePhy[8, k - 1].Value;
                        CreancePhy[6, k].Value = (decimal)this.CreancePhy[4, k].Value + (decimal)this.CreancePhy[5, k].Value;
                        CreancePhy[8, k].Value = (decimal)this.CreancePhy[6, k].Value -(decimal)this.CreancePhy[7, k].Value;
 
                    }
                }
                else
                {
                    if ((decimal)this.CreancePhy[8, j].Value != 0)
                    {
                        CreancePhy[7, j].Value = (decimal)this.CreancePhy[7, j].Value + (decimal)this.CreancePhy[7, i].Value;
                        CreancePhy[11, j].Value = CreancePhy[11, j].Value + "réglement a eu lieu en" + CreancePhy[1, i].Value + "d'un montant de" + (decimal)this.CreancePhy[7, i].Value;
                        CreancePhy[8, j].Value = (decimal)this.CreancePhy[6, j].Value - (decimal)this.CreancePhy[7, j].Value;
                        CreancePhy[7, i].Value = 0;
 
                        for (int k = j + 1; k <= i; k++)
                        {
                            CreancePhy[4, k].Value = (decimal)this.CreancePhy[8, k - 1].Value;
                            CreancePhy[6, k].Value = (decimal)this.CreancePhy[4, k].Value + (decimal)this.CreancePhy[5, k].Value;
                            CreancePhy[8, k].Value = (decimal)this.CreancePhy[6, k].Value - (decimal)this.CreancePhy[7, k].Value;
 
                        }
                    }
                }
 
 
            }
}
CreancePhy[4, k] : contient la valeur qui reste à payée pour l'année précédente.
CreancePhy[5, k] : contient la valeur de la nouvelle facture k
CreancePhy[6, k] : contient le total qu'il faut payer (c'est la somme de CreancePhy[4, k]+CreancePhy[5, k]
CreancePhy[7, k] : contient la valeur payée dans l'année en cours.
CreancePhy[8, k] : contient la valeur qui reste à payée dans l'année en cours (c'est la soustraction de CreancePhy[6, k]-CreancePhy[7, k]).

le problème c'est que lorsque j'exécute cette méthode les valeurs après modification ne sont pas correctes.
j'ai essai plusieurs fois de résoudre le problème mais sans arriver à une solution.

merci d'avance pour vos aide.


ce que je veux faire c'est d'avoir une méthode qui me permet de liquider les créances du client suite à un payement dans l'année en cours, càd, si un client fait un payement de 150 dans l'année 2014 sachant qu'il a des factures dans les années 2010, 2011, 2012 et 2013 non encore payés alors la méthode me permet de liquider en premier lieu les créances du client dans les années précédentes (elle doit toucher aux variables "reste à payer dans les années précédentes CreancePhy[4, k]", "le total à payer CreancePhy[6, k]", "le payement en cours CreancePhy[7, k]", "le reste à payer année en cours CreancePhy[8, k]"