automation
đź”§ fwl_TS_NOOA_lowcode_autothen_devis_generate_token
function fwl_TS_NOOA_lowcode_autothen_devis_generate_token($id_type,$id_obje) {
$utoken=fwk_var_password_simple_generate(16);
$url_devis=fwp7_param_params_detail('','MAIL_URL')."site/SITE1/DEVIS/".$utoken."";
$datas=array();
$att_token = fwp7_param_template_att_get_number('',$id_type,'token');
$att_url_devis = fwp7_param_template_att_get_number('',$id_type,'url_site_ext_devis');
$datas[$att_token]=$utoken;
$datas[$att_url_devis]=$url_devis;
fwc7_modify_att_edit('',$id_type,$id_obje,$datas);
}
↩️ Returns
(void)
đź”§ fwl_TS_NOOA_lowcode_autothen_devis_statut_opportunite_from_devis
: Lorsque qu’un devis passe au statut refusé alors on vient checker si c’est le dernier a être refusé sur l’ensemble de la liste de devis refusé. Si c’est le cas, alors l’opportunité passe au statut “Perdu”.
function fwl_TS_NOOA_lowcode_autothen_devis_statut_opportunite_from_devis($id_type,$id_obje) {
$att_key_opportunite = fwp7_param_template_att_get_number('',$id_type,'opportunite');
$att_key_status_refuse = fwp7_param_objet_setting_get('',$id_type,'devis','statut','refuse');
$att_key_status_annule = fwp7_param_objet_setting_get('',$id_type,'devis','statut','annule');
$att_key_type_opportunite = fwp7_param_objet_setting_get('',$id_type,'opportunite','id_type');
$att_key_type_opportunite_annule = fwp7_param_objet_setting_get('',$id_type,'opportunite','statut','annule');
$idOpportunite = fwc7_data_objet_att('',$id_type,$id_obje)[$att_key_opportunite];
$wc = array();
$wc[]=$att_key_opportunite." ='".$idOpportunite."' AND id_work NOT IN (".$att_key_status_refuse." , ".$att_key_status_annule.")";
$findAllDevisByOpportunite = fwc7_data_objet_atts('',$id_type,'1',$wc);
// ... (truncated)
↩️ Returns
(void)
đź”§ fwl_TS_NOOA_lowcode_autothen_creation_facture
function fwl_TS_NOOA_lowcode_autothen_creation_facture($id_type,$id_obje){
// LG : NE FAIT RIEN POUR LE MOMENT
//$valeursreglements = fwc7_data_liste_valeurs('', '24', 'value', array('label'));
if(isset($valeursreglements) && !empty($valeursreglements) && isset($id_obje)){
$wc= array();
}
}
↩️ Returns
(void)
đź”§ fwl_TS_NOOA_lowcode_autothen_create_commande_from_devis
Fonction principale pour créer une commande à partir d'un devis
function fwl_TS_NOOA_lowcode_autothen_create_commande_from_devis($id_type, $id_obje) {
try {
$wc = array();
$wc[]= " att14 = ".$id_obje;
$isCommandeAlreadyExist = fwc7_data_objet_atts('',168,"1",$wc);
$idCommande = reset($isCommandeAlreadyExist);
count($isCommandeAlreadyExist) == 0 ? $isCommandeAlreadyExist = false : $isCommandeAlreadyExist = true ;
if(!$isCommandeAlreadyExist){
$serviceCommande = new CommandeService(strval($id_type), strval($id_obje));
$idCommande = $serviceCommande->creerCommande();
// ... (truncated)
⚙️ Parameters
$id_type (int) Le type ID du devis
$id_obje (int) L'ID du devis
↩️ Returns
(int|false) Retourne l'ID de la commande si succès, false si la commande existe dĂ©jĂ
Fonction pour le calcul du temps de transformation des opportunité
function fwl_TS_NOOA_lowcode_autothen_transformation($id_type,$id_obje){
global $global_modified_att;
$opportuniteOBJ = fwc7_data_objet_att('',$id_type,$id_obje);
if($global_modified_att[$id_type][$opportuniteOBJ['id_vent']]['att']['id_work']['old']!="" &&
$global_modified_att[$id_type][$opportuniteOBJ['id_vent']]['att']['id_work']['old']!=$global_modified_att[$id_type][$opportuniteOBJ['id_vent']]['att']['id_work']['new'] &&
$global_modified_att[$id_type][$opportuniteOBJ['id_vent']]['att']['id_work']['new']== 417){
$dateCreate = strtotime($opportuniteOBJ['attf100']);
$dateTransfo = strtotime(date('Ymd'));
$data=array();
$data['att4'] = ($dateTransfo-$dateCreate)/86400;
// ... (truncated)
↩️ Returns
(void)
đź”§ fwl_TS_NOOA_lowcode_autothen_devis_statut_devis_from_opportunite
function fwl_TS_NOOA_lowcode_autothen_devis_statut_devis_from_opportunite($id_type,$id_obje) {
$idOpportunite = fwc7_data_objet_att('',$id_type,$id_obje);
$wc = array();
$wc[]=" att1 ='".$id_obje."' AND id_work NOT IN (413,420)";
$findAllDevisByOpportunite = fwc7_data_objet_atts('','165','1',$wc);
// Si il reste de devis Ă refuser ou annuler
if(count($findAllDevisByOpportunite) > 0){
// alors on les annule
$datas = [];
$datas["id_work"]="420";
foreach($findAllDevisByOpportunite as $id => $att){
fwc7_modify_att_edit('','165',$id,$datas);
// ... (truncated)
↩️ Returns
(void)
đź”§ fws_TS_NOOA_OPPORTUNITE_dropdown_selectize_client
function fws_TS_NOOA_OPPORTUNITE_dropdown_selectize_client($id_type="",$id_obje="", $param_att="")
{
$id_cur_obje="";
switch ($id_type) {
case '148':
$data_objet=fwc7_data_objet_att('',$id_type,$id_obje);
$id_cur_obje=$data_objet['att2'];
break;
default:
break;
}
// ... (truncated)
↩️ Returns
(array)
đź”§ fwl_TS_NOOA_lowcode_autothen_assignation_prescription
When modifying opportunite|devis|facture client: Assigns the prescriber of the client to the current prescriber opportunity If the client has no prescriber, sets the opportunity's prescriber to ''
function fwl_TS_NOOA_lowcode_autothen_assignation_prescription($id_type, $id_obje)
{
// Input validation
if (empty($id_type) || empty($id_obje)) {
error_log("Error in assignation_prescription: Invalid input parameters");
return false;
}
try {
$type_code = fwc7_param_objet_general("", $id_type)['module_code'];
$object = fwc7_data_objet_att('', $id_type, $id_obje);
if (empty($object)) {
throw new Exception("Invalid object data for type $id_type and ID $id_obje");
// ... (truncated)
⚙️ Parameters
$id_type (string) The type ID of the opportunity or devis
$id_obje (string) The object ID of the opportunity or devis
↩️ Returns
(bool) Returns true if the assignment was successful, false otherwise
đź”§ fwl_TS_NOOA_lowcode_autothen_cooperative_product
Filtre et gère les produits pour une coopérative en fonction des restrictions SAP Cette fonction effectue les opérations suivantes : 1. Récupère les informations du produit et les détails de la coopérative 2. Vérifie si la coopérative est de type "sap" 3. Pour les coopératives SAP, supprime les produits non-SAP si les restrictions de produits sont activées
function fwl_TS_NOOA_lowcode_autothen_cooperative_product($id_type, $id_obje){
// Récupère l'ID du type de produit et de coopérative à partir des paramètres
$id_type_produit = fwp7_param_objet_setting_get('', $id_type, 'produit', 'id_type');
$id_type_cooperative = fwp7_param_objet_setting_get('', $id_type, 'cooperative', 'id');
// Récupère l'ID du champ pour les lignes de produit et récupère toutes les lignes de produit
$products_line_id_field = fwp7_param_template_tlg_get_number('', $id_type, 'ligne_de_documents');
$products_line = fwc7_data_objet_ligs("", $id_type, $id_obje, intval($products_line_id_field), "all", 1, "", "", "", "");
// Récupère le champ ID de la coopérative et récupère l'ID de la coopérative
$devis_cooperative_id_field = fwp7_param_template_att_get_number('', $id_type, 'id_cooperative');
$id_cooperative = fwc7_data_objet_att('', $id_type, intval($id_obje))[$devis_cooperative_id_field];
// Récupère les détails de la coopérative et son type
$cooperative = fwc7_data_objet_att('', $id_type_cooperative, $id_cooperative);
$cooperative_type_field = fwp7_param_template_att_get_number('', $cooperative['id_type'], 'type_cooperative');
$cooperative_type = $cooperative[$cooperative_type_field];
// ... (truncated)
⚙️ Parameters
$id_type (int) L'ID du type d'objet (représentant la coopérative ou la commande)
$id_obje (int) L'ID de l'objet (représentant l'instance spécifique de la coopérative ou de la commande)
↩️ Returns
(bool) Retourne toujours true après le traitement
đź”§ fwl_TS_NOOA_FRANCHISE_lowcode_autothen_add_row_franchise
Ajout des lignes de compteur à la création de la franchise
function fwl_TS_NOOA_FRANCHISE_lowcode_autothen_add_row_franchise($id_type="",$id_obje=""){
$ligData = array();
$ligData['lig1'] = "CLI-";
$ligData['lig3'] = "80";
fwc7_modify_lig_merge("",$id_type,$id_obje,"163","",'',$ligData,'new','','','');
$ligData = array();
$ligData['lig1'] = "DEV-";
$ligData['lig3'] = "165";
fwc7_modify_lig_merge("",$id_type,$id_obje,"163","",'',$ligData,'new','','','');
$ligData = array();
// ... (truncated)
↩️ Returns
(void)
đź”§ fwl_TS_NOOA_lowcode_autothen_mail_rdv_technique
Envoi d'email au contact si le paramètre de la franchise est défini sur "mail_rdv_technique" Récupère la classe $global_type_spe\Franchise depuis NOOA_WIREFRAME\Entity\TOOSMART_NOOA\User
function fwl_TS_NOOA_lowcode_autothen_mail_rdv_technique($id_type,$id_obje){
global $user;
global $global_message;
global $global_type_spe;
$opportunite = new Opportunite($id_obje);
$franchise = new NOOA_WIREFRAME\Entity\TOOSMART_NOOA\User($user->id_user);
$franchise = $franchise->fetchFranchises($global_type_spe);
$franchise = reset($franchise);
// Vérifie si la franchise a activé la confirmation RDV technique
if ($franchise->getConfirmationRdvTechnique() == '1'){
$contact = new NOOA_WIREFRAME\Entity\TOOSMART_NOOA\Contact($opportunite->getContact());
// ... (truncated)
↩️ Returns
(void)
đź”§ fwl_TS_NOOA_lowcode_autothen_change_client_devis_associe
Fonction pour le changement automatique du nom du client dans les devis associé à l'opportunité
function fwl_TS_NOOA_lowcode_autothen_change_client_devis_associe($id_type,$id_obje){
$mcDevis = new ModuleCode('165','');
$moduleCodeDevis = $mcDevis->getModuleCode();
$opportunite = fwc7_data_objet_att('',$id_type,$id_obje);
$wc[]=$moduleCodeDevis['opportunite']."='".$id_obje."'";
$devis = fwc7_data_objet_atts('','165','1',$wc,'','','');
if(count($devis)>0){
foreach ($devis as $item) {
$data['att2']=$opportunite['att2'];
fwc7_modify_att_edit('',$item['id_type'],$item['id_vent'],$data);
// ... (truncated)
↩️ Returns
(void)
đź”§ fwl_TS_NOOA_lowcode_autothen_creation_devis_direct
Fonction pour la création d'un devis direct et la mise à jour des informations liées
function fwl_TS_NOOA_lowcode_autothen_creation_devis_direct($id_type,$id_obje){
//Récupération des modules code du devis
$mcDevis = new ModuleCode($id_type,'');
$moduleCodeDevis = $mcDevis->getModuleCode();
$devis = fwc7_data_objet_att('',$id_type,$id_obje);
//Récupération des modules code de l'opportunité
$mcOpportunite = new ModuleCode($moduleCodeDevis['setting_opportunite_id_type_'],'');
$moduleCodeOpportunite = $mcOpportunite->getModuleCode();
//Données pour l'opportunité créer et associé au devis
$data[$moduleCodeOpportunite['titre']] = 'OPP-'.$devis[$moduleCodeDevis['att_numero_devis']];
// $data[$moduleCodeOpportunite['nom_du_client']]= $id_obje;
$data[$moduleCodeOpportunite['commentaire']] = 'Devis direct-'.$devis[$moduleCodeDevis['att_numero_devis']];
$opp = fwc7_modify_att_create('',$moduleCodeDevis['setting_opportunite_id_type_'],'366',$data);
fwc7_modify_att_edit('',$id_type,$id_obje,[$moduleCodeDevis['opportunite']=>$opp]);
// ... (truncated)
⚙️ Parameters
$id_type (int) Le type ID de l'objet source (devis)
$id_obje (int) L'ID de l'objet source (devis)
↩️ Returns
(void)