Page 1 sur 1

Application de conditions de reglement à une facture

MessagePosté: Ven 13 Fév 2015 11:45
de gremlins13
Bonjour à tous,

Info : Développement en Delphi 7, avec une base Sage I7 sur ServerSql, et utilisation des Objets Métiers V5

Mon but est d'appliquer à une facture, les conditions de règlement définies par défaut au client concerné, quelles que soient les conditions qui ont pu être saisies lors de la saisie de la commande. Je reprends la facture après sa génération et j'effectue les modifications.

Je récupère donc les conditions de règlement du client, puis je tente de les appliquer à la facture via les objets métiers. Mais j'ai une erreur sur le Write de la ligne de règlement : ' l'instruction a été arrêtée'... Quelqu'un a t'il l'explication ou une autre méthode à me suggérer, parceque je ne suis même pas sur d'utiliser les bons objets, et à bon escient. :?

Code: Tout sélectionner

procedure TForm1.CondRgtClick(Sender: TObject);
var
  i  : Integer;
  Facture            : IBODocumentVente3;
  Client              : IBOClient3;
  ModeleRgt        : IBOModeleReglement;
  ModeleRgtLigne : IBOModeleReglementLigne;
  TiersRgt            : IBOTiersReglement3; 
  ListCondClient   : IBICollection;
begin
  Facture                 := BaseCial.FactoryDocumentVente.ReadPiece(DocumentTypeVenteFacture,trim(Fact.Text));
  Client                  := BaseCpta.FactoryClient.ReadNumero(facture.Client.CT_Num);
  ModeleRgt               := BaseCpta.FactoryModeleReglement.ReadIntitule(Client.ModeleReglement.Intitule);
  Facture.ModeleReglement := ModeleRgt;
  ListCondClient            := client.FactoryTiersReglement.List;
  For i := 1 to ListCondClient.Count do
  begin
    ModeleRgtLigne           := (Facture.ModeleReglement.FactoryModeleReglementLigne.Create) as IBOModeleReglementLigne;
    TiersRgt                 := ListCondClient.Item[i] as IBOTiersReglement3;
    ModeleRgtLigne.SetDefault;
    ModeleRgtLigne.Reglement := TiersRgt.Reglement;
    ModeleRgtLigne.Condition := TiersRgt.Condition;
    ModeleRgtLigne.NbJour    := TiersRgt.NbJour;
    ModeleRgtLigne.JourTb[0] := TiersRgt.JourTb[0];    // Je ne récupère pas tous les jours de tombée, pas utile je pense
    ModeleRgtLigne.TRepart   := TiersRgt.TRepart;
    ModeleRgtLigne.VRepart   := TiersRgt.VRepart;
    try
      ModeleRgtLigne.Write;   //  L'erreur est sur ce Write !!   l'instruction a été arrêtée  :|
    except
      on E: Exception do begin
           MessageBox(0,PChar(E.Message),'ERREUR...',MB_OK or MB_TASKMODAL or MB_ICONEXCLAMATION);
      end;
    end;
  end;
  Facture.Write;
  Facture.Read;
end;


Merci pour votre aide :)

Re: Application de conditions de reglement à une facture

MessagePosté: Mar 24 Mar 2015 22:44
de asr31
Bonjour,

C'est un point que je ne connais pas particulièrement dans les OM mais si la pièce a été créé en récupérant les 'default' du client, les conditions de règlement 'par défaut' devraient s'appliquer sans avoir à bidouiller dessus, non ?

Cordialement,