Patch level : 2.0 496

Files correlati     : pr0.exe pr0700b.msk pr1.exe pr1100.msk pr1100a.frm pr1300a.frm pr1300a.msk
Ricompilazione Demo : [ ]
Commento            :

GF20035
Le stampe vengono visualizzate, ma se vengono inviate alla stampante non
stampa nulla e poi uscendo dalle voci di menù appare il messaggio:
"PR1 questo programma ha eseguito un'operazione non valida e sarà terminato".

GF20036
Vengono riportati gli importi solo delle provvigioni da liquidare al
momento della fatturazione, mentre per quelli da liquidare al momento del
pagamento non viene riporatto nulla.

GF20037
Se clicco due volte sulla riga che riporata gli estremi della fattura sulla
quale la provvigione è stata calcolata i tasti ANNULLA / CONFERMA / ELIMINA
non sono allineati correttamente.

GF20038
La % di provvigione che mi presenta nella relativa colonna in riferimento
in corrispondenza della rata non numerata non è corretta. (allego l'area
dati d'esempio sulla quale si può notare l'errore).
Secondo me dovrebbe essere zero


git-svn-id: svn://10.65.10.50/trunk@11233 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-06-12 09:05:46 +00:00
parent 51dad27c7d
commit fbce256e5d
8 changed files with 90 additions and 220 deletions

View File

@ -151,7 +151,7 @@ bool TGestione_provv_app::ndoc_handler(TMask_field& f, KEY key)
ndoc = ot.get_long(2);
other_key.format("%4d%4s%7ld",anno,(const char*)codnum,ndoc);
if (key == other_key)
return f.error_box("Non e' possibile inserire due documenti con lo stessa chiave");
return f.error_box("Non e' possibile inserire due documenti con la stessa chiave");
}
}
return calcola_rate_handler(f, key);

View File

@ -93,7 +93,7 @@ ENDMASK
// Maschera spreadsheet dei documenti
PAGE "" -1 -1 78 11
PAGE "" -1 -1 78 13
NUMBER F_ANNO 4
BEGIN
@ -149,7 +149,7 @@ BEGIN
CHECKTYPE NORMAL
END
NUMBER F_CAMBIO 18 2
NUMBER F_CAMBIO 18 6
BEGIN
PROMPT 25 4 "Cambio "
END

View File

