Summary: | selta: падение 1С при попытке прервать проведение документа | ||
---|---|---|---|
Product: | SELTA@Etersoft | Reporter: | Антон Азанов (Djelf) <aae> |
Component: | ODBC-драйвер | Assignee: | Станислав Коробейников <stas> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P5 | CC: | lav, leonid, Oleg.Eremeev, shan, triada123 |
Version: | 1.0.2 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | SUSE | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 2054 | ||
Attachments: | Лог postgres |
Description
Антон Азанов (Djelf)
2008-04-05 23:13:04 MSD
Проблема не воспроизводится. Либо она уже исправлена в 1.0.2.test, которая сейчас выложена на ftp, либо это что-то спецефическое. Не могли бы вы переслать полный лог проблемной операции, если ошибка повторяется с новыми файлами: утилита c:\windows\system32 -> настройки ODBC драйвера в разделе Пользовательский DNS или системный DNS -> кнопка Global -> первая галочка в диалоговом окне. Спасибо. Похоже проблема как-то обрисовалась: при отмене проведения документа вызывается откат транзакции и уничтожение курсора, который был в ней создан, а потом попытка закрытия курсора средствами ODBC, что и вызывает ошибку. Будем исправлять. Я так понимаю что если ошибка локализована дополнительные логи уже не нужны? Да, как только я исправлю ошибку - вышлю Вам файлы и проверим, повторяется ли ошибка. Сори не прочитал, задублировал ошибку... *** Bug 1666 has been marked as a duplicate of this bug. *** Вот кстати похожий случай, система FreeBSD (№6383): "При формировании тяжелых отчетов один за другим подряд) вылетает (порой!) ошибка вида: "25P02, current transaction is aborted, commands ignored until end of transaction block" и 1С:Предприятие 7.7 SQL захлопывается. На сайте POstgresql http://archives.postgresql.org/pgsql-jdbc/2006-04/msg00002.php проблема затрагивается и предлагаются меры, но как это применить в нашем случае.... право не ведаю." На данный момент вся проблема заключается в том, что я не могу сделать конструкцию вида: IF курсор_существует THEN закрыть_его PostgreSQL не имеет в своем языке никаких IF, а имитация через Хранимые процедуры, как я это делал для других случаев, приводит к ошибке: "внутри хранмиых процедур нельзя манипулировать курсорами". Похоже придется при закрытии курсора предварительно делать запрос о его существовании, обрабатывать его в ODBC и только после этого закрывать, будет работать чуть-чуть медленнее чем в MS SQL Server. Андрей, приветствую. Мои извинения за некоторую бестактность, но таким образом получается, что ожидаем обновления релиза SELTA@Etersoft применяем его и вероятно проблема "25P02, current transaction is aborted, commands ignored until end of transaction block" отпадет? Ибо в остальном тестирование SELTA в предверии миграции 1С 7.7 на СУБД PostgreSQL нареканий не вызвало. Что-то можно сделать? selta 1.0.3 релиз от 04.07.08 Комплексная конфигурация "Демо" 4.5 релиз 7.70.483 1С вылетает по той же причине (попытка уничтожения несуществующего курсора) при попытке провести документ "Приказ о приеме на работу СТ00000002 от 11.01.01" Открыть документ. Нажать "Провести", 1С сообщит что документ не проводится, нажать "Закрыть", на запрос о сохранении документа ответить "Да". 1С вылетит по ошибке 25P02 Большая просьба отписываться о результатах здесь В связи с http://bugs.etersoft.ru/show_bug.cgi?id=2231#c10, мне кажется все работает. |