<tr id="LIGNE{{ ligne.NO_PO }}" class="{% if open %}entete_ligne_show{% endif %}">	
	<td class="loupe {% if open %}actif{% endif %}">
	    {{ ligne.NO_PO }} 
		<input type="hidden" class="idLigneCde" id="idLigneModeModif" value="{{ ligne.NO_PO }}" name="LIGNE_NO_PO_MODIF">
		<input type="hidden" class="tempinitCde" id="value_TEMPINIT" value="{{ ligne.value_TEMPINIT }}" name="value_TEMPINIT">
		<input type="hidden" class="idCatCde" id="value_ID_CAT_ORI" value="{{ ligne.value_ID_CAT_ORI }}" name="value_ID_CAT_ORI">
    </td>
	<td width="150px">
        {{ inputAdvance('ZOOM', {
            'name' : 'ligne_NO_DA',
            'pahtZoom' : path('Commande.popupCreationCde.popupListeligneDA'),
            'paramZoom' : "{'filter_egal_CODE_STE' : '"~commande.CODE_STE~"' }",
            'titleZoom' : 'Liste des DA' | trad,
		    'pathValidator' : path('Commande.ValidatorLigneCde.validatorSaisie'),
		    'paramsValidator' : "{'controle' : 'DA', 'nomChamp' : '"~('DA' | trad |e('js')|raw)~"', 'societe' : '"~commande.CODE_STE~"' }",
            'widthPopup' : 'large',
            'idText' : 'input_ligne_NO_PO_DA',
            'value' : ligne.NO_DA,
            'option' : (ligne.NO_DA and origine!='DA') ? 'readOnly':'',
            'myFunction' : 'refreshLigneCommande',
            'myParams' : '["'~path('Commande.ModificationLigneCommande.updateLigne', {idCommande : idCommande, origine:'DA'})~'", "'~ligne.NO_PO~'"]',
        }) }}
    </td>
    <td width="75px">
		{{ inputAdvance('TEXT', {
        	'name' : 'ligne_NO_PO_DA',
		    'value' : ligne.NO_PO_DA,
		    'pathValidator' : path('Ajax.validator.integer'),
		    'paramsValidator' : "{'sizeMin' : 0, 'sizeMax' : 3}",
		    'option' : 'readOnly',
		}) }}
    </td>
	<td>
        {{ inputAdvance('ZOOM', {
  		    'name' : 'ligne_CODE_ART',
  		    'pahtZoom' : path('Ajax.liste.articles'),
		    'pathValidator' : path('Commande.ValidatorLigneCde.validatorSaisie'),
		    'paramsValidator' : "{'controle' : 'ARTICLE', 'CODE_FOU' : $('#input_CODE_FOU').val(), 'nomChamp' : '"~('Article' | trad |e('js')|raw)~"'}",
		    'titleZoom' : 'Liste des articles' | trad,
		    'Entity' : 'Articles',
		    'idText' : 'input_DES_SOMM',
		    'value' : ligne.CODE_ART,
		    'option' : ((ligne.NO_DA and param.LIMITACH_ART) and droit.HA_CA_MCPR == false)? 'readOnly':'',
			'myFunction' : 'refreshLigneCommande',
            'myParams' : '["'~path('Commande.ModificationLigneCommande.updateLigne', {idCommande : idCommande, origine:'ARTICLE'})~'", "'~ligne.NO_PO~'", "ARTICLE"]',
	    }) }}
	</td>
	<td>
		{{ inputAdvance('TEXT', {
		    'name' : 'ligne_DES_SOMM',
		    'value' : ligne.DES_SOMM,
		    'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
		    'paramsValidator' : "{'sizeMin' : 0, 'sizeMax' : 100}",
			'--option' : ((ligne.NO_DA and param.LIMITACH_ART) and droit.HA_CA_MCPR == false)? 'readOnly':'',
			'option' : ligne.CODE_ART? 'readOnly':'',
		}) }}
	</td>
	<td>
		{{ inputAdvance('TEXT', {
		    name: 'ligne_QTE_COMM',
		    value: qteByUnite(ligne.QTE_COMM, ligne.UNITE),
			'numeric' : true,
		    'pathValidator' : path('Commande.ValidatorLigneCde.validatorSaisie'),
		    'paramsValidator' : "{'controle' : 'QTE', 'nomChamp' : '"~('Quantité' | trad |e('js')|raw)~"', 'UNITE' : $('#input_ligne_UNITE').val(),}",
			'option' : ((ligne.NO_DA and param.LIMITACH_QTE) and droit.HA_CA_MCPR == false)? 'readOnly':'',
		}) }}
		<input type='hidden' value='{{ ligne.QTE_COMM }}' id='old_QTE_COMM' />
	</td>
	<td>
	    {{ inputAdvance('ZOOMADVANCE', {
  		    'name' : 'ligne_UNITE',
  		    'pahtZoom' : path('Ajax.liste.unites'),
			'paramZoom' : "{'filtreArticle': $('#input_ligne_CODE_ART').val()}",
	     	'pathConvert' : path('Ajax.outil.convertLibelle'),
     		'convertLibelle' : 'convertLibelleGlobal',
		    'pathValidator' : path('Ajax.validator.zoom'),
		    'paramsValidator' : "{'entity' : 'Unites','nomChamp' : '"~'Unités' | trad |e('js')|raw ~"', 'null' : true}",
		    'entity' : 'Unites',
		    'titleZoom' : 'Liste des unités' | trad,
			'option' : ((ligne.NB_UNITE == 0 and ligne.CODE_ART) or ((ligne.NO_DA and param.LIMITACH_ART) and droit.HA_CA_MCPR == false))? 'readOnly':'',
		    'value' : ligne.UNITE
	    }) }}
	</td>
	<td align="right">
		{{ inputAdvance('TEXT', {
		    'name' : 'ligne_PU',
		    'value' : ligne.PU | prixUnitaire ,
		    'pathValidator' : path('Commande.ValidatorLigneCde.validatorSaisie'),
		    'paramsValidator' : "{'controle' : 'PU', 'nomChamp' : '"~('Prix unitaire' | trad |e('js')|raw)~"'}",
			'option' : ((ligne.NO_DA and param.LIMITACH_PX) and droit.HA_CA_MCPR == false)? 'readOnly':'',
		}) }}
	</td>
	<td>
		{{ inputAdvance('DATE', {
		    'name' : 'ligne_DTELIVCON',
		    'value' : ligne.DTELIVCON | dateTrad ,
		    'pathValidator' : path('Commande.ValidatorLigneCde.validatorSaisie'),
		    'paramsValidator' : "{'controle' : 'DATELIV', 'nomChamp' : '"~('Date de livraison' | trad |e('js')|raw)~"'}",
			'option' : (((ligne.NO_DA and param.LIMITACH_DEL) and droit.HA_CA_MCPR == false) or planning | length > 1)? 'readOnly':'',
		}) }}
	</td>
	<td class="montant" id="cellMontantHT">{{ (ligne.QTE_COMM? (ligne.PU * ligne.QTE_COMM * (1-(ligne.REMISE/100))):0) | tva  }}</td>
	<td colspan="2" class="parametrage">
	</td>