@ -1,10 +1,5 @@
#include <applicat.h>
#include <config.h>
#include <mask.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <utility.h>
#include <form.h>
#include "agenti.h"
@ -12,57 +7,40 @@
class TStampa_agenti : public TSkeleton_application
{
TArray _files;
TMask * _mask;
TForm * _form;
int _codicees;
bool _raggmag;
TString _daart,_aart,_damag,_amag;
TDate _dadata,_adata;
protected:
virtual void main_loop();
public:
// @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata
virtual bool check_autorization() const
{return FALSE;}
virtual bool check_autorization() const { return FALSE; }
};
void TStampa_agenti::main_loop()
{
_files.add(new TLocalisamfile(LF_AGENTI));
_files.add(new TLocalisamfile(LF_CLIFO));
_files.add(new TLocalisamfile(LF_TAB));
open_files(LF_TAB, LF_AGENTI, LF_CLIFO, 0);
TRectype darec(LF_AGENTI),arec(LF_AGENTI);
_mask = new TMask("pr1100");
while (_mask->run() == K_ENTER) {
_form = new TForm("pr1100a", "");
TSorted_cursor& cur = (TSorted_cursor& )*_form->cursor();
TMask mask("pr1100");
while (mask.run() == K_ENTER)
{
TForm form("pr1100a");
TCursor& cur = *form.cursor();
TString sortexp;
TString filter;
darec.zero(' ');
arec.zero(' ');
if (*_mask->get(F_ORDINAMENTO)=='C')
TRectype darec(LF_AGENTI),arec(LF_AGENTI);
if (mask.get(F_ORDINAMENTO)[0]=='C')
{
darec.put(AGE_CODAGE,_mask->get(F_DAAGE));
arec.put(AGE_CODAGE,_mask->get(F_AAGE));
darec.put(AGE_CODAGE,mask.get(F_DAAGE));
arec.put(AGE_CODAGE,mask.get(F_AAGE));
cur.setkey(1);
}
else
{
darec.put(AGE_RAGSOC,_mask->get(F_DADES));
arec.put(AGE_RAGSOC,_mask->get(F_ADES));
darec.put(AGE_RAGSOC,mask.get(F_DADES));
arec.put(AGE_RAGSOC,mask.get(F_ADES));
cur.setkey(2);
}
cur.setregion(darec,arec);
_form->print();
delete _form;
form.print();
} // while true
delete _mask;
}
int pr1100(int argc, char* argv[])

View File

@ -1,32 +1,32 @@
#include "pr1100.h"
PAGE "Stampa agenti" -1 -1 78 20
PAGE "Stampa agenti" -1 -1 68 7
LISTBOX F_ORDINAMENTO 16
BEGIN
PROMPT 2 5 "Ordinamento per "
FLAGS "U"
ITEM "C|Codice"
MESSAGE HIDE,G_RAGSOC@|SHOW,G_CODAGE@
ITEM "R|Ragione sociale"
MESSAGE SHOW,G_RAGSOC@|HIDE,G_CODAGE@
PROMPT 2 1 "Ordinamento "
ITEM "C|Codice"
MESSAGE HIDE,G_RAGSOC@|SHOW,G_CODAGE@
ITEM "R|Ragione sociale"
MESSAGE SHOW,G_RAGSOC@|HIDE,G_CODAGE@
END
STRING F_DAAGE 6
BEGIN
PROMPT 2 7 "Dall'agente "
FLAGS "U"
USE LF_AGENTI
INPUT CODAGE F_DAAGE
DISPLAY "Codice" CODAGE
DISPLAY "Descr@50" RAGSOC
OUTPUT F_DAAGE CODAGE
GROUP G_CODAGE
PROMPT 2 3 "Dall'agente "
FLAGS "U"
USE LF_AGENTI
INPUT CODAGE F_DAAGE
DISPLAY "Codice" CODAGE
DISPLAY "Descrizione@50" RAGSOC
OUTPUT F_DAAGE CODAGE
GROUP G_CODAGE
END
STRING F_AAGE 6
BEGIN
PROMPT 2 9 " all'agente "
FLAGS "U"
PROMPT 2 4 " all'agente "
FLAGS "U"
COPY USE F_DAAGE
INPUT CODAGE F_AAGE
COPY DISPLAY F_DAAGE
@ -36,28 +36,28 @@ END
STRING F_DADES 50
BEGIN
PROMPT 2 7 "Dall'agente "
FLAGS "U"
USE LF_AGENTI KEY 2
INPUT RAGSOC F_DADES
DISPLAY "Descr@50" RAGSOC
DISPLAY "Codice" CODAGE
OUTPUT F_DADES RAGSOC
GROUP G_RAGSOC
PROMPT 2 3 "Dall'agente "
FLAGS "U"
USE LF_AGENTI KEY 2
INPUT RAGSOC F_DADES
DISPLAY "Descrizione@50" RAGSOC
DISPLAY "Codice" CODAGE
OUTPUT F_DADES RAGSOC
GROUP G_RAGSOC
END
STRING F_ADES 50
BEGIN
PROMPT 2 9 " all'agente "
FLAGS "U"
COPY USE F_DADES
INPUT RAGSOC F_ADES
COPY DISPLAY F_DADES
OUTPUT F_ADES RAGSOC
GROUP G_RAGSOC
PROMPT 2 4 " all'agente "
FLAGS "U"
COPY USE F_DADES
INPUT RAGSOC F_ADES
COPY DISPLAY F_DADES
OUTPUT F_ADES RAGSOC
GROUP G_RAGSOC
END
BUTTON DLG_OK 10 2
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END
@ -67,6 +67,6 @@ BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -1,63 +1,45 @@
#include "pr0500a.h"
USE LF_AGENTI KEY 1
JOIN LF_CLIFO INTO TIPOCF=="F" CODCF==CODFORN
USE LF_AGENTI
JOIN LF_CLIFO INTO TIPOCF=="F" CODCF==CODFORN
END
DESCRIPTION
BEGIN
END
SECTION HEADER ODD 4
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 10
CARATTERE "X"
INIZIALE 5 1
FINALE 133
END
SECTION HEADER ODD 5
STRINGA 1 40 1
STRINGA 1 50
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta "
PROMPT 1 1 ""
MESSAGE _DITTA, !RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 120 1 "Data "
PROMPT 56 1 ""
MESSAGE _TODAY
END
NUMERO 3 7
NUMERO 3 4
BEGIN
KEY "Nr. pagina"
PROMPT 137 1 "Pagina "
PROMPT 72 1 "Pag."
MESSAGE _PAGENO
END
NUMERO 4 32
BEGIN
KEY "Intestazione stampa"
PROMPT 45 2 "Stampa archivio agenti"
PROMPT 31 2 "@bStampa archivio agenti"
END
STRINGA 5 146
BEGIN
KEY "Separatore (iniziale)"
PROMPT 1 5 "------------------------------------------------------------------------------------------------------------------------------------------------------"
PROMPT 1 3 "_______________________________________________________________________________"
END
END
SECTION BODY ODD 12
LISTBOX F_TIPO 20

View File

@ -1,6 +1,6 @@
#include <mask.h>
#include <applicat.h>
#include <form.h>
#include <mask.h>
#include <printer.h>
#include <progind.h>
@ -10,39 +10,38 @@
class TStampa_schedeprovv_form : public TForm
{
TString80 _basecalcolo;
TString _basecalcolo;
TPagamento _pagamento;
protected:
virtual bool validate(TForm_item &, TToken_string &);
public:
void set_basecalcolo(const TString80& s) { _basecalcolo = s; }
void set_basecalcolo(const TString& s) { _basecalcolo = s; }
TStampa_schedeprovv_form(const char* name);
virtual ~TStampa_schedeprovv_form(){};
};
TStampa_schedeprovv_form::TStampa_schedeprovv_form(const char* name): TForm()
{
read(name);
}
TStampa_schedeprovv_form::TStampa_schedeprovv_form(const char* name) : TForm(name)
{ }
bool TStampa_schedeprovv_form::validate(TForm_item &cf, TToken_string &s)
{
const TString code(s.get(0));
if (code == "_BASECALCOLO")
const TString code = s.get(0);
if (code == "_BASECALCOLO")
{
real valore;
if (_basecalcolo.empty())
{
const real cambio = TForm::find_field('B', odd_page, 666).get();
valore = TForm::cursor()->relation()->curr().get_real(PROV_IMPRATA)*cambio;
valore = TForm::cursor()->curr().get_real(PROV_IMPRATA)*cambio;
}
else
{
const int nriga = TForm::cursor()->relation()->curr().get_int(PROV_NRIGA);
const int nriga = TForm::cursor()->curr().get_int(PROV_NRIGA);
if (nriga == 1)
{
TDocumento doc(TForm::cursor()->relation()->curr(LF_DOC));
TDocumento doc(TForm::cursor()->curr(LF_DOC));
_pagamento = doc.pagamento();
real importo = doc.get(_basecalcolo);
if (doc.tipo().nota_credito())
@ -50,8 +49,8 @@ bool TStampa_schedeprovv_form::validate(TForm_item &cf, TToken_string &s)
_pagamento.set_total(importo,0,0);
_pagamento.set_rate_auto();
}
const int nrata = TForm::cursor()->relation()->curr().get_int(PROV_NRATA);
if (nrata <= _pagamento.n_rate() && nrata > 0)
const int nrata = TForm::cursor()->curr().get_int(PROV_NRATA);
if (nrata > 0 && nrata <= _pagamento.n_rate())
valore = _pagamento.importo_rata(nrata-1);
else
valore = ZERO;
@ -63,7 +62,6 @@ bool TStampa_schedeprovv_form::validate(TForm_item &cf, TToken_string &s)
class TStampa_schedeprovv : public TSkeleton_application
{
TMask * _m;
void riporta_pagamenti(TCursor &cur);
@ -75,11 +73,12 @@ protected:
bool TStampa_schedeprovv::create()
{
_m= new TMask ("pr1300a");
open_files(LF_CFVEN, LF_DOC, LF_RIGHEDOC, LF_CONDV, LF_RCONDV, LF_ANAMAG,
LF_SCONTI, LF_UMART, LF_TAB, LF_TABCOM, LF_CLIFO, LF_INDSP,
LF_OCCAS, LF_PCON, LF_MOVMAG, LF_RMOVMAG, LF_MAG, LF_SVRIEP,
LF_AGENTI, LF_PERCPROV, LF_ATTIV, LF_CAUSALI, 0);
_m= new TMask ("pr1300a");
return TSkeleton_application::create();
}

View File

@ -23,7 +23,6 @@ BEGIN
SIZE 7
END
SECTION HEADER ODD 7
STRINGA 1 40 1
@ -53,92 +52,6 @@ BEGIN
PROMPT 60 3 "Stampa schede di provvigione"
END
/*
STRINGA 5 146
BEGIN
KEY "Separatore (iniziale)"
PROMPT 1 4 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END
*/
/*
STRINGA 3
BEGIN
KEY "Codice Agente "
PROMPT 2 2 ""
FIELD LF_AGENTI->CODAGE
END
STRINGA 4
BEGIN
KEY "Ragione sociale"
PROMPT 8 2 ""
FIELD LF_AGENTI->RAGSOC
END
STRINGA 5
BEGIN
KEY "Indirizzo"
PROMPT 2 3 ""
FLAGS "H"
FIELD A_CLIFO@->INDCF
MESSAGE COPY,7
END
STRINGA 6
BEGIN
KEY "Numero civico"
PROMPT 52 3 ""
FLAGS "H"
FIELD A_CLIFO@->CIVCF
MESSAGE APPEND,7
END
STRINGA 7
BEGIN
KEY "Indirizzo completo"
PROMPT 2 3 ""
END
STRINGA 8
BEGIN
KEY "C.A.P."
PROMPT 2 4 "C.A.P. "
FIELD A_CLIFO@->CAPCF
END
STRINGA 9
BEGIN
KEY "Localita'"
PROMPT 26 4 ""
FIELD A_CLIFO@->LOCALITACF
END
STRINGA 10
BEGIN
KEY "Comune"
PROMPT 2 5 ""
FLAGS "H"
FIELD A_COMUNI@->DENCOM
MESSAGE COPY,12
END
STRINGA 11
BEGIN
KEY "Provincia"
PROMPT 52 5 ""
FLAGS "H"
FIELD A_COMUNI@->PROVCOM
MESSAGE APPEND,12
END
STRINGA 12
BEGIN
KEY "Comune completo"
PROMPT 2 5 ""
END
*/
END
SECTION BODY ODD 3 COLUMNWISE
@ -296,7 +209,7 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
BEGIN
KEY "FATTORE DI CONVERSIONE"
FLAGS "H"
MESSAGE _NUMEXPR,IF(CODVAL,CAMBIO,1)
MESSAGE _STREXPR,IF(CODVAL=="",1,CAMBIO)
END
SECTION RATA_DAPAGARE 1 1 1 STREXPR LF_PROVV->SALDATA!="X"
@ -315,7 +228,8 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
PROMPT 2 1 "del "
FIELD LF_PROVV->DATASCAD
END
STRINGA 3 6
STRINGA 3 6
BEGIN
KEY "CODVAL"
PROMPT 3 1 ""
@ -338,13 +252,12 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
MESSAGE _NUMEXPR,LF_PROVV->IMPPROVV*#666
MESSAGE ADD,204
END
NUMERO 105 6
NUMERO 105 6 2
BEGIN
KEY "perc. provv."
PROMPT 6 1 ""
PICTURE "##@,@#"
MESSAGE _NUMEXPR,#104/#103*100
PICTURE "##@,@@"
MESSAGE _NUMEXPR,IF(#103,#104*100/#103,0)
END
VALUTA 106 15
BEGIN
@ -423,8 +336,7 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
KEY "perc provv"
PROMPT 6 1 ""
PICTURE "##@,@@"
MESSAGE _NUMEXPR,IF(#103==0,0,#104*100/#103)
MESSAGE _NUMEXPR,IF(#103,#104*100/#103,0)
END
VALUTA 106 15
BEGIN
@ -491,7 +403,7 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
KEY "PERCENTUALE"
prompt 6 1 ""
PICTURE "##@,@@"
MESSAGE _NUMEXPR,IF(#203==0,0,#204*100/#203)
MESSAGE _NUMEXPR,IF(#203,#204*100/#203,0)
END
VALUTA 206 15
BEGIN
@ -567,8 +479,7 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
KEY "IMPORTO"
PROMPT 6 1 ""
PICTURE "##@,@@"
MESSAGE _NUMEXPR,IF(#303==0,0,#304*100/#303)
MESSAGE _NUMEXPR,IF(#303,#304*100/#303,0)
END
VALUTA 306 15
BEGIN
@ -631,7 +542,7 @@ END // end clienti
KEY "IMPORTO"
PROMPT 6 2 ""
PICTURE "##@,@@"
MESSAGE _NUMEXPR,IF(#403==0,0,#404*100/#403)
MESSAGE _NUMEXPR,IF(#403,#404*100/#403,0)
GROUP G_TOTAGE
END

View File

@ -1,6 +1,6 @@
#include "pr1300a.h"
PAGE "Stampa schede di provvigione" -1 -1 78 20
PAGE "Stampa schede di provvigione" -1 -1 78 18
STRING F_DAAGE 5
BEGIN
@ -115,7 +115,7 @@ BEGIN
//MESSAGE K_SPACE,F_ORDINAMENTO|K_SPACE,F_VAL2PRINT
END
BUTTON DLG_OK 10 2
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 ""
END