Data ultimo aggiornamento: 19/11/2020

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Gestione Avanzata Personalizzazioni (GAP)

Il modulo per permette di ereditare campi sia standard che custom appartenenti all'anagrafica cli/for ed articoli, in fase di creazione di una offerta, ordine e documento, all'interno di campi custom della testata e del corpo. Inoltre è possibile specificare anche quali informazioni riportare in fase di evasione di un documento in un'altro (per esempio quando si evade un impegno con un ddt emesso), anche inquesto caso è possibile dal documento di origine (nell'esempio l'impegno) quali campi sia standard che custom riportare nel documento di destinazione (nell'esempio il ddt emesso) all'interno di campi custom della testata e del corpo.

A seguire sono indicate le possibilità fornite dal modulo in oggetto e come utilizzarlo.

Attivare il modulo

Il modulo di Gestione Avanzata Personalizzazioni (abbreviato anche come G.A.P.) si attiva dal programma di inizializzazioni comuni globali, tramite la spunta in allegato. Fa parte dei moduli tecnologici di Framework.

Una volta attivato il modulo e riavviato Business troveremo sotto il menu dell'utility (V) alla voce (5) la gestione avanzata personalizzazioni.

Legami tra documenti e anagrafiche (BNAPLEAN)

Come prima cosa andiamo ad aggiungere dei campi sull'anagrafica clienti/fornitori e sulle testate di offerte, ordini e documenti (anche note prelievo), per esempio:

ALTER TABLE anagra ADD an_hhcodicecliente varchar(30) NULL

ALTER TABLE destdiv ADD dd_hhcodicecliente varchar(30) NULL

ALTER TABLE testoff ADD td_hhidordinegruppo varchar(30) NULL, td_hhdataordinegruppo datetime NULL, td_hhcodicecliente varchar(30) NULL

ALTER TABLE testord ADD td_hhidordinegruppo varchar(30) NULL, td_hhdataordinegruppo datetime NULL, td_hhcodicecliente varchar(30) NULL

ALTER TABLE testmag ADD tm_hhidordinegruppo varchar(30) NULL, tm_hhdataordinegruppo datetime NULL, tm_hhcodicecliente varchar(30) NULL

ALTER TABLE testprb ADD tm_hhidordinegruppo varchar(30) NULL, tm_hhdataordinegruppo datetime NULL, tm_hhcodicecliente varchar(30) NULL

NB: l'operazione di aggiunta campi è necessaria farla da BusAdmintools dalla funzione di modifica struttura, in modo da mappare campi supportati da Business.

Una volta personalizzate le tabelle, andiamo a generare il modello personalizzato PROVA.MODXP, necessario per avviare poi i programmi 'Legami tra documenti e anagrafiche (BNAPLEAN)' e 'Legami tra documenti di origine e destinazione (BNAPLEDO)'.

Se non è presente il PROVA.MODXP all'avvio dei programmi di legame viene dato il seguente messaggio di avviso.

Una volta aggiunti i campi sul database occorre aggiungere anche i campi relativi nelle U.I. di Business tramite editing, per esempio:

Una volta fatto questo proviamo ad impostare nel programma 'Legami tra documenti e anagrafiche (BNAPLEAN)' l'impostazione di ereditare l'informazione del codice gruppo del cliente in testata dell'eventuale ordine e/o documento generato (è possibile farlo anche per offerte).

Con la configurazione sopra appena andiamo ad inserire nell'ordine il codice cliente, questo viene riportato dall'anagrafica alla testata dell'ordine.

Nel programma 'Legami tra documenti e anagrafiche (BNAPLEAN)' è possibile impostare di acquisire anche da campi standard (come origine, ma non come destinazione), per esempio potrebbe essere che per un certo cliente il codice del gruppo si trovi nel campo codice nostro presso loro, oppure anche da campi di destdiv, oltre che dalla tabella anagra.

In aggiunta è possibile dettagliare le regole specificabili nel programma compilando i campi (che hanno la priorità mostrata in lista):

  • Tipo doc.
  • Serie doc.
  • Cod. tipo B/F
  • Cod. conto

Oltre alla possibilità di ereditare campi di anagra/destdiv in testata, è possibile ereditare anche campi di artico/artfasi sulle righe. Anche in questo caso generiamo le seguenti colonne custom sul database Business, per esempio:

ALTER TABLE artico ADD ar_hhcommessalibera int NOT NULL CONSTRAINT DF_artico_ar_hhcommessalibera DEFAULT 0,

ar_hhdataiso datetime NULL, ar_hhiso varchar(10) NULL

ALTER TABLE movoff ADD mo_hhcommessalibera int NOT NULL CONSTRAINT DF_movoff_mo_hhcommessalibera DEFAULT 0,

mo_hhdataiso datetime NULL, mo_hhiso varchar(10) NULL

ALTER TABLE movord ADD mo_hhcommessalibera int NOT NULL CONSTRAINT DF_movord_mo_hhcommessalibera DEFAULT 0,

mo_hhdataiso datetime NULL, mo_hhiso varchar(10) NULL

ALTER TABLE movmag ADD mm_hhcommessalibera int NOT NULL CONSTRAINT DF_movmag_mm_hhcommessalibera DEFAULT 0,

mm_hhdataiso datetime NULL, mm_hhiso varchar(10) NULL

ALTER TABLE movprb ADD mm_hhcommessalibera int NOT NULL CONSTRAINT DF_movprb_mm_hhcommessalibera DEFAULT 0,

mm_hhdataiso datetime NULL, mm_hhiso varchar(10) NULL

NB: ricordiamo ancora che l'operazione di aggiunta campi è necessaria farla da BusAdmintools dalla funzione di modifica struttura, in modo da mappare campi supportati da Business.

Rigeneriamo il PROVA.MODXP in modo che il G.A.P. si accorga dei nuovi campi personalizzati, ed aggiungiamoli nelle U.I. dei relativi programmi tramite editing, come prima.

Per rendere più interessante l'esempio creiamo anche la tabella dei codici ISO (anche qui lavorare da BusAdmintools):

CREATE TABLE [dbo].[tabhhis](

[codditt] [varchar](12) NOT NULL,

[tb_codhhis] [varchar](10) NOT NULL,

[tb_deshhis] [varchar](100) NULL,

[tb_note] [varchar](max) NULL

CONSTRAINT [tabhhis_i191_0] PRIMARY KEY CLUSTERED ( [tb_codhhis] ASC, [codditt] ASC )

)

Compiliamo il file dalconf.ini nella ~\Bus\Script del server, con la seguente riga evidenziata:

TABHHIS|tabhhis|S|tb_|tb_codhhis|S|tb_deshhis|D

Poi da Business generiamo il programma di gestione su griglia con il comando bs--hhis da menu, messo a disposizione gratuitamente dal framework:

Ora nel programma 'Legami tra documenti e anagrafiche (BNAPLEAN)' andiamo ad inserire l'impostazione di ereditare l'informazione del codice ISO dall'anagrafica dell'articolo alla riga dell'ordine/documento.

A questo punto come nel caso precedente della testata, quando andiamo ad inserire righe nel corpo del documento il dato del codice ISO verrà ereditato dall'anagrafica articolo alla riga del corpo.

Legami tra i campi di documenti di origine e documenti di destinazione (BNAPLEDO)

A questo primo sistema di ereditare le informazioni anagra/destdiv in testata e artico/artfasi nel corpo, che possiamo definire come un concetto di ereditare informazioni di anagrafica cliente/articolo all'interno del documento, il G.A.P aggiunge anche il concetto di ereditare le informazioni in fase di evasione nel flusso documentale, da un documento di origine ad uno di destinazione.

Per esempio potremmo avere un impegno cliente che ha ereditato in testata e corpo delle informazioni dalle anagrafiche (ma non solo quelle), che si vogliono ereditare e trasmettere in fase di evasione nel ddt emesso.

Per fare questo dobbiamo utilizzare il programma 'Legami tra i campi di documenti di origine e documenti di destinazione (BNAPLEDO)', per esempio potremmo configurare che un impegno cliente se viene trasformato in ddt emesso, fatt. imm. o nota di prelievo eredita i campi di ID e Data ordine del gruppo (aggiungendo magari anche il caso di trasformazione da nota di prelievo a ddt emesso):

In questo caso se prendiamo per esempio il seguente impegno

Trasformandolo in ddt emesso della selezione della gestione documenti

Ci ritroveremo i dati di testata che vengono ereditati dall'impegno (NB: in queste logiche se ci sono più impegni che vengono riepilogati in un unico ddt vengono presi i dati del primo impegno, come succede in altri casi per i campi standard):

Andando ad aggiungere nel programma 'Legami tra i campi di documenti di origine e documenti di destinazione (BNAPLEDO)' anche il dato della sigla ISO del corpo, erediteremo anche quella informazione:

Anche nel programma 'Legami tra i campi di documenti di origine e documenti di destinazione (BNAPLEDO)' valgono le indicazioni dette per il programma BNAPLEAN, nel senso che è possibile impostare di acquisire da campi standard (come origine, ma non come destinazione). Ed è possibile specificare delle deroghe a livello di Serie, Tipo B/F e Conto (sia di origine che di destinazione).

Riepilogando i legami da BNAPLEAN nelle testate/corpo di BNCRGSOF/BNORGSOR/BNVEBOLL vengono applicati secondo le priorità:

  1. TipoRK
  2. Serie
  3. Tipo B/F
  4. Conto

In questo caso il meccanismo di ereditare le informazioni dalle anagrafiche scatta quando si valida/varia il codice cliente, la destinazione diversa 1, il tipo B/F in testata, o il codice articolo, la fase nella riga del corpo.

I legami da BNAPLEDO nei programmi elaborativi vengono applicati secondo le priorità:

  1. Serie destinazione
  2. Tipo B/F destinazione
  3. Conto destinazione
  4. Serie origine
  5. Tipo B/F origine
  6. Conto origine

In questo caso il meccanismo di ereditare le informazioni in evasione documentale avviene in:

  • Gestione Ordini (BNORGSOR): quando si seleziona di evadere offerte/ordini aperti dalla toolbar
  • Gestione Documenti (BNVEBOLL): quando si seleziona di evadere note di prelievo e ordini/righe d'ordine (ordini di produzione inclusi) dalla toolbar
  • Generazione impegni da offerte (BNCRGNIC): durante l'elaborazione e trasformazione relativa
  • Generazione note di prelievo da impegni (BNORGNNP): durante l'elaborazione e trasformazione relativa
  • Generazione documenti da note di prelievo (BNVEGNBF): durante l'elaborazione e trasformazione relativa
  • Ricevimento merci (BNRMRICM): nel caso in cui vengano settate apposite opzioni per poter avviare un ricevimento dagli ordini, sono supportati i casi:
    • un Ordine a fornitore (tipork = O), il programma genera automaticamente un DDT ricevuto (tipork = M) oppure una Fattura immediata ricevuta (tipork = L)
    • un Ordine di produzione (tipork = H), il programma genera automaticamente un Carico da produzione (tipork = T)
  • Picking (BNRMPICK): anche in questo caso è supportato il caso in cui se sono state attivate apposite opzioni ed al termine del riscontro si vuole generare un documento
  • Gestione punti vendita (BNREGSRE): sono gestiti i legami dei campi nell'importazione testate/righe ordini, attivabile tramite il menu 'Evadi'
  • Avanzamento di produzione (BNDBAVEX): gestiti i legami dei campi durante la fase 'Completa e Versa'

In evasione ordini di produzione il G.A.P. imposta anche il legame Scarico a produzione vs. Impegno di produzione, questo legame è disponibile solo per le righe del corpo, la testata di Scarico a produzione (tipo 'U') viene sempre clonata dalla testata di Carico a produzione (tipo 'T').

Comunque potenzialmente ogni programma di Business standard/personalizzato, che fa uso dell'engine di ORGSOR e VEBOLL eredita le eventuali impostazioni G.A.P. settate.

Legami evasione documenti (BNAPLEVA)

Esiste anche un terzo programma 'Legami evasione documenti (BNAPLEVA)' che definisce i legami impostabili in fase di evasione documentale. Il programma permette di visualizzare solo i legami attualmente configurabili da parte del G.A.P. non permette l'inserimento o la modifica di altri legami.

Informazioni sulle tabelle collegate

Il programma 'Legami tra documenti e anagrafiche (BNAPLEAN)' lavora sulla tabella TABLEAN

Il programma 'Legami evasione documenti (BNAPLEVA)' lavora sulla tabella TABLEVA

Il programma 'Legami tra i campi di documenti di origine e documenti di destinazione (BNAPLEDO)' lavora sulla tabella TABLEDO

Limiti noti

I campi configurati tramite G.A.P. comunque non possono essere usati come logica applicativa, ad esempio un campo aggiunto da usare per il calcolo del totale documento o nella ricerca del prezzo.

Per ora non è gestito il trasferimento dei campi da testmag a testmag fattura differita (potrebbero essere anche campi di 'rottura' tra fattura e fattura).