Cn285
  • Cn285 - Documentation
    • Introduction
      • Les concepts Cn285
      • Navigation et prise en main
      • User Started Guide
      • Support utilisateurs
      • Données de démo
    • Dashboards
    • ⛏️Menu CRM
    • Menu Contracts
      • Contracts
      • Contract Items
      • Contract Changes
      • Contract Item Renewals
      • Contract Item Renewal Notices
      • Contract Template Groups
      • Create Contract from Template
      • Signature
      • ⚒️Contract : Advanced features
    • Menu Billing
      • Invoicing Schedules
      • Invoices
      • ⛏️Invoice Details
      • Billing Folders
      • Credit Notes
    • Menu Fulfillment
      • Usage Data
    • Menu et écran Customers
    • Menu Products
      • Products
      • Products Categories
      • Pricelists
      • Configuration des caractéristiques de récurrence
        • Fixed Recurring Pricing
        • Usage Based Recurring Pricing
        • Usage Triggered Invoicing
        • Billed Once
        • Renouvellement
        • Résiliation
    • Menu Accounting
      • Revenue Recognition
        • RevRec Rules
        • RevRec Date Scheduler
        • RevRec Entry Lines
        • Exemples de Schémas Comptables
          • FAE en fin de période de service
          • FAE à la signature/Renewal avec PCA
      • Reports
        • Differed Revenue Report
        • Detailed Balance Report
        • ⛏️RevRec Stock Report
      • Summary Entities
        • Summary Journals
        • Summary Entries
      • Banks
    • Menu Objects
      • Objects
      • Events
    • Menu QS
      • ⛏️Message
      • ⛏️Workers
    • Menu XSync
      • Remote System
      • XSync for Netsuite
        • Configuration Netsuite
        • Configuration XSync
        • Customers Inbound Sync
        • Customers Outbound Sync
        • Product Inbound Sync
        • Invoice Outbound Sync
        • Invoice Status Inbound Sync
        • Bank Account Sync
        • Journal Entries Outbound Sync
        • Cn285 extended values
      • XSync for Odoo
        • Configuration Odoo
        • Configuration XSync
        • Customers Inbound Sync
        • Customers Outbound Sync
        • Product Inbound Sync
        • Invoice Outbound Sync
        • Invoice Status Inbound Sync
      • User defined Mappers
      • Static Mapper
    • ⚒️Menu Configuration
      • Settings
        • Invoicing Process
        • Invoice eMail Sending
        • Contract
        • ⚒️RevRec
        • ⛏️NetSuite by Cn285
      • Invoicing Date Scheduler
      • Usage Data Calculator
      • ⚒️SmartCodes
      • Detail Generators
        • Invoice Detail Generator
        • Credit Memo Detail Generator
      • User
        • Create user
        • User
        • Companies
      • Accounting
        • Payment terms
        • Positions Fiscales
        • Chart of Accounts
        • Account Types
        • Taxes
        • ⛏️Fiscal Year
        • ⛏️Analytic Accounts
      • Cn285 Daemons
      • ⛏️Dunning Plan Templates
      • ⛏️Dunning Step Templates
      • Resources
      • ⛏️Data Dictionnary
      • Import des données
        • Préparation de données
        • Utilisation moteur d'import (CSV Import)
      • Export des données (csv, Excel)
      • Smart Code
Powered by GitBook
On this page
  • Introduction
  • Configuration
  • SmartCode Type
  • SmartCode "Prorator"
  • SmartCode "LifeCycle Callback"
  • SmartCode "Event"
  1. Cn285 - Documentation
  2. Menu Configuration

SmartCodes

Le menu SmartCodes regroupe tous les éléments de code insérés à des fins de personnalisation de l'application Cn285

PreviousUsage Data CalculatorNextDetail Generators

Last updated 2 years ago

Introduction

Cn285 permet la personnalisation des traitements applicables aux champs d'un objet ou à un objet lui même, à travers l'insertion de code directement via l'interface utilisateur. Ces traitements sont applicables via des SmartCodes.

Certaines personnalisations / mise en place de SmartCode nécessitent une compétence technique dans le langage Python.

Il existe différents type de SmartCode:

  • Prorator

  • LifeCycle Callback

  • Event

