function initialize($contexte, $handleGlobalEvent)
{
try {
$this->eventHandler = isset($handleGlobalEven) ? $this->handleFactureEvent($handleGlobalEvent) : [];
$this->facture = $this->document;
// on force l'attribution de la facture à un groupe - quoi qu'il se passe - le groupe de l'utilisateur connecté.
$this->forceGroupeFacture();
$this->client = fwc7_data_objet_att('',$this->getModuleCodes()["setting_client_id_type_"],$this->document[$this->getModuleCodes()['id_client']],[]);
$this->devis = fwc7_data_objet_att('',$this->getModuleCodes()["setting_devis_id_type_"],$this->document[$this->getModuleCodes()['att_devis']],[]);
/// LINE_FIELD_INPUTS
$this->line_field_inputs = [
'lig_produit_id_designation_metier',
'lig_produit_quantite',
// ... (truncated)
⚙️ Parameters
$contexte(mixed) Context information
🔧 forceGroupeFacture
function forceGroupeFacture():void{
if($this->facture[$this->getModuleCodes()['id_groupe_franchise']] !== '' && !is_null($this->facture[$this->getModuleCodes()['id_groupe_franchise']])){
fwc7_modify_att_edit('',$this->id_type,$this->id_objet,[
$this->getModuleCodes()['id_groupe_franchise']=>$this->identification['intersectGroup'][0]
],'edit','Mise à jour du groupe Franchise');
// reload this-facture.
$this->facture = fwc7_data_objet_att('',$this->id_type,$this->id_objet,[],true);
}
}
↩️ Returns
(void)
🔧 getFactureCommissionRate
goal, récupère sur la cooperative associé au Devis, le taux de comission à appliquer sur la Facture
Soumet et met à jour les totaux de TVA Cette fonction gère les lignes de TVA d'un document. Pour chaque taux de TVA standard (0%, 10%, 20%), elle vérifie si une ligne existe déjà dans le document et la crée, met à jour ou supprime selon le cas. La fonction consolide également les taux de TVA dupliqués en additionnant leurs montants. Le comportement est le suivant : - Si un taux de TVA a un montant > 0 dans les totaux : créer/restaurer et mettre à jour la ligne - Si un taux de TVA a un montant = 0 ou n'apparaît pas dans les totaux : supprimer la ligne Format attendu : [ 'tvas' => [ [ 'vat_rate' => '20', // Taux de TVA (0, 10, 20) 'amount_ht' => 1000, // Montant HT 'vat_amount_in_euro' => 200 // Montant de TVA ], ... ]
function submit_VAT_Totals(array $totals,$eventHandler = null): bool
{
// Recap TVA tlig = ??
$codes = $this->getModuleCodes();
$tlig_recap_tva = $codes["ligne_de_tvas"];
$lig_tva_tx = $codes["tva_tx"];
$lig_montant_ht_base = $codes["tva_base"];
$lig_montant_tva = $codes["tva_mnt"];
// TVA rates (0%, 10%, 20%)
$tva_rates = ['0', '10', '20'];
try {
// Consolider les valeurs de TVA par rapport aux triages
$consolidated_tvas = [];
foreach ($totals['tvas'] as $triage) {
// ... (truncated)
⚙️ Parameters
$totals(array) Tableau contenant les données de TVA à traiter
↩️ Returns
(bool) Retourne true en cas de succès, false en cas d'erreur
🔧 generateInfosDocument
Generate document info
function generateInfosDocument(): string
{
// TODO: Implement generateInfosDocument() method.
}
↩️ Returns
(string) Formatted document info
🔧 generateFormattedAddress
Generate formatted address
function generateFormattedAddress(): string
{
// TODO: Implement generateFormattedAddress() method.
}
↩️ Returns
(string) Formatted address
🔧 getAllContacts
Get all contacts
function getAllContacts()
{
// TODO: Implement getAllContacts() method.
}
↩️ Returns
(array) List of contacts
🔧 handleInterlocuteur
Get l'interlocuteur conerné
function handleInterlocuteur()
{
// TODO: Implement handleInterlocuteur() method.
}
↩️ Returns
(string) Interlocutor ID
🔧 getEntite
Get les informations de l'entité de type franhcise/agence concerné par l'obje
function getEntite()
{
// TODO: Implement getEntite() method.
}