</tr>
<tr id="LIGNE{{ ligne.NO_PO }}detail" class="detail_ligne {% if open %}detail_ligne_show{% else %}hide_detail{% endif %}">	
	<td colspan="12">
		<div class="fullDiv">
    		<ul class="nav nav-tabs sous_onglet" style="display: flex;">   
    			<li class="active"><a data-toggle="tab" href="#detail">{{ 'Détails' | trad }}</a></li>
    			<li><a data-toggle="tab" href="#carac">{{ 'Caractéristiques' | trad }}</a></li>
    			<li><a data-toggle="tab" href="#miseEnPage">{{ 'Mise en page' | trad }}</a></li>
				<li><a data-toggle="tab" href="#planning" onClick="calculPlanning();">{{ 'Planning' | trad }}</a></li>
				{% if listeCC %}<li id="LiCaracCompl"><a data-toggle="tab" href="#caracCompl">{{ 'Carac. Compl.' | trad }}</a></li>{% endif %}
    			{% if CSExist('CA_LIGNE') %}<li><a data-toggle="tab" href="#supp">{{ 'Supplémentaires' | trad }}</a></li>{% endif %}
    		</ul>
    		<div class="tab-content">
    			<div id="detail" class="tab-pane active in clearfix padding_form border_form">
    				<div class="single row">
              			{{ inputAdvance('textarea', {
              			    'titre' : 'Désignation compl.' | trad,
              			    'name' : 'ligne_DES_COMPL',
              			    'value' : ligne.DES_COMPL,
              			    'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
              			    'paramsValidator' : "{'sizeMin' : '0', 'sizeMax' : '3000'}",
							'option' : ((ligne.NO_DA and param.LIMITACH_ART) and droit.HA_CA_MCPR == false)? 'readOnly':'',
              			}) }}
    				</div>
    				
        			<div class="clearfix">
        				<div class="colonne2">
        					<div class="row">
                      			{{ inputAdvance('text', {
                      			    'titre' : 'Remise (%)' | trad,
                      			    'name' : 'ligne_REMISE',
                      			    'value' : ligne.REMISE | tva,
									'numeric' : true,
                      			    'pathValidator' : path('Ajax.validator.float'),
                      			    'paramsValidator' : "{'format' : "~getConst('formatMontant')~"}",
                      			    'myFunction' : 'calculeRemise',
                      			    'myParams' : '['~ligne.NO_PO~']',
									'option' : ((ligne.NO_DA and param.LIMITACH_PX) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                       			}) }}
                  			</div>
        					<div class="row">
                      			{{ inputAdvance('text', {
                      			    'titre' : 'HT remisé' | trad,
                      			    'name' : 'ligne_HTR',
									'numeric' : true,
                      			    'value' : (ligne.QTE_COMM? remise(ligne.PU*ligne.QTE_COMM, ligne.REMISE):0) | tva,
                      			    'option' : 'disabled'
                      			}) }}
                  			</div>
                  			<div class="row">
                                {{ inputAdvance('zoomAdvance', {
                                    'titre' : 'TVA (%)' | trad,
                          		    'name' : 'ligne_TVA',
                          		    'pahtZoom' : path('Ajax.liste.TVA'),
    						     	'pathConvert' : path('Ajax.outil.convertLibelle'),
						     		'convertLibelle' : 'convertLibelleGlobal',
        						    'pathValidator' : path('Ajax.validator.zoom'),
        						    'paramsValidator' : "{'entity' : 'TVA','nomChamp' : '"~'TVA' | trad |e('js')|raw~"', 'null' : true}",
        						    'entity' : 'TVA',
        						    'titleZoom' : 'Liste des tva',
        						    'value' : ligne.TVA | tva
                  		        }) }}
                  			</div>
        				</div>
        				<div class="colonne2 last">
        					<div class="row">
                      			{{ inputAdvance('text', {
                      			    'titre' : 'PU remisé' | trad,
                      			    'name' : 'ligne_PUR',
									'numeric' : true,
                      			    'value' : remise(ligne.PU, ligne.REMISE==''? 0:ligne.REMISE) | prixUnitaire,
                      			    'option' : 'disabled'
                      			}) }}
                  			</div>
        					<div class="row">
                      			{{ inputAdvance('text', {
                      			    'titre' : 'HT non remisé' | trad,
                      			    'name' : 'ligne_HTNR',
									'numeric' : true,
                      			    'value' : (ligne.QTE_COMM ?(ligne.PU*ligne.QTE_COMM):0) | tva,
                      			    'option' : 'disabled'
                      			}) }}
                  			</div>
							<div class="row">
								{{inputAdvance('DEVISE', {
									'titre' : 'Livraison avancée tolérée' | trad,
									'DEVISE' : 'jour' | trad,
									'name' : 'TOLLIVAVA',
									'value' : ligne.TOLLIVAVA,
									'option': droit.HA_CA_TOL ? '':'readOnly',
								})}}
							</div>
            			</div>
    				</div>
    				
    				<div class="clearfix border-top">
        				<div class="colonne2">
                  			<div class="row">
                                {{ inputAdvance('zoomAdvance', {
                                    'titre' : 'Sous-famille' | trad,
                          		    'name' : 'ligne_SSFAM',
                          		    'pahtZoom' : path('Ajax.liste.sousFamille'),
									'paramZoom' : "{'contexte':'CDE'}",
    						     	'pathConvert' : path('Ajax.outil.convertLibelle'),
						     		'convertLibelle' : 'convertLibelleGlobal',
        						    'pathValidator' : path('Ajax.validator.zoom'),
        						    'paramsValidator' : "{'entity' : 'SousFamille','nomChamp' : '"~'Sous-famille' | trad |e('js')|raw~"', 'null' : false}",
        						    'entity' : 'SousFamille',
        						    'titleZoom' : 'Liste des sous-familles' | trad,
									'obligatoire' : true,
        						    'value' : ligne.SSFAM,
									'option' : (ligne.CODE_ART == '' and (ligne.NO_DA == '' or (droit.HA_CA_MCPR or param.LIMITACH_ART == false)))? '':'readOnly',

									'myFunction' : 'refreshLigneCommande',
									'myParams' : '["'~path('Commande.ModificationLigneCommande.updateLigne', {idCommande : idCommande, origine:'SOUSFAMILLE'})~'", "'~ligne.NO_PO~'", "SOUSFAMILLE"]',
                  		        }) }}
                  			</div>
                  			<div class="row">
                                {{ inputAdvance('zoomAdvance', {
                                    'titre' : 'Site de stock' | trad,
                          		    'name' : 'ligne_SITE_STK',
                          		    'pahtZoom' : path('Ajax.liste.ssItesto'),
									'paramZoom' : "{'CODE_ART' : $('#input_ligne_CODE_ART').val(), 'filter_egal_CODE_STE' : '" ~ commande.CODE_STE ~ "'}",
    						     	'pathConvert' : path('Ajax.outil.convertLibelle'),
						     		'convertLibelle' : 'convertLibelleGlobal',
        						    'pathValidator' : path('Ajax.validator.zoom'),
        						    'paramsValidator' : "{'entity' : 'SsItesto','nomChamp' : '"~'Site de stock' | trad~"', 'null' : true}",
        						    'entity' : 'SsItesto',
        						    'titleZoom' : 'Liste des sites de stock' | trad,
        						    'value' : ligne.SITE_STK,
									'option' : param.SITESTOCK_ACTIF? '':'readOnly',
                  		        }) }}
                  			</div>
        				</div>
        				<div class="colonne2 last">
                  			<div class="row">
                                {{ inputAdvance('zoomAdvance', {
                                    'titre' : 'Accord-cadre' |trad,
                          		    'name' : 'ligne_ACCORCA',
                          		    'pahtZoom' : path('Ajax.liste.accadre'),
									'paramZoom' : "{ 'valide' : '1', 'CODE_FOUR' : $('#input_CODE_FOU').val(), 'CENTRE_EMETTEUR' : $('#input_CTR_EMETT').val(), 'CENTRE_LIVRAISON' : $('#input_CTR_LIV').val()}",
    						     	'pathConvert' : path('Ajax.outil.convertLibelle'),
						     		'convertLibelle' : 'convertLibelleGlobal',
        						    'pathValidator' : path('Ajax.validator.zoom'),
        						    'paramsValidator' : "{'entity' : 'Acccadre','nomChamp' : '"~'Accord-cadre' | trad~"', 'null' : true}",
        						    'entity' : 'Acccadre',
        						    'titleZoom' : 'Liste des accords-cadres' | trad,
            						'myFunction' : 'refreshLigneCommande',
            						'myParams' : '["'~path('Commande.ModificationLigneCommande.updateLigne', {idCommande : idCommande, origine:'ACD'})~'", "'~ligne.NO_PO~'", "ACD"]',
        						    'value' : ligne.ACCORCA
                  		        }) }}
                  			</div>
                  			<div class="row">
                                {{ inputAdvance('zoomAdvance', {
                                    'titre' : 'Contrôle qualité' | trad,
                          		    'name' : 'ligne_CTRL_BR',
                          		    'pahtZoom' : path('Ajax.liste.cqualite'),
    						     	'pathConvert' : path('Ajax.outil.convertLibelle'),
						     		'convertLibelle' : 'convertLibelleGlobal',
        						    'pathValidator' : path('Ajax.validator.zoom'),
        						    'paramsValidator' : "{'entity' : 'cqualite','nomChamp' : '"~'Contrôle qualité' | trad |e('js')|raw~"', 'null' : true}",
        						    'entity' : 'cqualite',
        						    'titleZoom' : 'Liste des contrôles qualité' | trad,
        						    'value' : ligne.CTRL_BR
                  		        }) }}
                  			</div>
            			</div>
        			</div>
					<div class="clearfix border-top">
        				<div class="colonne2">
                  			{% if param.SI_ACTIF %}
                                <div class="row">
                                    {{ inputAdvance('ZOOMADVANCE', {
                                        titre: 'Section d\'imp.' | trad,
                                        name: 'ligne_SECTIMP',
                                        pahtZoom: path('Ajax.liste.si'),
                                    	paramZoom: "{'si_valide': 'on', 'CODE_STE' : '"~commande.CODE_STE~"' }",
                                        entity: 'Sectimpu',
                                        codeSte : commande.CODE_STE,
                                        widthPopup: 'modal_large',
                                        titleZoom: 'Liste des section d\'imputation' | trad,
                                        pathConvert: path('Ajax.outil.convertLibelle'),
                                        convertLibelle: 'convertLibelleGlobal',
                                        pathValidator: path('Ajax.validator.zoom'),
                                        paramsValidator: {
											entity: 'Sectimpu',
											nomChamp: 'Section d\'imp.' | trad,
											null: true
										} | json,
                                        value: ligne.SECTIMP,
                                        option: (
											(
												(ligne.NO_DA and param.LIMITACH_IMP) 
												and droit.HA_CA_MCPR == false
											) or param.LOCK_SI
											or (isModification and not droit.HA_CA_MSI)
										) ? 'disabled',
										obligatoire: param.SI_OBLI,
                                    }) }}
                                </div>
                            	<div class="row">
								
									{{ inputAdvance('TREEVIEW', {
										'titre' : 'Code gestion' | trad,
										'name' : 'ligne_CODGES',
										'pathTreeview' : path('Ajax.Treeview.codeGestion'),
										'paramsTreeview' : "{'CODE_SI': $('#input_ligne_SECTIMP').val(), 'cg_valide': 'on', 'inputCG' : 'ligne_CODGES', 'CODE_STE': $('#CODE_STE').val(), 'affichageLibelle' : 1}",
										'titleTreeview' : 'Code gestion' | trad,
										'value' : param.CODE_GESTION_PAR_ID? ligne.ID_CG:ligne.CODGES,
										'convertLibelle' : 'cgTrad',
										'pathValidator' : path('Ajax.validator.codeGestion'),
										'paramsValidator' : "{'nomChamp' : '"~ ('Code gestion' | trad |e('js')|raw)~"', 'null' : true, 'CODE_SI': $('#input_ligne_SECTIMP').val(), 'CODE_STE':  $('#CODE_STE').val()}",
										'_pathConvert' : path('Ajax.outil.convertLibelle'),
										'entity' : 'Codgest',
										'codeBDD' : 'CODE_GES',
										'libelleBDD' : 'CODE_AFF',
										'option' : (
											(
												(ligne.NO_DA and param.LIMITACH_IMP) 
												and droit.HA_CA_MCPR == false
											) or param.MODIF_CODGES == false 
											or param.LOCK_SI
											or (isModification and not droit.HA_CA_MSI)
										) ? 'readonly' : '',
										'siLink': 'input_ligne_SECTIMP',
										'codeSte' : "$('#CODE_STE').val()",
										'sectimpu' : ligne.SECTIMP,
										'codeSteCG' : commande.CODE_STE,
										'codeAffCG' : ligne.CODGES,
										'myFunction' : 'convertLibelleCodeGestion',
										'myParams' : '["'~path('Ajax.outil.convertLibelleCodeGestion')~'", this, "CODE_GES", "CODE_AFF", "input_ligne_CODGES", "text_ligne_CODGES", "'~commande.CODE_STE~'", "1", "", "input_ligne_SECTIMP", 1, ]',
									}) }}   
                                </div>
                            {% endif %}
                            </div>
                            <div class="colonne2 last">	
                            {% if param.CDC_ACTIF %}                                
                                <div class="row">
                                    {{ inputAdvance('ZOOMADVANCE', {
                                        'titre' : 'Code compl.' | trad,
                                        'name' : 'ligne_CODECOMP',
                                        'pahtZoom' : path('Ajax.liste.cdc'),
                                    	'paramZoom' : "{'filter_egal_CODE_STE' : '"~commande.CODE_STE~"', 'cdc_valide' :1 }",
                                        'entity' : 'codeComp',
                                        'widthPopup' : 'modal_large',
                                        'titleZoom' : 'Liste des codes complémentaires' | trad,
                                        'pathConvert' : path('Ajax.outil.convertLibelle'),
                                        'convertLibelle' : 'convertLibelleGlobal',
                                        'pathValidator' : path('Ajax.validator.zoom'),
                                        'paramsValidator' : "{'entity' : 'codeComp','nomChamp' : '"~'Code compl.' | trad |e('js')|raw~"', 'null' : true}",
                                        'value' : ligne.CODE_COMP,
                                        'option' : (
											(
												(ligne.NO_DA and param.LIMITACH_IMP) 
												and droit.HA_CA_MCPR == false
											) or param.LOCK_CDC
											or (isModification and not droit.HA_CA_MCD)
										) ? 'disabled':'',
										'obligatoire' : param.CDC_OBLI,
                                    }) }}
                                </div>
                            {% endif %}
                            {% if param.SCA_ACTIF %}
                                <div class="row">
                                    {{ inputAdvance('ZOOMADVANCE', {
                                        'titre' : 'SsCptAna' | trad,
                                        'name' : 'ligne_SSCPTEANA',
                                        'pahtZoom' : path('Ajax.liste.sca'),
                                    	'paramZoom' : "{
												'CODE_STE' : '" ~ commande.CODE_STE ~ "',
												'sca_valide' :1,
												'contexte' : 'ligneDA', 
												'SI' : $('#input_ligne_SECTIMP').val(),
												'CDC' : $('#input_ligne_CODECOMP').val(),
											}",
                                        'entity' : 'Sscptana',
                                        'codeSte' : commande.CODE_STE,
                                        'titleZoom' : 'Liste des sous-comptes d\'analyse' | trad,
                                        'pathConvert' : path('Ajax.outil.convertLibelle'),
                                        'convertLibelle' : 'convertLibelleGlobal',
                                        'pathValidator' : path('Ajax.validator.zoom'),
                                        'paramsValidator' : "{'entity' : 'Sscptana','nomChamp' : '"~'SsCptAna' | trad |e('js')|raw~"', 'null' : true}",
                                        'value' : ligne.SSCPTEANA,
                                        'option' : (
											(
												(ligne.NO_DA and param.LIMITACH_IMP) 
												and droit.HA_CA_MCPR == false
											) or param.LOCK_SCA
											or (isModification and not droit.HA_CA_MSC)
										) ? 'disabled',
										'obligatoire' : param.SCA_OBLI,
                                    }) }}
                                </div>
                            {% endif %}
            			</div>
        			</div>
        			
        			<div class="clearfix border-top">
						<div class="colonne2">
                            <div class="row">
                                {{ inputAdvance('SWITCH', {
                                    'titre' : 'Saisie de Réception ?' | trad,
                                    'name' : 'ligne_SAISIEREC',
                                    'value' : ligne.SAISIEREC | boolSql,
                                    'option' : param.LOCK_SAISIEREC? 'disabled':''
                                }) }}
								
								<input 	type="hidden" 
										name="{% if param.LOCK_SAISIEREC and ligne.SAISIEREC | boolSql %}ligne_SAISIEREC{% endif %}" id="save_ligne_SAISIEREC" 
										value="1"
								/>

								<script>save_ligne_SAISIEREC
									$('#input_ligne_SAISIEREC').change(function(){
										if ($(this).is(':checked')) {
											$('#save_ligne_SAISIEREC').attr('name', 'ligne_SAISIEREC');
										} else {
											$('#save_ligne_SAISIEREC').attr('name', '');
										}
									});
								</script>
								
								
                            </div>
                           	<div class="row">
        						 {{ inputAdvance('DATE', {
        						     'titre' : 'Début contrat' | trad,
        						     'name' : 'ligne_DATEDEBCONT',
        						     'pathValidator' : path('Ajax.validator.date'),
        						     'paramsValidator' : "{ 'null':true}",
        						     'value' : ligne.DATEDEBCONT |dateTrad,
        						     'option' : ligne.RECEP_AUTO | boolSql? '':'readOnly',
        						 }) }}
                            </div>
                            <div class="row">
                                {{ inputAdvance('SELECT', {
                                    'titre' : 'Périodicité du contrat' | trad,
                                    'name' : 'ligne_CONTRAT_PERIOD',
									'listeValue' : {
										'M': 'Mensuelle' | trad,
										'T': 'Trimestrielle' | trad,
										'S': 'Semestrielle' | trad,
										'A': 'Annuelle' | trad,
									},
                                    'value' : ligne.CONTRAT_PERIOD??'M',
                                    'option' : ligne.RECEP_AUTO| boolSql ? '':'readOnly',
                                }) }}
                            </div>
                            <div class="row">
                                {{ inputAdvance('SELECT', {
                                    'titre' : 'Jour d\'Application' | trad,
                                    'name' : 'ligne_CAEN_RECEPAUTO_JOUR',
                                    'listeValue' : tabJoursAppli,
                                    'value' : ligne.CALI_RECEPAUTO_JOUR,
                                    'option' : ligne.RECEP_AUTO| boolSql ? '':'readOnly',
                                }) }}                               
                            </div>
    					</div>
    					<div class="colonne2 last">
                            <div class="row">
                                {{ inputAdvance('SWITCH', {
                                    'titre' : 'Réception automatique ?' | trad,
                                    'name' : 'ligne_RECEP_AUTO',
                                    'value' : ligne.RECEP_AUTO | boolSql,
                                    'option' : ((ligne.SAISIEREC| boolSql) =='1' and CDE_EXP !='1' and ligne.SITE_STK == '') ? '':'disabled'
                                }) }}
                            </div>
                           	<div class="row">
        						 {{ inputAdvance('DATE', {
        						     'titre' : 'Fin contrat' | trad,
        						     'name' : 'ligne_DATEFINCONT',
        						     'pathValidator' : path('Ajax.validator.date'),
        						     'paramsValidator' : "{ 'null':true}",
        						     'value' : ligne.DATEFINCONT |dateTrad,
        						     'option' : ligne.RECEP_AUTO| boolSql ? '':'readOnly',
        						 }) }}
                            </div>
                            <div class="row">
        						 {{ inputAdvance('SELECT', {
        						     'titre' : 'Type de période' | trad,
        						     'name' : 'ligne_FIN_DEB_PER',
                                     'listeValue' : tabPeriode,
                                     'value' : ligne.FIN_DEB_PER??'F',
                                     'option' : ligne.RECEP_AUTO| boolSql ? '':'readOnly',
        						 }) }}
                            </div>
    					</div>
					</div>
					<script>
    		            /* Recepetion */

						$('#input_CDE_EXP, #input_ligne_SAISIEREC, #input_ligne_SITE_STK').change(function() {

							if (!$('#input_CDE_EXP').is(':checked') && $('#input_ligne_SAISIEREC').is(':checked') && $('#input_ligne_SITE_STK').val() == '') {
								$('#input_ligne_RECEP_AUTO').removeAttr('disabled');
							} else {
								$('#input_ligne_RECEP_AUTO').attr("disabled", true);
								
								changeValueSwitch('ligne_RECEP_AUTO', false);
								
								$('#input_ligne_DATEDEBCONT').attr("readOnly", true);
								$('#input_ligne_DATEFINCONT').attr("readOnly", true);
								
								$('#input_ligne_CONTRAT_PERIOD').attr("readOnly", true);
								$('#input_ligne_CONTRAT_PERIOD option').attr("disabled", true);
								
								$('#input_ligne_FIN_DEB_PER').attr("readOnly", true);
								$('#input_ligne_FIN_DEB_PER option').attr("disabled", true);
								
								$('#input_ligne_CAEN_RECEPAUTO_JOUR').attr("readOnly", true);
								$('#input_ligne_CAEN_RECEPAUTO_JOUR option').attr("disabled", true);								
							}
						});

    		        	$( "#input_ligne_RECEP_AUTO" ).change(function()
    				    {
    				    	if($('#input_ligne_RECEP_AUTO').is(':checked')) 
    				    	{
    				    	    $('#input_ligne_DATEDEBCONT').removeAttr('readOnly');
    				    	    showDatepicker('#input_ligne_DATEDEBCONT', '{{ baseUrl('IconeV2/Global/deadline-change.svg') }}', '{{ 'dd/mm/yy' | paramDateFormat }}');
    				    	    
    				    	    $('#input_ligne_DATEFINCONT').removeAttr('readOnly');
    				    	    showDatepicker('#input_ligne_DATEFINCONT', '{{ baseUrl('IconeV2/Global/deadline-change.svg') }}', '{{ 'dd/mm/yy' | paramDateFormat }}');
    				    	    
    				    	    $('#input_ligne_CONTRAT_PERIOD').removeAttr('readOnly');
    				    	    $('#input_ligne_CONTRAT_PERIOD option').removeAttr('disabled');
    				    	    
    				    	    $("#input_ligne_FIN_DEB_PER").removeAttr('readOnly');
    				    	    $('#input_ligne_FIN_DEB_PER option').removeAttr('disabled');
    				    	    
    				    	    $("#input_ligne_CAEN_RECEPAUTO_JOUR").removeAttr('readOnly');
    				    	    $('#input_ligne_CAEN_RECEPAUTO_JOUR option').removeAttr('disabled');
    				    	}
    				    	else
    				    	{
    				        	$('#input_ligne_DATEDEBCONT').attr("readOnly", true);
    				        	$( "#input_ligne_DATEDEBCONT" ).datepicker( "destroy" );
    				        	
    				        	$('#input_ligne_DATEFINCONT').attr("readOnly", true);
    				        	$( "#input_ligne_DATEFINCONT" ).datepicker( "destroy" );
    				        	
    				        	$('#input_ligne_CONTRAT_PERIOD').attr("readOnly", true);
    				        	$('#input_ligne_CONTRAT_PERIOD option').attr("disabled", true);
    				        	
    				        	$("#input_ligne_FIN_DEB_PER").attr("readOnly", true);
    				        	$("#input_ligne_FIN_DEB_PE option").attr("disabled", true);
    				        	
    				        	$("#input_ligne_CAEN_RECEPAUTO_JOUR").attr("readOnly", true);
    				        	$("#input_ligne_CAEN_RECEPAUTO_JOUR option").attr("disabled", true);
    				    	}
    				    });
    				    
    		        	$( "#input_ligne_FIN_DEB_PER" ).change(function()
    				    {
        				    var input = $(this).val();
        				    if(input =='D')
        				    {
            				    $('#input_ligne_CAEN_RECEPAUTO_JOUR').val(1).change();
        				    }
        				    else
        				    {
        				    	$('#input_ligne_CAEN_RECEPAUTO_JOUR').val(31).change();
        				    }
    				    });

                  		$("#input_ligne_PU, #input_ligne_QTE_COMM").change(function(){
                  			calculeRemise();
                  		});
					</script>
    			</div>
    			<div id="carac" class="tab-pane fade clearfix padding_form border_form">
    				<div class="clearfix">
    					<div class="colonne2">
    						<div class="row">
                        		{{ inputAdvance('text', {
                        		    'titre' : 'Longueur (cm)' | trad,
                        		    'name' : 'ligne_LONGU',
                        		    'value' : ligne.LONGU | tva,
                        		    'pathValidator' : path('Ajax.validator.float'),
                        		    'paramsValidator' : "{'format' : 9.2}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                        		}) }}
    						</div>
    						<div class="row">
                        		{{ inputAdvance('text', {
                        		    'titre' : 'Largeur (cm)' | trad,
                        		    'name' : 'ligne_LARG',
                        		    'value' : ligne.LARG | tva,
                        		    'pathValidator' : path('Ajax.validator.float'),
                        		    'paramsValidator' : "{'format' : 9.2}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                        		}) }}
    						</div>
    						<div class="row">
                        		{{ inputAdvance('text', {
                        		    'titre' : 'Hauteur (cm)' | trad,
                        		    'name' : 'ligne_HAUT',
                        		    'value' : ligne.HAUT | tva,
                        		    'pathValidator' : path('Ajax.validator.float'),
                        		    'paramsValidator' : "{'format' : 9.2}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                        		}) }}
    						</div>
    					</div>
    					<div class="colonne2 last">
    						<div class="row">
                        		{{ inputAdvance('text', {
                        		    'titre' : 'Volume (m3)' | trad,
                        		    'name' : 'ligne_VOLUME',
                        		    'value' : ligne.VOLUME | tva,
                        		    'pathValidator' : path('Ajax.validator.float'),
                        		    'paramsValidator' : "{'format' : 9.2}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                        		}) }}
    						</div>
    						<div class="row">
                        		{{ inputAdvance('text', {
                        		    'titre' : 'Poids brut (kg)' | trad,
                        		    'name' : 'ligne_POIDS',
                        		    'value' : ligne.POIDS | tva,
                        		    'pathValidator' : path('Ajax.validator.float'),
                        		    'paramsValidator' : "{'format' : 9.2}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                        		}) }}
    						</div>
    						<div class="row">
                        		{{ inputAdvance('text', {
                        		    'titre' : 'Poids net (kg)' | trad,
                        		    'name' : 'ligne_POIDSNET',
                        		    'value' : ligne.POIDSNET | tva,
                        		    'pathValidator' : path('Ajax.validator.float'),
                        		    'paramsValidator' : "{'format' : 9.2}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                        		}) }}
    						</div>
    					</div>
    				</div>
    				<div class="clearfix border-top">
    					<div class="colonne2">
                            <div class="row">
                                {{ inputAdvance('ZOOMADVANCE', {
                                    'titre' : 'Origine' | trad,
                                    'name' : 'ligne_PAY_ORIG',
                                    'pahtZoom' : path('Ajax.liste.pays'),
                                	'paramZoom' : "{}",
                                    'entity' : 'Country',
                                    'titleZoom' : 'Liste des pays' | trad,
                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                    'convertLibelle' : 'convertLibelleGlobal',
                                    'pathValidator' : path('Ajax.validator.zoom'),
                                    'paramsValidator' : "{'entity' : 'Country','nomChamp' : '"~'Origine' | trad |e('js')|raw~"', 'null' : true}",
                                    'value' : ligne.PAY_ORI,
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                                }) }}
                            </div>
                            <div class="row">
                                {{ inputAdvance('ZOOMADVANCE', {
                                    'titre' : 'Code douane' | trad,
                                    'name' : 'ligne_DOUANE',
                                    'pahtZoom' : path('Ajax.liste.douanes'),
                                	'paramZoom' : "{}",
                                    'entity' : 'Douanes',
                                    'titleZoom' : 'Liste des douanes' | trad,
                                    'pathValidator' : path('Ajax.validator.zoom'),
                                    'paramsValidator' : "{'entity' : 'Douanes','nomChamp' : '"~'Douanes' | trad |e('js')|raw~"', 'null' : true}",
                                    'value' : ligne.DOUANE,
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'entity' : 'Douanes',
                                }) }}
                            </div>
    					</div>
    					<div class="colonne2 last">
                            <div class="row">
                                {{ inputAdvance('ZOOMADVANCE', {
                                    'titre' : 'Provenance' | trad,
                                    'name' : 'ligne_PAY_PRO',
                                    'pahtZoom' : path('Ajax.liste.pays'),
                                	'paramZoom' : "{}",
                                    'entity' : 'Country',
                                    'titleZoom' : 'Liste des pays' | trad,
                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                    'convertLibelle' : 'convertLibelleGlobal',
                                    'pathValidator' : path('Ajax.validator.zoom'),
                                    'paramsValidator' : "{'entity' : 'Country','nomChamp' : '"~'Provenance' | trad |e('js')|raw~"', 'null' : true}",
                                    'value' : ligne.PAY_PRO,
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                                }) }}
                            </div>
    					</div>
            		</div>
            		<div class="clearfix border-top">
                		<div class="colonne2">
            				<div class="row">
                      			{{ inputAdvance('text', {
                      			    'titre' : 'Réf. Fournisseur' | trad,
                      			    'name' : 'ligne_REF_FOUR',
                      			    'value' : ligne.REF_FOUR,
                      			    'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
                      			    'paramsValidator' : "{'sizeMin' : '0', 'sizeMax' : '50'}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                      			}) }}
            				</div>
            				<div class="row">
                      			{{ inputAdvance('text', {
                      			    'titre' : 'Réf. Fabricant' | trad,
                      			    'name' : 'ligne_REF_FAB',
                      			    'value' : ligne.REF_FAB,
                      			    'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
                      			    'paramsValidator' : "{'sizeMin' : '0', 'sizeMax' : '50'}",
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                      			}) }}
            				</div>
            			</div>
            			<div class="colonne2 last">
                            <div class="row">
                                {{ inputAdvance('ZOOMADVANCE', {
                                    'titre' : 'Fabricant' | trad,
                                    'name' : 'ligne_COD_FAB',
                                    'pahtZoom' : path('Ajax.liste.fabricant'),
                                	'paramZoom' : "{}",
                                    'entity' : 'Fabricant',
                                    'titleZoom' : 'Liste des fabricants' | trad,
                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                    'convertLibelle' : 'convertLibelleGlobal',
                                    'pathValidator' : path('Ajax.validator.zoom'),
                                    'paramsValidator' : "{'entity' : 'Fabricant','nomChamp' : '"~'Fabricant' | trad |e('js')|raw~"', 'null' : true}",
                                    'value' : ligne.COD_FAB,
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                                }) }}
                            </div>
                            <div class="row">

                                {{ inputAdvance('ZOOMADVANCE', {
                                    'titre' : 'Code gamme' | trad,
                                    'name' : 'ligne_COD_GAM',
                                    'pahtZoom' : path('Ajax.liste.gamme'),
                                	'paramZoom' : "{'filter_CODEFABR' : $('\#input_COD_FAB').val()}",
                                    'entity' : 'Gamme',
                                    'titleZoom' : 'Liste des gammes' | trad,
                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                    'convertLibelle' : 'convertLibelleGlobal',
                                    'pathValidator' : path('Ajax.validator.zoom'),
                                    'paramsValidator' : "{'entity' : 'Gamme','nomChamp' : '"~'Gamme' | trad |e('js')|raw~"', 'null' : true}",
                                    'value' : ligne.COD_GAM,
									'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
                                }) }}
                            </div>
            			</div>
        			</div>
    			</div>
    			
    			<div id="miseEnPage" class="tab-pane fade clearfix padding_form border_form">
    				<div class="single row">
              			{{ inputAdvance('textarea', {
              			    'titre' : 'Titre avant cette ligne' | trad,
              			    'name' : 'ligne_AVLIGNE',
              			    'value' : ligne.AVLIGNE,
              			    'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
              			    'paramsValidator' : "{'sizeMin' : '0', 'sizeMax' : '3000'}",
							'option' : ((ligne.NO_DA and param.LIMITACH_CAR) and droit.HA_CA_MCPR == false)? 'readOnly':'',
              			}) }}
    				</div>
    				<div class="colonne2">
                        <div class="row">
                            {{ inputAdvance('SWITCH', {
                                'titre' : 'Masquer la quantité ?' | trad,
                                'name' : 'ligne_MASQ_QTE',
                                'value' : ligne.MASQ_QTE | boolSql,
                            }) }}
                        </div>
                        <div class="row">
                            {{ inputAdvance('SWITCH', {
                                'titre' : 'Masquer l\'unité ?' | trad,
                                'name' : 'ligne_MASQ_UNI',
                                'value' : ligne.MASQ_UNI | boolSql,
                            }) }}
                        </div>
                        <div class="row">
                            {{ inputAdvance('SWITCH', {
                                'titre' : 'Masquer le PU ?' | trad,
                                'name' : 'ligne_MASQ_PU',
                                'value' : ligne.MASQ_PU | boolSql,
                            }) }}
                        </div>
    				</div>
    				<div class="colonne2 last">
                        <div class="row">
                            {{ inputAdvance('SWITCH', {
                                'titre' : 'Masquer la désignation sommaire ?' | trad,
                                'name' : 'ligne_MASQ_DS',
                                'value' : ligne.MASQ_DS | boolSql,
                            }) }}
                        </div>
                        <div class="row">
                            {{ inputAdvance('SWITCH', {
                                'titre' : 'Imprimer un sous-total après cette ligne ?' | trad,
                                'name' : 'ligne_SSTOAPR',
                                'value' : ligne.SSTOAPR | boolSql,
                            }) }}
                        </div>	
                        <div class="row">
                            {{ inputAdvance('SELECT', {
                                'titre' : 'Présentation date de livraison' | trad,
                                'name' : 'ligne_TYPDATE',
                                'listeValue' : tabTypeDate,
                                'value' : ligne.TYPDATE,
                            }) }}
                        </div>
    				</div>
    			</div>
    			<div id="planning" class="tab-pane fade clearfix padding_form border_form">
					{% include '@Commande/Creation/Ligne/planning.twig' %}
				</div>
				<div id="caracCompl" class="tab-pane fade clearfix padding_form border_form">
					<input type="hidden" name="initCC" id="initCC" value="{{ initCC }}" />
					<input type="hidden" name="typeDocCC" id="typeDocCC" value="{{ CC_typeDoc }}" />
					{{ generateCC({
						'init' 		: initCC, 
						'typeDoc' 	: CC_typeDoc,
						'idDoc' 	: CC_idDoc, 
						'idLigne' 	: CC_idLigne, 
						'idPanier' 	: '0',
						'article' 	: ligne.CODE_ART,
						'ssFamille' : ligne.SSFAM,
						'societe' 	: commande.CODE_STE,

						'idPU'    	: 'input_ligne_PU',
						'idQte'   	: 'input_ligne_QTE_COMM',
						'idTVA'   	: 'input_ligne_TVA',

						'typeDocSrc' : 'DA',
						'idDocSrc'   : post.NO_DA,
						'idLigneSrc' : post.NO_PO,
						'idPanierSrc' : '0',
					}) }}
				</div>
    			<div id="supp" class="tab-pane fade clearfix padding_form border_form">
    				{% if CSExist('CA_LIGNE') %}
            			{{ inputCSAdvance({
							'codTab' : 'CA_LIGNE', 
							'colonneActif' : true, 
							'codeEnr' : autoCompletCodeEnr(ligne.NO_CDE, ligne.NO_PO),
							'option' : ((ligne.NO_DA and param.LIMITACH_CS) and droit.HA_CA_MCPR == false)? 'readOnly':'',
							'ModeModif' : ModeModif,
						}) }} 
    				{% endif %}
				</div>
    		</div>
		</div>

		<div class="button_right full validation_modal">
<button type='button' class="button principal button_right" id="saveLigne" onclick="handleCreationLigne()">
                    {{ 'Enregistrer' | trad }}
                </button>

    		<button type='button' class="button secondaire button_right" id="cancelLigne" onClick="annulationLigne('{{ path('Commande.ModificationLigneCommande.annulationLigneCommande', {idCommande : idCommande}) }}');">{{ 'Annuler' | trad }}</button>
		</div>
		<script>
			$(function (){    
                $('#input_ligne_QTE_COMM, #input_ligne_DATEDEBCONT, #input_ligne_DATEFINCONT, #input_ligne_CONTRAT_PERIOD, #input_ligne_FIN_DEB_PER, #input_ligne_CAEN_RECEPAUTO_JOUR').change(function(){
                    $('#calculPlanning').val('1');
                });
    
                $('#input_ligne_QTE_COMM').change(function(){
                    activeLoader();
    
                    var recepAuto = $('#input_ligne_RECEP_AUTO').is(':checked');
    
                    if ($('#planning').is(':visible') && recepAuto) {
                        calculPlanning();
                    }
                    
                    if (!recepAuto) {
                        var countTR = $('.tablePlanning >tr').length;
                        var oldPU = parseFloat($('#old_QTE_COMM').val().replace(',', '.'));
                        var newPU = parseFloat($(this).val().replace(',', '.'));
    
                        $('#old_QTE_COMM').val(newPU);
    
                        if (countTR == 1) {
                            $('#input_PLANNING-QTE_COMM-1').val(newPU);
                        } else {
    
                            if (oldPU>newPU) {
                                var qteSoustrait = oldPU - newPU;
                                while (qteSoustrait>0) {
                                    var lastInput = $('.planningQte:last');
                                    var qteLastInput = lastInput.val();
    
                                    if (qteLastInput>qteSoustrait) {
                                        lastInput.val(qteLastInput-qteSoustrait);
                                        qteSoustrait = 0;
                                    } else {
                                        qteSoustrait = qteSoustrait - qteLastInput;
                                        $('.planningTR:last').remove();
                                    }
                                }
    
                            } else if (oldPU<newPU) {
                                var valInput = parseFloat($('#input_PLANNING-QTE_COMM-1').val());
                                $('#input_PLANNING-QTE_COMM-1').val(valInput+(newPU-oldPU));
                            }
                        }
                    }
    
					var noPoDa = $('#input_ligne_NO_PO_DA').val();
                    var codeArt = $('#input_ligne_CODE_ART').val();
                    var qte = $('#input_ligne_QTE_COMM').val();
                    var codeFab = $('#input_ligne_COD_FAB').val();
                    var refFab = $('#input_ligne_REF_FAB').val();
                    var refFrs = $('#input_ligne_REF_FOUR').val();
					var remise = $('#input_REM_GLOB').val();
    
                    
                    $.ajax({
                        dataType : 'html',
                        url: '{{ path('Commande.ModificationLigneCommande.ajaxCalculBestPrix', {idCommande:idCommande}) }}',
                        data: { 'NO_PO_DA' : noPoDa, 'CODE_ART': codeArt,'QTE_COMM': qte,'COD_FAB': codeFab,'REF_FAB': refFab,'REF_FOUR': refFrs, 'remise':remise},
                        type: "POST",
                        success: function(result){
                            var data = jQuery.parseJSON(result);
                            if (data.PU < 0 || data.PU > 0) {
                                $('#input_ligne_PU').val(data.PU).change();
                                $('#input_ligne_REMISE').val(data.TX_REMISE).change();
                                $('#text_ligne_ACCORCA').val(data.ACD).change();
                                $('#value_TEMPINIT').val(data.TEMPINIT).change();
                                $('#value_ID_CAT_ORI').val(data.ID_CAT_ORI).change();
                            }
                            desactiveLoader();
                        }
                    });
                    
                });
    
                $('#input_ligne_CODE_ART').change(function(){
                    initCs('{{ path('Ajax.outil.initialisationCS') }}', 'CA_LIGNE','ARTICLES', $('#input_ligne_CODE_ART').val(), '', '{{ commande.CODE_STE }}');
                });
    
                $('#input_ligne_CODECOMP').change(function(){
                    initCs('{{ path('Ajax.outil.initialisationCS') }}', 'CA_LIGNE','CODECOMP', $('#input_ligne_CODECOMP').val(), '', '{{ commande.CODE_STE }}');
                });
    
                $('#input_ligne_SECTIMP').change(function(){
                    initCs('{{ path('Ajax.outil.initialisationCS') }}', 'CA_LIGNE','SECTIMPU', $('#input_ligne_SECTIMP').val(), '', '{{ commande.CODE_STE }}');
                });
    
                $('#input_ligne_SSCPTEANA').change(function(){
                    initCs('{{ path('Ajax.outil.initialisationCS') }}', 'CA_LIGNE','SSCPTANA', $('#input_ligne_SSCPTEANA').val(), '', '{{ commande.CODE_STE }}');
                });
    
                $('#input_ligne_SSFAM').change(function(){
                    initCs('{{ path('Ajax.outil.initialisationCS') }}', 'CA_LIGNE','SSFAMILL', $('#input_ligne_SSFAM').val(), '', '{{ commande.CODE_STE }}');
                });
    
                {% for initCs in arrayInitCs %}
                    if ($('#text_CS_EXTENTION{{ spliter() }}CA_LIGNE{{ spliter() }}{{ idLigneCS }}{{ spliter() }}{{ initCs.CHP_DESTI }}').length) {
                        $('#text_CS_EXTENTION{{ spliter() }}CA_LIGNE{{ spliter() }}{{ idLigneCS }}{{ spliter() }}{{ initCs.CHP_DESTI }}').val('{{ initCs.CS_VALEUR }}').change();
                    } else {
                        $('#input_CS_EXTENTION{{ spliter() }}CA_LIGNE{{ spliter() }}{{ idLigneCS }}{{ spliter() }}{{ initCs.CHP_DESTI }}').val('{{ initCs.CS_VALEUR }}').change();
                    }
                {% endfor %}
    
                {% if refresh %}
                    $( document ).ready(function() {
                        validatorAjax('{{ path('Commande.ValidatorLigneCde.validatorSaisie') }}', {'controle' : 'DA', 'nomChamp' : '{{ 'DA' | trad }}', 'societe' : '{{ commande.CODE_STE }}'},'input_ligne_NO_DA', '', '', '', '');
                        validatorAjax('{{ path('Commande.ValidatorLigneCde.validatorSaisie') }}', {'controle' : 'ARTICLE','CODE_FOU' : $('#input_CODE_FOU').val(), 'nomChamp' : '{{ 'Article' | trad }}'},'input_ligne_CODE_ART', '', '', '', '');
                        validatorAjax('{{ path('Commande.ValidatorLigneCde.validatorSaisie') }}', {'controle' : 'QTE', 'nomChamp' : '{{ 'Quantité' | trad }}'},'input_ligne_QTE_COMM', '', '', '', '');
                        validatorAjax('{{ path('Commande.ValidatorLigneCde.validatorSaisie') }}', {'controle' : 'PU', 'nomChamp' : '{{ 'Prix unitaire' | trad }}'},'input_ligne_PU', '', '', '', '');
                        validatorAjax('{{ path('Commande.ValidatorLigneCde.validatorSaisie') }}', {'controle' : 'DATELIV', 'nomChamp' : '{{ 'Date de livraison' | trad }}'},'input_ligne_DTELIVCON', '', '', '', '');
                    });
                {% endif %}
            })

			function calculPlanning() {
				var calculPlanning = $('#calculPlanning').val();
				if (calculPlanning == '1') {
					var recepAuto = $('#input_ligne_RECEP_AUTO').is(':checked');
					
					if(recepAuto) {
						$('#input_ligne_DTELIVCON').attr('readonly', true);
						$('#input_ligne_DTELIVCON').val('');
						$.ajax({
							dataType : 'html',
							url: '{{ path('Commande.ModificationLigneCommande.ajaxGeneratePlanning') }}',
							data: $('#form_creationCde').serialize(),
							type: "POST",
							success: function(result){
								$("#planning").html(result);
								$('#calculPlanning').val('0');
							}
						});
					} else {
						$('.deletePlanning ').show();
						$('.dte_planning').removeAttr('readOnly');
						$('#addPlanning').show();
						$('.dte_planning').each(function(){
							var id = $(this).attr('id');
							$('#'+id).addClass('datepicker');
							showDatepicker('#'+id, '{{ baseUrl('IconeV2/Global/deadline-change.svg') }}', '{{ 'dd/mm/yy' | paramDateFormat }}');
						})
					}
				}
			}

			function annulationLigne(path)
			{
				var confirmation = confirm('{{ "Êtes-vous sûr de vouloir annuler votre saisie ?" | trad }}');

				if(confirmation)
				{
					$.ajax({
							dataType : 'html',
						url: path,
						data: $('#form_creationCde').serialize(),
						type: "POST",
						success: function(result){
	
							$('#LIGNE{{ligne.NO_PO}}JS').after(result);
							
							$('#LIGNE{{ligne.NO_PO}}').remove();
							$('#LIGNE{{ligne.NO_PO}}detail').remove();
							$('#LIGNE{{ligne.NO_PO}}JS').remove();
						}
					});
				}
			}

			// // TODO: A refaire
			function handleCreationLigne() {
				const hasTp = {{hasTp ? 'true' : 'false'}};
				if(hasTp == true) {
					const divIcone = `<div class="icone-modal interrogation"></div>`;
					const message = "{{'Des termes de paiement sont présents sur cette commande.' | trad }}<br />{{ 'L\'ajout ou la modification de cette ligne entraînera leur suppression. Souhaitez-vous continuer ?' | trad}}"

					activePopup(
						'{{ "Confirmez-vous votre action ?" | trad }}', 
						`<div class="modal-body bs-row flex-y-center">
							${divIcone} 
						<div class="bs-col p-base"> 
							${message} 
						</div>
						</div>
						<div class="modal-footer">
							<button type="button" class="button secondaire" data-dismiss="modal" onclick="desactivePopup();">{{ 'Fermer' | trad }}</button>
							<button 
								type="button" 
								class="button principal" 
								onclick="handleValidationLigne();"
								>
									{{ 'Confirmer' | trad }}
								</button>
						</div>
						`, 
						'modal_small'
					);
				} else {
					handleValidationLigne();
				}
			}

			function handleValidationLigne() {
				desactivePopup();
				validationLigne("{{ path('Commande.ModificationLigneCommande.validationLigneCommande', {idCommande : idCommande}) }}", "{{ ligne.NO_PO }}", "{{path('TermeDePaiement.TermeDePaiement.deleteAllTermeDePaiement', {MODULE: 'CA_ENTET', id: commande.NO_CDE})}}");
			}
		</script>
	</td>
</tr>