Имя: Пароль:
1C
 
Ошибка SQL: неверный синтаксис
0 mogul
 
05.07.08
12:08
Добрый день!

Занимаюсь переносом данных из 77 в 81 с помощью конвертации данных. И все бы хорошо, но столкнулся с проблемой:

после загрузки объекта и xml-файла программа (81) вылетает с сообщением "Ошибка SQL: неверный синтаксис".

Ошибка возникает где-то между событиями "ПередЗаписью" (эта процедура еще выполняется) и "ПриЗаписи" (а в эту уже не доходим) - смотрел в режиме отладки. Реквизиты объекта, при этом, переносятся нормально.

Тестирование и исправление БД результатов не дало.

В чем может быть причина такой беды?
1 ТелепатБот
 
05.07.08
12:08
2 eddy_n
 
05.07.08
22:31
Я не имею ничего против КД - мощная вещь, хотя не доработана как нужно до конца, и я ей тоже пользуюсь, но мне досталась для переноса такая Торговля 7.7, что логику проше было написать самому с выгрузкой в dbf. Может и тебе коней на переправе поменять?
3 vde69
 
05.07.08
22:45
(2) а я вообще КД не люблю... для типовых - да, но там в нее вообще не надо лезть...

а переделки - там там 30% кода вообще никто не знает зачем и КОГДА было сделано... там переносить индивидуально надо, мне проще по ole все делать
4 eddy_n
 
06.07.08
01:31
(3) В КД лезть надо даже для типовых, когда, например, нужно изменить условия поиска объекта в базе-приёмнике (вместо кода - по наименованию или наоборот или ещё какую-нибудь "мелочёвку" при загрузке менять).
5 mogul
 
06.07.08
13:51
Не буду писать про свое отношение в КД...
Тем более, что, по моему мнению, дело вовсе не в ней - ошибка возникает при записи, где-то между "ПередЗаписью" и "ПриЗаписи".
Таким образом, допускаю, что подобное может произойти и при обычной записи объекта. Просто при загрузки данных в силу большего их количества, вылезает чаще.
Вот возможные причины возникновения этой ошибки меня и интересуют, а вовсе не комментарии про КД.
Спасибо.
6 kitt
 
06.07.08
13:57
ну так найди конкретное место где вылетает ошибка, запость сюда кусок проблемног кода, расскажи чему  у тебя там переменные равны, а то "Вот возможные причины возникновения этой ошибки меня и интересуют". Телепатов нет.
7 mogul
 
06.07.08
14:10
(6) Я ж пишу - ошибка возникает между процедурами "ПередЗаписью" (она отрабатывается нормально) и "ПриЗаписи" (в эту процедуру вообще не попадает), т.е. где-то во внутренностях платформы. А уж что там за код у создателей 81, я понятия не имею.
8 Aleksey_3
 
06.07.08
15:23
Правила переноса брал типовые? Небось еще старые от версии 8.0. Вот и получил.
В 8.1 изменился синтаксис вызова процедур, поэтому ищи правила под 8.1, или пиши сам.
9 mogul
 
06.07.08
15:59
(8) Правила переноса самописные, рабочие.
10 kitt
 
06.07.08
16:55
(7) может тебя это удивит, но между процедурами "ПередЗаписью" и "ПриЗаписи" есть много интересных строчек кода. Ты можешь в отладчике пройтись до той конкретной строчки на которой выскакивает ошибка? Если можешь так выложи кусок кода где это происходит, опиши контекст, переменные, какой конкретно объект у тебя там грузиться. Если не можешь, то так и скажи - не могу.
11 mogul
 
06.07.08
17:02
(10) какие, интересно, строчки кода находятся между этими процедурами, если документ не проводится?

В отладчике проходился, а как же.

Процедура ПередЗаписью()
 // обДокументПередЗаписью(ЭтотОбъект) - специально все закомментил
 ф=1;
КонецПроцедуры

Процедура ОбработкаПроведения()
 // нет никакой обработки!
КонецПроцедуры

Процедура ПриЗаписи()
 // обДокументПриЗаписи(ЭтотОбъект) - специально все закомментил
КонецПроцецуры

Ставлю точку останова на строчку "ф=1", далее жму F10, попадаю на строчку "КонецПроцедуры", еще раз жму F10 - и привет, ошибка.
12 BabySG
 
06.07.08
17:25
RLS посмотри
13 mogul
 
07.07.08
11:03
(12) Спасибо за наводку, об этом я не подумал. Одно "но" - нет у меня RLS.
14 mogul
 
08.07.08
12:57
up
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший