Application de conditions de reglement à une facture

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Application de conditions de reglement à une facture

de gremlins13 » Ven 13 Fév 2015 11:45

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 :)
Avatar de l’utilisateur
Posteur néophyte
Posteur néophyte
 
Messages: 13
Inscription: Mar 26 Fév 2013 12:06

Re: Application de conditions de reglement à une facture

de asr31 » Mar 24 Mar 2015 22:44

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,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités