Skip to main content

Accounting 1 vs Accounting 2 — différences réelles

But de cette page

ACC1 et ACC2 utilisentpartagent le même frameworkmoteur By Module/Accounting.Module / Accounting, mais ils ne diffèrent pas seulement par le thème visuel. Plusieurs différences sont encodées directement dans les settings disponibles, les types d'entreprise, la forme juridique, les partenaires, les produits/services, les modules disponibles et certaines branches de l'Answer Key.

Cette page documenterépond uniquementà leursdeux différencesquestions concrètes:

afin
deQu'est-ce savoirqui siest réellement différent entre ACC1 et ACC2 ? Quand une modification doitdoit-elle aller dans le commun, ACC1, ACC2 ou être faite dans byModule/acc_base,testée dans les deux jeux,? ou seulement dans un GameSpecific.

Résumé rapidefonctionnel

 Dimension ACC1 ACC2
ContexteUnivers métier Entreprise spécialisée dans la vente de piscines. Entreprise spécialisée dans la vente de café et de machines à café.
Objectif pédagogique présenté à l'étudiant Compléter un cycle comptable. Compléter un cycle comptable.
Framework technique By Module + acc_base. By Module + acc_base.
ServerType utilsd'activité de l'entreprise GameSpecificUtilsAcc1our_company_type héritedisponible de: GameSpecificUtilsAccBase.commerciale / services / mixte selon le module. GameSpecificUtilsAcc2Même hérite de GameSpecificUtilsAccBase.système.
StaticDataForme Unityjuridique Preference masquée; les defaults des modules sont essentiellement StaticDataAcc1single_owner.
Preference ACC2-only : seulementpropriétaire GameUidunique, ACC1.société StaticDataAcc2en :nom seulementcollectif, GameUidsociété ACC2.par actions A, société par actions A+B. SkinCréances / scèneseffets à recevoir Acc1SkinNon +exposés scènes/prefabsdans ACC1.le wizard. Acc2Skinhas_debts +et scènes/prefabshas_interests ACC2.sont ACC2-only. Petite caisse PasLe demoteur ModulePettyCashScenarioPagescommun game-specific.existe, mais le module n'est pas disponible dans le wizard ACC1. Module/scénariomodule_petty_cash Petiteest caisseACC2-only. présent. Co-propriétaire / actionnaires Pas d'entités game-specific correspondantes dans companies/partners. our_company_co_owner, shareholder_group_a, shareholder_group_b. Companies 66. 67. Partners 76. 77. Products 77. 43. Services 41. 58. Tutoriels game-specific Plusieurs scripts/prefabs dédiésACC1 ACC1.dédiés. Pas d'équivalent dans le dossier ACC2 actuel.

CeAttention qui: est“Type réellementd'entreprise” communet “Forme juridique” sont deux settings différents

LaC'est majoritéimportant car les deux notions sont faciles à mélanger.

our_company_type — disponible dans le framework des deux jeux

Le setting our_company_type décrit l'activité économique de la logique n'est pas dupliquée entre ACC1 et ACC2.

flowchart TD
BM[By Module commun] --> BASE[acc_base]
BASE --> A1[acc1 wrappers + data]
BASE --> A2[acc2 wrappers + data]

Les moteurs suivants sont communsl'entreprise :

  • Createproducts_company — commerciale;
services_company — de services; products_and_services_company — commerciale et de services.

