Patch level : 12.0 434
Files correlati : bs0.exe bs0100a.msk bs0200a.msk Trasferimento documenti BeeStore git-svn-id: svn://10.65.10.50/branches/R_10_00@24050 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0bd9fdbf99
commit
9000f1532c
2
src/bs/bs0100a.h
Normal file
2
src/bs/bs0100a.h
Normal file
@ -0,0 +1,2 @@
|
||||
#define F_DATASOURCE 101
|
||||
#define F_LOG 102
|
@ -1,3 +1,5 @@
|
||||
#include "bs0100a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <stdbar.h>
|
||||
ENDPAGE
|
||||
@ -9,7 +11,7 @@ BEGIN
|
||||
PROMPT 1 1 "@bODBC"
|
||||
END
|
||||
|
||||
STRING 101 50
|
||||
STRING F_DATASOURCE 50
|
||||
BEGIN
|
||||
PROMPT 2 2 "Data Source Name (DSN) "
|
||||
FLAGS "B"
|
||||
@ -17,7 +19,7 @@ BEGIN
|
||||
FIELD DSN
|
||||
END
|
||||
|
||||
STRING 102 260 50
|
||||
STRING F_LOG 260 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "File di log errori SQL "
|
||||
FIELD Log
|
||||
|
@ -10,6 +10,9 @@
|
||||
#include "../mg/mglib.h"
|
||||
#include "../cg/cglib01.h"
|
||||
#include "../cg/cg2101.h"
|
||||
#include "../ve/velib.h"
|
||||
#include <doc.h>
|
||||
#include <rdoc.h>
|
||||
|
||||
#include "bs0.h"
|
||||
|
||||
@ -157,7 +160,8 @@ private:
|
||||
void add_rmov(TMovimentoPN& mov, const real& importo, const TCausale& caus, const char* cod) const;
|
||||
|
||||
protected:
|
||||
bool save_and_delete_doc(TMov_mag*& doc) const;
|
||||
bool save_and_delete_movmag(TMov_mag*& doc) const;
|
||||
bool save_and_delete_doc(TDocumento*& doc) const;
|
||||
|
||||
void load_origine_1(TISAM_recordset& out_set, const char* in_table, const TString_array& pairs);
|
||||
void save_origine_2(TISAM_recordset& in_set, const char* out_table, const TString_array& pairs, TFieldEvaluator* feval = NULL);
|
||||
@ -176,8 +180,12 @@ protected:
|
||||
void sync_val (const TDate& dal, const TDate& al);
|
||||
void sync_anamag (const TDate& dal, const TDate& al);
|
||||
void sync_barcode (const TDate& dal, const TDate& al);
|
||||
void sync_scontrini(const TDate& dal, const TDate& al);
|
||||
void sync_corrisp (const TDate& dal, const TDate& al);
|
||||
void sync_mov(int tipotestata, const TDate& dal, const TDate& al);
|
||||
void sync_scontrini(const TDate& dal, const TDate& al) { sync_mov(3, dal, al);}
|
||||
void sync_doc (const TDate& dal , const TDate& al);
|
||||
void sync_carscar (const TDate& dal, const TDate& al) { sync_mov(1, dal, al);}
|
||||
void sync_generici (const TDate& dal , const TDate& al) { sync_mov(4, dal, al);}
|
||||
void sync_clifo (int cfmask, const TDate& dal, const TDate& al);
|
||||
void sync_listino (const TString& listino);
|
||||
|
||||
@ -191,7 +199,7 @@ const TString& date2sql(const TDate& d)
|
||||
{
|
||||
TString& tmp = get_tmp_string();
|
||||
if (d.ok())
|
||||
tmp.format("'%02d-%02d-%04d'", d.day(), d.month(), d.year());
|
||||
tmp.format("'%04d-%02d-%02d'", d.year(), d.month(), d.day());
|
||||
else
|
||||
tmp = "NULL";
|
||||
return tmp;
|
||||
@ -1012,7 +1020,7 @@ void TBeeStore_sync::sync_clifo(int cfmask, const TDate& dal, const TDate& al)
|
||||
save_clifo(cfmask, dal, al);
|
||||
}
|
||||
|
||||
bool TBeeStore_sync::save_and_delete_doc(TMov_mag*& doc) const
|
||||
bool TBeeStore_sync::save_and_delete_movmag(TMov_mag*& doc) const
|
||||
{
|
||||
int err = 0;
|
||||
if (doc != NULL)
|
||||
@ -1038,6 +1046,32 @@ bool TBeeStore_sync::save_and_delete_doc(TMov_mag*& doc) const
|
||||
return err == 0;
|
||||
}
|
||||
|
||||
bool TBeeStore_sync::save_and_delete_doc(TDocumento*& doc) const
|
||||
{
|
||||
int err = 0;
|
||||
if (doc != NULL)
|
||||
{
|
||||
if (doc->rows() > 0)
|
||||
{
|
||||
err = doc->write();
|
||||
if (err != NOERR)
|
||||
{
|
||||
TString msg;
|
||||
|
||||
msg.format(FR("Errore %d in registrazione dcoumento %s/%ld del %s"), err,
|
||||
(const char *) doc->get(DOC_CODNUM), doc->get_long(DOC_NDOC), (const char*)doc->get(DOC_DATADOC));
|
||||
_log->log(2, msg);
|
||||
msg << TR("\nSi desidera proseguire ugualmente?");
|
||||
if (noyes_box(msg))
|
||||
err = 0;
|
||||
}
|
||||
}
|
||||
delete doc;
|
||||
doc = NULL;
|
||||
}
|
||||
return err == 0;
|
||||
}
|
||||
|
||||
void TBeeStore_sync::sync_val(const TDate& dal, const TDate& al)
|
||||
{
|
||||
TString_array fields;
|
||||
@ -1096,10 +1130,11 @@ void TBeeStore_sync::sync_listino(const TString& listino)
|
||||
}
|
||||
}
|
||||
|
||||
void TBeeStore_sync::sync_scontrini(const TDate& dal, const TDate& al)
|
||||
void TBeeStore_sync::sync_mov(int tipotestata, const TDate& dal, const TDate& al)
|
||||
{
|
||||
const TString8 codcaus = ini_get_string(CONFIG_DITTA, "bs", MOVMAG_CODCAUS);
|
||||
if (codcaus.blank())
|
||||
const TString8 codcaus = ini_get_string(CONFIG_DITTA, "bs", MOVMAG_CODCAUS, "", tipotestata);
|
||||
|
||||
if (codcaus.blank())
|
||||
{
|
||||
_log->log(2, "Configurare parametri per movimenti Bee Store");
|
||||
return;
|
||||
@ -1107,7 +1142,7 @@ void TBeeStore_sync::sync_scontrini(const TDate& dal, const TDate& al)
|
||||
|
||||
TString str(255);
|
||||
str << "ODBC(" << _dsn << ")\n";
|
||||
str << "SELECT * FROM tieDMovMag WHERE Origine=1";
|
||||
str << "SELECT * FROM tieDMovMag WHERE Origine=1 AND TipoTestata=" << tipotestata;
|
||||
if (dal.ok() || al.ok())
|
||||
{
|
||||
str << " AND DataMov";
|
||||
@ -1134,7 +1169,7 @@ void TBeeStore_sync::sync_scontrini(const TDate& dal, const TDate& al)
|
||||
nm = mov.get("NumMov").as_string();
|
||||
if (nm != num_mov)
|
||||
{
|
||||
if (!save_and_delete_doc(doc))
|
||||
if (!save_and_delete_movmag(doc))
|
||||
break;
|
||||
num_mov = nm;
|
||||
const TDate datadoc = mov.get("DataMov").as_date();
|
||||
@ -1149,7 +1184,7 @@ void TBeeStore_sync::sync_scontrini(const TDate& dal, const TDate& al)
|
||||
if (!pi.add_status())
|
||||
break;
|
||||
}
|
||||
save_and_delete_doc(doc); // Salva ultimo documento in sospeso
|
||||
save_and_delete_movmag(doc); // Salva ultimo documento in sospeso
|
||||
}
|
||||
|
||||
void TBeeStore_sync::add_rmov(TMovimentoPN& mov, const real& importo, const TCausale& caus, const char* cod_da) const
|
||||
@ -1173,6 +1208,157 @@ void TBeeStore_sync::add_rmov(TMovimentoPN& mov, const real& importo, const TCau
|
||||
}
|
||||
}
|
||||
|
||||
void TBeeStore_sync::sync_doc(const TDate& dal, const TDate& al)
|
||||
{
|
||||
const TString8 codcausdef = ini_get_string(CONFIG_DITTA, "bs", MOVMAG_CODCAUS, "", 2);
|
||||
|
||||
if (codcausdef.blank())
|
||||
{
|
||||
_log->log(2, "Configurare parametri per movimenti Bee Store");
|
||||
return;
|
||||
}
|
||||
|
||||
TString str(255);
|
||||
str << "ODBC(" << _dsn << ")\n";
|
||||
str << "SELECT tieDMovMag.*,tieTBolFat.* FROM tieDMovMag,tieTBolFat WHERE tieDMovMag.Origine=1 AND tieDMovMag.TipoTestata=2 AND tieDMovMag.CodTestata=tieTBolFat.Cod_PK"; // verificare
|
||||
if (dal.ok() || al.ok())
|
||||
{
|
||||
str << " AND DataMov";
|
||||
if (dal.ok() && al.ok())
|
||||
str << " BETWEEN " << date2sql(dal) << " AND " << date2sql(al);
|
||||
else
|
||||
{
|
||||
if (dal.ok())
|
||||
str << ">=" << date2sql(dal);
|
||||
else
|
||||
str << "<=" << date2sql(al);
|
||||
}
|
||||
}
|
||||
str << "\nORDER BY NumMov,NumRiga";
|
||||
|
||||
TODBC_recordset docs(str);
|
||||
TProgress_monitor pi(docs.items(), str);
|
||||
|
||||
long num_doc = -1, nd, codcf ;
|
||||
TString4 tipocf;
|
||||
TDocumento* doc = NULL;
|
||||
|
||||
for (bool ok = docs.move_first(); ok; ok = docs.move_next())
|
||||
{
|
||||
TToken_string test(docs.get("CodTestata").as_string(), '\\');
|
||||
|
||||
nd = atol(test.get());
|
||||
TString wrk = docs.get("CodCliente").as_string();
|
||||
|
||||
while(wrk[0] >= 'A')
|
||||
wrk.ltrim(1);
|
||||
|
||||
codcf = atol(wrk);
|
||||
tipocf = docs.get("TipoIntestatario").as_string();
|
||||
if (tipocf != "C") // verificare
|
||||
tipocf ="F";
|
||||
|
||||
if (nd != num_doc)
|
||||
{
|
||||
if (num_doc > 0 && !save_and_delete_doc(doc))
|
||||
break;
|
||||
num_doc = nd;
|
||||
const TDate datadoc = docs.get("DataMov").as_date();
|
||||
TString8 numdoc =docs.get("TipoDocCE").as_string();
|
||||
TString8 tipodoc =docs.get("TipoDocCE").as_string();
|
||||
|
||||
numdoc = "B099";
|
||||
tipodoc = "B01";
|
||||
|
||||
TTipo_documento tipo(tipodoc);
|
||||
const TString8 codcaus = tipo.caus_mov().blank() ? codcausdef : tipo.caus_mov();
|
||||
|
||||
doc = new TDocumento();
|
||||
doc->put(DOC_ANNO, datadoc.year());
|
||||
doc->put(DOC_DATADOC, datadoc);
|
||||
doc->put(DOC_NDOC, nd);
|
||||
doc->put(DOC_PROVV, "D");
|
||||
doc->put(DOC_CODNUM, numdoc);
|
||||
doc->put(DOC_TIPODOC, tipodoc);
|
||||
doc->put(DOC_TIPOCF, tipocf);
|
||||
doc->put(DOC_CODCF, codcf);
|
||||
doc->cli2doc();
|
||||
|
||||
const TString8 codval = docs.get("CodValuta").as_string();
|
||||
const real cambio = docs.get("CambioValuta").as_real();
|
||||
const TString asp = docs.get("AspettoBeni").as_string();
|
||||
const int ncolli = docs.get("NumeroColli").as_int();
|
||||
|
||||
doc->put(DOC_CODVAL, codval);
|
||||
doc->put(DOC_CAMBIO, cambio);
|
||||
doc->put(DOC_ASPBENI1, asp.sleft(50));
|
||||
doc->put(DOC_ASPBENI2, asp.smid(50));
|
||||
doc->put(DOC_NCOLLI, ncolli);
|
||||
doc->put(DOC_CAUSMAG, codcaus);
|
||||
}
|
||||
const int tipoart = docs.get("TipoArticolo").as_int();
|
||||
TString4 tiporiga = tipoart == 2 ? "04" : "02";
|
||||
TRectype& rdoc = doc->new_row("01");
|
||||
const TString80 codart = docs.get("CodArticolo").as_string();
|
||||
|
||||
rdoc.put(RDOC_CODART, codart);
|
||||
|
||||
if (tipoart == 2)
|
||||
{
|
||||
if (cache().get("SPP" , codart).not_empty())
|
||||
rdoc.put(RDOC_CODARTMAG, codart);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cache().get(LF_ANAMAG, codart).not_empty())
|
||||
rdoc.put(RDOC_CODARTMAG, codart);
|
||||
}
|
||||
|
||||
rdoc.put(RDOC_CODARTMAG, codart);
|
||||
// rdoc.check_row();
|
||||
|
||||
const TString descr = docs.get("DSRiga").as_string();
|
||||
|
||||
rdoc.put(RDOC_DESCR, descr.sleft(50));
|
||||
if (descr.len() > 50)
|
||||
{
|
||||
rdoc.put(RDOC_DESCLUNGA, "X");
|
||||
rdoc.put(RDOC_DESCEST, descr.smid(50));
|
||||
}
|
||||
rdoc.put(RDOC_CODMAG, docs.get("CodMagazzino").as_string().left(5));
|
||||
rdoc.put(RDOC_CODMAGC, docs.get("CodMagazDest").as_string().left(5));
|
||||
rdoc.put(RDOC_UMQTA, docs.get("CodUntMis").as_string());
|
||||
rdoc.put(RDOC_QTA, docs.get("Quantita").as_real());
|
||||
rdoc.put(RDOC_PREZZO, docs.get("PrzNettoSede").as_real()); // o PrzNettoValuta ??
|
||||
|
||||
real valsconto1(docs.get("Sconto1").as_real());
|
||||
real valsconto2(docs.get("Sconto2").as_real());
|
||||
real valsconto3(docs.get("Sconto3").as_real());
|
||||
TString80 sconto;
|
||||
|
||||
if (valsconto1 != ZERO)
|
||||
sconto << valsconto1.stringa(6, 2);
|
||||
if (valsconto2 != ZERO)
|
||||
{
|
||||
if (sconto.full())
|
||||
sconto << "+";
|
||||
sconto << valsconto2.stringa(6, 2);
|
||||
}
|
||||
if (valsconto3 != ZERO)
|
||||
{
|
||||
if (sconto.full())
|
||||
sconto << "+";
|
||||
sconto << valsconto3.stringa(6, 2);
|
||||
}
|
||||
rdoc.put(RDOC_SCONTO, sconto);
|
||||
rdoc.put(RDOC_CODIVA, docs.get("CodIva").as_string());
|
||||
|
||||
if (!pi.add_status())
|
||||
break;
|
||||
}
|
||||
save_and_delete_doc(doc); // Salva ultimo documento in sospeso
|
||||
}
|
||||
|
||||
void TBeeStore_sync::sync_corrisp(const TDate&, const TDate&)
|
||||
{
|
||||
const TString8 codcaus = ini_get_string(CONFIG_DITTA, "bs", "CODCAUSC");
|
||||
@ -1310,6 +1496,7 @@ void TBeeStore_sync::sync_corrisp(const TDate&, const TDate&)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool TBeeStore_sync::create()
|
||||
{
|
||||
_dsn = ini_get_string(CONFIG_DITTA, "bs", "DSN", "BEESTORE");
|
||||
@ -1369,10 +1556,16 @@ void TBeeStore_sync::main_loop()
|
||||
|
||||
if (mask.get("SyncListino").full())
|
||||
sync_listino(mask.get("SyncListino"));
|
||||
if (mask.get_bool("SyncSontr"))
|
||||
if (mask.get_bool("SyncScontr"))
|
||||
sync_scontrini(dal, al);
|
||||
if (mask.get_bool("SyncCorr"))
|
||||
sync_corrisp(dal, al);
|
||||
if (mask.get_bool("SyncDoc"))
|
||||
sync_doc(dal, al);
|
||||
if (mask.get_bool("SyncCarScar"))
|
||||
sync_carscar(dal, al);
|
||||
if (mask.get_bool("SyncGenerici"))
|
||||
sync_generici(dal, al);
|
||||
|
||||
_log->preview();
|
||||
delete _log;
|
||||
|
30
src/bs/bs0200a.h
Normal file
30
src/bs/bs0200a.h
Normal file
@ -0,0 +1,30 @@
|
||||
#define F_DAL 101
|
||||
#define F_AL 102
|
||||
|
||||
#define F_UMS 103
|
||||
#define F_IVA 104
|
||||
#define F_LINEART 105
|
||||
#define F_CATMER 106
|
||||
#define F_ART 107
|
||||
#define F_LIST 108
|
||||
#define F_SCONTRINI 109
|
||||
#define F_CORRISPETTIVI 110
|
||||
#define F_DOCUMENTI 111
|
||||
#define F_CARSCAR 112
|
||||
#define F_GENERICI 113
|
||||
#define F_VALUTE 114
|
||||
#define F_CLIENTI 115
|
||||
#define F_FORNITORI 116
|
||||
#define F_BARCODE 117
|
||||
|
||||
#define F_C_CARSCAR 201
|
||||
#define F_D_CARSCAR 202
|
||||
#define F_C_DOCUMENTI 203
|
||||
#define F_D_DOCUMENTI 204
|
||||
#define F_C_SCONTRINI 205
|
||||
#define F_D_SCONTRINI 206
|
||||
#define F_C_GENERICI 207
|
||||
#define F_D_GENERICI 208
|
||||
|
||||
#define F_C_CORRISPETTIVI 301
|
||||
#define F_D_CORRISPETTIVI 302
|
@ -1,45 +1,47 @@
|
||||
#include "bs0200a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <elabar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Sincronizzazione Bee Store" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 9
|
||||
GROUPBOX DLG_NULL 78 13
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bArchivi"
|
||||
END
|
||||
|
||||
BOOLEAN 103
|
||||
BOOLEAN F_UMS
|
||||
BEGIN
|
||||
PROMPT 2 2 "Unità di misura "
|
||||
FIELD SyncUMS
|
||||
END
|
||||
|
||||
BOOLEAN 104
|
||||
BOOLEAN F_IVA
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codici IVA "
|
||||
FIELD SyncIVA
|
||||
END
|
||||
|
||||
BOOLEAN 105
|
||||
BOOLEAN F_LINEART
|
||||
BEGIN
|
||||
PROMPT 2 4 "Linee Articolo "
|
||||
FIELD SyncLinee
|
||||
END
|
||||
|
||||
BOOLEAN 106
|
||||
BOOLEAN F_CATMER
|
||||
BEGIN
|
||||
PROMPT 2 5 "Categorie Merceologiche"
|
||||
FIELD SyncCatMer
|
||||
END
|
||||
|
||||
BOOLEAN 147
|
||||
BOOLEAN F_ART
|
||||
BEGIN
|
||||
PROMPT 2 6 "Articoli "
|
||||
FIELD SyncAnamag
|
||||
END
|
||||
|
||||
STRING 148 3
|
||||
STRING F_LIST 3
|
||||
BEGIN
|
||||
PROMPT 40 6 "Listino "
|
||||
USE LF_CONDV
|
||||
@ -57,57 +59,74 @@ BEGIN
|
||||
FIELD SyncListino
|
||||
END
|
||||
|
||||
BOOLEAN 149
|
||||
BOOLEAN F_SCONTRINI
|
||||
BEGIN
|
||||
PROMPT 2 7 "Scontrini "
|
||||
FIELD SyncScontr
|
||||
END
|
||||
|
||||
BOOLEAN 150
|
||||
BOOLEAN F_CORRISPETTIVI
|
||||
BEGIN
|
||||
PROMPT 2 8 "Corrispettivi "
|
||||
FIELD SyncCorr
|
||||
END
|
||||
|
||||
BOOLEAN 151
|
||||
BOOLEAN F_DOCUMENTI
|
||||
BEGIN
|
||||
PROMPT 2 9 "Documenti "
|
||||
FIELD SyncDoc
|
||||
END
|
||||
|
||||
BOOLEAN F_CARSCAR
|
||||
BEGIN
|
||||
PROMPT 2 10 "Carichi/scarichi "
|
||||
FIELD SyncCarScar
|
||||
END
|
||||
|
||||
BOOLEAN F_GENERICI
|
||||
BEGIN
|
||||
PROMPT 2 11 "Mov.generici "
|
||||
FIELD SyncGenerici
|
||||
END
|
||||
|
||||
BOOLEAN F_VALUTE
|
||||
BEGIN
|
||||
PROMPT 40 2 "Valute"
|
||||
FIELD SyncVAL
|
||||
END
|
||||
|
||||
BOOLEAN 152
|
||||
BOOLEAN F_CLIENTI
|
||||
BEGIN
|
||||
PROMPT 40 3 "Clienti"
|
||||
FIELD SyncClienti
|
||||
END
|
||||
|
||||
BOOLEAN 153
|
||||
BOOLEAN F_FORNITORI
|
||||
BEGIN
|
||||
PROMPT 40 4 "Fornitori "
|
||||
FIELD SyncFornitori
|
||||
END
|
||||
|
||||
BOOLEAN 154
|
||||
BOOLEAN F_BARCODE
|
||||
BEGIN
|
||||
PROMPT 40 5 "Codici a barre"
|
||||
FIELD SyncBarCode
|
||||
END
|
||||
|
||||
|
||||
GROUPBOX DLG_NULL 78 8
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 10 "@bFiltri"
|
||||
PROMPT 1 14 "@bFiltri"
|
||||
END
|
||||
|
||||
DATE 100
|
||||
DATE F_DAL
|
||||
BEGIN
|
||||
PROMPT 2 11 "Dalla data di modifica "
|
||||
PROMPT 2 15 "Dalla data di modifica "
|
||||
FIELD SyncDateFrom
|
||||
END
|
||||
|
||||
DATE 101
|
||||
DATE F_AL
|
||||
BEGIN
|
||||
PROMPT 42 11 " al "
|
||||
PROMPT 42 15 " al "
|
||||
FIELD SyncDateTo
|
||||
END
|
||||
|
||||
@ -115,53 +134,113 @@ ENDPAGE
|
||||
|
||||
PAGE "Parametri" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
GROUPBOX DLG_NULL 78 7
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bScontrini"
|
||||
PROMPT 1 1 "@bMovimenti"
|
||||
END
|
||||
|
||||
STRING 201 4
|
||||
STRING F_C_CARSCAR 4
|
||||
BEGIN
|
||||
PROMPT 2 2 "Causale magazzino "
|
||||
PROMPT 2 2 "Causale magazzino car./scar. "
|
||||
USE %CAU SELECT (S2[8,8]=1)&&(S6="P")
|
||||
INPUT CODTAB 201
|
||||
INPUT CODTAB F_C_CARSCAR
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT 201 CODTAB
|
||||
OUTPUT 202 S0
|
||||
OUTPUT F_C_CARSCAR CODTAB
|
||||
OUTPUT F_D_CARSCAR S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODCAUS
|
||||
FIELD CODCAUS(1)
|
||||
ADD RUN mg0 -0 %CAU
|
||||
END
|
||||
|
||||
STRING 202 50 46
|
||||
STRING F_D_CARSCAR 50 36
|
||||
BEGIN
|
||||
PROMPT 30 2 ""
|
||||
PROMPT 40 2 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_C_DOCUMENTI 4
|
||||
BEGIN
|
||||
PROMPT 2 3 "Causale magazzino documenti "
|
||||
USE %CAU SELECT (S2[8,8]=1)&&(S6="P")
|
||||
INPUT CODTAB F_C_DOCUMENTI
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_C_DOCUMENTI CODTAB
|
||||
OUTPUT F_D_DOCUMENTI S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODCAUS(2)
|
||||
ADD RUN mg0 -0 %CAU
|
||||
END
|
||||
|
||||
STRING F_D_DOCUMENTI 50 36
|
||||
BEGIN
|
||||
PROMPT 40 3 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_C_SCONTRINI 4
|
||||
BEGIN
|
||||
PROMPT 2 4 "Causale magazzino scontrini "
|
||||
USE %CAU SELECT (S2[8,8]=1)&&(S6="P")
|
||||
INPUT CODTAB F_C_SCONTRINI
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_C_SCONTRINI CODTAB
|
||||
OUTPUT F_D_SCONTRINI S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODCAUS(3)
|
||||
ADD RUN mg0 -0 %CAU
|
||||
END
|
||||
|
||||
STRING F_D_SCONTRINI 50 36
|
||||
BEGIN
|
||||
PROMPT 40 4 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_C_GENERICI 4
|
||||
BEGIN
|
||||
PROMPT 2 5 "Causale magazzino mov.generici "
|
||||
USE %CAU SELECT (S2[8,8]=1)&&(S6="P")
|
||||
INPUT CODTAB F_C_GENERICI
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_C_GENERICI CODTAB
|
||||
OUTPUT F_D_GENERICI S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODCAUS(4)
|
||||
ADD RUN mg0 -0 %CAU
|
||||
END
|
||||
|
||||
STRING F_D_GENERICI 50 36
|
||||
BEGIN
|
||||
PROMPT 40 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 5 "@bCorrispettivi"
|
||||
PROMPT 1 8 "@bCorrispettivi"
|
||||
END
|
||||
|
||||
STRING 301 4
|
||||
STRING F_C_CORRISPETTIVI 4
|
||||
BEGIN
|
||||
PROMPT 2 6 "Causale contabile "
|
||||
PROMPT 2 9 "Causale contabile "
|
||||
USE LF_CAUSALI SELECT TIPODOC="CR"
|
||||
INPUT CODCAUS 301
|
||||
INPUT CODCAUS F_C_CORRISPETTIVI
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT 301 CODCAUS
|
||||
OUTPUT 302 DESCR
|
||||
OUTPUT F_C_CORRISPETTIVI CODCAUS
|
||||
OUTPUT F_D_CORRISPETTIVI DESCR
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODCAUSC
|
||||
ADD RUN cg0 -4
|
||||
END
|
||||
|
||||
STRING 302 50 46
|
||||
STRING F_D_CORRISPETTIVI 50 36
|
||||
BEGIN
|
||||
PROMPT 30 6 ""
|
||||
PROMPT 40 9 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user