Aggiunta impostazione per fatturare attività collegate a documenti
This commit is contained in:
parent
4ff1cc2ee5
commit
7b53d2a1b7
|
@ -38,6 +38,12 @@ $idanagrafica = $fattura->idanagrafica;
|
|||
|
||||
$idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto');
|
||||
|
||||
$where = '';
|
||||
// Lettura interventi non collegati a preventivi, ordini e contratti
|
||||
if (!setting('Permetti fatturazione delle attività collegate a contratti, ordini e preventivi')) {
|
||||
$where = 'AND in_interventi.id_preventivo IS NULL AND in_interventi.id_contratto IS NULL AND in_interventi.id_ordine IS NULL';
|
||||
}
|
||||
|
||||
/*
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
|
@ -64,10 +70,7 @@ $rs = $dbo->fetchArray('SELECT
|
|||
(in_interventi.idanagrafica='.prepare($idanagrafica).' OR in_interventi.idclientefinale='.prepare($idanagrafica).')
|
||||
AND in_statiintervento.is_completato=1 AND in_statiintervento.is_fatturabile=1
|
||||
AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL)
|
||||
AND in_interventi.id_preventivo IS NULL
|
||||
AND in_interventi.id_contratto IS NULL
|
||||
AND in_interventi.id_ordine IS NULL
|
||||
AND NOT in_interventi.id IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)');
|
||||
AND NOT in_interventi.id IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL) '.$where);
|
||||
foreach ($rs as $key => $value) {
|
||||
$intervento = \Modules\Interventi\Intervento::find($value['id']);
|
||||
$prezzo = $intervento->totale;
|
||||
|
|
|
@ -763,14 +763,20 @@ echo '
|
|||
if (!$block_edit) {
|
||||
if (empty($record['ref_documento'])) {
|
||||
if ($dir == 'entrata') {
|
||||
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti
|
||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idanagrafica='.prepare($record['idanagrafica']).' AND in_statiintervento.is_completato=1 AND in_statiintervento.is_fatturabile=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id_preventivo IS NULL AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)';
|
||||
$where = '';
|
||||
// Lettura interventi non collegati a preventivi, ordini e contratti
|
||||
if (!setting('Permetti fatturazione delle attività collegate a contratti, ordini e preventivi')) {
|
||||
$where = 'AND in_interventi.id_preventivo IS NULL AND in_interventi.id_contratto IS NULL AND in_interventi.id_ordine IS NULL';
|
||||
}
|
||||
|
||||
// Lettura interventi non rifiutati, non fatturati
|
||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idanagrafica='.prepare($record['idanagrafica']).' AND in_statiintervento.is_completato=1 AND in_statiintervento.is_fatturabile=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL) '.$where;
|
||||
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
||||
|
||||
// Se non trovo niente provo a vedere se ce ne sono per clienti terzi
|
||||
if (empty($interventi)) {
|
||||
// Lettura interventi non rifiutati, non fatturati e non collegati a preventivi o contratti (clienti terzi)
|
||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idclientefinale='.prepare($record['idanagrafica']).' AND in_statiintervento.is_completato=1 AND in_statiintervento.is_fatturabile=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id_preventivo IS NULL AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL)';
|
||||
// Lettura interventi non rifiutati, non fatturati
|
||||
$int_query = 'SELECT COUNT(*) AS tot FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE idclientefinale='.prepare($record['idanagrafica']).' AND in_statiintervento.is_completato=1 AND in_statiintervento.is_fatturabile=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id NOT IN (SELECT idintervento FROM co_promemoria WHERE idintervento IS NOT NULL) '.$where;
|
||||
$interventi = $dbo->fetchArray($int_query)[0]['tot'];
|
||||
}
|
||||
|
||||
|
|
|
@ -166,4 +166,7 @@ INSERT INTO zz_settings(nome, valore, tipo, editable, sezione) VALUES ('Posizion
|
|||
-- Miglioria segmenti scadenzario
|
||||
UPDATE `zz_segments` SET `name` = 'Scadenzario completo' WHERE `zz_segments`.`name` = 'Scadenziaro completo';
|
||||
UPDATE `zz_segments` SET `clause` = '(`co_scadenziario`.`scadenza` BETWEEN \'|period_start|\' AND \'|period_end|\' AND idtipodocumento < 14)' WHERE `zz_segments`.`name` = 'Scadenzario completo';
|
||||
INSERT INTO `zz_segments` (`id_module`, `name`, `clause`, `position`, `pattern`,`note`, `dicitura_fissa`,`predefined`, `predefined_accredito`, `predefined_addebito`, `autofatture`, `is_sezionale`) VALUES ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario'), 'Scadenzario autofatture', '(idtipodocumento >= 14)', 'WHR', '####', '', '', 0, 0, 0, 0, 0);
|
||||
INSERT INTO `zz_segments` (`id_module`, `name`, `clause`, `position`, `pattern`,`note`, `dicitura_fissa`,`predefined`, `predefined_accredito`, `predefined_addebito`, `autofatture`, `is_sezionale`) VALUES ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario'), 'Scadenzario autofatture', '(idtipodocumento >= 14)', 'WHR', '####', '', '', 0, 0, 0, 0, 0);
|
||||
|
||||
-- Impostazione per fatturare attività collegati ad altri documenti
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Permetti fatturazione delle attività collegate a contratti, ordini e preventivi', '0', 'boolean', '1', 'Fatturazione', NULL, NULL)
|
Loading…
Reference in New Issue