Quelques questions sur la compta...

Yan
2007-09-27
2013-05-02
  • Yan

    Yan - 2007-09-27

    Bonjour à tous,

    Je suis en train de découvrir ComPiere (v 261) et je m'intéresse en ce moment à la comptabilité.
    J'ai commencé à l'utiliser sur des jeux de données perso et jusque là, tout va (presque) bien ;-).
    J'ai parcouru les forums, dans lesquels j'ai pu trouver un grand nombre de réponses, mais il reste encore quelques points obscurs, notamment :

    Existe-t-il dans la fenêtre des factures achats un champ qui permette de renseigner le n° de facture chez le fournisseur. Il est toujours possible de l'indiquer dans le champ "description", mais je doute que ce soit le but de ce champ.

    La notion de charge au sens ComPiere : ai-je tout compris ???
    Une charge dans ComPiere est un coût assumé par l'entreprise et qui sera refacturé par la suite au client. Donc, un loyer immobilier n'est pas à considérer comme une charge, mais comme un article acheté, de type charge.

    Sélection paiement
    Je crée un paiement auquel je souhaite rattacher plusieurs factures. Or dans l'onglet "ligne", je rapatrie bien une facture, mais le montant reste à 0. Ai-je manqué un épisode ?

    Je vous remercie d'avance,

    Yan

     
    • Yan

      Yan - 2007-09-27

      Rebonjour,

      Suite à ma première question, j'ai tenté l'aventure de rajouter un champ dans la fenêtre de facture d'achat pour pouvoir indiquer la référence de la facture chez le fournisseur.
      Pour cela, j'ai créé successivement :
      - un élément,
      - une colonne dans la table C_Invoice,
      - un champ dans l'onglet Invoice de la fenêtre Invoice (Vendor).

      Ensuite, je crée une nouvelle facture où je saisi quelque chose dans mon champ nouvellement créé.

      Je souhaite maintenant imprimer cet état avec le nouveau champ. Et c'est là que ça se complique...
      J'imprime mon état (qui ne contient pas le nouveau champ). Je clique donc sur l'icône pour le personnaliser.

      Dans l'onglet "Format Item", je ne le trouve pas...

      En cherchant un peu, je m'aperçois que mon "Print Format" pointe sur C_Invoice_Header_v ; je crée donc une colonne sur cette table, et là, je peux intégrer mon champ dans mon état. Il est sélectionable dans l'onglet "Format Item".
      Mais quand je lance l'impression, j'obtiens une page blanche !

      Constat : ComPiere, c'est plus fort que moi !

      Question : existe-t-il une doc sur la personnalisation des rapports ?

      Espoir : qu'une âme charitable vienne à passer dans le coin, je suis tout ouïe  ;-)

      Merci beaucoup,

      Yan

       
    • Theo de Brouwer

      Theo de Brouwer - 2007-09-27

      je te conseille de le mettre dans référence commande, c'est celui là qui revient dans les interrogations facture, donc est très pratique par la suite. (bien qu'il y en existe un autre (suppl inv nr)  qui n'est pas affiché par défaut en saisie facture)

      Charge = c'est pour éviter d'utiliser un article pour saisir des charges (pas nécessairement refacturée). Electricité par exemple, pour lequel tu n'as qu'à spécifier le compte de charge et son type de taxe).

      détaille stp le point 3. Oui tu as du louper quelque chose ...

      Théo

       
    • Theo de Brouwer

      Theo de Brouwer - 2007-09-27

      tu as probablement oublié de synchroniser la création de ton champ avec la DB, non ?
      Donne un peu le message d'erreur (log) stp

      Merci

      t
      h
      e
      o

       
    • Yan

      Yan - 2007-09-28

      Bonjour,

      Merci pour les réponses Théo.

      Effectivement, le champ "référence commande" fera l'affaire ; je pensais à l'origine qu'il servait pour un suivi entre la commande passée et la facture générée.
      Cependant, et pour faire suite à mon second message, je vais quand même continuer dans ma démarche de rajout d'un champ. Je vous tiendrai au courant !

      OK pour la définition de la charge. Cependant, cela me donne l'occasion de poser une autre question : lorsque je crée un type de charge, dans l'onglet "compta", je trouve le compte 608... mis par défaut.
      Si je souhaite le modifier, je suis contraint de sélectionner une organisation. Le compte devient alors "<mon org> 608...".
      Cela a-t-il un impact par la suite ? (niveau analyse ou autre)

      J'ai regardé le log suite au non rapatriement du montant de la facture, et il semble qu'il y ait une erreur ORA-06553. Je vais chercher ce que cela signifie.

      Enfin, j'avais bien procédé à la synchronisation du champ avec la DB (je le vois quand je me connecte à celle-ci). Et je peux voir les infos enregistrés dans le champ. Je continue à chercher.
      Voici en tout cas le log qui m'achemine vers ma page blanche :

      ===========> DataEngine.loadPrintData: null - ORA-00904: "C_INVOICE_HEADER_VT"."
      NUM_FACT_FRS": invalid identifier

      SQL=SELECT C_Invoice_Header_vt.num_fact_frs,A.City||'.' AS AAddress,C_Invoic
      e_Header_vt.Org_Location_ID,C_Invoice_Header_vt.BPGreeting,C_Invoice_Header_vt.N
      ame,C_Invoice_Header_vt.Name2,C_Invoice_Header_vt.BPContactGreeting,C_Invoice_He
      ader_vt.Title,C_Invoice_Header_vt.ContactName,B.City||'.' AS BAddress,C_Invoice_
      Header_vt.C_Location_ID,(SELECT C_Order.DocumentNo||' - '||TRIM(TO_CHAR(C_Order.
      DateOrdered,'DD/MM/YYYY')) FROM C_Order WHERE C_Invoice_Header_vt.C_Order_ID=C_O
      rder.C_Order_ID) AS CC_Order_ID,C_Invoice_Header_vt.C_Order_ID,C_Invoice_Header_
      vt.BPValue,C_Invoice_Header_vt.ReferenceNo,C_Invoice_Header_vt.POReference,C_Inv
      oice_Header_vt.SalesRep_Name,C_Invoice_Header_vt.DocumentType,C_Invoice_Header_v
      t.DocumentNo,C_Invoice_Header_vt.DateInvoiced,C_Invoice_Header_vt.Description,(S
      ELECT C_Invoice.DocumentNo||' - '||TRIM(TO_CHAR(C_Invoice.DateInvoiced,'DD/MM/YY
      YY'))||' - '||TRIM(TO_CHAR(C_Invoice.GrandTotal,'9G999G990D00','NLS_NUMERIC_CHAR
      ACTERS='',.''')) FROM C_Invoice WHERE C_Invoice_Header_vt.C_Invoice_ID=C_Invoice
      .C_Invoice_ID) AS DC_Invoice_ID,C_Invoice_Header_vt.C_Invoice_ID,(SELECT C_Curre
      ncy.ISO_Code FROM C_Currency WHERE C_Invoice_Header_vt.C_Currency_ID=C_Currency.
      C_Currency_ID) AS EC_Currency_ID,C_Invoice_Header_vt.C_Currency_ID,C_Invoice_Hea
      der_vt.GrandTotal,C_Invoice_Header_vt.PaymentTerm,C_Invoice_Header_vt.PaymentTer
      mNote,C_Invoice_Header_vt.DocumentTypeNote FROM C_Invoice_Header_vt LEFT OUTER J
      OIN C_Location A ON (C_Invoice_Header_vt.Org_Location_ID=A.C_Location_ID) LEFT O
      UTER JOIN C_Location B ON (C_Invoice_Header_vt.C_Location_ID=B.C_Location_ID) WH
      ERE C_Invoice_Header_vt.C_Invoice_ID=1000064 AND C_Invoice_Header_vt.AD_Language
      ='fr_FR' AND C_Invoice_Header_vt.AD_Client_ID IN(1000000,0) AND C_Invoice_Header
      _vt.AD_Org_ID IN(1000000,0) ORDER BY C_Invoice_Header_vt.DocumentNo [13]
      -----------> DataEngine.loadPrintData: NO Rows - ms=15929 [13]

      Merci,

      Yan

       
      • Theo de Brouwer

        Theo de Brouwer - 2007-09-28

        bonjour

        Au niveau de l'organisation, c'est celle par défaut. Donc, pas de soucis.
        Le systeme prendra toujours l'organisation pour laquelle tu fais la transaction

        t
        h
        e
        o

         
    • Theo de Brouwer

      Theo de Brouwer - 2007-09-28

      NUM_FACT_FRS ... ne semble pas défini, regarde un peu dans la DB
      theo

       
    • Yan

      Yan - 2007-09-28

      OK pour l'organisation. Ce n'est pas ce qui s'appelle les combinaisons de compte ?

      Quant à la colonne num_fact_frs, elle est bien présente dans la table C_Invoice. Pour preuve, j'ai enregistré une facture et je peux lire directement dans la base le texte enregistré dans le champ num_fact_frs.

      En relisant le log, je vois que l'erreur semble se trouver dans "C_INVOICE_HEADER_VT". Or, j'ai ajouté ce champ (depuis ComPiere) dans "C_INVOICE_HEADER_V". L'erreur vient donc surement de là... mais je n'ai pas une telle table dans ma liste...

      Merci, et bon ap'

      Yan

       
      • Theo de Brouwer

        Theo de Brouwer - 2007-09-28

        tu travailles en multilingue ? (paramètrage client)
        Car cette vue est utilisée dans ce cas

         
      • dotbaseac

        dotbaseac - 2007-09-28

        Bonjour,

        si je peux me permettre, j'ai eu par le passé exactement le problème (un rapport inexplicablement blanc alors que j'avais bien défini les champs au niveau de la base ainsi que la vue utilisée par le rapport) : il faut ensuite ne pas oublier de synchroniser la définition de la vue au niveau DB avec sa description dans le dictionnaire d'application. Il faut aller dans "Tables and Columns", sélectionner la vue concernée, et cliquer sur le bouton de synchronisation au niveau de l'onglet principal pour que le nom de la ou les colonnes supplémentaires ajoutées dans la vue au niveau DB soit récupéré au niveau du dictionnaire d'application (cela crée un enregistrement au niveau de l'onglet Columns). Ensuite, pour tester, ne pas oublier de vider le cache au niveau client (ou alors simplement relancer le client).

        Je n'ai pas pris le temps de lire tout le détail de votre échange, donc j'espère que cela vous aidera.

        Alain

         
    • Yan

      Yan - 2007-09-28

      oui, effectivement, la case est bien cochée.

       
    • Yan

      Yan - 2007-09-28

      C'est bon !

      Un grand merci Alain.

      J'ai réussi à imprimer mon champ !
      Effectivement, il fallait d'abord intégrer le champ dans C_INVOICE_HEADER_V et dans C_INVOICE_HEADER_VT directement dans la BDD et ensuite synchroniser dans ComPiere.

      Et j'ai effectivement bien un état facture avec mon champ de ref facture (avec écrit "toto" dedans bien sur ;-))

      Ca fait plaisir de franchir des étapes !

       
      • dotbaseac

        dotbaseac - 2007-09-28

        Tant mieux ! ;->

        Compiere est vraiment génial, mais c'est vrai qu'il y a deux ou trois trucs bizarres sur lesquels on pourrait passer des jours sans aide...

        Autres aspects concernant les vues sur lesquels je me suis cassé la tête : si une fois tu fais une migration de version avec des vues standard customisées, la migration écrase ta vue et il faut la recréer. Donc conserve bien soigneusement le script de création de ta vue pour la récréer sans perdre de temps.

        Enfin, si tu modifies une caractéristique d'un champs déjà existant dans ta vue et après avoir fait une première synchronisation, les synchronisations suivantes ne répercutent pas ces modifications dans l'enregistrement de la colonne du dictionnaire d'application. Il faut alors faire la modification manuellement dans le dictionnaire d'application, ou alors supprimer l'enregistrement et synchroniser à nouveau... ;->

        Alain

         
    • Yan

      Yan - 2007-09-28

      merci pour les infos, je vais maintenant une autre réjouissance : la mise en page de mon état customisé ;-)

       
      • dotbaseac

        dotbaseac - 2007-09-28

        Là aussi c'est pas très évident au départ pour certains aspects.

        Mais on s'y fait relativement vite et surtout, il faut savoir qu'on peut aller assez loin. La seule chose triviale pour la plupart des éditeurs de rapports qui manque dans Compiere est la rupture conditionnelle de page : mais on s'en sort en organisant son rapport différemment.

        Une première chose à savoir, qui évite de perdre beaucoup de temps par la suite, c'est que si tes rapports sont destinés à des utilisateurs pas très au fait de la personnalisation des rapports, il faut éviter qu'ils puissent les modifier à travers l'interface utilisateur de Compiere et donc saboter tout ton travail. Pour éviter ceci, défini tes rapports au niveau System, de sorte qu'ils apparaîtront comme non modifiables en eux-même au niveau des utilisateurs . ils ne pourront en modifier qu'une copie, pérservant ainsi l'original. C'est mieux de la savoir au début, car c'est assez fastidieux de recopier la définition d'un rapport du niveau client/organisation au niveau System (on peut éventuellement faire ça directement au niveau de la base, mais c'est assez délicat....)

        Alain

         
        • Yan

          Yan - 2007-09-28

          Merci pour le tuyau !

          C'est vrai que l'éditeur n'est pas très sexy, et l'opération semble assez ... fastidieuse, dirons-nous ;-)

          Et c'est pas pour qu'un utilisateur vienne tout bousiller, c'est sur. Et vu que je viens de tester avec quelle facilité on peut tout péter, mieux vaut prendre les bonnes habitudes immédiatement !

          Yan

           
          • dotbaseac

            dotbaseac - 2007-09-28

            Il faut aussi savoir que c'est extrêmement facile de faire un backup du travail effectué et des données saisies, puisque tout est dans la base de données. Donc faire régulièrement un backup avec RUN_DBExport, qui permet ensuite avec un RUN_DBRestore de tout récupérer dans l'état précédent !...

            Alain

             
            • Yan

              Yan - 2007-09-28

              C'est clair que depuis quelques temps ces 2 instructions sont beaucoup utilisées ;-)

               

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks