Страница 1 из 1

Ошибка при обновлении с версии 9.1.4.4 на 10.0.0.13

СообщениеДобавлено: Ср Фев 07, 2018 12:00
romanello
Здравствуйте!

Оплатили лицензию на 10.1, но прямого дистрибутива найти не смог, только патч. Поэтому решил обновить сначала на 10.0.0.13 (не знаю правда правильно ли это). Однако при обновлении возникла очередная проблема:

invalid request BLR at offset 875
function DM_TEXTTOCURRENCY is not defined
module name or entrypoint could not be found
Error while parsing procedure DM_GET_COPYPARAMPOSITION's BLR

C:\Users\HARITO~1\AppData\Local\Temp\SQL\10.0\_pte.sql

ALTER PROCEDURE DM_GET_COPYPARAMPOSITION (
IDUSER INTEGER,
IDPOS INTEGER,
IDPRICE INTEGER,
ROW INTEGER)
RETURNS (
TAB VARCHAR(42),
ALTTAB VARCHAR(250),
IDNAME INTEGER,
IDEDIZM INTEGER,
BB DOUBLE PRECISION,
BB_ORIGINAL DOUBLE PRECISION)
AS
declare variable POSITIONNAME varchar(510);
declare variable POSITIONCOST VARCHAR(255);
declare variable NAMEBLOB BLOB;
declare variable NAMEBLOB1 BLOB;
declare variable POSITIONEDIZM VARCHAR(100);
declare variable SUPPLIERNAME varchar(252);
declare variable IDEDIZMGROUP integer;
declare variable ID_BLOB_GEN integer;
declare variable NDSVALUE double precision;
declare variable BWITHNDS integer;
begin
-- IDNAME = 'Наименование позиции по прайсу';
execute procedure dm_getpriceposname(ABS(:IDPOS)) returning_values :POSITIONNAME;
NAMEBLOB1 = copyvarchartoblob (substring (:POSITIONNAME from 1 for 500));

ID_BLOB_GEN = gen_id(B_GEN_TEMP, 1);
insert into B_TEMP_BLOB(ID, BLOB1) values (:ID_BLOB_GEN, :NAMEBLOB1);
select BLOB1 from B_TEMP_BLOB where ID = :ID_BLOB_GEN into :NAMEBLOB1;
delete from B_TEMP_BLOB where ID = :ID_BLOB_GEN;

execute procedure B_WRITE_NAIMENOVANIE(IDUSER, -1, null, NAMEBLOB1) returning_values :IDNAME, :NAMEBLOB;
--Обоснование
TAB = 'По прайсу'; -- CQ[12585] TAB = 'Позиция по прайсу № '||:ROW;
--Альтернативное обоснование
NDSVALUE = 0;
SUPPLIERNAME = '';
BWITHNDS = 0;
select PS.FNAME, PP.ndsvalue, PP.bwithnds from PM_PRICES PP
join PM_SUPPLIERS PS on PS.ID = PP.IDSUPPLIER
where PP.ID = :IDPRICE
into :SUPPLIERNAME, :NDSVALUE, :BWITHNDS;

