Форум OlegON > Ресурсы OlegON > Вопросы сервера > Архив > УКМ-2

скидка на мелочь на УКМ2 ? : УКМ-2

26.04.2024 16:18


20.09.2010 19:11
Tushkanchik
 
Да и дисюльки пора убрать, и вообще дефолт скоро :)
по теме скидки на мелочь можете прочесть в теме
проблемы новых билдов УКМ2 - Страница 2 -
но я не пробовал, кто протестит буду очень рад :)
10.12.2010 23:07
Stels
 
Попробовали поработать как на писано тут:
Цитата:
Tushkanchik Начиная с версии 2.459B_94E33A Реализована новая схема
округления («размазывание» дельты на позиции чека пропорционально их весу в общей сумме).Для того, чтобы включить новый функционал по
округлению необходимо в таблице CF_INI.DB в поле _RoundBase вбить служебную строку: <база>; 2 где <база> - значение точности округления (например, 0.01=1 коп, 0.05=5 коп, 0.10=10 коп, 1.00=1 руб. и т.д.) в чеке "округленная" сумма будет представлена как Доп. Скидка.
--------
Установил 'с нуля' дистриб Version 2.461Build AACB35
_FRFREELINE=1
_RoundBase=0,1;2
И всё вроде бы было хорошо: мелочь откидывается, в чеке указывается.
Закрыли смену вечером.
А утром смотрю - данных в Супермаге нет. (версия СМ 1.024.6 SP2)
в виндовом журнале ошибка:
Код:
В работе кассового модуля произошел сбой. Сообщения об ошибках см. ниже. 
Запись 1. Код=80004005h (0) [SMUKMD~1]:
Ошибка при попытке импорта записи из таблицы CASHDISC.
 Ключ записи ShopIndex=10,CashNumber=17,ZNumber=21,CheckNumber=1,ID=3,DiscountIndex=11".
 
Запись 2. Код=80004005h (2291) [Microsoft OLE DB Provider for Oracle]:
ORA-02291: нарушено ограничение целостности (SUPERMAG.SMCASHDISC_DISCKIND) - исходный ключ не найден

 
Запись 3. Код=80004005h (0) [SmLibaryBase trace]:
insert into Supermag.SMCASHDISC(LocID,DeskNum,ZNum,CheckNum,Item,DiscKind,Percent,DiscSum)
values(10,17,21,1,3,11,TO_NUMBER('0','9','NLS_NUMERIC_CHARACTERS='','''),TO_NUMBER('0,01','9D99','NLS_NUMERIC_CHARACTERS='','''))
 %4 %5 %6 %7 %8
полазив по CASHDISC выясняю, что DiscountIndex=11 ставится как раз у тех позиций, по которым размазывается скидка,
т.е. DiscountProc=0 и DiscountRub=0.01 или как там получится ...

полазив по CASHDISC старой версии программы выясняю, что там DiscountIndex=4, причём всегда. И процент скидки не нулевой.

не могу понять где посмотреть чего не хватает :(
а не может он найти, похоже, DiscountIndex=11 ....

Ну и ещё вариант, что версия СМ у нас старовата и в новых версиях что-то меняли, для того чтобы из новых версий УКМ2 выгрузка корректно забиралась..

Помогите советом, что делать как лечится?

P.S. ладно ещё хватило ума только на 1 кассе для обкатки поставить ...
11.12.2010 14:08
akonev
 
Цитата:
Stels не могу понять где посмотреть чего не хватает :(
а не может он найти, похоже, DiscountIndex=11 ....
...
совершенно справедливо. он ищет в справочнике видов скидок SMDiscKind запись с id=11.

не помню напрочь, есть ли к этому справочнику интерфейс в супермаге, но даже если нет, то добавить одну запись несложно.

если будут с этим затруднения - сигналь еще раз, тебе быстренько запросик породят. ну может только до понедельника подождать придется, пока народ к базам доберется.
11.12.2010 20:44
Stels
 
вот что есть в базе
напомню СМ 1.024.6 SP2
Код:
SQL> select * from SMDiscKind;

        ID
----------
TITLE
------------------------------------------------------------------------------
         0
скидка по количеству товара

         1
неавтоматическая скидка на позицию покупки

         2
скидка (наценка) по сумме и времени покупки


        ID
----------
TITLE
------------------------------------------------------------------------------
         3
неавтоматическая скидка на всю покупку

         4
персональная скидка

         6
дополнительная цена как скидка


        ID
----------
TITLE
------------------------------------------------------------------------------
         7
скидка на товар или группу товаров

         8
скидка на штриховой код

         9
скидка, предоставленная платежной системой


9 строк выбрано.
явно 11 типа нету :connie_testwall:
Вопрос к гуру:
Как и что добавить ?
13.12.2010 07:54
Mtirt
 
Код:
insert into SMDiscKind (ID, Title)
values (11, 'скидка на мелочь')
13.12.2010 09:49
Stels
 
Спасибо. :yes3:
Всё заработало как надо.
13.12.2010 10:02
Mtirt
 
Только надо думать, что делать при обновлении Супермага.
В каком-то из следующих релизов эта запись добавляется...
13.12.2010 10:26
Stels
 
может на время апдейта поменять id 11 на что-нить другое? Например, 999
а потом обратно.
прокатит? или там завязки из других таблиц останутся и не дадут переименовать?
вообще это возможно?
13.12.2010 10:29
Mtirt
 
Да может быть, что я зря волнуюсь.
При обновлении Супермаг ругнется, что запись существует, да продолжит обновление.
13.12.2010 10:31
akonev
 
это не нужно. просто надо знать, что после обновления необходимо проверить этот справочник. запись может сохраниться, может пропасть, смотря как скрипты генератора прописаны.
но даже если забудете - в первый же день после обновления снова получите ту же ошибку, сразу вспомните и снова добавите запись.
Часовой пояс GMT +3, время: 16:18.

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