Restrikce "Uživatel nesmí vidět prodejní ceny"

Top  Previous  Next

Seznam témat:

popis

Popis

Restrikce "oViewProdCen" umožňuje zabránit vybraným uživatelům vidět prodejní a nabídkové ceny.

 

Na odpovídajících dialozích tato restrikce "skryje" všechna pole týkající se prodejních a nabídkových cen, aniž by to ovlivnilo možnost pořizovat nové záznamy, příp. upravovat již existující.

SQL dotazy prohlížečů (jak základních, tak podřízených prohlížečů na dialozích) neobsahují databázová pole, ani vypočtené sloupce týkající se prodejních a nabídkových cen.
Do dotazů jsou přidávány (v případě neexistence restrikce) automaticky až před inicializací prohlížečů, což se týká i uživatelských variant, které je proto nesmějí obsahovat přímo.
(Jejich seznam naleznete níže.)

Na úrovni sestav lze dané omezení uživatelsky řešit buďto nastavením sdílení jednotlivých sestav vybrané skupině uživatelů, nebo globálním systémovým skriptem vyvolávaným při tisku sestavy (System.OnInvokeReport).

 

 
Prohlížeče, které se uživatelům s danou restrikcí vůbec nezobrazí:
 
- akční ceny (BrAkce)
 
- hlavičkové fakturační slevy (BrFaktSlevy)
 
- doklady uskutečněného plnění (vydané faktury) (BrVydFaktury)
 

 

Seznam polí, která nesmějí být obsažena v dotazech uživatelských variant prohlížečů

Základní prohlížeče

Skladové položky (BrSkladKarty)

 m.prcena as _prcena, m.prcenasdph as _prcenasdph, m.mena_id as _prmena

 

Služby (BrSluzby, BrSluzbyDopr)

 cena

 

Nabídkové (agregované) položky (BrMatAgreg)

 cena, cenasdph

 

Nabídky (BrNabidky)

 h.cena

 

Položky nabídek (BrNabPolozky)

 i.cena, i.cenasdph, i.mnoz*i.cena as _cenacelkem, i.mnoz*i.cenasdph as _celkemsdph

 

Požadavky na nákup (BrNakupPoz)

 p.cenamj_pol, p.mnozstvi * p.cenamj_pol AS celkem

 

Zakázky (BrCl3)

 z.cena

 

Informace o přijaté objednávce (BrPriObjInfo)

 o.cena, (o.cena + omater_getspdan (o.material_id)/o_getkurz (h.mena_id)) * (1 + o_getsazbudph (o.dph, isnull (h.zakdatum, h.zalozeno),

 IF isnull (h.hledisko, -1) = 11 THEN h.ico_id ELSE NULL ENDIF, IF isnull (h.hledisko, -1) = 11 THEN h.faktmulti_id ELSE NULL ENDIF)/100.0) as _cenasdph

 

Prohlížeče na panelech základních prohlížečů

Přijaté objednávky - panel "Položky objednávky" (BrPolozky)

 o.cena

 

Výdejky - panel "Položky výdejky" (BrPolozky)

 i.prodcenaciz,

 _spdan / (h.kurz/h.kurzc) as _spdanciz,

 _mnoz * (i.prodcenaciz + _spdanciz) as _prodcenacizcelk,

 h.mena_id,

 i.prodcena,

 (IF i.faktspdan = 0 THEN omater_getspdan (i.material_id, (SELECT d.datprip FROM DBA.udokhd as d WHERE d.obd = h.obd_id AND d.age = h.age_id AND d.rada = h.rada_id AND d.id_dokl = h.dokl_id), i.mnoz, i.mnozdopln) ELSE 0 ENDIF) as _spdan,

 _mnoz * (i.prodcena + _spdan) as _prodcenacelk    

 

Prohlížeče na dialozích (Dialog - prohlížeč)

Skladová položka - fakturované služby (BrFaktSluzby)

 s.cena

 

Skladová položka - čárové kódy (BrEAN)

 prodcena

 

Skladová položka - soubor zboží (BrPack)

 p.cena

 

Služba - operace (BrOperace)

 o.cena

 

Obal - ceny (BrCenyObalu)

 cena

 

Katalog - katalogové ceny (BrKatPol)

 k.prodcena, k.prodcenasdph

 

Plán dopravy - nakládky a vykládky (BrNaklVykl)

 d.cena, d.cenazakm, d.cenazakg

 

