Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

RussianSpell.GetSumRub Преобразование этой кодовой таблицы не поддерживается : Супермаг Плюс (Супермаг 2000)

19.04.2024 12:35


19.08.2008 17:43
Aragorn
 
Добрый день!

Пытаюсь править печатную форму nacl_inout
Внес незначительные изменения (печать номера накладной из другого поля)
После этого отчет перестал генерироваться (даже когда я закомментил свои изменения). Причем ошибку стал вызывать не измененный мною триггер,
а процедура
function CF_ITOGO_RUB_STRINGFormula return CHAR is
s VARCHAR(20);
begin
if (:P_DOC_TYPE='WO') then s := 'Èòîãî îòïóùåíî íà: ';
elsif (:P_DOC_TYPE='WI' or :P_DOC_TYPE='CH') then s := 'Èòîãî: ';
end if;
return s || supermag.Russianspell.GetSumRub(:CS_ITOGO_RUB,0,0);
end;
в строке с Russianspell.GetSumRub
Возникающая ошибка:
ORA-12703:Преобразование этой кодовой таблицы не поддерживается

С чем это может быть связано?
20.08.2008 07:11
kadr
 
вот что говорит сам оракель
Цитата:
oerr ora 12703
12703, 00000, "this character set conversion is not supported"
// *Cause: The requested conversion between two character sets in the CONVERT
// function is not implemented
// *Action:
Меня вот честно смущает иёрики в твоём сообщении вместо русского языка
20.08.2008 07:13
akonev
 
я так понимаю, с конфигурацией оракла на той машине/базе, где экспериментируешь. нет на ней какого-то из набора символов.

встречные вопросы:
если исходную rep-ку печатной формы подложить, ошибка сохраняется?
а если на рабочую базу прицепить исправленную (только на какой-нить экзотический режим печати накладной, не используемый в текущей работе)?

и что там за кракозябры вместо русского? может, перекодировал что-то невзначай во время правки и на это ругается?
default_nls какой на базе? а на машине, где правил?
20.08.2008 10:00
Aragorn
 
если подложить исходную rep-ку, ошибки нет
если я просто её перекомпилирую, то появляется ошибка
крякозябры в моем сообщении здесь ни причем,
когда я поменял код с
return s || supermag.Russianspell.GetSumRub(:CS_ITOGO_RUB,0,0);
на
return supermag.Russianspell.GetSumRub(:CS_ITOGO_RUB,0,0);
ошибка не исчезла, а если оставлял
return s
то ошибка исчезала и выводила русскими буквами "Итого"
(крякозябр в коде не было, это сюда так скопировалось)

тупой вопрос:
как посмотреть default_nls? :)
20.08.2008 10:21
Aragorn
 
Если речь про
HKEY_LOCAL_MACHINE
SOFTWARE
ORACLE
NLS_LANG,
то
RUSSIAN_CIS.CL8MSWIN1251
и на сервере, и у меня
20.08.2008 10:29
kadr
 
а просто в sql+ вот это отработать supermag.Russianspell.GetSumRub(:CS_ITOGO_RUB,0,0)
нормально возвращает? не даёт ошибок?
Раз идёт работа с числами, то возможно имеет значение разделитель дробной части
20.08.2008 10:38
Aragorn
 
select supermag.RussianSpell.GetSumRub('1,1',0,0) from SUPERMAG.RUSSIANSPELL.GETSUMRUB('1,1',0,0)
----------------------------------------------------------------------------------------------------
1 руб 10 коп
21.08.2008 03:21
isi
 
Цитата:
Aragorn select supermag.RussianSpell.GetSumRub('1,1',0,0) from SUPERMAG.RUSSIANSPELL.GETSUMRUB('1,1',0,0)
----------------------------------------------------------------------------------------------------
1 руб 10 коп

это не может работать, может так:
select supermag.RussianSpell.GetSumRub('1,1',0,0) from dual

в вот с разделителями действительно может быть проблема, выстави принудительно в отчете NLS_***

Да и ещё заметь что у тебя :CS_ITOGO_RUB должен быть текстовым а не числом
21.08.2008 09:42
Aragorn
 
Цитата:
isi это не может работать, может так:
select supermag.RussianSpell.GetSumRub('1,1',0,0) from dual

в вот с разделителями действительно может быть проблема, выстави принудительно в отчете NLS_***

Да и ещё заметь что у тебя :CS_ITOGO_RUB должен быть текстовым а не числом
да, что я то как-то с глюком скопипастил из sql+ :)
запускал именно from dual
27.08.2008 11:03
YuraZ
 
С трудом уже помню, но вроде я сталкивался с подобной проблемой. Попробуй вместо
return supermag.Russianspell.GetSumRub(:CS_ITOGO_RUB,0,0) ;
напиши
return '' || supermag.Russianspell.GetSumRub(:CS_ITOGO_RUB,0,0) ;
Часовой пояс GMT +3, время: 12:35.

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