Importazione seriali da fattura di acquisto
This commit is contained in:
parent
92e0659bd4
commit
69bb54b04b
|
@ -89,6 +89,7 @@ switch ($resource) {
|
||||||
`mg_articoli`.`um`,
|
`mg_articoli`.`um`,
|
||||||
`mg_articoli`.`fattore_um_secondaria`,
|
`mg_articoli`.`fattore_um_secondaria`,
|
||||||
`mg_articoli`.`servizio`,
|
`mg_articoli`.`servizio`,
|
||||||
|
`mg_articoli`.`abilita_serial`,
|
||||||
|
|
||||||
`mg_articoli`.`idconto_vendita`,
|
`mg_articoli`.`idconto_vendita`,
|
||||||
`mg_articoli`.`idconto_acquisto`,
|
`mg_articoli`.`idconto_acquisto`,
|
||||||
|
|
|
@ -139,6 +139,7 @@ switch (filter('op')) {
|
||||||
'crea_articoli' => post('crea_articoli'),
|
'crea_articoli' => post('crea_articoli'),
|
||||||
'is_ritenuta_pagata' => post('is_ritenuta_pagata'),
|
'is_ritenuta_pagata' => post('is_ritenuta_pagata'),
|
||||||
'update_info' => post('update_info'),
|
'update_info' => post('update_info'),
|
||||||
|
'serial' => post('flag_crea_seriali') ? post('serial') : [],
|
||||||
];
|
];
|
||||||
|
|
||||||
$fattura_pa = FatturaElettronica::manage($filename);
|
$fattura_pa = FatturaElettronica::manage($filename);
|
||||||
|
|
|
@ -29,6 +29,17 @@ echo '
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#save-buttons").hide();
|
$("#save-buttons").hide();
|
||||||
|
|
||||||
|
// Visualizza input seriali se abilita serial dell\'articolo selezionato è attivo
|
||||||
|
let articoli = $("select[name^=articoli]");
|
||||||
|
articoli.each(function() {
|
||||||
|
verificaSerial($(this));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Disabilita input seriali se flag crea seriali è disattivato
|
||||||
|
if (!$("#flag_crea_seriali").is(":checked")) {
|
||||||
|
$("[id^=\'serial\']").attr("disabled", true);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
</script>';
|
</script>';
|
||||||
|
|
||||||
|
@ -312,6 +323,10 @@ echo '
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
{[ "type": "checkbox", "label": "'.tr('Creazione automatica articoli').'", "name": "flag_crea_articoli", "value": 0, "help": "'.tr("Nel caso di righe con tag CodiceArticolo, il gestionale procede alla creazione dell'articolo se la riga non risulta assegnata manualmente").'" ]}
|
{[ "type": "checkbox", "label": "'.tr('Creazione automatica articoli').'", "name": "flag_crea_articoli", "value": 0, "help": "'.tr("Nel caso di righe con tag CodiceArticolo, il gestionale procede alla creazione dell'articolo se la riga non risulta assegnata manualmente").'" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
{[ "type": "checkbox", "label": "'.tr('Creazione seriali').'", "name": "flag_crea_seriali", "value": 0, "help": "'.tr("Nel caso di righe contenenti serial, il gestionale procede alla registrazione del serial").'" ]}
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
$ritenuta = $dati_generali['DatiRitenuta'];
|
$ritenuta = $dati_generali['DatiRitenuta'];
|
||||||
|
@ -403,8 +418,12 @@ if (!empty($righe)) {
|
||||||
$codici = !empty($codici) && !isset($codici[0]) ? [$codici] : $codici;
|
$codici = !empty($codici) && !isset($codici[0]) ? [$codici] : $codici;
|
||||||
|
|
||||||
$codici_articoli = [];
|
$codici_articoli = [];
|
||||||
|
$serial = [];
|
||||||
foreach ($codici as $codice) {
|
foreach ($codici as $codice) {
|
||||||
$codici_articoli[] = $codice['CodiceValore'].' ('.$codice['CodiceTipo'].')';
|
$codici_articoli[] = $codice['CodiceValore'].' ('.$codice['CodiceTipo'].')';
|
||||||
|
if (str_contains($codice['CodiceTipo'], 'serial') || str_contains($codice['CodiceTipo'], 'Serial')) {
|
||||||
|
$serial[] = $codice['CodiceValore'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Individuazione articolo con codice relativo
|
// Individuazione articolo con codice relativo
|
||||||
|
@ -584,6 +603,16 @@ if (!empty($righe)) {
|
||||||
{[ "type": "select", "name": "update_info['.$key.']", "values": "list=\"update_not\":\"Non aggiornare\", \"update_price\":\"Aggiorna prezzo di listino\", \"update_all\":\"Aggiorna prezzo di acquisto + imposta fornitore predefinito\"", "label": "'.tr('Aggiorna info di acquisto').'", "value": "'.$update_info.'" ]}
|
{[ "type": "select", "name": "update_info['.$key.']", "values": "list=\"update_not\":\"Non aggiornare\", \"update_price\":\"Aggiorna prezzo di listino\", \"update_all\":\"Aggiorna prezzo di acquisto + imposta fornitore predefinito\"", "label": "'.tr('Aggiorna info di acquisto').'", "value": "'.$update_info.'" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row">';
|
||||||
|
for ($i = 0; $i < $qta; $i++) {
|
||||||
|
echo '
|
||||||
|
<div class="col-md-3">
|
||||||
|
{[ "type": "text", "label": "'.tr('Serial').'", "name": "serial['.$key.'][]", "value": "'.$serial[$i].'" ]}
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -877,6 +906,8 @@ $("[id^=\'articoli\']").change(function() {
|
||||||
if(data!==undefined){
|
if(data!==undefined){
|
||||||
$("#conto-"+$(this).data("id")).selectSetNew(data.idconto_acquisto, data.idconto_acquisto_title);
|
$("#conto-"+$(this).data("id")).selectSetNew(data.idconto_acquisto, data.idconto_acquisto_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
verificaSerial($(this));
|
||||||
});
|
});
|
||||||
|
|
||||||
function copy_rif() {
|
function copy_rif() {
|
||||||
|
@ -910,4 +941,27 @@ function copy_rif() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Visualizza input seriali se abilita serial dell\'articolo selezionato è attivo
|
||||||
|
function verificaSerial(riga) {
|
||||||
|
if (riga.val()) {
|
||||||
|
let data = riga.selectData();
|
||||||
|
if (data.abilita_serial) {
|
||||||
|
$("#serial"+riga.data("id")).parent().parent().parent().removeClass("hidden");
|
||||||
|
} else {
|
||||||
|
$("#serial"+riga.data("id")).parent().parent().parent().addClass("hidden");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$("#serial"+riga.data("id")).parent().parent().parent().addClass("hidden");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disabilita input seriali se flag crea seriali è disattivato
|
||||||
|
$("#flag_crea_seriali").on("change", function() {
|
||||||
|
if ($(this).is(":checked")) {
|
||||||
|
$("[id^=\'serial\']").attr("disabled", false);
|
||||||
|
} else {
|
||||||
|
$("[id^=\'serial\']").attr("disabled", true);
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>';
|
</script>';
|
||||||
|
|
|
@ -411,7 +411,7 @@ class FatturaElettronica
|
||||||
{
|
{
|
||||||
$this->saveFattura($info['id_pagamento'], $info['id_segment'], $info['id_tipo'], $info['data_registrazione'], $info['ref_fattura'], $info['is_ritenuta_pagata']);
|
$this->saveFattura($info['id_pagamento'], $info['id_segment'], $info['id_tipo'], $info['data_registrazione'], $info['ref_fattura'], $info['is_ritenuta_pagata']);
|
||||||
|
|
||||||
$this->saveRighe($info['articoli'], $info['iva'], $info['conto'], $info['movimentazione'], $info['crea_articoli'], $info['tipo_riga_riferimento'], $info['id_riga_riferimento'], $info['tipo_riga_riferimento_vendita'], $info['id_riga_riferimento_vendita'], $info['update_info']);
|
$this->saveRighe($info['articoli'], $info['iva'], $info['conto'], $info['movimentazione'], $info['crea_articoli'], $info['tipo_riga_riferimento'], $info['id_riga_riferimento'], $info['tipo_riga_riferimento_vendita'], $info['id_riga_riferimento_vendita'], $info['update_info'], $info['serial']);
|
||||||
|
|
||||||
$this->saveAllegati();
|
$this->saveAllegati();
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
||||||
return $this->forceArray($linee);
|
return $this->forceArray($linee);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function saveRighe($articoli, $iva, $conto, $movimentazione = true, $crea_articoli = [], $tipi_riferimenti = [], $id_riferimenti = [], $tipi_riferimenti_vendita = [], $id_riferimenti_vendita = [], $update_info = [])
|
public function saveRighe($articoli, $iva, $conto, $movimentazione = true, $crea_articoli = [], $tipi_riferimenti = [], $id_riferimenti = [], $tipi_riferimenti_vendita = [], $id_riferimenti_vendita = [], $update_info = [], $serials = [])
|
||||||
{
|
{
|
||||||
$info = $this->getRitenutaRivalsa();
|
$info = $this->getRitenutaRivalsa();
|
||||||
|
|
||||||
|
@ -364,6 +364,11 @@ class FatturaOrdinaria extends FatturaElettronica
|
||||||
$articolo->save();
|
$articolo->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gestione seriali
|
||||||
|
if ($serials[$key]) {
|
||||||
|
$obj->serials = $serials[$key];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$tipo = null;
|
$tipo = null;
|
||||||
|
|
Loading…
Reference in New Issue