Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :stampa commesse in formato adolfico; aggiunta segnalazione alla stampa bilancio di commessa per conti analitici riclassificati ma inesistenti git-svn-id: svn://10.65.10.50/trunk@16619 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
87f143e0e7
commit
7b08573aea
@ -6,11 +6,14 @@
|
|||||||
#include "calib01.h"
|
#include "calib01.h"
|
||||||
#include "calib02.h"
|
#include "calib02.h"
|
||||||
|
|
||||||
|
///////////////////////////////////
|
||||||
|
// Maschera
|
||||||
|
///////////////////////////////////
|
||||||
class TMask_print_cms : public TAutomask
|
class TMask_print_cms : public TAutomask
|
||||||
{
|
{
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool on_field_event(TOperable_field& o, TField_event e, long jolly) {return true;}
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
public:
|
public:
|
||||||
TMask_print_cms();
|
TMask_print_cms();
|
||||||
virtual ~TMask_print_cms() {}
|
virtual ~TMask_print_cms() {}
|
||||||
@ -32,6 +35,33 @@ TMask_print_cms::TMask_print_cms()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TMask_print_cms::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
|
{
|
||||||
|
/* switch (o.dlg())
|
||||||
|
{
|
||||||
|
case F_DADATA:
|
||||||
|
case F_ADATA:
|
||||||
|
if (e == fe_close)
|
||||||
|
{
|
||||||
|
const int anno = get_int(F_ANNO);
|
||||||
|
if (anno > 0) //se viene selezionato un esercizio..
|
||||||
|
{
|
||||||
|
TEsercizi_contabili esc; //..le date devono essere incluse nell'esercizio selezionato!
|
||||||
|
const TDate data = o.get();
|
||||||
|
if (!data.empty() && esc.date2esc(data) != anno)
|
||||||
|
return error_box(TR("La data deve appartenere all'anno selezionato"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}*/
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////
|
||||||
|
// Applicazione
|
||||||
|
///////////////////////////////////
|
||||||
class TPrint_cms : public TSkeleton_application
|
class TPrint_cms : public TSkeleton_application
|
||||||
{
|
{
|
||||||
bool create();
|
bool create();
|
||||||
@ -63,6 +93,43 @@ void TPrint_cms::main_loop()
|
|||||||
path = "ca1600a";
|
path = "ca1600a";
|
||||||
|
|
||||||
rep.load(path);
|
rep.load(path);
|
||||||
|
|
||||||
|
//aggiunta con controllo parametri di filtro particolari (Adolf rikiesta)
|
||||||
|
const int anno = m.get_int(F_ANNO);
|
||||||
|
const TDate dadata = m.get_date(F_DADATA);
|
||||||
|
const TDate adata = m.get_date(F_ADATA);
|
||||||
|
const TString cdc = m.get(F_CDC);
|
||||||
|
if (anno > 0 || dadata.ok() || adata.ok() || cdc.full())
|
||||||
|
{
|
||||||
|
TString query;
|
||||||
|
if (anno > 0)
|
||||||
|
{
|
||||||
|
if (query.full()) query << "&&";
|
||||||
|
query << "(ANNO='" << anno << "')";
|
||||||
|
}
|
||||||
|
if (adata.ok())
|
||||||
|
{
|
||||||
|
if (query.full()) query << "&&";
|
||||||
|
query << "(NUM(ANSI(DATAINIZIO))<=" << adata.date2ansi() << ")";
|
||||||
|
}
|
||||||
|
if (dadata.ok())
|
||||||
|
{
|
||||||
|
if (query.full()) query << "&&";
|
||||||
|
query << "(NUM(ANSI(DATAFINE))>=" << dadata.date2ansi() << ")";
|
||||||
|
}
|
||||||
|
if (cdc.full())
|
||||||
|
{
|
||||||
|
if (query.full()) query << "&&";
|
||||||
|
query << "(CODCOSTO='" << cdc << "')";
|
||||||
|
}
|
||||||
|
|
||||||
|
//inserisce la USE e la SELECT all'inizio (tecnica per aggirare il problema degli && ignoti)
|
||||||
|
query.insert("USE COMMESSE\nSELECT ");
|
||||||
|
|
||||||
|
//cabia la query al report
|
||||||
|
rep.set_recordset(query);
|
||||||
|
}
|
||||||
|
|
||||||
rep.mask2report(m);
|
rep.mask2report(m);
|
||||||
book.add(rep);
|
book.add(rep);
|
||||||
book.print_or_preview();
|
book.print_or_preview();
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#define F_DACMS 101
|
#define F_DACMS 101
|
||||||
#define F_ACMS 110
|
#define F_ACMS 105
|
||||||
|
#define F_ANNO 109
|
||||||
|
#define F_DADATA 110
|
||||||
|
#define F_ADATA 111
|
||||||
|
#define F_CDC 112
|
||||||
|
#define F_DESCDC 113
|
||||||
#define F_REPORT 120
|
#define F_REPORT 120
|
@ -1,41 +1,65 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<report libraries="ca1100,ca1600a" name="ca1600a" lpi="6">
|
<report libraries="ca1100,ca1600a" name="ca1600a" orientation="2" lpi="6">
|
||||||
<description>Stampa commesse di analitica</description>
|
<description>Stampa commesse di analitica</description>
|
||||||
<font face="Courier New" size="10" />
|
<font face="Arial" size="8" />
|
||||||
<section type="Head" height="8">
|
<section type="Head">
|
||||||
<field type="Stringa" width="50" pattern="1">
|
<font face="Arial" bold="1" size="8" />
|
||||||
<prescript description="H0.0 PRESCRIPT">"!RAGSOC"
|
<field x="116.5" type="Testo" width="3" pattern="1" text="Reg. " />
|
||||||
#REPORT.FIRM</prescript>
|
<field x="121" type="Testo" width="6" pattern="1" text="Codice" />
|
||||||
|
<field x="1" y="0.5" type="Testo" width="10" pattern="1" text="Codice" />
|
||||||
|
<field x="22" y="0.5" type="Testo" width="20" pattern="1" text="Descrizione" />
|
||||||
|
<field x="73" y="0.5" type="Testo" width="10" pattern="1" text="C.d.C." />
|
||||||
|
<field x="84" y="0.5" type="Testo" width="10" pattern="1" text="Inizio" />
|
||||||
|
<field x="95" y="0.5" type="Testo" width="10" pattern="1" text="Fine" />
|
||||||
|
<field x="106" y="0.5" type="Testo" width="10" pattern="1" text="Proroga" />
|
||||||
|
<field x="116.5" y="0.75" type="Testo" width="3" pattern="1" text="IVA" />
|
||||||
|
<field x="121" y="0.75" type="Testo" width="9" pattern="1" text="Attivita'" />
|
||||||
|
<field border="1" x="1" y="1.5" type="Linea" width="126" height="0" pattern="1" />
|
||||||
|
</section>
|
||||||
|
<section type="Head" level="1">
|
||||||
|
<field x="1" type="Stringa" width="50" pattern="1">
|
||||||
|
<source>#SYSTEM.RAGSOC</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="59" type="Data" width="10" pattern="1">
|
<field x="70" type="Data" width="10" pattern="1">
|
||||||
<source>#SYSTEM.DATE</source>
|
<source>#SYSTEM.DATE</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="70" type="Stringa" width="10" pattern="1" text="Pag. #.###">
|
<field x="34.5" y="1.5" type="Testo" align="center" width="35" pattern="1" text="Stampa Commesse Analitica">
|
||||||
<source>#REPORT.PAGE</source>
|
<font face="Arial" bold="1" size="12" />
|
||||||
</field>
|
</field>
|
||||||
<field y="2" type="Testo" align="center" width="80" height="2" pattern="1" text="Stampa Commesse Analitica">
|
|
||||||
<font face="Courier New" bold="1" size="16" />
|
|
||||||
</field>
|
|
||||||
<field y="5" type="Testo" width="10" pattern="1" text="Codice">
|
|
||||||
<font face="Courier New" bold="1" size="10" />
|
|
||||||
</field>
|
|
||||||
<field x="25" y="5" type="Testo" width="20" pattern="1" text="Descrizione">
|
|
||||||
<font face="Courier New" bold="1" size="10" />
|
|
||||||
</field>
|
|
||||||
<field border="1" y="6.25" type="Linea" width="80" height="0" pattern="1" />
|
|
||||||
</section>
|
</section>
|
||||||
<section type="Head" level="1" />
|
|
||||||
<section type="Body" />
|
<section type="Body" />
|
||||||
<section type="Body" level="1">
|
<section type="Body" level="1">
|
||||||
<field type="Stringa" width="25" pattern="1">
|
<field x="1" type="Stringa" width="20" pattern="1">
|
||||||
<source>CODCMS</source>
|
<source>CODCMS</source>
|
||||||
<prescript description="B1.0 PRESCRIPT">MESSAGE_FORMAT_COMMESSA</prescript>
|
<prescript description="B1.0 PRESCRIPT">MESSAGE_FORMAT_COMMESSA</prescript>
|
||||||
</field>
|
</field>
|
||||||
<field x="25" type="Stringa" dynamic_height="1" width="35" height="20" pattern="1">
|
<field x="22" type="Stringa" dynamic_height="1" width="50" height="20" pattern="1">
|
||||||
<source>DESCRIZ + DESCRAGG</source>
|
<source>DESCRIZ + DESCRAGG</source>
|
||||||
</field>
|
</field>
|
||||||
|
<field x="73" type="Stringa" dynamic_height="1" width="10" height="2" pattern="1">
|
||||||
|
<source>CODCOSTO</source>
|
||||||
|
</field>
|
||||||
|
<field x="84" type="Data" width="10" pattern="1">
|
||||||
|
<source>DATAINIZIO</source>
|
||||||
|
</field>
|
||||||
|
<field x="95" type="Data" width="10" pattern="1">
|
||||||
|
<source>DATAFINE</source>
|
||||||
|
</field>
|
||||||
|
<field x="106" type="Data" width="10" pattern="1">
|
||||||
|
<source>DATAPROR</source>
|
||||||
|
</field>
|
||||||
|
<field x="117" type="Stringa" width="3" pattern="1">
|
||||||
|
<source>REGIVA</source>
|
||||||
|
</field>
|
||||||
|
<field x="122" type="Stringa" width="5" pattern="1">
|
||||||
|
<source>CODATT</source>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Foot">
|
||||||
|
<field x="100" type="Stringa" width="10" pattern="1" text="Pag. #.###">
|
||||||
|
<source>#REPORT.PAGE</source>
|
||||||
|
</field>
|
||||||
</section>
|
</section>
|
||||||
<section type="Foot" />
|
|
||||||
<section type="Foot" level="1" />
|
<section type="Foot" level="1" />
|
||||||
<sql>USE COMMESSE
|
<sql>USE COMMESSE
|
||||||
FROM CODCMS=#DACMS
|
FROM CODCMS=#DACMS
|
||||||
|
@ -1,34 +1,93 @@
|
|||||||
#include "ca1600a.h"
|
#include "ca1600a.h"
|
||||||
|
|
||||||
PAGE "Stampa commesse" -1 -1 80 17
|
TOOLBAR "" 0 -2 0 2
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 77 6
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 1 "Da commessa"
|
|
||||||
END
|
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 77 6
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 7 "A commessa"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_REPORT 20
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 14 "Tipo di stampa "
|
|
||||||
RSELECT "ca1600a"
|
|
||||||
CHECKTYPE NORMAL
|
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON DLG_PRINT 10 2
|
BUTTON DLG_PRINT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -12 -1 ""
|
PROMPT -12 -11 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_QUIT 10 2
|
BUTTON DLG_QUIT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -22 -1 ""
|
PROMPT -22 -11 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Stampa commesse" 0 0 0 -2
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 77 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "@bDa commessa"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 77 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 7 "@bA commessa"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 77 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "@bParametri"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_ANNO 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 14 "Anno "
|
||||||
|
USE ESC
|
||||||
|
INPUT CODTAB F_ANNO
|
||||||
|
DISPLAY "Codice Esercizio" CODTAB
|
||||||
|
DISPLAY "Data inizio esercizio" D0
|
||||||
|
DISPLAY "Data fine esercizio " D1
|
||||||
|
OUTPUT F_ANNO CODTAB
|
||||||
|
OUTPUT F_DADATA D0
|
||||||
|
OUTPUT F_ADATA D1
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
FLAGS "RZ"
|
||||||
|
MESSAGE EMPTY ENABLE,F_DADATA|ENABLE,F_ADATA
|
||||||
|
MESSAGE CLEAR,F_DADATA|CLEAR,F_ADATA
|
||||||
|
ADD NONE
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DADATA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 17 14 "Da data "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_ADATA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 14 "A data "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CDC 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 15 "C. di costo "
|
||||||
|
USE LF_CDC
|
||||||
|
INPUT CODCOSTO F_CDC
|
||||||
|
DISPLAY "Centro di costo@20" CODCOSTO
|
||||||
|
DISPLAY "Descrizione@50" DESCRIZ
|
||||||
|
OUTPUT F_CDC CODCOSTO
|
||||||
|
OUTPUT F_DESCDC DESCRIZ
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCDC 50 37
|
||||||
|
BEGIN
|
||||||
|
PROMPT 38 15 ""
|
||||||
|
USE LF_CDC KEY 2
|
||||||
|
INPUT DESCRIZ F_DESCDC
|
||||||
|
DISPLAY "Descrizione@50" DESCRIZ
|
||||||
|
DISPLAY "Centro di costo@20" CODCOSTO
|
||||||
|
COPY OUTPUT F_CDC
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_REPORT 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 -1 "Report alternativo "
|
||||||
|
RSELECT "ca1600a"
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
@ -50,7 +50,11 @@ TObject* TIndbil_cache::key2obj(const char* key)
|
|||||||
if (found)
|
if (found)
|
||||||
{
|
{
|
||||||
conto = panapdrec.get(PANAPDC_CODCONTO);
|
conto = panapdrec.get(PANAPDC_CODCONTO);
|
||||||
break;
|
if (cache().get(LF_PCONANA, conto).empty())
|
||||||
|
error_box(FR("Non esiste piu' il conto %s cui era legato %d %d %ld"),
|
||||||
|
(const char*)conto, gr, co, so);
|
||||||
|
else
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user