<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.standart-n.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.standart-n.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%96%D0%9D%D0%92%D0%9B%D0%A1_%28%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B2_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B5%29</id>
		<title>Проверка на ЖНВЛС (ошибка в процедуре) - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.standart-n.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%96%D0%9D%D0%92%D0%9B%D0%A1_%28%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B2_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B5%29"/>
		<link rel="alternate" type="text/html" href="http://wiki.standart-n.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%96%D0%9D%D0%92%D0%9B%D0%A1_(%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B2_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B5)&amp;action=history"/>
		<updated>2026-04-11T14:31:59Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>http://wiki.standart-n.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%96%D0%9D%D0%92%D0%9B%D0%A1_(%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B2_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B5)&amp;diff=4518&amp;oldid=prev</id>
		<title>Agk: Новая страница: «==Ошибка==  При запуске аналитического отчета по проверке ЖНВЛС выходит ошибка на PR_GNVLSCHECK,…»</title>
		<link rel="alternate" type="text/html" href="http://wiki.standart-n.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%96%D0%9D%D0%92%D0%9B%D0%A1_(%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B2_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B5)&amp;diff=4518&amp;oldid=prev"/>
				<updated>2016-08-05T11:01:50Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «==Ошибка==  При запуске аналитического отчета по проверке ЖНВЛС выходит ошибка на PR_GNVLSCHECK,…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Ошибка==&lt;br /&gt;
 При запуске аналитического отчета по проверке ЖНВЛС выходит ошибка на PR_GNVLSCHECK, &lt;br /&gt;
 а при попытке её скомпилировать сообщение&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
too many Contexts of Relation/Views. Maximum allowed is 255&lt;br /&gt;
Error while parsing procedure PR_GNVLSCHECK's BLR&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Выполните скрипт &lt;br /&gt;
&lt;br /&gt;
==Скрипт==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
SET TERM ^ ;&lt;br /&gt;
&lt;br /&gt;
create or alter procedure PR_GNVLSCHECK_SOURCE0 (&lt;br /&gt;
    ANALYTIC_DOC_ID DM_ID,&lt;br /&gt;
    PERIODBEG DM_DATE,&lt;br /&gt;
    PERIODEND DM_DATE,&lt;br /&gt;
    NAC1 DM_DOUBLE,&lt;br /&gt;
    NAC2 DM_DOUBLE,&lt;br /&gt;
    NAC3 DM_DOUBLE,&lt;br /&gt;
    NAC4 DM_DOUBLE)&lt;br /&gt;
as&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS(&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
      PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Превышение максимальной розничной цены',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      gb.price,&lt;br /&gt;
      w.seria,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
&lt;br /&gt;
     from warebase w left join out$gnvls_barcode gb on ((w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode))&lt;br /&gt;
     and abs(gb.price_r-w.price_r)&amp;lt;=0.01&lt;br /&gt;
      where (w.quant&amp;gt;0 and trim(gb.barcode)&amp;lt;&amp;gt;'' and gb.barcode is not null and (w.price&amp;gt;=gb.price)) group by 'Превышение максимальной розничной цены',w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price, gb.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
   insert into analytic_GNVLS(&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
      PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не найден в реестре ЖНВЛС или не верная цена реестра',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
&lt;br /&gt;
     from warebase w left join out$gnvls_barcode gb on ((w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode))&lt;br /&gt;
     and abs(gb.price_r-w.price_r)&amp;lt;=0.01&lt;br /&gt;
      where&lt;br /&gt;
      exists(select id from group_detail where&lt;br /&gt;
       grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)  and&lt;br /&gt;
        w.quant&amp;gt;0 and  gb.barcode is null  group by 'Не найден в реестре ЖНВЛС или не верная цена реестра'&lt;br /&gt;
      ,w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price, gb.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Превышение наценки',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --iif(w.price_z&amp;gt;w.price_r*1.1 and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z)*iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1))/100+w.price_o,&lt;br /&gt;
&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
     from vw_warebase w&lt;br /&gt;
      where&lt;br /&gt;
      (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1  and grouptable_id=w.name_id))&lt;br /&gt;
      and w.price_r&amp;lt;&amp;gt;0 and w.price_z&amp;lt;&amp;gt;0 and w.price_z&amp;gt;0 and w.quant&amp;gt;0 and&lt;br /&gt;
      ( ( not (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=47 and grouptable_id=w.name_id)) and&lt;br /&gt;
          ( 100*(w.price-w.Price_O)/iif(w.price_z*100/110&amp;gt;w.price_r and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z) &amp;gt;iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1))&lt;br /&gt;
           or&lt;br /&gt;
            w.nac &amp;gt;iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1)) --23.04.2015 А.К. по просьбе Наташи&lt;br /&gt;
          )&lt;br /&gt;
        )&lt;br /&gt;
      or&lt;br /&gt;
        ( (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and&lt;br /&gt;
          (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=47 and grouptable_id=w.name_id)) and w.price_r&amp;lt;&amp;gt;0 and w.price_z&amp;lt;&amp;gt;0 and&lt;br /&gt;
          100*(w.price-w.Price_O)/iif(w.price_z*100/110&amp;gt;w.price_r and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z) &amp;gt; :nac4&lt;br /&gt;
       )&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
          PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не указана цена завода',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from warebase w&lt;br /&gt;
--      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=3 and grouptable_id=w.name_id)) and (w.price_z=0  or (w.price_z is null) ) and&lt;br /&gt;
      where (exists(select id from group_detail where&lt;br /&gt;
       grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and ((w.price_z between -0.000001 and 0.000001)  or (w.price_z is null) ) and&lt;br /&gt;
      w.quant&amp;gt;0 ;&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не указана цена рестра',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
       w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from warebase w&lt;br /&gt;
--      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=3 and grouptable_id=w.name_id)) and (w.price_r=0  or (w.price_r is null) ) and&lt;br /&gt;
      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and ((w.price_r between -0.00001 and 0.000001)  or (w.price_r is null) ) and&lt;br /&gt;
      w.quant&amp;gt;0 ;&lt;br /&gt;
&lt;br /&gt;
   insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Укажите группу ЖНВЛС',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from warebase w  left join out$gnvls_barcode gb on (w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode)&lt;br /&gt;
      where (not exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and (trim(gb.barcode)&amp;lt;&amp;gt;'' and gb.barcode is not null) and&lt;br /&gt;
      w.quant&amp;gt;0 group by 'Укажите группу ЖНВЛС',w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
end^&lt;br /&gt;
&lt;br /&gt;
SET TERM ; ^&lt;br /&gt;
&lt;br /&gt;
/* Following GRANT statetements are generated automatically */&lt;br /&gt;
&lt;br /&gt;
GRANT INSERT ON ANALYTIC_GNVLS TO PROCEDURE PR_GNVLSCHECK_SOURCE0;&lt;br /&gt;
GRANT SELECT ON WAREBASE TO PROCEDURE PR_GNVLSCHECK_SOURCE0;&lt;br /&gt;
GRANT SELECT ON OUT$GNVLS_BARCODE TO PROCEDURE PR_GNVLSCHECK_SOURCE0;&lt;br /&gt;
GRANT SELECT ON GROUP_DETAIL TO PROCEDURE PR_GNVLSCHECK_SOURCE0;&lt;br /&gt;
GRANT SELECT ON VW_WAREBASE TO PROCEDURE PR_GNVLSCHECK_SOURCE0;&lt;br /&gt;
&lt;br /&gt;
/* Existing privileges on this procedure */&lt;br /&gt;
&lt;br /&gt;
GRANT EXECUTE ON PROCEDURE PR_GNVLSCHECK_SOURCE0 TO SYSDBA;&lt;br /&gt;
&lt;br /&gt;
SET TERM ^ ;&lt;br /&gt;
&lt;br /&gt;
create or alter procedure PR_GNVLSCHECK_SOURCE1 (&lt;br /&gt;
    ANALYTIC_DOC_ID DM_ID,&lt;br /&gt;
    PERIODBEG DM_DATE,&lt;br /&gt;
    PERIODEND DM_DATE,&lt;br /&gt;
    NAC1 DM_DOUBLE,&lt;br /&gt;
    NAC2 DM_DOUBLE,&lt;br /&gt;
    NAC3 DM_DOUBLE,&lt;br /&gt;
    NAC4 DM_DOUBLE)&lt;br /&gt;
as&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS(&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
      PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Превышение максимальной розничной цены',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      --w.price,&lt;br /&gt;
      gb.price,&lt;br /&gt;
      w.seria&lt;br /&gt;
      ,w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
     from vw_doc_detail w left join docs d on d.id=w.doc_id  left join doc_types dt on dt.id=d.doc_type left join out$gnvls_barcode gb on ((w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode))&lt;br /&gt;
     and abs(gb.price_r-w.price_r)&amp;lt;=0.01&lt;br /&gt;
      where w.doc_commitdate between :periodbeg and :periodend and dt.base_type=1 and&lt;br /&gt;
       (trim(gb.barcode)&amp;lt;&amp;gt;'' and gb.barcode is not null and (w.price&amp;gt;=gb.price)) group by 'Превышение максимальной розничной цены',w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price, gb.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   insert into analytic_GNVLS(&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
      PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не найден в реестре ЖНВЛС или не верная цена реестра',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria,&lt;br /&gt;
        w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
     from vw_doc_detail w left join docs d on d.id=w.doc_id  left join doc_types dt on dt.id=d.doc_type left join out$gnvls_barcode gb on ((w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode))&lt;br /&gt;
     and abs(gb.price_r-w.price_r)&amp;lt;=0.01&lt;br /&gt;
      where w.doc_commitdate between :periodbeg and :periodend and dt.base_type = 1  and&lt;br /&gt;
      exists(select id from group_detail where&lt;br /&gt;
       grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)  and&lt;br /&gt;
       gb.barcode is null  group by 'Не найден в реестре ЖНВЛС или не верная цена реестра'&lt;br /&gt;
      ,w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price, gb.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Превышение наценки',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --iif(w.price_z&amp;gt;w.price_r*1.1 and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z)*iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1))/100+w.price_o,&lt;br /&gt;
&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id left join doc_types dt on dt.id=d.doc_type&lt;br /&gt;
      where&lt;br /&gt;
      (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1  and grouptable_id=w.name_id))&lt;br /&gt;
      and w.price_r&amp;lt;&amp;gt;0 and w.price_z&amp;lt;&amp;gt;0 and w.price_z&amp;gt;0 and w.quant&amp;gt;0 and&lt;br /&gt;
      ( ( not (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=47 and grouptable_id=w.name_id)) and&lt;br /&gt;
          100*(w.price-w.Price_O)/iif(w.price_z*100/110&amp;gt;w.price_r and&lt;br /&gt;
          w.price_r&amp;gt;0,w.price_r*1.1,w.price_z) &amp;gt;iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1))&lt;br /&gt;
        )&lt;br /&gt;
      or&lt;br /&gt;
        ( (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and&lt;br /&gt;
          (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=47 and grouptable_id=w.name_id)) and w.price_r&amp;lt;&amp;gt;0 and w.price_z&amp;lt;&amp;gt;0 and&lt;br /&gt;
          100*(w.price-w.Price_O)/iif(w.price_z*100/110&amp;gt;w.price_r and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z) &amp;gt; :nac4&lt;br /&gt;
       ) ) and dt.base_type=1 and w.doc_commitdate between :periodbeg and :periodend;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
            PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не указана цена завода',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id left join doc_types dt on dt.id=d.doc_type&lt;br /&gt;