-- CQ[12585] -->
-- if (STRLEN(:SUPPLIERNAME) > 200) then --Не паримся с вычислением общей длины а просто обрезаем до 200 символов
-- begin
-- SUPPLIERNAME = substring (:SUPPLIERNAME from 1 for 200)||'...';
-- end
-- CQ[12585] ALTTAB = 'Поставщик: '''||:SUPPLIERNAME||'''. Позиция по прайсу № '||:ROW;
-- ALTTAB = 'По прайсу ('||:SUPPLIERNAME||')'; -- CQ[12585]
ALTTAB = 'По прайсу'; -- csMonitoringAltTab
-- CQ[12585] <--

--Цена
for select LCKTRIMVARCHAR(substring (p.DATAIDENT from 1 for 255)) from pm_priceposareas p
join pm_areas a on a.id = p.idarea
where p.IDPOS = ABS(:IDPOS) and a.areatype = 3 into :POSITIONCOST do -- BB = 'Значение цены позиции по прайсу';
begin
if (POSITIONCOST is not null) then
begin
BB = dm_texttocurrency (POSITIONCOST);
BB_ORIGINAL = BB; -- MK CQ[11629]
if (BWITHNDS = 1) then BB = BB/(1 + NDSVALUE / 100); --CQ[7773]
BB = LROUNDN(:BB, 2);
BB_ORIGINAL = LROUNDN(:BB_ORIGINAL, 2); -- MK CQ[11629]
end
end
--Единица измерения
IDEDIZM = null;
POSITIONEDIZM = null;
--Есть ли в прайсе единица измерения заданная ручками с галочкой на разметке прайса
select UserEdIzm from PM_PRICES PP where (PP.ID = :IDPRICE) and (PP.USEREDIZMUSED <> 0)
into :POSITIONEDIZM;
if (POSITIONEDIZM is null) then
begin
select LCKTRIMVARCHAR(substring (P.DATAIDENT from 1 for 100)) from pm_priceposareas p
join pm_areas a on a.id = p.idarea
where p.IDPOS = ABS(:IDPOS) and a.areatype = 6 into :POSITIONEDIZM;
end
--поиск в B_EDIZM
execute procedure B_FIND_EDIZM(:IDUSER, :POSITIONEDIZM,'') returning_values :IDEDIZM ;
if (IDEDIZM is null) then -- не нашли - добавляем
begin
--ищем группу "Единицы измерения по прайсу" если не нашли - добавлем
execute procedure DM_ADD_EDIZMGROUP ('Единицы измерения по прайсу') returning_values :IDEDIZMGROUP;
execute procedure B_ADD_EDIZM (:IDUSER, :IDEDIZMGROUP,:POSITIONEDIZM, :POSITIONEDIZM, 1) returning_values :IDEDIZM;
end
suspend;
end

---
Поиск по pte.sql дал ссылку на post117989.html, но эта тема закрыта для меня.

Windows 10 Pro, 64 bit.

Re: Ошибка при обновлении с версии 9.1.4.4 на 10.0.0.13

СообщениеДобавлено: Ср Фев 07, 2018 14:53
Kir
Нужно обновить 9.1.4.4 до 9.1.4.4 )) На сайте скоро появится новость.

Re: Ошибка при обновлении с версии 9.1.4.4 на 10.0.0.13

СообщениеДобавлено: Ср Фев 07, 2018 17:04
Сметный тролль
Добрый день!
Свяжитесь пожалуйста с нами по телефону горячей линии 8-495-974-15-89
Поможем разобраться

Re: Ошибка при обновлении с версии 9.1.4.4 на 10.0.0.13

СообщениеДобавлено: Ср Мар 07, 2018 15:17
ermolga
romanello писал(а):Здравствуйте!


Оплатили лицензию на 10.1, но прямого дистрибутива найти не смог, только патч. Поэтому решил обновить сначала на 10.0.0.13 (не знаю правда правильно ли это). Однако при обновлении возникла очередная проблема:

Добрый день. Подскажите пожалуйста, как решили данную проблему?

Re: Ошибка при обновлении с версии 9.1.4.4 на 10.0.0.13

СообщениеДобавлено: Ср Мар 07, 2018 18:58
expert69
Все верно, сначала обновляете дистрибутивом версии 10, потом патч до 10.1

Re: Ошибка при обновлении с версии 9.1.4.4 на 10.0.0.13

СообщениеДобавлено: Пн Мар 12, 2018 9:29
Semenov
ermolga писал(а):Подскажите пожалуйста, как решили данную проблему?
Перед обновлением до версии 10.0 обновите базу патчем версии 9.1.4.4 https://ftp.smeta.ru/pub/release/smeta_ru/9.1.4.4.s3.zip