Configuration

Les SmartCodes sont accessibles et configurables depuis le menu Cn285 / Configuration / Smart Codes.

Différents champs sont accessibles sur ce SmartCode:

  • Nom: Le nom du SmartCode.

  • Description: Une description permettant d'indiquer ce que réalise ce SmartCode.

  • Key: Une clé générée en fonction du nom. Cette clé permet d'identifier le SmartCode. Elle peut être personnalisée.

  • SmartCode Type: Le type de SmartCode souhaitée.

  • Python Code Type: Le type de code du SmartCode. Il existe deux types de code pour les SmartCodes:

    • Internal Code: Le code utilisé par le SmartCode est une méthode standard livrée par Cn285. Celle-ci ne peut être personnalisée. Lorsque cette option est sélectionnée, un nouveau champ "Internal Method" apparait sur le formulaire et permet de sélectionner la méthode standard à utilisé pour ce SmartCode.

    • Inline: Permet de personnaliser le SmartCode via du code Python directement depuis l'interface. Lorsque cette option est sélectionnée, un nouvel onglet "Inline Code" apparaît et permet d'écrire du code Python.

Chaque SmartCode possède un exemple de personnalisation dans l'onglet "Inline Code".

Les SmartCodes se définissent soit au niveau du ContractItem, soit au niveau du produit.

SmartCode Type

Comme décrit précédemment, il existe plusieurs type de SmartCode.

SmartCode "Prorator"

Le SmartCode "Prorator" permet de proratiser les différents périodes du ContractItem. Il existe 3 SmartCode "Prorator":

  • Prorator First Period: Permet de proratiser la premiere période du ContractItem.

  • Prorator Intermediate Period: Permet de proratiser les différentes périodes intermédiaires du ContractItem.

  • Prorator Last Period: Permet de proratiser la dernière période du ContractItem.

Cn285 intègre des fonctionnalités standards pour ces 3 SmartCode "Prorator":

  • Nb Days: Retourne le nombre de jours dans la période.

  • Temporis: Calcul la quantité en fonction du nombre de jours présents dans la période. Fonctionne uniquement sur de la facturation alignée (mensuel, trimestriel, ..).

  • Whole Period: Retourne toute la période si au moins un jour est présent.

  • Void Period: Annule la période si au moins un jour est présent.

Chaque SmartCode "Prorator" possède les fonctionnalités standards.

SmartCode "LifeCycle Callback"

Le SmartCode "LifeCycle Callback" est appelé à différents étapes de la vie d'un ContractItem et permet de réaliser différentes actions au cours de la vie d'un ContractItem.

  • beforefirstrenewal: Le SmartCode est appelé avant le premier renouvellement.

  • beforeotherrenewal: Le SmartCode est appelé avant les renouvellements intermédiaires.

  • beforelastrenewal: Le SmartCode est appelé avant le dernier renouvellement de la période.

  • afterfinished: Le SmartCode est appelé après la fin "naturel" du ContractItem.

  • beforeterminate: Le SmartCode est appelé avant la résiliation du ContractItem.

  • afterterminate: Le SmartCode est appelé après la résiliation du ContractItem.

Le SmartCode "LifeCycle Callback" se définit au niveau des Contract Items, dans l'onglet "API / Custom" du formulaire ou au niveau des Products dans l'onglet "Cn285" du formulaire.

SmartCode "Event"

Le SmartCode "Event" permet de réaliser des traitements sur des Events. Ce SmartCode est spécifique puisqu'il n'est pas défini au niveau des ContractItems / Items mais intervient dans le traitement de l'évènement. Un évènement, avant d'être traiter par Cn285, est insérer sous forme de Message. Ce message est ensuite traité par un Message Processor. Ce Message Processor peut être associé à un SmartCode "Event' si celui-ci possède la même clé que son Selector. Grâce à l'association entre le Message Processor et le SmartCode, il est alors possible de réaliser des traitements sur cet évènement.

⚒️
⚒️
⚒️
⛏️
Création d'un nouveau SmartCode
Exemple de SmartCode "Prorator"
Exemple de SmartCode "LifeCycle"
Exemple de SmartCode "Event"