--      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=3 and grouptable_id=w.name_id)) and (w.price_z=0  or (w.price_z is null) ) and&lt;br /&gt;
      where (exists(select id from group_detail where&lt;br /&gt;
       grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and ((w.price_z between -0.000001 and 0.000001)  or (w.price_z is null) ) and&lt;br /&gt;
      w.doc_commitdate between :periodbeg and :periodend and dt.base_type=1;&lt;br /&gt;
&lt;br /&gt;
     insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не указана цена рестра',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id left join doc_types dt on dt.id=d.doc_type&lt;br /&gt;
--      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=3 and grouptable_id=w.name_id)) and (w.price_r=0  or (w.price_r is null) ) and&lt;br /&gt;
      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and ((w.price_r between -0.00001 and 0.000001)  or (w.price_r is null) ) and&lt;br /&gt;
      w.doc_commitdate between :periodbeg and :periodend and dt.base_type=1;&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
          PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Укажите группу ЖНВЛС',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id left join doc_types dt on dt.id=d.doc_type&lt;br /&gt;
      left join out$gnvls_barcode gb on (w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode)&lt;br /&gt;
      where (not exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and (trim(gb.barcode)&amp;lt;&amp;gt;'' and gb.barcode is not null) and&lt;br /&gt;
      w.doc_commitdate between :periodbeg and :periodend and dt.base_type =1&lt;br /&gt;
       group by 'Укажите группу ЖНВЛС',w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
end^&lt;br /&gt;
&lt;br /&gt;
SET TERM ; ^&lt;br /&gt;
&lt;br /&gt;
/* Following GRANT statetements are generated automatically */&lt;br /&gt;
&lt;br /&gt;
GRANT INSERT ON ANALYTIC_GNVLS TO PROCEDURE PR_GNVLSCHECK_SOURCE1;&lt;br /&gt;
GRANT SELECT ON VW_DOC_DETAIL TO PROCEDURE PR_GNVLSCHECK_SOURCE1;&lt;br /&gt;
GRANT SELECT ON DOCS TO PROCEDURE PR_GNVLSCHECK_SOURCE1;&lt;br /&gt;
GRANT SELECT ON DOC_TYPES TO PROCEDURE PR_GNVLSCHECK_SOURCE1;&lt;br /&gt;
GRANT SELECT ON OUT$GNVLS_BARCODE TO PROCEDURE PR_GNVLSCHECK_SOURCE1;&lt;br /&gt;
GRANT SELECT ON GROUP_DETAIL TO PROCEDURE PR_GNVLSCHECK_SOURCE1;&lt;br /&gt;
&lt;br /&gt;
/* Existing privileges on this procedure */&lt;br /&gt;
&lt;br /&gt;
GRANT EXECUTE ON PROCEDURE PR_GNVLSCHECK_SOURCE1 TO SYSDBA;&lt;br /&gt;
&lt;br /&gt;
SET TERM ^ ;&lt;br /&gt;
&lt;br /&gt;
create or alter procedure PR_GNVLSCHECK_SOURCE2 (&lt;br /&gt;
    ANALYTIC_DOC_ID DM_ID,&lt;br /&gt;
    PERIODBEG DM_DATE,&lt;br /&gt;
    PERIODEND DM_DATE,&lt;br /&gt;
    NAC1 DM_DOUBLE,&lt;br /&gt;
    NAC2 DM_DOUBLE,&lt;br /&gt;
    NAC3 DM_DOUBLE,&lt;br /&gt;
    NAC4 DM_DOUBLE)&lt;br /&gt;
as&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS(&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
      PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Превышение максимальной розничной цены',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      gb.price,&lt;br /&gt;
      w.seria,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
&lt;br /&gt;
     from vw_doc_detail w left join docs d on d.id=w.doc_id left join out$gnvls_barcode gb on ((w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode))&lt;br /&gt;
     and abs(gb.price_r-w.price_r)&amp;lt;=0.01&lt;br /&gt;
      where w.doc_commitdate between :periodbeg and :periodend and d.doc_type in (6,11,39) and&lt;br /&gt;
       (trim(gb.barcode)&amp;lt;&amp;gt;'' and gb.barcode is not null and (w.price&amp;gt;=gb.price)) group by 'Превышение максимальной розничной цены',w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price, gb.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   insert into analytic_GNVLS(&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не найден в реестре ЖНВЛС или не верная цена реестра',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria,&lt;br /&gt;
       w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
     from vw_doc_detail w left join docs d on d.id=w.doc_id  left join out$gnvls_barcode gb on ((w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode))&lt;br /&gt;
     and abs(gb.price_r-w.price_r)&amp;lt;=0.01&lt;br /&gt;
      where w.doc_commitdate between :periodbeg and :periodend and d.doc_type in (6,11,39) and&lt;br /&gt;
      exists(select id from group_detail where&lt;br /&gt;
       grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)  and&lt;br /&gt;
       gb.barcode is null  group by 'Не найден в реестре ЖНВЛС или не верная цена реестра'&lt;br /&gt;
      ,w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price, gb.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
            PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Превышение наценки',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --iif(w.price_z&amp;gt;w.price_r*1.1 and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z)*iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1))/100+w.price_o,&lt;br /&gt;
       w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id&lt;br /&gt;
      where&lt;br /&gt;
      (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1  and grouptable_id=w.name_id))&lt;br /&gt;
      and w.price_r&amp;lt;&amp;gt;0 and w.price_z&amp;lt;&amp;gt;0 and w.price_z&amp;gt;0 and w.quant&amp;gt;0 and&lt;br /&gt;
      ( ( not (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=47 and grouptable_id=w.name_id)) and&lt;br /&gt;
          100*(w.price-w.Price_O)/iif(w.price_z*100/110&amp;gt;w.price_r and&lt;br /&gt;
          w.price_r&amp;gt;0,w.price_r*1.1,w.price_z) &amp;gt;iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1))&lt;br /&gt;
        )&lt;br /&gt;
      or&lt;br /&gt;
        ( (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and&lt;br /&gt;
          (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=47 and grouptable_id=w.name_id)) and w.price_r&amp;lt;&amp;gt;0 and w.price_z&amp;lt;&amp;gt;0 and&lt;br /&gt;
          100*(w.price-w.Price_O)/iif(w.price_z*100/110&amp;gt;w.price_r and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z) &amp;gt; :nac4&lt;br /&gt;
       ) ) and d.doc_type in (6,11,39) and w.doc_commitdate between :periodbeg and :periodend;&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
          PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не указана цена завода',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
       w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id&lt;br /&gt;
--      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=3 and grouptable_id=w.name_id)) and (w.price_z=0  or (w.price_z is null) ) and&lt;br /&gt;
      where (exists(select id from group_detail where&lt;br /&gt;
       grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and ((w.price_z between -0.000001 and 0.000001)  or (w.price_z is null) ) and&lt;br /&gt;
      w.doc_commitdate between :periodbeg and :periodend and d.doc_type in (6,11,39);&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Не указана цена рестра',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id&lt;br /&gt;
--      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=3 and grouptable_id=w.name_id)) and (w.price_r=0  or (w.price_r is null) ) and&lt;br /&gt;
      where (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and ((w.price_r between -0.00001 and 0.000001)  or (w.price_r is null) ) and&lt;br /&gt;
       w.doc_commitdate between :periodbeg and :periodend and d.doc_type in (6,11,39);&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Превышение наценки',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --iif(w.price_z&amp;gt;w.price_r*1.1 and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z)*iif(w.price_z*100/110&amp;gt;500,:nac3,iif(w.price_z*100/110&amp;gt;50,:nac2,:nac1))/100+w.price_o,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id&lt;br /&gt;
      where&lt;br /&gt;
      (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1  and grouptable_id=w.name_id)) and&lt;br /&gt;
      (exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=47 and grouptable_id=w.name_id)) and w.price_r&amp;lt;&amp;gt;0 and w.price_z&amp;lt;&amp;gt;0 and&lt;br /&gt;
      100*(w.price-w.Price_O)/iif(w.price_z*100/110&amp;gt;w.price_r and w.price_r&amp;gt;0,w.price_r*1.1,w.price_z) &amp;gt;:nac4 and&lt;br /&gt;
      w.price_z&amp;gt;0 and d.doc_type in (6,11,39) and w.doc_commitdate between :periodbeg and :periodend;&lt;br /&gt;