Hlavička nabídky - zakázky (BrZakazky)

 cena

 

Hlavička nabídky - položky nabídky (BrPolozky)

 n.cena, n.cenasdph, n.mnoz * n.cena as _celkem, n.mnoz * n.cenasdph as _celkemsdph

 

Hlavička nabídky - skladové položky (BrDlgMat)

 i.cena, (i.cena + omater_getspdan (i.mat)/:kurzkoef) * (1 + (IF i.dph=0 THEN 0 ELSE IF i.dph=1 THEN :dsniz ELSE IF i.dph=3 THEN :dsniz2 ELSE :dzakl ENDIF ENDIF ENDIF) / 100.0) as _cenasdph

 

Hlavička nabídky - práce a služby (BrDlgPrace)

 i.cena, i.cenasdph

 

Položka nabídky - skladové položky (BrPolozky)

 n.cena,

 (n.cena + omater_getspdan (n.mat)/:kurzkoef) * (1 + (IF n.dph=0 THEN 0 ELSE IF n.dph=1 THEN :dsniz ELSE IF n.dph=3 THEN :dsniz2 ELSE :dzakl ENDIF ENDIF ENDIF) / 100.0) as _cenasdph,

 n.mnoz * _cenasdph as _celkemsdph

 

Položka nabídky - práce a služby (BrPrace)

 cena, cenasdph, mnoz * cenasdph as _celkemsdph

 

Skladová položka na položce nabídky - nabídky (BrDlgNab)

  n.cena, round (n.cena * ISNULL (h.kurz, DBO.o_getkurz (h.mena, cast(h.zalozeno as date))), 2) as _cenakc

 

Skladová položka na položce nabídky - nabídky (výrobky) (BrDlgNabVyr)

 i.cena, round (i.cena * ISNULL (h.kurz, DBO.o_getkurz (h.mena, cast(h.zalozeno as date))), 2) as _cenakc

   

Skladová položka na položce nabídky - přijaté objednávky (BrDlgPO)

 i.cena, round (i.cena * DBO.o_getkurz (h.mena_id, cast (h.zalozeno as date)), 2) as _cenakc

 

