Dans cet article
Fonctions pouvant être utilisées dans la colonne Formules du tableau Budget
Fichiers d'exemple:
Pour des exemples concernant les formules, reportez-vous aux explications suivantes :
- Modèle des écritures avec l'utilisation des colonnes quantité et formule
- Modèle des écritures pour la comptabilité multidevise qui utilisent la colonne formule pour la devise de base
Colonne Montant
À des fins de planification, la valeur de la colonne Montant fait défaut.
La valeur dans la colonne Montant :
- Peut être saisie manuellement.
- Peut être le résultat d'un calcul :
- Si une quantité et un prix sont saisis, le montant sera le résultat de la multiplication de ces valeurs.
- S'il n'y a que la quantité ou le prix, le montant sera 0.
- Si une formule est saisie, le montant sera le résultat de la formule.
- La formule a également la priorité sur la quantité et le prix. S'il existe une formule, le contenu des colonnes Quantité et Prix n'est pas pris en compte.
Insertion de formules de calcul
Langage Javascript
La formule doit être exprimée en langage Javascript (à ne pas confondre avec le langage Java).
S'il existe une formule (ou un texte quelconque), la valeur de la colonne Montant est définie en fonction du résultat de la formule.
Vous pouvez utiliser toutes les fonctions du langage Javascript, plus les API fournies par Banana.
Séparateur de décimales
Javascript utilise uniquement le point "." comme séparateur de décimales.Si vous utilisez un séparateur différent, celui utilisé pour les nombres dans le format local, il est probable que le nombre sera tronqué.
Séquence de calcul et absence de valeurs futures
Comme expliqué ci-dessous, les lignes sont triées par date et résolues en commençant par la plus basse.
S'il y a des opérations avec la même date, l'ordre est celui du moment de la saisie.
Lorsqu'une ligne est résolue, il n'y a que les résultats des lignes précédentes. Les lignes suivantes n'ont pas encore été traitées, de sorte que dans la formule de budget, vous ne disposez que des valeurs jusqu'à ce moment.
Le résultat de la dernière opération est repris.
La valeur saisie dans la colonne Montant est le résultat de la dernière opération effectuée.
- 10*3 //sera retourné 30
- S'il y a plusieurs opérations en séquences, séparées par des points et virgules ";" la dernière opération sera reprise.
10*3;7; // C'est le 7 qui sera repris - S'il y a un retour, la valeur est reprise après le retour.
retour 10; // C'est le 10 qui sera repris
Variables automatiques
- budgetCurrent
C'est un tableau qui contient les lignes du Budget juste après la création des répétitions.
Elles sont utilisées pour reprendre les valeurs, en conjonction avec le JReapeatNumber. - DEBUG est une variante qui peut être "true" ou fausse.
Si "true", tous les résultats des formules sont affichés dans les messages. - row
C'est un objet javascript qui fait référence à la ligne courante.
Les valeurs des cellules peuvent être reprises avec la fonction value ("columnNameXml").
row.value("date") retourne à la data de l'écriture.- row.value ("JRepeatNumber") retourne le progressif de la répétition.
La première répétition est 0.
- row.value ("JRepeatNumber") retourne le progressif de la répétition.
Fonctions Budget
En plus de l'API budget défini dans l'API de classe comptabilité, il existe des fonctions spécifiques.
budgetExchangeDifference(account,[date, exchangeRate])
Cette formule rappelle la fonction Banana.document.budgetExchangeDifference.
budgetGetPeriod(tDate, period)
Cette fonction est utilisée en combinaison avec l'utilisation de la répétition.
Lorsque des répétitions sont indiquées, il est conseillé de se référer à une période de calcul et non à une date précise.
Paramètre tDate. Date à laquelle le calcul de la période se réfère. En règle générale, la date de la ligne d'écritures.
- Paramètre period.
Un sigle- "MC", "QC", "YC" pour indiquer le mois, le trimestre ou l'année courant.
- "MP", "QP", "YP" pour indiquer le mois, le trimestre ou l'année précédente.
- Valeur de retour.
Un objet composé de deux dates- startDate
- endDate
// example
t = BudgetGetPeriod ('2015-01-01', 'MP') retourne
t.startDate // 2014-12-01
t.endDate // 2014-12-31
Fonctions budgétaires spécifiques
Ce qui suit est similaire aux fonctions disponibles avec Banana.document, mais peut être utilisé sans indiquer l'objet Banana.document.
A tenir compte:
- Au lieu du paramètre startDate, vous pouvez utiliser une des abréviations "MC", "QC", "YC", "MP", "QP", "YP" expliquées dans le budgetGetPeriod.
- Si un sigle est spécifié comme date, la date de l'écriture en cours est utilisée.
- L'utilisation de la date de fin n'a de sens que si elle est antérieure à la date de la ligne
Si elle est égale ou supérieure, elle n'aura aucun effet car les valeurs après la ligne courante ne sont pas encore disponibles, car elles n'ont pas été traitées.
Liste des fonctions disponibles dans tous les comptabilités :
- budgetBalance(account, startDate, endDate, extraParam)
Le solde jusqu'à la ligne courante.
budgetBalance('1000', 'MP'); //retourne le solde de 1000 à la fin du mois précédent - budgetOpening(account, startDate, endDate, extraParam)
Le solde au début de la période. - budgetTotal(account, startDate, endDate, extraParam)
La différence entre les mouvements Débit et Crédit de la période
budgetTotal('1000', 'MC'); //Retourne le mouvement total du compte 1000 pour le mois courant - budgetInterest( account, interest, startDate, endDate, extraParam)
Calcule les intérêts sur un compte, pour la période indiquée (au maximum la date du jour)
Si vous utilisez pour calculer les intérêts sur un compte de fin de période, la ligne où la formule est affichée doit toujours être la dernière pour cette date.- Paramètre intérêt,
Indique le taux d'intérêt en pourcentage.- positif (2.5, 4, 10) calcule les intérêts sur le mouvement Débit du compte.
- négatif (-2,5, -4, -10) calcule les intérêts sur le mouvement Crédit du compte.
- Paramètre intérêt,
Fonctions pour la comptabilité multidevise :
Ils peuvent également être utilisés pour la comptabilité sans multidevise, dans ce cas le compte est toujours dans la devise de base.
- budgetBalanceCurrency(account, startDate, endDate, extraParam)
Le solde dans la devise du compte jusqu'à la ligne courante. - budgetOpeningCurrency(account, startDate, endDate, extraParam)
Le solde dans la devise du compte jusqu'à la ligne courante. - budgetTotalCurrency(account, startDate, endDate, extraParam)
crédit(montant)
-
Si le paramètre montant est négatif, il retourne le montant comme valeur positive.
credit(-100) // retourne 100 - Si le paramètre montant est positif, il retourne 0 (zéro)
credit(100) // retourne 0
Cette fonction est utile en liaison avec la fonction budgetBalance seulement sur les soldes nécessaire.
Si vous voulez calculer le pourcentage sur les ventes, l'utilisation de cette fonction est plus facile.
credit(budgetTotal('1000')) // insère la valeur que si elle est négative.
debit(montant)
-
Si le paramètre montant est positif, il retourne le montant.
debit(100) // retourne 100 - Si le paramètre est négatif, il retourne 0 (zéro)
debit(-100) // retourne 0
Utile si vous devez faire des calculs en utilisant seulement le montant du Débit en évitant d'utiliser celui du Crédit.
Include
Inclut et exécute un fichier javascript, avec la possibilité de créer des fonctions spécifiques et des variables qui peuvent être rappelées dans le script.
- inclure "file:test.js"
Exécute le contenu du fichier indiqué. Le nom est relatif au fichier sur le quel l'on travaille. - inclure "documents:test.js"
Exécute le document texte contenu dans le tableau documents
Doit être un fichier de type "text/javascript"
Variables
Il est possible de définir et d'utiliser des variables directement à l'intérieur des lignes.
La variable doit pour autant avoir été définie au préalable.
price = 10; total = price * 5;
Fonctions définies par l'utilisateur
L'utilisateur peut définir des fonctions avec le langage javascript et les rappeler dans les formules.
Il est possible de définir des fonctions:
- Directement dans une formule
- A l'intérieur d'un fichier attaché du type code javascript, indiqué dans un document qui a comme ligne id le nom "_budet.js"
- A l'intérieur d'un texte dans le tableau documents et inclu avec la commande inclure.
function calcolaImposte(utile) { var aliquota = 10; if (utile > 50000) aliquota = 10; else if (utile > 100000) aliquota =20; return utile * aliquota / 100; }
Séquence de calcul et de recalcul
Chaque fois qu'une valeur dans la tableu Budget est modifiée ou que l'on fait un nouveau contrôle manuel (Maj. +F9), le programme:
- Si il existe, le contenu du document "_budget.js" vient avant tout.
- Recalcule les lignes du tableau Budget:
- Le programme génère les lignes répétées sur la base de la colonne Date début, Date fin et Répétition.
Si en janvier il se trouve une ligne avec répétition mensuelle, 12 lignes identiques seront créées, mais avec la date per chaque mois de l'année. - Les lignes du budget sont donc élaborées par ordre de date (si elles ont la même date dans l'ordre d'insertion.)
- Le calcul du montant de l'écriture sera calculé sur la base de la quantité et du prix unitaire ou si il y a une formule, sur la base du résultat de la formule.
- Pour la comptabilité multidevise c'est d'abord la formule Montant en devise qui sera exécutée et ensuite la formule Montant en devise de base.
S'il n'y a pas de formule Montant en devise de base, le programme reprendra le change historique et calculera l'équivalent en devise de base. - Pour la comptabilité avec la TVA, la TVA est calculée sur base au montant de l'écriture
- Les lignes élaborées précédemment servent pour les calculs des lignes suivantes.
Les soldes des comptes à la date de la ligne du budget contiendront seulement les montant élaborés précédemment.
Si dans une écriture de février on utilise une formule pour le calcul du solde pour toute l'année, on n'aura quand même que le solde jusqu'à février.
- Le programme génère les lignes répétées sur la base de la colonne Date début, Date fin et Répétition.
- Recalcule les valeurs du budget dans le tableau comptes, sur la base des lignes de budget et des soldes initiaux.
- La valeur de la colonne total est mise à jour dans le tableau budget.
Si la date de début/fin de la comptabilité est modifiée, ou d'autres valeurs qui sont nécessaires pour le calcul des valeurs du Budget (par exemple, le tableau TVA), il faut recalculer la comptabilité manuellement (Commande Contrôler la Comptabilité)
Si vous avez beaucoup de lignes avec beaucoup de répétitions, ainsi qu'une une longue période de calcul, le recalcul du tableau Budget pourrait rallentir la saisie. Dans ce cas, il faudrait activer le recalcul manuel dans les propriétés du fichier.