IST
PLAN
ADialog (5)
ADialog_Adr (4)
ADialog_Artikel (4)
ADialog_Auftr (8)
ADialog_Hr_Cal (1)
AJob (3)
App-Detail (7)
App-Link (54)
AReport (6)
AReport_Web (2)
Server-VM (1)
Software (1)
demo-online
Beschreibung
Bemerkung
Support
Hist
Plan
OK
abbrechen
Material
Stunden
Wiederholung
OK
abbrechen
Details lassen sich per Kopfrechnung weniger gut überschlagen. Dafür hat man ev. eine SQL samt Tools. z.B.
...
...
Eine SQL kann auch helfen mit rekursiven Strukturen umzugehen. z.B.: WITH RECURSIVE included_parts( t_nr, apart_artikelnr, artikelnr, par_menge, t1_x_menge) AS ( SELECT 1 as t_nr, apart_artikelnr, artikelnr, 1::numeric as par_menge, menge::numeric as t1_x_menge FROM frepjs2000.Artikel_AParts WHERE artikelnr like '%Pal%' UNION ALL SELECT (t_nr + 1) as t_nr, p.apart_artikelnr, p.artikelnr, (par_menge * 1)::numeric as par_menge, (p.menge * pr.t1_x_menge)::numeric as t1_x_menge FROM included_parts pr join frepjs2000.Artikel_AParts p on pr.apart_artikelnr = p.artikelnr ) SELECT string_agg( inc_pr.t_nr::varchar, ' ') as t_nrs, -- inc_pr.artikelnr, round( SUM( inc_pr.par_menge), 4) as menge, string_agg( distinct art.mengen_einheit, ' ') as mengen_einheit, -- inc_pr.apart_artikelnr as t_artikelnr, round( SUM( inc_pr.t1_x_menge), 4) as t1_x_menge, string_agg( distinct ap_art.mengen_einheit, ' ') as t_meh, string_agg( concat( f_n(inc_pr.t1_x_menge), f_meh( ' ', ap_art.mengen_einheit) ), ' + ') as t1_x_menge_dets, string_agg( concat( inc_pr.apart_artikelnr, ' ', f_n(inc_pr.t1_x_menge), f_meh( ' ', ap_art.mengen_einheit) ), ' + ') as t1_x_menge_dets_ex FROM included_parts inc_pr join frepjs2000.artikel art on inc_pr.artikelnr = art.artikelnr join frepjs2000.artikel ap_art on inc_pr.apart_artikelnr = ap_art.artikelnr GROUP BY inc_pr.artikelnr, inc_pr.apart_artikelnr ;
Kein EAN-, BAR-Code, ... möglich, Maschinen-, Auftrags-, Artikelnummer sind jedoch notwendig !? Ev. - mit einem Schreiber zur Beschriftung von Regalen, Behältern, ... - kurzer Text drauf (z.B. "TX6" --> Artikelnummer: 22415) - und eine manuelle Eingabe auf einem Mobilgerät kann rationell funktionieren Kann sich ausgehen, wenn man < 30000 Dinge unterscheiden möchte create view frepjs2000.short_ids as SELECT date_ser0.ser_nr as ser_nr0, date_ser1.ser_nr as ser_nr1, date_ser2.ser_nr as ser_nr2, -- ( (date_ser0.ser_nr * 30 * 30) + (date_ser1.ser_nr * 30) + (date_ser2.ser_nr) ) as long_id, -- concat( case when date_ser0.ser_nr <> 0 then substring( '123456789ABCEFGHJKLMNPRSTUWXYZ', date_ser0.ser_nr + 1, 1) end, substring( '123456789ABCEFGHJKLMNPRSTUWXYZ', date_ser1.ser_nr + 1, 1), substring( '123456789ABCEFGHJKLMNPRSTUWXYZ', date_ser2.ser_nr + 1, 1) ) as short_id FROM generate_series( 0, 29, 1) AS date_ser0(ser_nr), generate_series( 0, 29, 1) AS date_ser1(ser_nr), generate_series( 0, 29, 1) AS date_ser2(ser_nr) order by 1, 2, 3 ;