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

Top  Previous  Next

Seznam témat:

popis

Popis

Restrikce "oViewNakupCen" umožňuje zabránit vybraným uživatelům vidět nákupní (dodavatelské) ceny.

 

Na odpovídajících dialozích tato restrikce "skryje" všechna pole týkající se nákupních (dodavatelský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 nákupních (dodavatelský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).

 

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

Základní prohlížeče

Objednávané služby (BrSluzbyDoprVO, BrVydObjSluzby)

 cena

 

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

Vydané objednávky - panel "Položky objednávky" (BrPolozky)

 o.cena, ISNULL (o.mnoz*o.cena, 0) as celkem,

 IF o.sluzba = 1 THEN

 ISNULL ((SELECT SUM (p.mnozp*p.cenap) FROM DBA.ovobjits as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi), 0)

 ELSE

 ISNULL ((SELECT SUM (p.mnozp*p.cenap) FROM DBA.ovobjitp as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi), 0)

 ENDIF as celkemp

 

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

Skladová položka - dodavatelé (BrDodav)

 d.cena

 

Služba - dodavatelé (BrDod)

 d.cenaciz

 

Plán dopravy - vydané objednávky (BrVydObj)

 o.cena, ISNULL (o.mnoz * o.cena, 0) as celkem,

 ISNULL ((SELECT SUM (p.mnozp * p.cenap) FROM DBA.ovobjitp as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi), 0) as celkemp

 

Poptávkové řízení - skladové položky (BrMat)

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST n.cena FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST isnull (n.menajina, _menah) FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcenamena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   IF (SELECT COUNT (*) FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX) > 1 THEN

   '<Více dodav.>'

   ELSE

     (SELECT FIRST f.nazev1 || ', ' || f.obec || ', ' || f.ulice FROM DBA.gfinfo as f, DBA.opopmatnab as n

     WHERE f.ico = n.ico AND f.multi = n.multi AND f.platiod <= n.platiod AND (f.platido >= n.platido OR f.platido IS NULL) AND

     n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

   ENDIF

 ENDIF as _topcenadod,

 (SELECT MIN (n.cena * o_getkurz (isnull (n.menajina, _menah))) FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi) as _topcenaX

 

Poptávkové řízení - nabídky dodavatelů skladových položek (BrMatNabDet)

 n.cena

 

Skladová položka na poptávkovém řízení - nabídky dodavatelů (BrNab)

 n.cena

 

Dodavatel na poptávkovém řízení - nabídky skladových položek (BrNab)

 n.cena

 

Objednávání skladových položek na poptávkovém řízení - skladové položky (BrDlgMat)

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST n.cena FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST isnull (n.menajina, _menah) FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcenamena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   IF (SELECT COUNT (*) FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX) > 1 THEN

   '<Více dodav.>'

   ELSE

     (SELECT FIRST f.nazev1 || ', ' || f.obec || ', ' || f.ulice FROM DBA.gfinfo as f, DBA.opopmatnab as n

     WHERE f.ico = n.ico AND f.multi = n.multi AND f.platiod <= n.platiod AND (f.platido >= n.platido OR f.platido IS NULL) AND

     n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

   ENDIF

 ENDIF as _topcenadod,

 (SELECT MIN (n.cena * o_getkurz (isnull (n.menajina, _menah))) FROM DBA.opopmatnab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi) as _topcenaX

 

Objednávání skladových položek na poptávkovém řízení - nabídky dodavatelů (BrDlgNab)

 

 ISNULL (n.cena, 999999999) as cena,

 ISNULL (n.cena * DBO.o_getkurz (_mena, n.platiod), 999999999) as _cenad

 

Poptávkové řízení - služby (BrSluzby)

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST n.cena FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST isnull (n.menajina, _menah) FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcenamena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   IF (SELECT COUNT (*) FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX) > 1 THEN

   '<Více dodav.>'

   ELSE

     (SELECT FIRST f.nazev1 || ', ' || f.obec || ', ' || f.ulice FROM DBA.gfinfo as f, DBA.opopsluznab as n

     WHERE f.ico = n.ico AND f.multi = n.multi AND f.platiod <= n.platiod AND (f.platido >= n.platido OR f.platido IS NULL) AND

     n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

   ENDIF

 ENDIF as _topcenadod,

 (SELECT MIN (n.cena * o_getkurz (isnull (n.menajina, _menah))) FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi) as _topcenaX

 

Poptávkové řízení - nabídky dodavatelů služeb (BrSluzbyNabDet)

 cena

 

Služba na poptávkovém řízení - nabídky dodavatelů (BrNab)

 cena

 

Dodavatel na poptávkovém řízení - nabídky služeb (BrNab)

 n.cena

 

Objednávání služeb na poptávkovém řízení - služby (BrDlgMat)

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST n.cena FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   (SELECT FIRST isnull (n.menajina, _menah) FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

 ENDIF as _topcenamena,

 IF _topcenaX IS NULL THEN

   NULL

 ELSE

   IF (SELECT COUNT (*) FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX) > 1 THEN

   '<Více dodav.>'

   ELSE

     (SELECT FIRST f.nazev1 || ', ' || f.obec || ', ' || f.ulice FROM DBA.gfinfo as f, DBA.opopsluznab as n

     WHERE f.ico = n.ico AND f.multi = n.multi AND f.platiod <= n.platiod AND (f.platido >= n.platido OR f.platido IS NULL) AND

     n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi AND n.cena * o_getkurz (isnull (n.menajina, _menah)) = _topcenaX)

   ENDIF

 ENDIF as _topcenadod,

 (SELECT MIN (n.cena * o_getkurz (isnull (n.menajina, _menah))) FROM DBA.opopsluznab as n WHERE n.rada = p.rada AND n.dokl = p.dokl AND n.dataid = p.dataid AND n.poradi = p.poradi) as _topcenaX

 

Objednávání služeb na poptávkovém řízení - nabídky dodavatelů (BrDlgNab)

 

 ISNULL (n.cena, 999999999) as cena,

 ISNULL (n.cena * DBO.o_getkurz (_mena, n.platiod), 999999999) as _cenad

 

Projekt - položky vydané objednávky (BrDVydObjItm)

 o.cena, ISNULL (o.mnoz*o.cena, 0) as celkem,

 IF o.sluzba = 1 THEN

 ISNULL ((SELECT SUM (p.mnozp*p.cenap) FROM DBA.ovobjits as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi), 0)

 ELSE

 ISNULL ((SELECT SUM (p.mnozp*p.cenap) FROM DBA.ovobjitp as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi), 0)

 ENDIF as celkemp

 

Hlavička vydané objednávky - položky objednávky (BrObjItm)

 o.cena, ISNULL (o.mnoz*o.cena, 0) as celkem,

 IF o.sluzba = 1 THEN

 ISNULL ((SELECT SUM (p.mnozp*p.cenap) FROM DBA.ovobjits as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi), 0)

 ELSE

 ISNULL ((SELECT SUM (p.mnozp*p.cenap) FROM DBA.ovobjitp as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi), 0)

 ENDIF as celkemp

 

Hlavička vydané objednávky - grupované položky objednávky (BrDlgGrupPol)

 o.cena, sum (ISNULL (o.mnoz, 0) * ISNULL (o.cena, 0)) as celkem,

 sum (IF o.sluzba = 1 THEN

 (SELECT ISNULL (SUM (ISNULL (p.mnozp, 0) * ISNULL (p.cenap, 0)), 0) FROM DBA.ovobjits as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi)

 ELSE

 (SELECT ISNULL (SUM (ISNULL (p.mnozp, 0) * ISNULL (p.cenap, 0)), 0) FROM DBA.ovobjitp as p WHERE p.rada = o.rada_id AND p.dokl = o.dokl_id AND p.dataid = o.data_id AND p.poradi = o.id_poradi)

 ENDIF) as celkemp

 

Položka vydané objednávky - potvrzení (BrPotvrzeni)

 p.cenap

 

Položka vydané objednávky - potvrzení služeb (BrPotvrzeniSluzeb)

 cenap

 

Pomocník pro tvorbu VO dle skladových položek - dodavatelé (BrDlgDod)

 cena

 

Pomocník pro tvorbu VO dle dodavatelů - položky objednávky (BrDlgPol)

 p.cena

 

Skladová položka na položce nabídky - poptávkové řízení (BrDlgPop)

 n.cena, round (n.cena * DBO.o_getkurz (isnull (n.menajina, h.mena), n.platiod), 2) as _cenakc

 

Skladová položka na položce nabídky - vydané objednávky (BrDlgVO)

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

 

Položka přijaté objednávky - vydané objednávky (BrDlgVydObj)

 i.cena, i.mnoz * i.cena as celkem,
 (SELECT sum (ISNULL (p.mnozp, 0) * ISNULL (p.cenap, 0)) FROM DBA.ovobjitp as p WHERE p.rada = i.rada_id AND p.dokl = i.dokl_id AND p.dataid = i.data_id AND p.poradi = i.id_poradi) as celkemp

 

Položka příjemky - vydané objednávky (BrDlgVydObj)

 

 i.cena, i.mnoz * i.cena as celkem,

 (SELECT sum (ISNULL (p.mnozp, 0) * ISNULL (p.cenap, 0)) FROM DBA.ovobjitp as p WHERE p.rada = i.rada_id AND p.dokl = i.dokl_id AND p.dataid = i.data_id AND p.poradi = i.id_poradi) as celkemp

 

Souhrnné informace o skladové položce - poptávkové řízení (BrDlgPop)

 

 n.cena, round (n.cena * DBO.o_getkurz (isnull (n.menajina, h.mena), n.platiod), 2) as _cenakc

 

Souhrnné informace o skladové položce - vydané objednávky (BrDlgVO)

 

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

 

 

Související témata

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

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

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