Ce setting influence notamment :

    stock / inventaire; comptes visibles; types de bills disponibles; pages/relations liées aux ventes et services.

    Dans preferences_settings_definitions.json :

    PreferencesWizardPageControl.ShouldSkipPreference() masque toute preference marquée acc2Only lorsque CurrentGameUid != "acc2".

    Formes juridiques supportées par le moteur

    Le moteur By Module Typeconnaît Data;explicitement :

    UID Libellé Conséquence principale single_owner Propriétaire unique Capital et retraits d'un seul propriétaire. partnership Société en nom collectif Deux propriétaires; capital, apports/retraits et profits peuvent être répartis. joint_stock_a Société par actions — groupe A Capital-actions A + bénéfices non répartis. joint_stock_ab Société par actions — groupes A et B Capital-actions A+B + bénéfices non répartis; deux groupes d'actionnaires.

    ACC1 contient les textes/structures génériques nécessaires au moteur, mais la preference est explicitement masquée dans son wizard. ACC2 expose réellement cette variation au professeur.

    Impact technique de la forme juridique

    Ce n'est pas un simple label. company_legal_form traverse plusieurs moteurs.

    1. BillCreationContext / BillContext

    Les deux contextes lisent :

    this._companyLegalForm =
        utilsByModule.getModulePreference(
            moduleSettings,
            utilsByModule.constants.modulesPreferences.COMPANY_LEGAL_FORM
        );

    Pour une partnership, ourCompanyOwnerShares vaut par défaut 50 si aucune valeur n'est présente.

    2. Répartition propriétaire / co-propriétaire

    BillContext.getOwnerPaymentAmount() répartit un montant entre propriétaire/co-propriétaire lorsque la forme est :

      partnership; joint_stock_ab pour certains calculs actionnaires.

      3. Génération de bills

      BillCreationContext.getPayingOwnerUid() peut choisir un ou les deux propriétaires pour une partnership. Le BillFactory possède aussi des branches spécifiques pour :

        les paiements des propriétaires; les retraits; la Petite caisse; la création de plusieurs bills lorsque plusieurs propriétaires paient.

        4. Comptes visibles

        accounts.json possède des conditions de visibilité basées sur la forme juridique. Exemples :

          capital du propriétaire; capital du co-propriétaire; retraits/apports du co-propriétaire; capital-actions; bénéfices non répartis.

          5. État des capitaux propres

          L'Answer Key change réellement la structure :

            single owner → capital du propriétaire; partnership → capital propriétaire + co-propriétaire; joint stock → capital-actions + bénéfices non répartis; joint_stock_ab → deux groupes de capital-actions.

            6. Clôture

            Dans byModule_utils_answer_key_module.js :

              une partnership répartit le résultat entre our_company_capital et our_company_co_owner_capital; une société par actions transfère le résultat vers retained_earnings; un propriétaire unique utilise le capital propriétaire.

              Donc toute modification touchant capital, fermeture, equity, dividends, owner bills ou financial statements doit être testée avec plusieurs formes juridiques ACC2.

              Différences ACC2-only encodées dans le framework partagé

              Un grep de acc2_only dans la static data By Module montre actuellement ces différences explicites :

              Feature Fichier Effet company_legal_form preferences_settings_definitions.json Preference visible seulement dans ACC2. has_debts preferences_settings_definitions.json Créances activables seulement dans ACC2 via le wizard. has_interests preferences_settings_definitions.json Effets à recevoir / intérêts activables seulement dans ACC2 via le wizard. module_petty_cash modules_settings_definitions.json Module proposé uniquement dans ACC2.

              Filtrage du module Petite caisse

              ModuleDataAndNameWizardPageControl vérifie moduleDefinition.acc2Only et ignore le module lorsqu'on n'est pas dans ACC2.

              Filtrage des preferences

              PreferencesWizardPageControl.ShouldSkipPreference() applique le même principe aux preferences ACC2-only.

              ACC2 — Créances et effets à recevoir

              Les preferences :

                has_debts — libellé FR actuel : Créances; has_interests — libellé FR actuel : Effets à recevoir.

                Elles sont référencées dans plusieurs définitions de modules : General Journal, Auxiliary Journals, Regularizations, Balance Sheet, Financial Statements, etc. Elles peuvent donc affecter :

                  bills clients; radiation de client; provisions; notes à recevoir; intérêts; ledger; trial balance; financial statements; Answer Key;Key / Grading.

                  Une modification de ces chemins doit être testée dans ACC2 avec les toggles ON et OFF.

                  ACC2 — Module Petite caisse

                  module_petty_cash est marqué acc2_only: true dans modules_settings_definitions.json.

                  Contenu game-specific ACC2

                  ACC2 possède notamment :

                    ModulePettyCashScenarioPages.asset; Grading;petty_cash comme partenaire/contexte; Reassemble/results;fournisseurs Petite caisse : convenience, maintenance, mail, florist, stationery; petty_cash_initial_fund; dépenses : lait, pain, papier hygiénique, timbres, enveloppes, colle, vis, ruban, fleurs, papeterie, etc.; retraits personnels; textes/références régionaux QC/ON/NB/PE.

                    Moteur commun malgré tout

                    Les classes techniques de Petite caisse sont dans le commun By Module, par exemple :

                      PettyCashDeclarationBill; PettyCashReplenishmentCheckBill; branches Petty Cash du BillFactory; journal/Answer Key/Grading correspondants.

                      Autrement dit : le moteur est partagé, mais ACC2 est le jeu qui expose officiellement le module.

                      Différences de partenaires / companies

                      ACC1 — 66 companies

                      Les fournisseurs principaux sont liés aux piscines et classesà del'extérieur bills;:

                        motor_company; Inventory;pipe_company; immobilisations;aluminium_company; contrats;wood_company; régularisations;chlore_company / chlore_salt_company; UIsolar_canvas_company data-driven/ By Module;winter_canvas_company; contextes Accounting;stairs_company; formules;light_company; utilsoutdoor_company; Accountingtoys_company; debarbecue_company.

                        ACC2 — 67 companies

                        Les fournisseurs principaux sont liés au café :

                          acc_basecoffee_company; espresso_company; beans_company; brew_company; blend_company; grind_company; roast_company; barista_company.

                          RègleACC2 :ajoute sien uneplus règledes comptableentités doitstructurelles fonctionnerabsentes dansdes companies ACC1 et ACC2, commencer par chercher dans _utils/by_module ou acc_base. Ne pas copier la même fonction dans acc1_utils.js et acc2_utils.js.

                          Différence serveur : très mince

                          acc1_utils.js vs acc2_utils.js

                          Les deux fichiers sont actuellement structurellement identiques :

                          • ils héritent de GameSpecificUtilsAccBaseour_company_co_owner;
                          • ils fournissent seulement le GameUid correspondant;shareholder_group_a;
                          • ilsshareholder_group_b;
                          exposentpetty_cash; les fournisseurs de Petite caisse.

                          Partner subtypes différents

                          ACC2 possède des utilsAccGameSpecificpartner_sub_type supplémentaires :

                            our_company_co_owner; shareholder_group_a; shareholder_group_b; petty_cash; petty_cash_convenience_oc; petty_cash_maintenance_oc; petty_cash_mail_oc; petty_cash_florist_oc; petty_cash_stationery_oc.

                            AutrementCes dit,différences ilne n'existesont actuellementpas décoratives : BillFactory et plusieurs bill classes sélectionnent les partenaires selon leur subtype.

                            Produits : univers complètement différent

                            ACC1 — 77 products

                            Types et exemples :

                              aucunepiscines : above_pool_*, mid_pool_*, in_pool_*; entretien : chlore, algicide, robot cleaner; extérieur : sofa, gazebo, toys, barbecue; composants de piscine : moteurs, tuyaux, aluminium, bois, chauffe-eau, systèmes chlore, toiles, escaliers, lumières; plus les produits techniques communs : deposit/withdrawals, bank, office supplies, loans, etc.

                              ACC2 — 43 products

                              Types et exemples :

                                espresso machines : regular/highend/deluxe; coffee machines : regular/highend/deluxe; beans : raw/roasted/blends; retail/accessoires : brush, descaler, air blower, grinders, roasters, filters, scales, tampers, cups; plus les produits techniques communs.

                                Product types propres à ACC2

                                  espresso_machine; coffee_machine; beans; our_company_co_owner; shareholder_group_a; shareholder_group_b.

                                  Services : ACC2 en contient davantage

                                  ACC1 — 41 services

                                  Une grosse règlepartie métierest ACC1-onlyliée ouaux ACC2-onlypiscines :

                                    fermeture de piscine par type/taille; nettoyage; maintenance; installation; installation de chauffe-eau; services/operating costs communs.

                                    ACC2 — 58 services

                                    ACC2 ajoute de nombreuses familles :

                                      Petite caisse : fonds initial, consommables, dépenses et retraits; formation barista : novice / advanced / expert; coffee shop : installation, cleaning, maintenance; maintenance machines : repair, cleaning, descaling; maintenance équipements : grinder sharpening, scale calibration, parts replacing; eau / steam wand; stocks/actionnaires.

                                      Ce qui reste commun dans cesles fichiers.datasets

                                      Dans l'état actuel du dépôt, les différences les plus importantes ne viennent pas de :

                                      Wrappers

                                      Cloudconditions.json; Scriptsemployees.json; salaries.json.

                                      Les commandesdifférences suivantessont existentsurtout desdans companies, partners, products, services, les ScenarioPages, les assets et les settings ACC2-only.

                                      Server scripts ACC1 vs ACC2

                                      Côté serveur, les wrappers restent volontairement presque identiques.

                                      Commandes présentes dans les deux côtés sous des noms préfixés ACC1/ACC2 :

                                      • answer_key_module;
                                      • change_module_item_index;
                                      • change_module_sort_index;
                                      • change_module_visibility;
                                      • create_team;
                                      • custom_command;
                                      • generate_new_good_decisions;
                                      • generate_results;
                                      • get_new_good_decisions;
                                      • reopen_module;
                                      • set_correction_mode_off.

                                      acc1_utils.js vs acc2_utils.js

                                      LesIls wrapperssont fontactuellement essentiellementidentiques :

                                      à
                                        part includele desGameUid utilset communs;les includenoms de acc1_utils ou acc2_utils; include de la commande acc_base correspondante.

                                        Alias historique uniquement ACC1

                                        ACC1 contient en plusclasses :

                                        acc1_module_sort_name.jsGameSpecificUtilsAcc1 -> GameSpecificUtilsAccBase("acc1")
                                        GameSpecificUtilsAcc2 -> GameSpecificUtilsAccBase("acc2")

                                        CeDonc fichierune règle comptable commune doit aller dans acc_base ou _utils/by_module, pas être dupliquée dans les deux fichiers.

                                        Exception historique ACC1

                                        acc1_module_sort_name.js existe uniquement dans ACC1 et ne contientfait qu'un include deinclure /acc_base/command/acc_base_change_module_sort_index. IlC'est s'agit donc d'un alias/wrapperalias historique, pas d'unune moteurdifférence distinct. Ne pas reproduire cet alias côté ACC2 sans besoin de compatibilité réel.métier.

                                        Différences de static data

                                        Les différences importantes vivent principalement dans :

                                          Assets/GameSpecific/acc1/Resources/data_acc1/; Assets/GameSpecific/acc2/Resources/data_acc2/.

                                          Données qui diffèrent fortement

                                          Dataset Pourquoi il diffère companies.json Univers d'entreprises/fournisseurs/clients différent. partners.json Partenaires et identités propres au scénario métier. products.json Piscines et produits associés vs café/machines/produits associés. services.json Services adaptés à l'entreprise simulée. textes FR/EN Noms, contexte, pièces justificatives, scénario et modules propres au jeu.

                                          Données actuellement communes ou quasi identiques

                                          Le diff actuel ne montre pas de différence de contenu significative dans :

                                            conditions.json; employees.json; salaries.json.

                                            Ne pas en déduire qu'elles doivent rester identiques pour toujours. Simplement, dans l'état actuel du dépôt, elles ne portent pas la différence principale ACC1/ACC2.

                                            ACC1 : particularités actuelles

                                            Contexte métier

                                            Les textes présentent ACC1 comme une entreprise spécialisée dans la vente de piscines. L'étudiant travaille au département de comptabilité et doit compléter un cycle comptable.

                                            Tutoriels game-specific

                                            Le dossier Assets/GameSpecific/acc1/src/ contient plusieurs composants absents du dossier ACC2 :

                                              AccGeneralTutorials.cs; GenericAcc1Tutorial.cs; GenericAcc1TutorialNoModules.cs; TutorialButtonAcc1Async.cs; TutorialButtonAcc1Sync.cs; TutorialPopupControlAcc1Async.cs; TutorialPopupControlAcc1Sync.cs; prefabs TutorialPopupControlAcc1*.

                                              Ces tutoriels couvrent notamment navigation générale, correction, pratique, fin summative, téléchargement/impression des pièces, deuxième fenêtre et report aux grands livres.

                                              Assets visuels

                                              ACC1 possède des images et animations liées notamment aux immobilisations/services : electricity, equipment, furnishings, hardware, internet, rolling stock, telecom.

                                              ACC2 : particularités actuelles

                                              Contexte métier

                                              Les textes présentent ACC2 comme une entreprise spécialisée dans la vente de café et de machines à café. L'objectif reste de compléter un cycle comptable.

                                              Module Petite caisse

                                              ACC2 contient explicitement :

                                                ModulePettyCashScenarioPages.asset; textes module_petty_cash, petty_cash_journal, petty_cash_form; pièces de petite caisse : création, renflouement, retraits, déclaration; entreprises de convenience/maintenance/mail/florist/stationery; contenu régional QC/ON/NB/PE pour ces partenaires.

                                                Important : le moteur Petty Cash lui-même vit dans le framework commun By Module/Accounting. La différence ACC2 est surtout que son contenu/configuration l'utilise explicitement.

                                                Assets visuels

                                                ACC2 possède un univers visuel distinct : clients, personnages, café, barcode, corkboard, etc.

                                                ScenarioPages

                                                Les deux jeux partagent pratiquement le même ensemble de ScenarioPages Accounting :

                                                  Accounting Cycle; Accounting Journal; General Journal; Auxiliary JournalsUI / Ledgers; Taxes; Income Taxesscenes / Employer Income Taxes; Regularizations; Financial Statements; Closure; Balance Sheet.

                                                  ACC2 ajoute actuellement le scénario Petty Cash. Plusieurs assets homologues ont aussi de petites différences de contenu/références, donc ne pas remplacer automatiquement un asset ACC1 par son homologue ACC2.

                                                  Scenes, skins et UI root

                                                  ACC1 ACC2
                                                  Acc1Student.unity Acc2Student.unity
                                                  Acc1Teacher.unity Acc2Teacher.unity
                                                  MainControlStudentAcc1.prefab MainControlStudentAcc2.prefab
                                                  MainControlTeacherAcc1.prefab MainControlTeacherAcc2.prefab
                                                  Acc1Skin.asset Acc2Skin.asset
                                                  Doozy graphs ACC1 Doozy graphs ACC2

                                                  Tutoriels : différence ACC1 importante

                                                  ACC1 contient actuellement toute une couche game-specific absente d'ACC2 :

                                                    AccGeneralTutorials.cs; GenericAcc1Tutorial.cs; GenericAcc1TutorialNoModules.cs; TutorialButtonAcc1Async.cs; TutorialButtonAcc1Sync.cs; TutorialPopupControlAcc1Async.cs; TutorialPopupControlAcc1Sync.cs; prefabs TutorialPopupControlAcc1*.

                                                    Ils couvrent navigation générale, correction, pratique, fin summative, téléchargement/impression, deuxième fenêtre et report aux grands livres.

                                                    Si une UI commune By Module est modifiée, tester que les UIDs ciblés par ces tutoriels ACC1 existent toujours.

                                                    ScenarioPages

                                                    Les deux jeux possèdent la majorité des mêmes ScenarioPages Accounting :

                                                      Accounting Cycle; Accounting Journal; General Journal; Auxiliary Journals / Ledgers; Taxes; Income Taxes / Employer Income Taxes; Regularizations; Financial Statements; Closure; Balance Sheet.

                                                      ACC2 possède en plus ModulePettyCashScenarioPages.asset. Plusieurs assets homologues ont également des différences de contenu/références : ne pas copier un asset ACC1 sur ACC2 ou inversement sans diff.

                                                      Quand modifier seulement ACC1 ou ACC2où ?

                                                      ModificationChangement OùEmplacement la faireattendu
                                                      Nouvelle règleRègle comptable génériquevalable pour ACC1 + ACC2 acc_base ou/ By Module commun.
                                                      Nouveau type de bill générique Pipeline Bills commun.
                                                      Support d'une nouvelle forme juridique
                                                      Framework commun + settings, puis exposition selon le jeu. Modification du comportement partnership/joint stock BillContext/BillFactory/Answer Key/Grading communs; tester ACC2. Nouvelle feature créances/intérêts Framework commun, mais activation ACC2-only tant que le produit reste ainsi. Nouveau partenaire/produit/servicecontenu proprePetite aucaisse ACC2 data; moteur commun si logique. Nouveau fournisseur piscine ACC1 static data. Nouveau fournisseur café ACC2 static data. NouveauChangement partenaire/produit/service propre aux piscinesvisuel ACC1GameSpecific static data.concerné. Nouveau module pédagogique utilisable par les deux By Module shared + textes/scenario game-specific nécessaires. Nouvelle mécanique Petty Cash générique By Module/acc_base; puis activer/configurer là où nécessaire. Modification duChangement tutoriel général ACC1 actuel GameSpecific ACC1. Simple changement visuel Skin/prefab/scene du jeu concerné.

                                                      Checklist avantMatrice de considérertest recommandée

                                                      Une feature Accounting qui touche une featurezone “Accountingcommune compatible”ne

                                                        devrait Testerpas être validée sur un seul jeu.
                                                        Feature touchée Tests minimum Bills/journaux/ledger généraux ACC1 + ACC2. Inventory ACC1 + ACC2 avec company type/stock type pertinent. Capital/equity/closing ACC1 default + ACC2 single owner + partnership + joint stock A + joint stock AB. Owner bills ACC1 owner unique + ACC2 partnership. Dividends / retained earnings ACC2 joint stock. Créances / effets à recevoir ACC2 ON/OFF. Petite caisse ACC2. Tutoriel/UI modules ACC1 + ACC2; vérifier ACC1 ettutorial ACC2targets. si la logiqueScenario est dans acc_base ou By Module. Tester au moins un dataset produit/service propre à chaque jeu. Tester le ScenarioPageAsset du même module dans les deux jeux.

                                                        Fichiers clés pour comprendre les différences

                                                          Assets/GameSpecific/acc1/Resources/data_acc1/ Vérifier les textes dans les deux data_acc*Assets/GameSpecific/acc2/Resources/data_acc2/. Vérifier que le code n'utilise pas accidentellement ACC1Assets/GameSpecific/byModule/Resources/data_byModule/preferences_settings_definitions.json en dur. Vérifier les tutoriels ACC1 si l'UI touchée est ciblée par un TutorialUIObjectAssets/GameSpecific/byModule/Resources/data_byModule/modules_settings_definitions.json. Tester Petite caisse dans ACC2 si la modification touche bills/checks/journal général/ledger.Assets/Src/UI/SimByModule/UI/Wizards/SaveModule/PreferencesWizardPageControl.cs Tester correction/Answer Key/Grading dans les deux.Assets/Src/UI/SimByModule/Data/ModuleDataAndNameWizardPageControl.cs node.js/backend/braincloud/server_scripts/_utils/by_module/contexts/BillCreationContext.js node.js/backend/braincloud/server_scripts/_utils/by_module/contexts/BillContext.js node.js/backend/braincloud/server_scripts/_utils/by_module/factories/BillFactory.js node.js/backend/braincloud/server_scripts/_utils/by_module/byModule_utils_answer_key_module.js

                                                          Pages de documentation à lire avec celle-ciliées