[ОТВЕТИТЬ]
Опции темы
12.12.2013 13:14  
mighty
Цитата:
Сообщение от OlegON
Извини, но я против батников, отключающих раз в 5 минут триггеры на таблице.
Точно! ))) не подумал. Тогда второй вариант )))
Создать триггер:
Код:
create or replace trigger "SUPERMAG"."SLARTSCALEMAPIUMIGHTY" 
before insert or update on SLArtScaleMap
for each row
begin
  if :new.plu!=ltrim(:new.article,'0')
   then :new.plu!=ltrim(:new.article,'0');
  end if;
end;
Но перед этим все равно надо же все плу переделать, запустив батник один разочек.
 
12.12.2013 14:37  
mighty
Извините - ошибка копипаста. Правильно триггер будет выглядеть так:
Код:
create or replace trigger "SUPERMAG"."SLARTSCALEMAPIUMIGHTY" 
before insert or update on SLArtScaleMap
for each row
begin
  if :new.plu!=ltrim(:new.article,'0')
   then :new.plu=ltrim(:new.article,'0');
  end if;
end;
 
"Спасибо" mighty от:
12.12.2013 15:13  
OlegON
Глаза сломал :) Только жена увидела вместо приравнивания != в первом варианте...
А я бы вообще не заморачивался сравниванием и разрешил бы менять уже проставленные. Т.е.
Код:
create or replace trigger "SUPERMAG"."SLARTSCALEMAPIUMIGHTY" 
before insert on SLArtScaleMap
for each row
begin
   :new.plu=ltrim(:new.article,'0');
end;
не проверял.
 
"Спасибо" OlegON от:
12.12.2013 15:45  
mighty
Так еще в довесок может кому понадобится.
У нас весовые ШК заводятся в ЦО, и по правилу которое удобнее всего нам.
Шаблон весового ШК в весах и кассах (Штрих-Кассир, ДЭНСИ) мы выбираем 22АААААВВВВВК
где:
22-весовой префикс
AAAAA - 5 символов артикула
ВВВВВ - 5 символов веса
К-контрольная цифра
Таким образов в штрихкоде зашит код товара, для супермага это артикул.
Поэтому был написан триггер, который формирует в ЦО СМ весовой ШК как: 22ААААА
Вот он, может кому понадобится:
Код:
create or replace trigger "SUPERMAG"."SMSTOREUNITSIUMIGHTY" 
before insert or update on SMStoreUnits
for each row
begin
  --mighty begin -- для принудительной генерации весового ШК 22+артикул дополненный до 5 символов нулями слева --
  if :new.BarCodeType=6
   then :new.BarCode:='22'||LPAD(LTRIM(:new.Article,'0'),5,'0');
  end if;
  --добавлено mighty
end;
 
"Спасибо" mighty от:
 


Опции темы



Часовой пояс GMT +3, время: 11:06.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.