Patch level : 12.0 1086

Files correlati     : bs0.exe bs0500a.msk ba3.exe cg0.exe ve0.exe ve2.exe

Commento        :

Importazione Bee Store
This commit is contained in:
Alessandro Bonazzi 2021-10-04 21:46:01 +02:00
parent c623557ea7
commit a8fe35c9a1
6 changed files with 1643 additions and 1403 deletions

View File

@ -9,7 +9,7 @@ int main(int argc, char** argv)
case 1: bs0200(argc, argv); break; // Importazioni Beestore
case 2: bs0300(argc, argv); break; // Importazione da SKNET
case 3: bs0400(argc, argv); break; // Tabelle di transazione
case 4: bs0500(argc, argv); break; // Importazioni BeeStore Inmaven
case 4: bs0500(argc, argv); break; // Importazioni BeeStore Inmaven
default: bs0100(argc, argv); break; // Trasferimento Beestore Impostazione
}
return 0;

View File

@ -1061,13 +1061,13 @@ void TBeeStore_sync::sync_mov(int tipotestata, const TDate& dal, const TDate& al
{
str << " AND DataMov";
if (dal.ok() && al.ok())
str << " BETWEEN " << date2sql(dal) << " AND " << date2sql(al);
str << " BETWEEN " << date2sql(dal, 1) << " AND " << date2sql(al, 2);
else
{
if (dal.ok())
str << ">=" << date2sql(dal);
str << ">=" << date2sql(dal, 1);
else
str << "<=" << date2sql(al);
str << "<=" << date2sql(al, 2);
}
}
str << "\nORDER BY NumMov,NumRiga";

View File

@ -492,7 +492,6 @@ void TSknet_sync::sync_anamag()
}
}
}
{
// Controllo se esistono varianti e le aggiungo
query.cut(0) << "SELECT * FROM tieArtVarianti where origine=" << their_origin() << " AND " << where_time_import() << ";";
@ -637,57 +636,11 @@ void TSknet_sync::sync_anamag()
if (!flag)
flag = yesno_box("Attenzione trovato articolo con categoria CONAI vuota: %s\nSopprimere eventuali prossimi messaggi?", (const char*)codart);
}
/*
art.first(); // Useless??
rart.zero();
rart.put(ANAMAG_CODART, odbc.get("Cod_PK").as_string());
if (odbc.get("Cod_PK").as_string().blank())
continue;
if (rart.read(art, _isequal) == NOERR)
{
static TString catCON;
// Metodo del cazzo, format crasha e non ho tempo, magari in un futuro sistemarlo (se non ho visto male funziona solo su linux)
TString a = odbc.get("CatAC").as_string().left(4); a.lpad(4);
TString b = odbc.get("CatAL").as_string().left(4); b.lpad(4);
TString c = odbc.get("CatCA").as_string().left(4); c.lpad(4);
TString d = odbc.get("CatLE").as_string().left(4); d.lpad(4);
TString e = odbc.get("CatPL").as_string().left(4); e.lpad(4);
TString f = odbc.get("CatVE").as_string().left(4); f.lpad(4);
catCON.cut(0) << a << b << c << d << e << f;
/ *
catCON.format("%4 s%4 s%4 s%4 s%4 s%4 s",
odbc.get("CatAC").as_string().left(4), // Categoria Acciaio
odbc.get("CatAL").as_string().left(4), // Categoria Alluminio
odbc.get("CatCA").as_string().left(4), // Categoria Carta
odbc.get("CatLE").as_string().left(4), // Categoria Legno
odbc.get("CatPL").as_string().left(4), // Categoria Plastica
odbc.get("CatVE").as_string().left(4) // Categoria Vetro
);
* /
rart.put(ANAMAG_CONAISC, catCON);
rart.put(ANAMAG_CONACC, odbc.get("PesoAC").as_real()); // Peso Acciaio
rart.put(ANAMAG_CONALL, odbc.get("PesoAL").as_real()); // Peso Alluminio
rart.put(ANAMAG_CONCAR, odbc.get("PesoCA").as_real()); // Peso Carta
rart.put(ANAMAG_CONLEG, odbc.get("PesoLE").as_real()); // Peso Legno
rart.put(ANAMAG_CONPLA, odbc.get("PesoPL").as_real()); // Peso Plastica
rart.put(ANAMAG_CONVET, odbc.get("PesoVE").as_real()); // Peso Vetro
art.rewrite(rart);
}
else
// EROR! EROR!
{
bool tolla = true;
}
*/
}
}
}
static bool ClifoEvaluator(const TISAM_recordset& rec, const char* fldname, const char* expr, TVariant& var)
/*static bool ClifoEvaluator(const TISAM_recordset& rec, const char* fldname, const char* expr, TVariant& var)
{
const TAnagrafica& a = _anagr.anag(rec);
@ -804,7 +757,7 @@ static bool ClifoEvaluator(const TISAM_recordset& rec, const char* fldname, cons
}
return false;
}
} */
const TString& TSknet_sync::comune(const TRecordset& recset, const char* fld_cap, const char* fld_den) const
{
@ -910,12 +863,12 @@ void TSknet_sync::load_clifo(const char tipocf)
cfv.put(CFV_PADESTIN, odbc.get("CodDest").as_string());
const int tipo = odbc.get("Tipo").as_int(); // 1=Fisica; 2=Giuridica; 3=Altro
if (tipo == 1)
{
clifo.put(CLI_SESSO, odbc.get("Sesso").as_string());
clifo.put(CLI_DATANASC, odbc.get("DTNascita").as_date());
clifo.put(CLI_COMNASC, comune(odbc, "", "ComuneNascita"));
clifo.put(CLI_TIPOPERS, 'F');
clifo.put(CLI_COMNASC, comune(odbc, "", "ComuneNascita"));(CLI_TIPOPERS, 'F');
}
else
clifo.put(CLI_TIPOPERS, 'G');
@ -1375,54 +1328,7 @@ void TSknet_sync::sync_val()
sync_table("%VAL", "tieValute", fields);
}
//auto find_codalt_sknet = [](TRectype& rcodcor, TLocalisamfile& codcor, const TString& tipocf, long codcf, const TString& codart, TString& codartmag, bool& checked)
//{
// // Testo quanti sono. Non ho altro modo?
// const bool items = rcodcor.next(codcor) == NOERR && rcodcor.get(CODCORR_CODARTALT) == codart;
// if (items)
// {
// rcodcor.prev(codcor);
// // Prima cerco subito se ho un codice per questo cliente.
// // Altrimenti prendo quello che non e' un codice di pack, se c'e' altrimenti riprendo sempre il primo.
// TSQL_recordset codici(TString() << "SELECT * FROM CODCORR WHERE CODARTALT = '" << codart << "' AND TIPOCF = '" << tipocf << "' AND CODCF = '" << codcf << "'");
// if (codici.items() == 1)
// {
// codartmag = codici.get(codici.find_column(CODCORR_CODART)).as_string();
// checked = true;
// }
// else
// {
// TString last_cod = rcodcor.get(CODCORR_CODART);
//
// // Codice di PACK di cinque cifre.
// static auto is_pack_code = [&]()
// {
// bool flag = last_cod.len() == 5;
// for (int i = 0; i < 5 && flag; ++i) flag &= xvt_chr_is_digit(last_cod[i]);
// return flag;
// };
//
// checked = true; // Se va tutto bene ho il nuovo codartmag.
// while (is_pack_code())
// {
// if (rcodcor.next(codcor) == NOERR && rcodcor.get(CODCORR_CODARTALT) == codart)
// {
// last_cod = rcodcor.get(CODCORR_CODART);
// continue;
// }
// checked = false;
// break;
// }
// if (checked)
// {
// if (rcodcor.next(codcor) != NOERR || rcodcor.get(CODCORR_CODARTALT) != codart) // Controllo che sia effettivamente l'unico altrimenenti ciaone.
// codartmag = last_cod;
// else
// checked = false;
// }
// }
// }
//};
void TSknet_sync::sync_doc()
{

File diff suppressed because it is too large Load Diff

View File

@ -1,38 +1,43 @@
#define F_DAL 101
#define F_AL 102
#define F_DAL 201
#define F_AL 202
#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_UMS 203
#define F_IVA 204
#define F_LINEART 205
#define F_CATMER 206
#define F_ART 207
#define F_SCONTRINI 209
#define F_CORRISPETTIVI 210
#define F_DOCUMENTI 211
#define F_CARSCAR 212
#define F_GENERICI 213
#define F_VALUTE 214
#define F_CLIENTI 215
#define F_FORNITORI 216
#define F_FATTURE 121
#define F_BOLLE 122
#define F_ORDINI 123
#define F_IMPPARTDOC 124
#define F_CANCART 125
#define F_TIPODOC 126
#define F_UNITADEFAULT 127
#define F_FATTURE 221
#define F_BOLLE 222
#define F_ORDINI 223
#define F_IMPPARTDOC 224
#define F_CANCART 225
#define F_TIPODOC 226
#define F_UNITADEFAULT 227
#define F_IMPTYPE 228
#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_CODNUM 240
#define F_C_CORRISPETTIVI 301
#define F_D_CORRISPETTIVI 302
#define F_SUFFISSO 101
#define F_COD_FATTURE 102
#define F_DES_FATTURE 302
#define F_COD_NOTE 103
#define F_DES_NOTE 303
#define F_COD_BOLLE 104
#define F_DES_BOLLE 304
#define F_COD_CARSCAR 105
#define F_DES_CARSCAR 305
#define F_COD_SCONTRINI 106
#define F_DES_SCONTRINI 306
#define F_COD_GENERICI 107
#define F_DES_GENERICI 307
#define F_COD_ORDCLI 108
#define F_DES_ORDCLI 308

View File

@ -6,7 +6,7 @@ ENDPAGE
PAGE "Importazioni da BeeStore" 0 2 0 0
GROUPBOX DLG_NULL 78 9
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 1 "@bArchivi"
END
@ -14,279 +14,286 @@ END
BOOLEAN F_UMS
BEGIN
PROMPT 2 2 "Unità di misura "
FIELD SyncUMS
FIELD ImpUMS
END
BOOLEAN F_IVA
BEGIN
PROMPT 2 3 "Codici IVA "
FIELD SyncIVA
FIELD ImpIVA
END
BOOLEAN F_LINEART
BEGIN
PROMPT 2 4 "Linee Articolo "
FIELD SyncLinee
END
BOOLEAN F_CATMER
BEGIN
PROMPT 2 5 "Categorie Merceologiche"
FIELD SyncCatMer
END
BOOLEAN F_ART
BEGIN
PROMPT 2 6 "Articoli "
FIELD SyncAnamag
END
STRING F_LIST 3
BEGIN
PROMPT 40 6 "Listino "
USE LF_CONDV
INPUT TIPO "L"
INPUT CATVEN ""
INPUT TIPOCF ""
INPUT CODCF ""
INPUT COD 148
DISPLAY "Codice" COD
DISPLAY "Descrizione@50" DESCR
DISPLAY "Valuta@5" CODVAL
DISPLAY "Inizio@10" VALIN
DISPLAY "Fine@10" VALFIN
OUTPUT 148 COD
FIELD SyncListino
END
BOOLEAN F_SCONTRINI
BEGIN
PROMPT 2 7 "Scontrini "
FIELD SyncScontr
END
BOOLEAN F_CORRISPETTIVI
BEGIN
PROMPT 2 8 "Corrispettivi "
FIELD SyncCorr
END
BOOLEAN F_CARSCAR
BEGIN
PROMPT 40 7 "Carichi/scarichi "
FIELD SyncCarScar
END
BOOLEAN F_GENERICI
BEGIN
PROMPT 40 8 "Mov.generici "
FIELD SyncGenerici
END
BOOLEAN F_VALUTE
BEGIN
PROMPT 40 2 "Valute"
FIELD SyncVAL
END
BOOLEAN F_CLIENTI
BEGIN
PROMPT 40 3 "Clienti"
FIELD SyncClienti
END
BOOLEAN F_FORNITORI
BEGIN
PROMPT 40 4 "Fornitori "
FIELD SyncFornitori
END
BOOLEAN F_BARCODE
BEGIN
PROMPT 40 5 "Codici a barre"
FIELD SyncBarCode
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 10 "@bDocumenti"
FIELD ImpLinee
END
BOOLEAN F_DOCUMENTI
BEGIN
PROMPT 2 11 "Documenti "
FIELD SyncDoc
PROMPT 2 5 "Documenti "
FIELD ImpDoc
MESSAGE FALSE CLEAR,F_TIPODOC
MESSAGE TRUE ENABLE,F_TIPODOC
END
LISTBOX F_TIPODOC 1 15
LISTBOX F_TIPODOC 2 20
BEGIN
PROMPT 2 12 "Tipo Documento"
PROMPT 20 5 "Tipo Documento"
ITEM "2|Fatture"
ITEM "6|Note di credito"
ITEM "1|Bolle"
ITEM "9|Ordini"
FIELD SyncTIPODOC
ITEM "11|Carichi e scarichi"
ITEM "13|Scontrini"
ITEM "14|Generici"
FIELD ImpTIPODOC
END
GROUPBOX DLG_NULL 78 3
BOOLEAN F_CATMER
BEGIN
PROMPT 1 14 "@bFiltri"
PROMPT 30 2 "Categorie Merceologiche"
FIELD ImpCatMer
END
BOOLEAN F_ART
BEGIN
PROMPT 30 3 "Articoli "
FIELD ImpAnamag
END
BOOLEAN F_VALUTE
BEGIN
PROMPT 30 4 "Valute"
FIELD ImpVAL
END
BOOLEAN F_CLIENTI
BEGIN
PROMPT 60 2 "Clienti"
FIELD ImpClienti
END
BOOLEAN F_FORNITORI
BEGIN
PROMPT 60 3 "Fornitori "
FIELD ImpFornitori
END
DATE F_DAL
BEGIN
PROMPT 2 15 "Dalla data di modifica "
FIELD SyncDateFrom
PROMPT 2 7 "Dalla data di modifica "
FIELD ImpDateFrom
END
DATE F_AL
BEGIN
PROMPT 42 15 " al "
FIELD SyncDateTo
END
ENDPAGE
PAGE "Parametri" 0 2 0 0
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 1 "@bParametri"
PROMPT 42 7 " al "
FIELD ImpDateTo
END
BOOLEAN F_IMPPARTDOC
BEGIN
PROMPT 2 2 "Importazione Articoli da Documenti"
FIELD SyncIMPPARTDOC
PROMPT 2 9 "Importazione Articoli da Documenti"
FIELD ImpIMPPARTDOC
MESSAGE TRUE CLEAR,F_CANCART|CLEAR,F_ART
MESSAGE FALSE ENABLE,F_CANCART|ENABLE,F_ART
END
BOOLEAN F_UNITADEFAULT
BEGIN
PROMPT 2 3 "Unità di Misura (Default)"
FIELD SyncUNITADEFAULT
END
BOOLEAN F_CANCART
BEGIN
PROMPT 40 2 "Elimina Articoli Sospesi"
FIELD SyncCANCART
PROMPT 40 9 "Elimina Articoli Sospesi"
FIELD ImpCANCART
END
GROUPBOX DLG_NULL 78 6
BOOLEAN F_UNITADEFAULT
BEGIN
PROMPT 1 5 "@bMovimenti"
PROMPT 2 10 "Unità di Misura (Default)"
FIELD ImpUNITADEFAULT
END
STRING F_C_CARSCAR 4
LIST F_IMPTYPE 1 20
BEGIN
PROMPT 2 6 "Causale magazzino car./scar. "
USE %CAU SELECT (S2[8,8]=1)&&(S6="P")
INPUT CODTAB F_C_CARSCAR
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_C_CARSCAR CODTAB
OUTPUT F_D_CARSCAR S0
CHECKTYPE NORMAL
FIELD CODCAUS(1)
ADD RUN mg0 -0 %CAU
PROMPT 40 10 "Importa "
FIELD ImpTYPE
ITEM "1|Elementi nuovi"
ITEM "2|Elementi esistenti"
ITEM "3|Tutto"
END
STRING F_D_CARSCAR 50 36
SPREADSHEET F_CODNUM 80 10
BEGIN
PROMPT 40 6 ""
FLAGS "D"
END
STRING F_C_DOCUMENTI 4
BEGIN
PROMPT 2 7 "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 7 ""
FLAGS "D"
END
STRING F_C_SCONTRINI 4
BEGIN
PROMPT 2 8 "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 8 ""
FLAGS "D"
END
STRING F_C_GENERICI 4
BEGIN
PROMPT 2 9 "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 9 ""
FLAGS "D"
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 11 "@bCorrispettivi"
END
STRING F_C_CORRISPETTIVI 4
BEGIN
PROMPT 2 12 "Causale contabile "
USE LF_CAUSALI SELECT TIPODOC="CR"
INPUT CODCAUS F_C_CORRISPETTIVI
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
OUTPUT F_C_CORRISPETTIVI CODCAUS
OUTPUT F_D_CORRISPETTIVI DESCR
CHECKTYPE NORMAL
FIELD CODCAUSC
ADD RUN cg0 -4
END
STRING F_D_CORRISPETTIVI 50 36
BEGIN
PROMPT 40 12 ""
FLAGS "D"
PROMPT 2 13 "Numerazioni"
ITEM "Suffisso"
ITEM "Fatture"
ITEM "Note di\ncredito@6"
ITEM "Bolle@6"
ITEM "Carichi\nScarichi"
ITEM "Scontrini"
ITEM "Generici"
ITEM "Ordini\nClienti"
END
ENDPAGE
ENDMASK
PAGE "Numerazioni" -1 -1 78 19
STRING F_SUFFISSO 5
BEGIN
PROMPT 1 1 "Suffisso numer."
END
STRING F_COD_FATTURE 4
BEGIN
PROMPT 1 3 "Num.Fatture "
USE %NUM SELECT I1=="2"
INPUT CODTAB F_COD_FATTURE
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_COD_FATTURE CODTAB
OUTPUT F_DES_FATTURE S0
FLAG "UPA"
CHECKTYPE NORMAL
WARNING "Numerazione assente"
END
STRING F_DES_FATTURE 50
BEGIN
PROMPT 25 3 ""
FLAGS "D"
END
STRING F_COD_NOTE 4
BEGIN
PROMPT 1 5 "Num.Note cred. "
COPY USE F_COD_FATTURE
INPUT CODTAB F_COD_NOTE
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_COD_NOTE CODTAB
OUTPUT F_DES_NOTE S0
FLAG "UPA"
CHECKTYPE NORMAL
WARNING "Numerazione assente"
END
STRING F_DES_NOTE 50
BEGIN
PROMPT 25 5 ""
FLAGS "D"
END
STRING F_COD_BOLLE 4
BEGIN
PROMPT 1 7 "Num.Bolle "
USE %NUM SELECT I1=="1"
INPUT CODTAB F_COD_BOLLE
COPY DISPLAY F_COD_FATTURE
OUTPUT F_COD_BOLLE CODTAB
OUTPUT F_DES_BOLLE S0
FLAG "UPA"
WARNING "Numerazione assente"
END
STRING F_DES_BOLLE 50
BEGIN
PROMPT 25 7 ""
FLAGS "D"
END
STRING F_COD_CARSCAR 4
BEGIN
PROMPT 1 9 "Num.Car.Scar. "
USE %NUM SELECT I1=="0"
INPUT CODTAB F_COD_CARSCAR
COPY DISPLAY F_COD_FATTURE
OUTPUT F_COD_CARSCAR CODTAB
OUTPUT F_DES_CARSCAR S0
FLAG "UPA"
CHECKTYPE NORMAL
WARNING "Numerazione assente"
END
STRING F_DES_CARSCAR 50
BEGIN
PROMPT 25 9 ""
FLAGS "D"
END
STRING F_COD_SCONTRINI 4
BEGIN
PROMPT 1 11 "Num.Scontrini "
COPY USE F_COD_CARSCAR
INPUT CODTAB F_COD_SCONTRINI
COPY DISPLAY F_COD_FATTURE
OUTPUT F_COD_SCONTRINI CODTAB
OUTPUT F_DES_SCONTRINI S0
FLAG "UPA"
CHECKTYPE NORMAL
WARNING "Numerazione assente"
END
STRING F_DES_SCONTRINI 50
BEGIN
PROMPT 25 11 ""
FLAGS "D"
END
STRING F_COD_GENERICI 4
BEGIN
PROMPT 1 13 "Num.Scontrini "
COPY USE F_COD_CARSCAR
INPUT CODTAB F_COD_GENERICI
COPY DISPLAY F_COD_FATTURE
OUTPUT F_COD_GENERICI CODTAB
OUTPUT F_DES_GENERICI S0
FLAG "UPA"
CHECKTYPE NORMAL
WARNING "Numerazione assente"
END
STRING F_DES_GENERICI 50
BEGIN
PROMPT 25 13 ""
FLAGS "D"
END
STRING F_COD_ORDCLI 4
BEGIN
PROMPT 1 15 "Num.Ordini Cli."
USE %NUM SELECT I1=="3"
INPUT CODTAB F_COD_ORDCLI
COPY DISPLAY F_COD_FATTURE
OUTPUT F_COD_ORDCLI CODTAB
OUTPUT F_DES_ORDCLI S0
FLAG "UPA"
CHECKTYPE NORMAL
WARNING "Numerazione assente"
END
STRING F_DES_ORDCLI 50
BEGIN
PROMPT 25 15 ""
FLAGS "D"
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 ""
END
ENDPAGE
ENDMASK