SQL - Zrušení obalu v obalovém kontě
Př.:
agenda = HR
obal = 76
//---------------------------
DELETE
FROM
HR__OK00
WHERE
StavPrenosu=76
//---------------------------
ověření vět v obalovém kontě:
Př.:
agenda = HR
obal = 76
//---------------------------
SELECT
*
FROM
HR__OK00
WHERE
StavPrenosu=76
//---------------------------
SQL - Obalové konto:
http://7erp.eu/dokumentace/TECH/index.html?sql_-_obalove_konto.htm
2014.01.14b / 17:00
001) Sklad / Rozbory / Obalové konto / Obalové konto za obal / Sledované obaly
- pouze obaly na dokladech s CisloListu > 0 (mimo reklamace - předpokládá se, že jsou všechny pohyby obalů PS)
- upraveno
počáteční stav = RE
konečný stav =
+RE
+PL
+PR
-DL
-EX
-FA
-HO
-VP
-VR
-CA
- Kontrolní SQL:
//===================================================
// kontrola KZ
//----------------------------------------------
SELECT
O,
SUM(PO) AS PocetObalu
FROM
(
//----------------------------------------------
SELECT
r.Obal1 AS O,
r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_PL r,HRE_X_PL d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_PL r,HRE_X_PL d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_PR r,HRE_X_PR d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_PR r,HRE_X_PR d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_RE r,HRE_X_RE d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0)
// AND (d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_RE r,HRE_X_RE d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0)
// AND (d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
-r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_DL r,HRE_X_DL d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
-r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_DL r,HRE_X_DL d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
-r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_EX r,HRE_X_EX d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
-r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_EX r,HRE_X_EX d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
-r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_FA r,HRE_X_FA d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
-r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_FA r,HRE_X_FA d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
-r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_HO r,HRE_X_HO d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
-r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_HO r,HRE_X_HO d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
-r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_VP r,HRE_X_VP d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
-r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_VP r,HRE_X_VP d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
-r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_VR r,HRE_X_VR d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
-r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_VR r,HRE_X_VR d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
UNION ALL
//----------------------------------------------
SELECT
r.Obal1 AS O,
-r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_CA r,HRE_X_CA d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0) AND
(d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
-r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_CA r,HRE_X_CA d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0) AND
(d.CisloListu>0)
//----------------------------------------------
) AS x
WHERE
(O<>0) AND
(O<>30)
GROUP BY
O
//===================================================
//===================================================
// kontrola PS = RE
//----------------------------------------------
SELECT
O,
SUM(PO) AS PocetObalu
FROM
(
//----------------------------------------------
SELECT
r.Obal1 AS O,
r.PocetObalu1 AS PO,
d.CisloListu
FROM
HRE1Y_RE r,HRE_X_RE d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu1<>0)
// AND (d.CisloListu>0)
UNION ALL
SELECT
r.Obal2 AS O,
r.PocetObalu2 AS PO,
d.CisloListu
FROM
HRE1Y_RE r,HRE_X_RE d
WHERE
(r.CisloDokladu=d.CisloDokladu) AND
(r.PocetObalu2<>0)
// AND (d.CisloListu>0)
//----------------------------------------------
) AS x
WHERE
(O<>0) AND
(O<>30)
GROUP BY
O
//===================================================
2014.01.09a / 00:00
004) Sklad / Rozbory / Obalové konto / Obalové konto za obal / Sledované obaly
- pouze obaly na dokladech s CisloListu > 0 (mimo reklamace)
2014.01.03a / 12:00
001) Sklad / Rozbory / Obalové konto / Obalové konto za obal / Sledované obaly
- upraveno
2014.01.02b / 12:00
001) Sklad / Rozbory / Obalové konto / Obalové konto za obal / Sledované obaly
- upraveno použití zaškrtávacího pole:
Zahrnout reklamace RE za den, v PS zůstanou
implicitně nezaškrtnuto a zaškrtnuto být nemá, doklady RE - reklamace tak budou v PS a ne v pohybech za den
2012.11.02a / 13:05
001) Sklad / Rozbory / Obalové konto / Obalové konto za obal
v horní části okna doplněno nastavovací pole
Šířka sloupce obalu
- platí pro všechny sestavy v okně
- standardně 7, jinak 3-10
- podle nastavení se upraví šířka řádku sestavy a nastaví odpovídající velikost
fontu pro tisk
- do šířky sloupce obalu se počítá i případné znaménko mínus a 1 prázdný sloupec
pro oddělení sloupců
2007.12.07b / 15:00
001) Obalové konto za IČO partnera
- doplněno do:
- seznam partnerů
- informace za partnera
- oprávnění zůstává 1193 stejně jako u obalového konta za partnera
- funkce je dostupná POUZE ve verzi programu pro NexusDB
002) Zápisy do obalového konta (provádějí se při zápisu každého řádku
skladového dokladu) se logují
FAQ - Obalové konto
Tabulky:
HR__O201 - ciselnik obalu
HR__OK00 - obalove konto
HR7_OBAL - pohyby obalu
2007.11.19b / 13:00
001) Obalové konto + Číselník obalů
- doplněna funkce
Obalové konto za obal
pro zvolený obal vygeneruje obalové konto
2007.11.19b / 13:00
003) Číselník partnerů / Obalové konto
- upraveno
2007.11.03c / 15:00
001) Servis / Data / Doplnění dat
- doplněna funkce
Doplnění obalového konta OK00
funkce nastaví následující pole:
Cislo - číslo partnera - z pole Cislo32 XXXXXXXxxxxxxx
ZmenaPocet - IČO partnera
StavPrenosu - číslo obalu - z pole Cislo32 xxxxxxxXXXXXXX, číslo > 250 se bere jako 250
002) V tabulce obalového konta se automaticky nastavují pole
Cislo - číslo partnera - z pole Cislo32 XXXXXXXxxxxxxx
ZmenaPocet - IČO partnera
StavPrenosu - číslo obalu - z pole Cislo32 xxxxxxxXXXXXXX, číslo > 250 se bere jako 250
2007.01.01a / 00:00
008) Sklad / POS - stav obalů
- v číselníku obalů se při aktualizaci zásob zboží aktualizují i zásoby
obou vázaných obalů (nenulových a různých od 6-ti nesledovaných obalů
nastavených v konfiguraci)
009) Sklad / POS - obalové konto
- na POS se nyní aktualizuje stejně jako na skladě
2006.12.17a / 17:00
003) Sklad / POS
- obal s číslem 0 je ignorován
2006.10.23c / 19:00
001) Sklad / POS - pohyb obalů
- Servis / Data / Obaly
- Načti seznam tabulek
- zobrazí seznam všech dostupných tabulek řádků dokladů
- Import
- naimportují se pohyby obalů z těch tabulek řádků dokladů,
které jsou v seznamu tabulek řádků dokladů označeny jako zaškrtnuté
- z importu jsou vyloučeny následující typy dokladů:
FP - Proforma faktura
FZ - Zalohova faktura
OD - Objednavka dodavateli
OM - Objednavka odberatele MLECKA
OO - Objednavka odberatele
PD - Inventurni soupiska
PQ - Prijmovy pokladni doklad
PR - Prijata reklamace
PW - Prijata proforma faktura
PZ - Prijata zalohova faktura
RE - Reklamace
RL - Rozvozovy list
- doplněna oprávnění:
8425 Import aar_OBAL - Načti seznam tabulek
8426 Import aar_OBAL - Import
- funkce zajistí počáteční naplnění tabulky pohybu obalů z řádků
skladových/POS dokladů od začátku roku
orientační rychlost je 85 pohybů obalů/s
orientační velikost tabulky aar_OBAL.ff2 je počet obalů*320 [B]
- příklad SQL:
SELECT
cislopartnera,cislodokladu,cisloobalu,sum(pocetobalu) as pocet
FROM
HR2_OBAL
WHERE
(DatumDokladu_RRRRMMDD>=20020101) and
(DatumDokladu_RRRRMMDD<=20020131)
GROUP BY
cislopartnera,cislodokladu,cisloobalu
ORDER BY
cislopartnera,cislodokladu,cisloobalu
SQL vrátí 30.000 vět za cca. 2,2 s
2006.10.23b / 13:00
001) Sklad / POS
- pohyb obalů
- pohyb každého obalu (mimo max. 6-ti obalů nastavených v konfiguraci
jako nesledované - např. ztratné papírové obaly) je v rámci
aktualizace zásob zboží zapisován do tabulky:
aar_OBAL.ff2
kde aa je agenda a r je rok
- pro SQL jsou dostupná následující pole:
- s indexem:
AutoInc
CisloPartnera
CisloObalu
CisloDokladu
DatumDokladu
DatumDokladu_RRRRMMDD
VS
- bez indexu:
PocetObalu
CenaObalu
DPHObalu
DatumVytvoreni
ZmenaKdo
ZmenaPC
DatabazeDoklad
VetaDoklad
DatabazeRadek
VetaRadek
PV
DruhDokladu
CKOK
StornoOK
Auto
Ridic
Soupis
RL
- pro správnou funkci musí být tato nebo novější verze programu
nainstalována na všech počítačích, které generují pohyb obalů