Ошибка при вызове метода контекста (ВыполнитьПакет)

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. cherepawka 2 13.01.14 19:17 Сейчас в теме
Добрый день уважаемые форумчане!
Вчера обновил платформу 8.2, до последней версии 8.2.19.83
Теперь в одной из конфигураций, при проведении документа вылетает ошибка:


Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.уатРемонтныйЛист.МодульМенеджера(468)}: Ошибка при вызове метода контекста (ВыполнитьПакет)

по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
ERROR: value "22089890160" is out of range for type integer
CONTEXT: PL/pgSQL function datediff(character varying,timestamp without time zone,timestamp without time zone) while casting return value to function's return type

Показать



Пользователи работают с 1с, через терминал. На сервере установлен сервер 1С и Postgres SQL 9.2.1-1.1C.

По тексту ошибки datediff понял что проблема в вычислении разности дат.

На users уже вышла есть более поздняя версия Postgres.

Что лучше сделать обновить Postgres c надеждой что ошибка исчезнет и как правильнее обновить (еще не обновлял с рабочими базами) или может есть смысл перейти на новую платформу 8.3, возможно на ней будет работать корректно.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
3. Rothschild 13.01.14 19:45 Сейчас в теме
(1) cherepawka,
если есть возможность - попробуй для проверки
на тестовой машине развернуть тестовую базу под 8.3.4 с тем же Postgres.
это наверное проще всего будет сделать.
***
сдается, что из-за самого Postgres - это маловероятно.
а можешь запрос выложить (или он из закрытого модуля)?
вдруг, если его подковырнуть правильно - то будет щастье?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Rothschild 13.01.14 19:45 Сейчас в теме
(1) cherepawka,
если есть возможность - попробуй для проверки
на тестовой машине развернуть тестовую базу под 8.3.4 с тем же Postgres.
это наверное проще всего будет сделать.
***
сдается, что из-за самого Postgres - это маловероятно.
а можешь запрос выложить (или он из закрытого модуля)?
вдруг, если его подковырнуть правильно - то будет щастье?
2. cherepawka 2 13.01.14 19:17 Сейчас в теме
Вознаграждение за совет, очень нужна Ваша помощь.
4. Rothschild 13.01.14 20:00 Сейчас в теме
(2) cherepawka,
а ошибка валится при проведении любого путевого листа
или как-то выборочно ???

PS
еше у серверных баз есть свойство:

Информационная база (IInfoBaseInfo)
DateOffset (DateOffset)
Использование:

Только запись.
Описание:

Тип: Число.
Смещение дат в информационной базе (0 или 2000).

Доступность:

Интеграция.
Показать

от него тоже может что-то зависить.
5. Vovan58 65 13.01.14 20:49 Сейчас в теме
Похожая ошибка на ЗУП Бюджета у меня вываливается на DB2. Нашел и устранил следующим образом. В режиме отладки выяснил, какой запрос дает ошибку (сделал несколько точек останова). Нашел запрос. Он из нескольких запросов с временными таблицами. Сделал этот запрос в консоли запросов, добавляя по одной временные таблицы. Так нашел запрос где из Даты NULL или Даты(01,01,001) вычиталось еще что-то (1 сек). Ну и модифицировал запрос через ВЫБОР. Вот такой алгоритм. Причем, на файловом варианте и MS SQL - все было ок
6. SAMIR666 14.01.14 04:36 Сейчас в теме
при изменения платформу изменяеться исходники
7. Rothschild 14.01.14 05:39 Сейчас в теме
(6) SAMIR666,
поясни свою глубокую мысль, недоступному обычному "замутненному" разуму...
8. KVIKS 400 14.01.14 21:43 Сейчас в теме
Я бы нашел и отладил запрос, возможно виновата не платформа и не SQL, а данные в базе, которые сейчас есть, а еще после обновления платформы делал тестирование? Если нет, то надо протестить и возможно ошибка уйдет.
9. cherepawka 2 15.01.14 00:07 Сейчас в теме
Проблема решилась. Все оказалось намного проще, пользователь неправильно указал период ремонта в документе, а в запросе рассчитывалась разность дат в секундах, от такого числа секунд, 1с выдавало ошибку.



Думаю что никто не будет против, если первому откликнувшемуся, перечислю вознаграждение- Rothschild . Всем спасибо за помощь.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот