Aggiunta creazione fattura da contratto

This commit is contained in:
Bacca97 2018-03-27 18:34:49 +02:00
parent d1ac0cf42b
commit e9c207d8f9
3 changed files with 53 additions and 0 deletions

View File

@ -2,6 +2,19 @@
include_once __DIR__.'/../../core.php';
$rs_documento = $dbo->fetchArray("SELECT * FROM co_righe_documenti WHERE idcontratto=".prepare($id_record));
if(sizeof($rs_documento)>0){
echo "
<button type=\"button\" class=\"btn btn-info\" disabled>
<i class=\"fa fa-magic\"></i> ".tr('Crea fattura').'...
</button>';
}else{
echo "
<button type=\"button\" class=\"btn btn-info\" onclick=\"if( confirm('Creare una fattura per questo contratto?') ){fattura_da_contratto();}\">
<i class=\"fa fa-magic\"></i> ".tr('Crea fattura').'...
</button>';
}
if ($records[0]['rinnovabile']) {
echo "
<button type=\"button\" class=\"btn btn-warning\" onclick=\"if( confirm('Rinnovare questo contratto?') ){ location.href='".$rootdir.'/editor.php?op=renew&id_module='.$id_module.'&id_record='.$id_record."'; }\">

View File

@ -338,6 +338,12 @@ if (!empty($records[0]['idcontratto_prev'])) {
}
?>
<form action='<?=$rootdir?>/editor.php?id_module=<?=Modules::get('Fatture di vendita')['id']?>' method='post' id='form_creafattura'>
<input type="hidden" name="backto" value="record-edit">
<input type='hidden' name='op' value='fattura_da_contratto'>
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#data_accettazione').on("dp.change", function(){
@ -360,6 +366,10 @@ if (!empty($records[0]['idcontratto_prev'])) {
$("#data_accettazione").trigger("dp.change");
$("#data_rifiuto").trigger("dp.change");
});
function fattura_da_contratto(){
$('#form_creafattura').submit();
}
</script>

View File

@ -1036,6 +1036,36 @@ switch (post('op')) {
$_SESSION['infos'][] = tr('Creata una nuova fattura!');
break;
// Creazione fattura da contratto
case 'fattura_da_contratto':
$idcontratto = post('id_record');
$data = date('Y-m-d');
$numero = get_new_numerofattura($data);
$numero_esterno = get_new_numerosecondariofattura($data);
$tipo_documento = 'Fattura immediata di vendita';
//Info contratto
$rs_contratto = $dbo->fetchArray("SELECT * FROM co_contratti WHERE id=".prepare($idcontratto));
$idanagrafica = $rs_contratto[0]['idanagrafica'];
$idpagamento = $rs_contratto[0]['idpagamento'];
$idconto = get_var("Conto predefinito fatture di vendita");
$rs_segment = $dbo->fetchArray("SELECT * FROM zz_segments WHERE id_module=".prepare($id_module)." AND predefined='1'");
$id_segment = $rs_segment[0]['id'];
// Creazione nuova fattura
$dbo->query('INSERT INTO co_documenti(numero, numero_esterno, data, idanagrafica, idtipodocumento, idstatodocumento, idpagamento, idconto, id_segment) VALUES('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($data).', '.prepare($idanagrafica).', (SELECT id FROM co_tipidocumento WHERE descrizione='.prepare($tipo_documento)."), (SELECT id FROM co_statidocumento WHERE descrizione='Bozza'), ".prepare($idpagamento).', '.prepare($idconto).','.prepare($id_segment).')');
$id_record = $dbo->lastInsertedID();
//Righe contratto
$rs_righe = $dbo->fetchArray("SELECT * FROM co_righe2_contratti WHERE idcontratto=".prepare($idcontratto));
for($i=0;$i<sizeof($rs_righe);$i++){
$dbo->query("INSERT INTO co_righe_documenti(iddocumento, idcontratto, is_descrizione, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, sconto_globale, idiva, desc_iva, iva, iva_indetraibile, um, qta, `order`) values(".prepare($id_record).", ".prepare($idcontratto).", ".prepare($rs_righe[$i]['is_descrizione']).", ".prepare($rs_righe[$i]['descrizione']).", ".prepare($rs_righe[$i]['subtotale']).", ".prepare($rs_righe[$i]['sconto']).", ".prepare($rs_righe[$i]['sconto_unitario']).", ".prepare($rs_righe[$i]['tipo_sconto']).", ".prepare($rs_righe[$i]['sconto_globale']).", ".prepare($rs_righe[$i]['idiva']).", ".prepare($rs_righe[$i]['desc_iva']).", ".prepare($rs_righe[$i]['iva']).", ".prepare($rs_righe[$i]['iva_indetraibile']).", ".prepare($rs_righe[$i]['um']).", ".prepare($rs_righe[$i]['qta']).", ".prepare($rs_righe[$i]['order']).")");
}
$_SESSION['infos'][] = tr('Creata una nuova fattura!');
break;
// aggiungi righe da ddt
case 'add_ddt':