COGG32S - Stampa Etichette Contatti/Tecnici¶
Scopo¶
Stampa etichette con dati anagrafici (nome, indirizzo) per contatti o tecnici. Supporta stampa laser (Prescribe) e termica (Eltron EPL2). Il comportamento (contatti vs tecnici) e' determinato dal parametro passato al programma.
Menu¶
- Contabilita' > Archivi & Tabelle > Contatti > Stampe > Etichette Contatti
- Contabilita' > Archivi & Tabelle > Contatti > Stampe > Etichette Tecnici
File e tabelle¶
| File | Tipo | Utilizzo |
|---|---|---|
| FEURTAB (COGTABEL) | Indicizzato | Tabelle generali |
| COGRIFER | Indicizzato | Anagrafica contatti (riferimenti) |
| COGANATN | Indicizzato | Anagrafica tecnici |
| FLSTA | Stampa | File di stampa |
Copybook¶
Working-Storage¶
cogg32s.wrk— variabili specifichewstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpy— standardcogazien.cpy— dati aziendautils54.cpy— gestione stampanteutilncnf.cpy— RNEWCONF (configurazione)utilg32.cpy— utility specifica COGG32
Screen¶
cogg32s-01.scr— definizione maschera
Procedure Division¶
cogg32s.decla— declarativescogg32s.prc— procedure standardstato.cpy,winmsg.cpy,grave.cpy,opengen.cpy,stato1.cpy,mmmask.cpy— standard finali
CALL a sottoprogrammi¶
| Programma | Funzione |
|---|---|
| COGS54 | Gestione stampante (apertura/chiusura/after-print) |
| COGG32 | Programma padre contatti (richiamato per ricerca) |
| RNEWCONF | Lettura configurazione |
Logica di elaborazione¶
Parametrizzazione¶
Il programma riceve in wo-parametro il valore:
- "T" = modalita' Tecnici (stampa da COGANATN)
- Altro = modalita' Contatti (stampa da COGRIFER)
Parametri maschera¶
| Campo | Variabile | Descrizione |
|---|---|---|
| Contatto/Tecnico | tm-rif-cod | Codice specifico (0 = tutti) |
| N. Copie | tm-cop | Numero copie per etichetta |
| Inizio Fila | tm-ini-fil | Fila di partenza (solo laser) |
| Inizio Colonna | tm-ini-col | Colonna di partenza (solo laser) |
Configurazione tipo stampa¶
Letta da RNEWCONF, determina il tipo di stampante:
- "LASER" — usa emulazione Prescribe
- "ELTRON" — usa emulazione EPL2
Flusso di stampa¶
- Raccolta parametri (codice contatto/tecnico, copie, posizione)
- Apertura stampante tramite COGS54 (136 caratteri)
- Inizializzazione stampante (
b1-set-printer): - Laser: comandi Prescribe (RES, UNIT C, SPSZ 7, FTMD 15, FONT 12)
- Eltron: comandi EPL2 (WN, N, S2, D5, ZT, q320, Q168)
- Loop di lettura:
- Modalita' Tecnici:
st-coganatn-notminpoirdnxt-coganatn, per ogni tecnico legge il riferimento su COGRIFER - Modalita' Contatti:
st-cogrifer-notminpoirdnxt-cogrifer - Filtro su
tm-rif-cod(se diverso da zero, stampa solo quel codice) - Per ogni record: stampa N copie (
tm-coptimes) chiamandob2-stampa - Reset stampante e after-print
Layout etichetta laser¶
Usa comandi Prescribe per posizionamento assoluto su foglio A4 con griglia di etichette. Le coordinate w-kyo-v-cur e w-kyo-h-cur tracciano la posizione corrente e avanzano di etichetta in etichetta.
Layout etichetta Eltron¶
Usa comandi EPL2 con posizionamento tramite coordinate (A command) per stampante termica ad etichette singole.
Coordinate posizionamento maschera¶
| Costante | Valore | Significato |
|---|---|---|
| k-v-tm-rif-cod | 2 | Riga campo codice |
| k-h-tm-rif-cod | 15 | Colonna campo codice |
| k-v-tm-cop | 4 | Riga campo copie |
| k-h-tm-cop | 15 | Colonna campo copie |
| k-v-tm-ini-fil | 5 | Riga campo fila |
| k-h-tm-ini-fil | 15 | Colonna campo fila |
| k-v-tm-ini-col | 5 | Colonna campo colonna |
| k-h-tm-ini-col | 18 | Colonna campo colonna |
Note tecniche¶
- Larghezza stampa: 136 caratteri (
k-chr-stampa). - Usa
mmmask.cpy(programma standalone). - La ricerca contatto/tecnico e' gestita tramite
utilg32.cpycon operazione "accept". - Chiama COGG32 (programma padre dei contatti) quando serve ricerca F8.
- Il tipo di stampante (LASER/ELTRON) e' letto dalla configurazione RNEWCONF, non hardcoded.