Vai al contenuto

POSTIT — Visualizzazione note Post-it

Sorgente: cbl/postit.cbl | Tipo: Sottoprogramma (non a menu), richiamato da COGD20 e da maschere Assist | Program-ID: POSTIT


Scopo

POSTIT e' il viewer delle note "Post-it" del gestionale: mostra a video, in una piccola maschera colorata (postit-01.scr), le note associate a un'entita' (cliente/fornitore, articolo di magazzino, o note "generali") filtrate per area applicativa. Non e' un programma a menu: viene richiamato da altre maschere quando c'e' una nota da segnalare all'operatore.

I chiamanti noti sono:

  • COGD20 ("Post-it"), che gestisce l'anagrafica delle note Post-it e ne richiama la visualizzazione;
  • le maschere Assist (es. ASN140, ASN230, ASN03C, ASNC03C), per mostrare i post-it del cliente durante la gestione chiamate/interventi.

Il dialogo con il chiamante avviene tramite l'area di linkage util-wpost, che seleziona l'entita' e l'area di cui mostrare le note:

Campo linkage (util-wpost) Significato
wpost-ana-tip Tipo anagrafica: "C" cliente, "F" fornitore, spazi = nessuna
wpost-ana-cod Codice anagrafica cliente/fornitore
wpost-merce Codice merce (gruppo/sottogruppo/codice); k-merce-null se nota non di merce
wpost-area Area applicativa richiesta (vedi sotto)

File e tabelle principali

File/Tabella Copybook Uso
COGPOSTT postit.fd / postit.select (record ptt-*) Archivio note Post-it: chiave ptt-ana-tip + ptt-ana-cod + ptt-merce + ptt-area + progressivo (ptt-chia1)
COGGEANA coggeana Anagrafica clienti/fornitori, per la descrizione (ana-nome) mostrata in testata
FEURTAB cogfiles.cpy Tabella parametri/utility di sistema
fileout (linea sequenziale) File di output note (postit<operatore>.txt) per l'export/stampa delle note

Il file principale e' COGPOSTT (cogpostt), letto in scansione con st-cogpostt-notmin + rdnxt-cogpostt.


Logica area post-it

Le note Post-it sono classificate per area applicativa, codificata nel campo ptt-area (e nel parametro richiesto wpost-area):

Codice area Significato
" " (spazi) Generale
"A" Assist
"C" Contabilita'
"V" Vendite
"Q" Acquisti
"T" Tutte le note (richiesta di mostrare qualsiasi area, da anagrafica Cli/For)

La scansione di COGPOSTT (d2-10-loop-cogpostt) parte dalla chiave wpost-ana-tip/wpost-ana-cod/wpost-merce e scorre i record dell'entita'. Per ogni nota significativa (scartate le note cancellate ptt-fl-canc = "C" e quelle con testo vuoto), la selezione dell'area avviene cosi':

  • se wpost-area = "T" oppure la nota e' di area generale (ptt-area = spaces), la nota viene accettata;
  • altrimenti la nota viene accettata solo se la sua area coincide con quella richiesta (wpost-area = ptt-area).

L'area della nota trovata viene salvata in w-area. In fase di preparazione della maschera (a4), l'area mostrata a video (tm-area) viene inizializzata con l'area richiesta (wpost-area) e poi eventualmente forzata sull'area effettiva della nota (w-area) nei casi merce e "T".

Post-it "generali" sempre visualizzati (TASK-5572)

A partire da TASK-5572 (marcatore 090726 nel sorgente), in coda alla preparazione dell'area e' stata aggiunta la regola:

      if w-area = " "
         move w-area                 to tm-area
      end-if

Se la nota trovata e' di area "generale" (w-area = " "), la sua area viene comunque riportata in tm-area anche quando POSTIT e' stato richiamato per un'area diversa. In pratica i post-it generali sono ora sempre visualizzati (con l'indicazione di area corretta) indipendentemente dall'area del chiamante, coerentemente col fatto che gia' in scansione le note generali (ptt-area = spaces) vengono sempre accettate.


Storico modifiche

2026-07-09 — TASK-5572: post-it generali mostrati anche da aree diverse

  • In a4, dopo l'impostazione di tm-area (rami merce e "T"), aggiunta la regola: se w-area = " " (nota di area generale), move w-area to tm-area. Cosi' i post-it "generali" vengono sempre visualizzati con la corretta indicazione di area, anche se il programma chiamante ha richiesto un'area specifica diversa.
  • Restanti modifiche del diff puramente cosmetiche (riformattazione di commenti ***, allineamento indentazione di una condizione).