Автоматическое проставление штрихкода из предыдущих партий в активном документе в менеджере при вставке новой записи — различия между версиями

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
 
(не показана одна промежуточная версия ещё одного участника)
Строка 2: Строка 2:
  
 
<pre>
 
<pre>
--Если указано наименование, но не указан ШК изготовителя - ищем его в партиях и подставляем по умолчанию  
+
--Если указано наименование, но не указан ШК изготовителя - ищем его в товарах и подставляем по умолчанию  
 
if (new.name_id is not null and (new.bcode_izg is null or Trim(new.bcode_izg) = '' or Trim(new.bcode_izg) = '0' )
 
if (new.name_id is not null and (new.bcode_izg is null or Trim(new.bcode_izg) = '' or Trim(new.bcode_izg) = '0' )
     and exists(select first 1 id from docs where doc_type in (1,2,20) and id = new.doc_id)) then
+
     and exists(select first 1 id from docs where doc_type in (1,2,20,40) and id = new.doc_id)) then
 
  select first 1 w.barcode from wares w where w.name_id = new.name_id and w.barcode is not null and Trim(w.barcode) <> '' and Trim(w.barcode) <> '0' into new.bcode_izg;
 
  select first 1 w.barcode from wares w where w.name_id = new.name_id and w.barcode is not null and Trim(w.barcode) <> '' and Trim(w.barcode) <> '0' into new.bcode_izg;
 
</pre>
 
</pre>

Текущая версия на 15:25, 29 апреля 2016

В конец триггера DOC_DETAIL_ACTIVE_BI добавить

--Если указано наименование, но не указан ШК изготовителя - ищем его в товарах и подставляем по умолчанию 
if (new.name_id is not null and (new.bcode_izg is null or Trim(new.bcode_izg) = '' or Trim(new.bcode_izg) = '0' )
     and exists(select first 1 id from docs where doc_type in (1,2,20,40) and id = new.doc_id)) then
 select first 1 w.barcode from wares w where w.name_id = new.name_id and w.barcode is not null and Trim(w.barcode) <> '' and Trim(w.barcode) <> '0' into new.bcode_izg;