&lt;br /&gt;
    insert into analytic_GNVLS (&lt;br /&gt;
      ANALYTIC_DOC_ID,&lt;br /&gt;
      VID,&lt;br /&gt;
      NAME_ID,&lt;br /&gt;
      SNAME,&lt;br /&gt;
      IZG_ID,&lt;br /&gt;
      SIZG,&lt;br /&gt;
      COUNTRY_ID,&lt;br /&gt;
      SCOUNTRY,&lt;br /&gt;
      PRICE,&lt;br /&gt;
      --MAXPRICE,&lt;br /&gt;
      SERIA,&lt;br /&gt;
           PART_ID,&lt;br /&gt;
      Price_Z,&lt;br /&gt;
      Price_R,&lt;br /&gt;
      NAC)&lt;br /&gt;
&lt;br /&gt;
    select&lt;br /&gt;
      :analytic_doc_id,&lt;br /&gt;
      'Укажите группу ЖНВЛС',&lt;br /&gt;
      w.name_id,&lt;br /&gt;
      w.sname,&lt;br /&gt;
      w.izg_id,&lt;br /&gt;
      w.sizg,&lt;br /&gt;
      w.country_id,&lt;br /&gt;
      w.scountry,&lt;br /&gt;
      w.price,&lt;br /&gt;
      --0,&lt;br /&gt;
      w.seria ,&lt;br /&gt;
      w.part_id,&lt;br /&gt;
      w.price_z,&lt;br /&gt;
      w.price_r,&lt;br /&gt;
      w.nac&lt;br /&gt;
      from vw_doc_detail w left join docs d on d.id=w.doc_id&lt;br /&gt;
      left join out$gnvls_barcode gb on (w.bcode_izg = gb.barcode)or(w.barcode = gb.barcode)&lt;br /&gt;
      where (not exists(select id from group_detail where grouptable='PARTS.NAME_ID' and group_id=1 and grouptable_id=w.name_id)) and (trim(gb.barcode)&amp;lt;&amp;gt;'' and gb.barcode is not null) and&lt;br /&gt;
      w.doc_commitdate between :periodbeg and :periodend and d.doc_type in (6,11,39)&lt;br /&gt;
       group by 'Укажите группу ЖНВЛС',w.name_id, w.sname,w.izg_id,w.sizg, w.country_id,w.scountry,w.price,w.seria,w.part_id,w.price_z,w.price_r,w.nac;&lt;br /&gt;