Skladová položka na položce nabídky - vydané faktury (BrDlgVF)

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenaciz

 ELSE

 (SELECT sum (x.prodcenaciz) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenaciz,

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenacizsdph

 ELSE

 (SELECT sum (x.prodcenacizsdph) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenacizsdph,

 i.snc,

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenakc

 ELSE

 (SELECT sum (x.prodcenakc) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenakc,

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenakcsdph

 ELSE

 (SELECT sum (x.prodcenakcsdph) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenakcsdph

   

Služba na položce nabídky - operace (BrOperace)

 n.cena, n.cena * (1 + (IF n.dph=0 THEN 0 ELSE IF n.dph=1 THEN :dsniz ELSE :dzakl ENDIF ENDIF) / 100.0) as _cenasdph

 

Zakázka - přijaté objednávky (BrPrijObjItm)

 i.cena, i.sleva, i.placenobody, i.placenobodysdph

 

Zakázka - součásti zakázky (skladové položky) (BrSoucastiMat)

 i.cena, i.sleva, i.placenobody, i.placenobodysdph

 

Zakázka - součásti zakázky (služby) (BrSoucastiSluz)

 i.cena, i.cenasdph

 

Zakázka - součásti zakázky (realizované služby) (BrSoucastiSluzReal)

 i.cena, i.cenasdph

 

Zakázka - požadovaný materiál (BrDMat)

 cena, cena*mnozpop as _cena_celk

   

Zakázka - spotřebovaný materiál (položky výdejek) (BrDVydejItm)

 prodcenaciz, prodcena, prodcenaciz_celk, prodcena_celk, prcena

 

Hlavička stálé objednávky - položky objednávky (BrPolozky)

 o.cena,

 o.cena + IF o.faktspdan = 0 THEN omater_getspdan (o.material_id, x_currentdate (), o.mnozpop, o.mnozdopln) / :kurzkoef ELSE 0 ENDIF as _cenaspd,

 _cenaspd * (1 + (IF o.dph = 0 THEN 0 ELSE IF o.dph = 1 THEN :dsniz ELSE IF o.dph = 3 THEN :dsniz2 ELSE :dzakl ENDIF ENDIF ENDIF)/100.0) as _cenasdph

 

Hlavička přijaté objednávky - položky objednávky (BrObjItm)

 o.cena, o.sleva, o.placenobody, o.placenobodysdph,

 o.cena + IF o.faktspdan = 0 THEN omater_getspdan (o.material_id, :datum, o.mnozpop, o.mnozdopln) / :kurzkoef ELSE 0 ENDIF as _cenaspd,

 _cenaspd * (1 + (IF o.dph = 0 THEN 0 ELSE IF o.dph = 1 THEN :dsniz ELSE IF o.dph = 3 THEN :dsniz2 ELSE :dzakl ENDIF ENDIF ENDIF)/100.0) as _cenasdph

 

Hlavička přijaté objednávky - výběr rámcové objednávky (BrRamObj)

 o.cena

 

Realizovaná služba přijaté objednávky - mzdové lístky (BrMzListky)

 m.prod_cena_celk

 

Hlavička reklamační příjemky - položky příjemky (BrPolozkyPrijemky)

 r.reklamcena

 

Hlavička výdejky - položky výdejky (BrPolozkyVydejky)
 

 i.prodcenaciz,

 _spdan / (h.kurz/h.kurzc) as _spdanciz,

 _mnoz * (i.prodcenaciz + _spdanciz) as _prodcenacizcelk,

 h.mena_id,

 i.prodcena,

 (IF i.faktspdan = 0 THEN omater_getspdan (i.material_id, (SELECT d.datprip FROM DBA.udokhd as d WHERE d.obd = h.obd_id AND d.age = h.age_id AND d.rada = h.rada_id AND d.id_dokl = h.dokl_id), i.mnoz, i.mnozdopln) ELSE 0 ENDIF) as _spdan,

 _mnoz * (i.prodcena + _spdan) as _prodcenacelk

 

Hlavička výdejky - grupované položky výdejky (BrDlgGrupPol)

 i.prodcenaciz,

 _spdan / (h.kurz/h.kurzc) as _spdanciz,

 sum (i.mnoz*(1-2*i.storno)*(i.prodcenaciz + _spdanciz)) as _prodcenacizcelk,

 h.mena_id,

 i.prodcena,

 (IF i.faktspdan = 0 THEN omater_getspdan (i.material_id, (SELECT d.datprip FROM DBA.udokhd as d WHERE d.obd = h.obd_id AND d.age = h.age_id AND d.rada = h.rada_id AND d.id_dokl = h.dokl_id), i.mnoz, i.mnozdopln) ELSE 0 ENDIF) as _spdan,

 sum (i.mnoz*(1-2*i.storno)*(i.prodcena + _spdan)) as _prodcenacelk

   

Hlavička výdejky - obaly výdejky (BrObalyVydejky)

 v.cena

 

Hlavička výdejky - funkce "Expedovat rezervace a požadavky" (BrExpRezPoz)

 i.cena

 

Souhrnné informace o skladové položce - nabídky (BrDlgNab)

 n.cena, round (n.cena * ISNULL (h.kurz, DBO.o_getkurz (h.mena, cast(h.zalozeno as date))), 2) as _cenakc

   

Souhrnné informace o skladové položce - nabídky (výrobky) (BrDlgNab)

 i.cena, round (i.cena * ISNULL (h.kurz, DBO.o_getkurz (h.mena, cast(h.zalozeno as date))), 2) as _cenakc

   

Souhrnné informace o skladové položce - přijaté objednávky (BrDlgPO)

 i.cena, round (i.cena * DBO.o_getkurz (h.mena_id, cast (h.zalozeno as date)), 2) as _cenakc  

 

Souhrnné informace o skladové položce - vydané faktury (BrDlgVF)

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenaciz

 ELSE

 (SELECT sum (x.prodcenaciz) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenaciz,

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenacizsdph

 ELSE

 (SELECT sum (x.prodcenacizsdph) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenacizsdph,

 i.snc,

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenakc

 ELSE

 (SELECT sum (x.prodcenakc) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenakc,

 IF i.packrazeni IS NULL OR i.packrazeni <> 0 THEN

 i.prodcenakcsdph

 ELSE

 (SELECT sum (x.prodcenakcsdph) FROM DBA.ovydfaktit as x WHERE x.packporadi = i.packporadi AND x.packdataid = i.packdataid AND (x.packrazeni IS NULL OR x.packrazeni <> 0))

 ENDIF as prodcenakcsdph

 

Související témata

Restrikce "Uživatel nesmí vidět evidenční ceny"

Restrikce "Uživatel nesmí vidět nákupní ceny"

Zvláštní restrikce a oprávnění