[ОТВЕТИТЬ]
12.12.2013 07:31
aldemko
 
Добрый день, где то видел на форуме тему, про то как можно сделать в СМ выгрузку в весы, но что бы PLU равнялось артикулу карточки, у меня разные весы на разных отделах, но иногда товары нужно грузить и в одни весы и в другие, а если бы было по артикулу проблем не было бы.
Как это сделать или ткните пожалуйста на тему - по поиску не нашел
12.12.2013 07:48
Mtirt
 
А что мешает в PLU забить артикул?
12.12.2013 07:51
aldemko
 
каким образом ((( у меня артикул к примеру 01024 а PLU 233
а как сделать PLU 01024 не могу понять
12.12.2013 07:52
Mtirt
 
Поставить курсор на поле PLU, ввести последовательность символов 01024.
12.12.2013 07:55
aldemko
 
вручную каждый PLU код так переделывать ?(
а что бы он по умолчанию сам так делал мол PLU = Артикул никак ?(
12.12.2013 07:57
Mtirt
 
Так тебе же некоторые артикула вроде как надо было поправить?
Только те, которые в нескольких весах?
12.12.2013 07:57
aldemko
 
их больше 1000 штук
я хочу весь товар забить в весы что бы по артикулу они бились
12.12.2013 08:03
aldemko
 
или такое не возможно ? что бы по умолчанию так было а не ручками править
12.12.2013 12:53
mighty
 
Цитата:
aldemko или такое не возможно ? что бы по умолчанию так было а не ручками править
Да все возможно если голова есть...
1) создаешь BAT файл на сервере plu=article.bat
Вот его содержимое:
Код:
sqlplus supermag/ПАРОЛЬ@БАЗА @plu=article.sql
2) создаешь SQL файл на сервере plu=article.sql
Вот его содержимое:
Код:
alter table supermag.slartscalemap disable all triggers;
update supermag.slartscalemap set plu=ltrim(article,'0') where plu!=ltrim(article,'0');
commit;
alter table supermag.slartscalemap enable all triggers;
3) Добавляешь в стандартный виндовый шедуллер сервера задание на выполнение файла plu=article.bat через каждые 5 минут.

Вот и все.
12.12.2013 13:02
OlegON
 
Извини, но я против батников, отключающих раз в 5 минут триггеры на таблице. Скажем так - категорически против.
Если делать по уму - триггером. Либо этот батник пускать, когда в базе никого нет.
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;
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;
не проверял.
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;
Опции темы


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

 

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