&lt;br /&gt;
end^&lt;br /&gt;
&lt;br /&gt;
SET TERM ; ^&lt;br /&gt;
&lt;br /&gt;
/* Following GRANT statetements are generated automatically */&lt;br /&gt;
&lt;br /&gt;
GRANT INSERT ON ANALYTIC_GNVLS TO PROCEDURE PR_GNVLSCHECK_SOURCE2;&lt;br /&gt;
GRANT SELECT ON VW_DOC_DETAIL TO PROCEDURE PR_GNVLSCHECK_SOURCE2;&lt;br /&gt;
GRANT SELECT ON DOCS TO PROCEDURE PR_GNVLSCHECK_SOURCE2;&lt;br /&gt;
GRANT SELECT ON OUT$GNVLS_BARCODE TO PROCEDURE PR_GNVLSCHECK_SOURCE2;&lt;br /&gt;
GRANT SELECT ON GROUP_DETAIL TO PROCEDURE PR_GNVLSCHECK_SOURCE2;&lt;br /&gt;
&lt;br /&gt;
/* Existing privileges on this procedure */&lt;br /&gt;
&lt;br /&gt;
GRANT EXECUTE ON PROCEDURE PR_GNVLSCHECK_SOURCE2 TO SYSDBA;&lt;br /&gt;
&lt;br /&gt;
SET TERM ^ ;&lt;br /&gt;
&lt;br /&gt;
create or alter procedure PR_GNVLSCHECK (&lt;br /&gt;
    ANALYTIC_DOC_ID DM_ID,&lt;br /&gt;
    SOURCE DM_STATUS,&lt;br /&gt;
    PERIODBEG DM_DATE,&lt;br /&gt;
    PERIODEND DM_DATE)&lt;br /&gt;
returns (&lt;br /&gt;
    VERB DM_TEXT1024)&lt;br /&gt;
