Импорт номенклатуры Table temp7_... doesn't exist

Вопросы по работе подсистемы "Администрирование" в "Дебет Плюс V12"

Импорт номенклатуры Table temp7_... doesn't exist

Сообщение netzmb » Ср мар 16, 2011 11:47 am

При попытке импорта номенклатуры с условием обновления по связке:

Изображение

вываливается ошибка:

Изображение

Вывод в консоль говорит вот что (некоторые части пропущены для сокращения этой простыни):

Код: Выделить всё
OpenTable: select * from temp1_12ebdcfe3e6 order by fnum
refresh
64672 [main] DEBUG - getRowCount
64673 [main] DEBUG - getRowCount end
104 - 512 - 0.203125
64800 [main] INFO  -
getSnap - 24: select ftxt from dpbase.com_clcl where fcod= 12
68427 [main] INFO  -
OpenTable: select fno,ftxt from dpbase.com_cl_tt where upper(flist)=  concat('DBIMPORT')
RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
Rhino runtime detected object org.debet.AlexL.DpGrid.DpGrid@3244331c of class org.debet.AlexL.DpGrid.DpGrid where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
Rhino runtime detected object org.debet.AlexL.DpGrid.DpGrid@3244331c of class org.debet.AlexL.DpGrid.DpGrid where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
RHINO USAGE WARNING: Missed Context.javaToJS() conversion:
Rhino runtime detected object org.debet.AlexL.DpGrid.DpGrid@3244331c of class org.debet.AlexL.DpGrid.DpGrid where it expected String, Number, Boolean or Scriptable instance. Please check your code for missing Context.javaToJS() call.
68454 [main] DEBUG - CREATE CLASS DpXMLDialog
68455 [main] DEBUG - START OPEN DpXMLDialog
68468 [main] DEBUG - AFTER PARSE DpXMLDialog
68599 [main] DEBUG - INTERFACE BUILDED DpXMLDialog
68599 [main] DEBUG - START RUN DpXMLDialog
DROP TABLE temp4_12ebdd03a11
70411 [main] ERROR - SQL: drop table temp4_12ebdd03a11 - Unknown table 'temp4_12ebdd03a11'
...
173966 [main] INFO  -
OpenTable: select * from temp1_12ebdcfe3e6 where fwid in (2) order by fnum
DROP TABLE temp6_12ebdd1d527
174011 [main] ERROR - SQL: drop table temp6_12ebdd1d527 - Unknown table 'temp6_12ebdd1d527'
...
175207 [main] INFO  -
getSnap - 1: select * from temp6_12ebdd1d527
175209 [main] INFO  -
OpenTable: select * from temp6_12ebdd1d527
update dpbase.MTR_CL_NMK as t  set t.FTXTS=(SELECT max(s.FULL_NAME)  from temp7_12ebdd1d527 as s  where t.FCOD=s.ID) where exists (SELECT FULL_NAME from temp7_12ebdd1d527 as s  where t.FCOD=s.ID)
176764 [main] ERROR - SQL: update dpbase.mtr_cl_nmk as t  set t.ftxts=(select max(s.full_name)  from temp7_12ebdd1d527 as s  where t.fcod=s.id) where exists (select full_name from temp7_12ebdd1d527 as s  where t.fcod=s.id) - Table 'dpadmin.temp7_12ebdd1d527' doesn't exist


более подробный лог можно увидеть по адресу: http://pastebin.com/7VwKfxSg

В принципе, обычный импорт без условий работает без проблем, но хотелось бы задействовать условие, это нужно для безопасного обновления справочника номенклатуры в будущем. Кстати, импорт с условием отлично работает при импорте контрагентов, а при импорте номенклатуры - как видите, не хочет :(

Вот этими настройками по умолчанию импорт работает, с другими настройками вываливается вышеописанный баг.
Изображение
Аватара пользователя
netzmb
Уверенный пользователь
Уверенный пользователь
 
Сообщения: 12
Зарегистрирован: Сб мар 12, 2011 5:03 pm
Откуда: Kharkiv

Re: Импорт номенклатуры Table temp7_... doesn't exist

Сообщение Evgeniy » Ср мар 16, 2011 12:30 pm

Нужно выгрузить дбфник в экселевский или текстовый файл, и использовать этот файл для обновления номенклатуры.
Аватара пользователя
Evgeniy
Программист
 
Сообщения: 50
Зарегистрирован: Пн сен 03, 2007 1:50 pm
Откуда: Козирацкий Евгений

Re: Импорт номенклатуры Table temp7_... doesn't exist

Сообщение netzmb » Ср мар 16, 2011 2:38 pm

Спасибо!
Экспорт с ключами заработал как следует, хотя я вместо экселевского формата использовал обычный текстовый с разделителями (его проще реализовать).

Но этот вариант (xls, txt) мне довольно неудобен, т.к., например, в случае текстового формата можно запутаться в названиях столбцов (названий нет, есть только их порядковые номера), кроме того приходится городить специальный код, который распечатывает содержимое dbf таблицы как текст с разделителями. А с dbf всё проще - это родной формат программы, из которой я делаю экспорт.

Поэтому хотелось бы понять причину этого бага, свойствененого только импорту номенклатуры из dbf (контрагенты импортируются без проблем).

Что мне предпринять, чтобы обойти этот баг?
Может мне нужно что-нибудь сделать с исходным dbf-ником? Где-то тип столбца, или его длину поменять? В принципе, я могу что угодно сделать с исходной dbf таблицей, если это решит проблему.
Аватара пользователя
netzmb
Уверенный пользователь
Уверенный пользователь
 
Сообщения: 12
Зарегистрирован: Сб мар 12, 2011 5:03 pm
Откуда: Kharkiv

Re: Импорт номенклатуры Table temp7_... doesn't exist

Сообщение Evgeniy » Ср мар 16, 2011 4:24 pm

Дело не в вашем dbf-нике а в нашем алгоритме импорта. Требуется небольшая программная доработка. Будет в новой версии...
Аватара пользователя
Evgeniy
Программист
 
Сообщения: 50
Зарегистрирован: Пн сен 03, 2007 1:50 pm
Откуда: Козирацкий Евгений

Re: Импорт номенклатуры Table temp7_... doesn't exist

Сообщение netzmb » Ср мар 16, 2011 5:20 pm

Жаль :(

Ничего, прийдётся повозиться с текстовым конвертером.
Аватара пользователя
netzmb
Уверенный пользователь
Уверенный пользователь
 
Сообщения: 12
Зарегистрирован: Сб мар 12, 2011 5:03 pm
Откуда: Kharkiv


Вернуться в Администрирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4