git-svn-id: svn://10.65.10.50/branches/R_10_00@23166 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0de08dbe78
commit
fe73df2a38
@ -220,20 +220,14 @@ bool TRilprod_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
||||
|
||||
if (m.run() == K_ENTER)
|
||||
{
|
||||
short dlg = F_PERC1;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
short dlg = F_PERC1;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
const real perc(m.get(dlg++));
|
||||
|
||||
warn_perc.add(perc);
|
||||
|
||||
const TString & s = m.get(dlg++);
|
||||
|
||||
warning.add(s);
|
||||
}
|
||||
}
|
||||
const real perc(m.get(dlg++));
|
||||
warn_perc.add(perc);
|
||||
const TString & s = m.get(dlg++);
|
||||
warning.add(s);
|
||||
}
|
||||
load_prod_file(m.get(F_FILE), m.get_bool(F_SAVE), m.get_bool(F_ONLY_ERRORS), warn_perc, warning);
|
||||
}
|
||||
}
|
||||
@ -279,23 +273,18 @@ void TRilprod_mask::print_record(TViswin & v, TTipo_rec t , TProduzione & r)
|
||||
|
||||
v.add_line("");
|
||||
if (t == _start)
|
||||
v.add_line(TR("Record elaborato - inizio produzione"));
|
||||
else
|
||||
if (t == _end)
|
||||
v.add_line(TR("Record elaborato - fine produzione"));
|
||||
else
|
||||
if (t == _rett)
|
||||
v.add_line(TR("Record elaborato - rettifica"));
|
||||
v.add_line(TR("Record elaborato - inizio produzione")); else
|
||||
if (t == _end)
|
||||
v.add_line(TR("Record elaborato - fine produzione")); else
|
||||
if (t == _rett)
|
||||
v.add_line(TR("Record elaborato - rettifica"));
|
||||
TString l;
|
||||
for (int i = 0; i < nfields; i++)
|
||||
{
|
||||
const TString & name = r.fieldname(i);
|
||||
const TString & val = r.get(name);
|
||||
|
||||
TString s;
|
||||
|
||||
s.format(" %s = %s", (const char *) name, (const char *) val);
|
||||
|
||||
s.format(" %s = %s", (const char*)name, (const char*)val);
|
||||
if (l.len() + s.len() > 80)
|
||||
{
|
||||
v.add_line(l);
|
||||
@ -303,11 +292,11 @@ void TRilprod_mask::print_record(TViswin & v, TTipo_rec t , TProduzione & r)
|
||||
}
|
||||
l << s;
|
||||
}
|
||||
if (l.not_empty())
|
||||
if (l.full())
|
||||
v.add_line(l);
|
||||
}
|
||||
|
||||
void TRilprod_mask::load_prod_file(const char * nomefile, bool savefile, bool only_errors, TArray & warn_perc, TString_array & warning)
|
||||
void TRilprod_mask::load_prod_file(const char* nomefile, bool savefile, bool only_errors, TArray & warn_perc, TString_array & warning)
|
||||
{
|
||||
TViswin vwin(NULL, TR("Importazione produzione"), FALSE, TRUE, TRUE);
|
||||
TFile_text prod(nomefile,"mr0500a.ini"); //crea un oggetto articoli di tipo TFile_text
|
||||
@ -628,14 +617,12 @@ void TRilprod_mask::load_prod_file(const char * nomefile, bool savefile, bool on
|
||||
if (tot > ZERO)
|
||||
{
|
||||
real perc = prd.get_real("SCARTO") * CENTO / tot;
|
||||
|
||||
perc.round(2);
|
||||
for (int j = 3; j >= 0; j--)
|
||||
{
|
||||
if ((const real&)warn_perc[j] > ZERO && perc > (const real&)warn_perc[j])
|
||||
{
|
||||
TString warn;
|
||||
|
||||
warn.format("@b%s - percentuale %s", (const char *) warning.row(j), perc.string());
|
||||
display_error(vwin, warn, trec, rec);
|
||||
break;
|
||||
|
@ -947,11 +947,10 @@ class TMatResMask : public TCalendar_mask
|
||||
void select_orders(char type, const char * dacatmer, const char * acatmer);
|
||||
|
||||
public:
|
||||
|
||||
int round_date(TDate& date, bool up = FALSE) const;
|
||||
int round_date(TDate& date, bool up = false) const;
|
||||
int add_order_line(long forn, const TMRP_line& l, int bucket);
|
||||
|
||||
TSelect_color_mask & sel() { return _sel_color; }
|
||||
TSelect_color_mask& sel() { return _sel_color; }
|
||||
TMatResMask();
|
||||
virtual ~TMatResMask() { }
|
||||
};
|
||||
@ -3473,7 +3472,7 @@ bool TMatResPlanning::emit_orders()
|
||||
if (ok)
|
||||
{
|
||||
const int numriga = riga.get_int(sf.cid2index(F_DOCNRIGA));
|
||||
TRiga_documento& rdoc = numdoc ? (*doc)[numriga] : doc->new_row(m.get(prod ? F_RIGA_PROD : F_RIGA_FORN));
|
||||
TRiga_documento& rdoc = (numdoc && numriga>0 && numriga<=doc->physical_rows()) ? (*doc)[numriga] : doc->new_row(m.get(prod ? F_RIGA_PROD : F_RIGA_FORN));
|
||||
if (numdoc)
|
||||
qta += rdoc.get_real(RDOC_QTA);
|
||||
rdoc.put(RDOC_CODART, riga.get(sf.cid2index(F_ARTICOLO)));
|
||||
|
@ -1,21 +1,23 @@
|
||||
#define XI_INTERNAL
|
||||
#include <xinclude.h>
|
||||
|
||||
#include "mrplib.h"
|
||||
|
||||
#include <colors.h>
|
||||
#include <defmask.h>
|
||||
#include <diction.h>
|
||||
#include <image.h>
|
||||
#include <progind.h>
|
||||
#include <tabutil.h>
|
||||
#include <reprint.h> // Advanced draw text
|
||||
|
||||
|
||||
//***********************************
|
||||
// Utility
|
||||
//***********************************
|
||||
|
||||
TMRP_config & mrp_config()
|
||||
TMRP_config& mrp_config()
|
||||
{
|
||||
static TMRP_config *_confditta=NULL;
|
||||
if (_confditta==NULL)
|
||||
_confditta= new TMRP_config();
|
||||
static TMRP_config *_confditta = new TMRP_config();
|
||||
return *_confditta;
|
||||
}
|
||||
|
||||
@ -824,6 +826,22 @@ long TCalendar_win::handler(WINDOW win, EVENT* ep)
|
||||
return TField_window::handler(win, ep);
|
||||
}
|
||||
|
||||
static void get_rect(const RCT& client, int row, int col, RCT& rect)
|
||||
{
|
||||
rect.left = client.right * (col ? col+1 : 0) / 33;
|
||||
rect.right = client.right * (col ? col+2 : 2) / 33;
|
||||
rect.top = client.bottom * row / 13;
|
||||
rect.bottom = client.bottom * (row+1) / 13;
|
||||
}
|
||||
|
||||
static void draw_btn(WINDOW win, int row, int col, const char* txt)
|
||||
{
|
||||
RCT client; xvt_vobj_get_client_rect(win, &client);
|
||||
RCT rect; get_rect(client, row, col, rect);
|
||||
xi_draw_3d_rect((XinWindow)win, (XinRect*)&rect, false, 1, 0, 0, 0);
|
||||
advanced_draw_text_line(win, txt, rect, 'C', 'C');
|
||||
}
|
||||
|
||||
void TCalendar_win::update()
|
||||
{
|
||||
const TDate today(TODAY);
|
||||
@ -880,13 +898,12 @@ void TCalendar_win::update()
|
||||
set_brush(NORMAL_BACK_COLOR);
|
||||
}
|
||||
|
||||
TString16 str;
|
||||
str << _anno;
|
||||
TString16 str; str << _anno;
|
||||
set_color(NORMAL_COLOR, NORMAL_BACK_COLOR);
|
||||
|
||||
if (_anno == this_year)
|
||||
set_font(NULL, XVT_FS_BOLD);
|
||||
stringat(1, 1, str);
|
||||
draw_btn(win(), 0, 0, str);
|
||||
if (_anno == this_year)
|
||||
set_font();
|
||||
|
||||
@ -900,7 +917,7 @@ void TCalendar_win::update()
|
||||
|
||||
if (i == this_day)
|
||||
set_font(NULL, XVT_FS_BOLD);
|
||||
stringat(x+2, 0, str);
|
||||
draw_btn(win(), 0, i, str);
|
||||
if (i == this_day)
|
||||
set_font();
|
||||
}
|
||||
@ -910,10 +927,9 @@ void TCalendar_win::update()
|
||||
const int y = rct.bottom * j / 13;
|
||||
line(0, y, rct.right, y);
|
||||
str = itom(j); str.cut(3);
|
||||
|
||||
if (j == this_month)
|
||||
set_font(NULL, XVT_FS_BOLD);
|
||||
stringat(1, y, str);
|
||||
draw_btn(win(), j, 0, str);
|
||||
if (j == this_month)
|
||||
set_font();
|
||||
}
|
||||
@ -951,11 +967,13 @@ void TCalendar_win::update()
|
||||
set_color(colore, COLOR_WHITE);
|
||||
if (j == this_month && i == this_day)
|
||||
set_font(NULL, XVT_FS_BOLD);
|
||||
|
||||
str.format("%d", tmin);
|
||||
stringat(x+2, y, str);
|
||||
str.format(" %d", tmax);
|
||||
stringat(x+2, y + CHARY, str);
|
||||
|
||||
RCT rect; get_rect(rct, j, i, rect);
|
||||
xvt_rect_inflate(&rect, -6, -6);
|
||||
str.format("%d", tmin);
|
||||
advanced_draw_text_line(win(), str, rect, 'L', 'T');
|
||||
str.format("%d", tmax);
|
||||
advanced_draw_text_line(win(), str, rect, 'R', 'B');
|
||||
|
||||
if (j == this_month && i == this_day)
|
||||
set_font(); // Rimette a posto il font
|
||||
@ -965,7 +983,7 @@ void TCalendar_win::update()
|
||||
if (defcal != NULL)
|
||||
delete defcal;
|
||||
|
||||
_pixmap = FALSE;
|
||||
_pixmap = false;
|
||||
}
|
||||
|
||||
void TCalendar_win::set_calendar(TMRP_calendar* cal, int year)
|
||||
@ -992,10 +1010,8 @@ TCalendar_win::TCalendar_win(int x, int y, int dx, int dy,
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
void TCalendar_field::set_immediate_write(bool on)
|
||||
|
||||
{
|
||||
TCalendar_win& cw = (TCalendar_win&)win();
|
||||
|
||||
cw.set_immediate_write(on);
|
||||
}
|
||||
|
||||
|
@ -5,10 +5,6 @@
|
||||
#include <automask.h>
|
||||
#endif
|
||||
|
||||
#ifndef __ASSOC_H
|
||||
#include <assoc.h>
|
||||
#endif
|
||||
|
||||
#ifndef __DBLIB_H
|
||||
#include "../db/dblib.h"
|
||||
#endif
|
||||
@ -121,8 +117,8 @@ public:
|
||||
class TCalendar_field : public TWindowed_field
|
||||
{
|
||||
protected: // TWindowed_field
|
||||
virtual TField_window* create_window(int x, int y, int dx, int dy,
|
||||
WINDOW parent);
|
||||
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
|
||||
|
||||
public:
|
||||
void set_calendar(TMRP_calendar* cal, int year = 0);
|
||||
void set_immediate_write(bool on = true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user