as&lt;br /&gt;
declare variable PARAM_VALUE DM_DOUBLE;&lt;br /&gt;
declare variable PARAM_ID DM_TEXT;&lt;br /&gt;
declare variable NAC3 DM_DOUBLE;&lt;br /&gt;
declare variable NAC2 DM_DOUBLE;&lt;br /&gt;
declare variable NAC1 DM_DOUBLE;&lt;br /&gt;
declare variable NAC4 DM_DOUBLE;&lt;br /&gt;
begin&lt;br /&gt;
    DELETE FROM analytic_GNVLS ad where ad.analytic_doc_id in (select id from analytic_docs a where a.analytic_type=3 and CURRENT_DATE-Cast(a.insertdt as dm_date)&amp;gt;=31);&lt;br /&gt;
&lt;br /&gt;
    DELETE from analytic_docs a where a.analytic_type=3 and CURRENT_DATE-Cast(a.insertdt as dm_date)&amp;gt;=31;&lt;br /&gt;
&lt;br /&gt;
    for select param_id,Cast(REPLACE(param_value,',','.') as dm_double) as param_value from PARAMS where parent_id =-50 into :param_id, :param_value do&lt;br /&gt;
     begin&lt;br /&gt;
      if (param_id='NAC1') then nac1 = param_value;&lt;br /&gt;
      if (param_id='NAC2') then nac2 = param_value;&lt;br /&gt;
      if (param_id='NAC3') then nac3 = param_value;&lt;br /&gt;
      if (param_id='NAC4') then nac4 = param_value;&lt;br /&gt;
     end&lt;br /&gt;
&lt;br /&gt;
    if (:source=0) then&lt;br /&gt;
     execute procedure PR_GNVLSCHECK_SOURCE0( :ANALYTIC_DOC_ID, :PERIODBEG, :PERIODEND, :nac1, :nac2, :nac3, :nac4);&lt;br /&gt;
&lt;br /&gt;
    if (:source=1) then&lt;br /&gt;
     execute procedure PR_GNVLSCHECK_SOURCE1( :ANALYTIC_DOC_ID, :PERIODBEG, :PERIODEND, :nac1, :nac2, :nac3, :nac4);&lt;br /&gt;
&lt;br /&gt;
    if (:source=2) then&lt;br /&gt;
     execute procedure PR_GNVLSCHECK_SOURCE2( :ANALYTIC_DOC_ID, :PERIODBEG, :PERIODEND, :nac1, :nac2, :nac3, :nac4);&lt;br /&gt;
&lt;br /&gt;
    verb='Готово';&lt;br /&gt;
&lt;br /&gt;
     delete from  analytic_GNVLS ag where&lt;br /&gt;
         (select gd.id  from group_detail gd left join groups g on g.id=gd.group_id where&lt;br /&gt;
                gd.grouptable_id=ag.PART_ID and gd.grouptable='PARTS' and g.caption containing 'исклю') is not null;&lt;br /&gt;
   suspend;&lt;br /&gt;
end^&lt;br /&gt;
&lt;br /&gt;
SET TERM ; ^&lt;br /&gt;
&lt;br /&gt;
/* Following GRANT statetements are generated automatically */&lt;br /&gt;
&lt;br /&gt;
GRANT SELECT,DELETE ON ANALYTIC_GNVLS TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
GRANT SELECT,DELETE ON ANALYTIC_DOCS TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
GRANT SELECT ON PARAMS TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
GRANT EXECUTE ON PROCEDURE PR_GNVLSCHECK_SOURCE0 TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
GRANT EXECUTE ON PROCEDURE PR_GNVLSCHECK_SOURCE1 TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
GRANT EXECUTE ON PROCEDURE PR_GNVLSCHECK_SOURCE2 TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
GRANT SELECT ON GROUP_DETAIL TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
GRANT SELECT ON GROUPS TO PROCEDURE PR_GNVLSCHECK;&lt;br /&gt;
&lt;br /&gt;
/* Existing privileges on this procedure */&lt;br /&gt;
&lt;br /&gt;
GRANT EXECUTE ON PROCEDURE PR_GNVLSCHECK TO SYSDBA;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==теги==&lt;br /&gt;
 PR_GNVLSCHECK, проверка на, ЖНВЛС, ЖВ&lt;/div&gt;</summary>
		<author><name>Agk</name></author>	</entry>

	</feed>