Buongiorno Francesco,
Mi spiace non aver letto prima il tuo messaggio. Sì, è possibile farlo modificando il codice.
In fase di redazione della fattura, ho manualmente creato un campo dove inserire l'ID della marca da bollo per salvarla nel database e per far sì che venga stampata la dicitura "Imposta di bollo assolta ecc." in base allo stato della fattura (ad esempio "bozza", "pagata", "emessa", ecc.).
Sinceramente non ho trovato necessario predisporre per la fattura originale un riquadro apposito dove apporre la marca da bollo, ma non è una cosa impossibile da fare.
Purtroppo ho fatto questi cambiamenti tempo fa e non li ho documentati :? . Spero non mi sia sfuggito niente e chiedo scusa in anticipo per le eventuali mancanze. Nel caso non funzioni scrivetemi qui.
Attualmente utilizzo la versione 2.1 di OSM, non so se in altre versioni queste modifiche funzionino.
Anzitutto nel database di OSM, sotto la tabella "co_documenti", bisogna inserire un nuovo campo chiamato "id_bollo". Gli attributi che ho compilato sono:
Name: id_bollo
Type: VARCHAR
Lenght/Values: 14
Collation: latin1_swedish_ci
Poi vanno modificati questi file nella cartella /modules/fatture:
actions.php
Sotto la riga 65:
$note_aggiuntive = save( $_POST['note_aggiuntive'] );
aggiungere:
$id_bollo = save( $_POST['id_bollo'] );
Riga 98, (molto lunga) inizia con
$query = "UPDATE co_documenti SET data=\"".$data."\", ecc.
modificare in:
$query = "UPDATE co_documenti SET data=\"".$data."\", idstatodocumento=\"".$idstatodocumento."\", idtipodocumento=\"".$idtipodocumento."\", idanagrafica=\"".$idanagrafica."\", idpagamento=\"".$idpagamento."\", idcausalet=\"".$idcausalet."\", idspedizione=\"".$idspedizione."\", idporto=\"".$idporto."\", idaspettobeni=\"".$idaspettobeni."\", idvettore=\"".$idvettore."\", n_colli=\"".$n_colli."\", idsede=\"".$idsede."\", numero_esterno=\"$numero_esterno\", note=\"$note\", note_aggiuntive=\"$note_aggiuntive\", id_bollo=\"$id_bollo\", idconto=\"$idconto\", idrivalsainps=\"$idrivalsainps\", idritenutaacconto=\"$idritenutaacconto\", bollo=0, rivalsainps=0, ritenutaacconto=0, iva_rivalsainps=0 WHERE id=\"$iddocumento\"";
edit.html
Riga 79, il codice si presenta così:
{[ "type": "text", "label": "Buono ordine", "name": "buono_ordine", "required": 0, "class": "text-left", "value": "$buono_ordine$", "extra": "" ]}
Modificarlo aggiungendo le nuove righe:
{[ "type": "text", "label": "Buono ordine", "name": "buono_ordine", "required": 0, "class": "text-left", "value": "$buono_ordine$", "extra": "" ]}
{[ "type": "text", "label": "ID marca da bollo", "name": "id_bollo", "required": 0, "class": "text-center", "value": "$id_bollo$", "extra": "" ]}
Infine nella cartella /templates/fatture:
pdfgen.fatture.php
Riga 500, il codice si presenta così:
$body .= "\n";
$body .= "\n";
$body .= "".nl2br($rs[0]['note'])."\n";
Aggiungere le righe riportate come di seguito:
$body .= "\n";
$body .= "\n";
//Mostra l'ID del bollo se c'è e se la fattura non è una bozza
if( abs($rs[0]['bollo'])>0){
if( abs($rs[0]['idstatodocumento'])!= 2) {
$body .= "Imposta di bollo assolta sull’originale. ID: ".nl2br($rs[0]['id_bollo'])."\n";
}
}
$body .= "".nl2br($rs[0]['note'])."\n";
In questo modo quando la fattura è in stato "bozza" si può stampare la fattura originale, senza dicitura, mentre cambiando lo stato in "emessa", "pagata", ecc. verrà stampata con la dicitura e l'ID della marca da bollo.
Questo comportamento si può cambiare modificando la stringa:
if( abs($rs[0]['idstatodocumento'])!= 2) {
Il numero "2" identifica lo stato della fattura come "bozza". Gli stati sono:
1 = Pagato
2 = Bozza
3 = Emessa
4 = Annullata
5 = Parzialmente pagato
Dunque se si preferisce che la dicitura compaia in fattura solamente quando è "emessa" (ma non quando è "pagata", "bozza", ecc.), dovremo modificare l'operatore "non è uguale"
!=
in "è uguale"
==
e infine il numero relativo allo stato prescelto (3 per le fatture emesse):
if( abs($rs[0]['idstatodocumento'])== 3) {
Spero che possa essere ancora utile per te o per altri.