Платежи уходят в OUT

Автор Сообщение
vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 10.06.2005 10:29 Заголовок сообщения: Платежи уходят в OUT
Кто-нибудь сталкивался с проблемой, когда при оплате счет фактуры предоплатой в книге Закупок, при обновлении проводки система выдает сообщение об ошибке, и в лучшем случае ничего не делает, в худшем списывает сумму платежа и создает несбалансированную проводку (iScala 2.2 SR-1 HF-2320).
Хот лайн говорит что это происходит из-за применения в ключевом поле (номер документа) русских букв «П» и специальных символов, за исключением подчеркивания и тире, даже пробел рассматривается как спец. символ Shocked На неоднократные запросы Хот Лайна, протестировать эту проблему и ввести соответсвующие изменеия, R&D игнорирует. Может быть если такие запросы придут не от одного клиента, а хотя бы от 10 почти одновременно, они все-таки зачешутся. Как вы думаете?
aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 10.06.2005 10:53 Заголовок сообщения: Re: Платежи уходят в OUT

vome писал(а):
Хот лайн говорит что это происходит из-за применения в ключевом поле (номер документа) русских букв «П» и специальных символов, за исключением подчеркивания и тире, даже пробел рассматривается как спец. символ Shocked


А это не того же поля ягода, что и описанное здесь: http://scala.org.ru/scala/viewtopic.php?t=72 Question

vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 15.06.2005 17:53 Заголовок сообщения: Re: Платежи уходят в OUT

aav писал(а):
А это не того же поля ягода, что и описанное здесь: http://scala.org.ru/scala/viewtopic.php?t=72 Question

Похоже что оттуда же. Спасибо за указанное направление. Эй, Вы там...

Юрий Никитин
Почетный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 26
Откуда: Санкт-Петербург

Добавлено: 20.06.2005 16:52 Заголовок сообщения: Re: Платежи уходят в OUT
Йах-хааа! Мы не одиноки во Вселенной!

Володя, это именно проблема коллейшнов, т.е. то, что проявлялось у нас и с кассовым методом, и с платежами SL/PL.

Это не беда Скалы, а дефект развития SQL Server… Проявление действительно связано с наличием в таблице другого, «похожего» инвойса с русскими буквами в номере.

Радикальное решение—смена collation для всей базы данных на Cyrillic Case Sensitive Accent Insensitive (главное—не Binary!). Но это очень трудоемко.

Обходное решение—смена collation только на полях Invoice Number в PL03, PL21, PL17. Работает. Правда, могут быть побочные эффекты, о которых мы пока не знаем.

Что касается R&D, то, как известно, они не используют русский алфавит. Это ниже их достоинства. Так что воспроизвести проблему они никогда не смогут…

Если нужна дополнительная информация, звони 320-0032 или 938-0806. Буду рад помочь.

vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 20.06.2005 19:02 Заголовок сообщения: Re: Платежи уходят в OUT

Юрий Никитин писал(а):
Это не беда Скалы, а дефект развития SQL Server… Проявление действительно связано с наличием в таблице другого, «похожего» инвойса с русскими буквами в номере.

Как мне объяснили, это беда именно Скалы, когда она считывает информацию курсорами и по каким-то своим внутренним алгоритмам ее обрабатывает.

Цитата:
Обходное решение—смена collation только на полях Invoice Number в PL03, PL21, PL17. Работает. Правда, могут быть побочные эффекты, о которых мы пока не знаем.

На некоторые я уже наткнулся, а именно если есть Хранимки с Джойнами полей с разными Collation выдается сообщение о их конфликте (Collation естественно)

Цитата:
Что касается R&D, то, как известно, они не используют русский алфавит. Это ниже их достоинства. Так что воспроизвести проблему они никогда не смогут…

Или не захотят Laughing

Цитата:
Если нужна дополнительная информация, звони 320-0032 или 938-0806. Буду рад помочь.

Спасибо. Wink

Юрий Никитин
Почетный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 26
Откуда: Санкт-Петербург

Добавлено: 21.06.2005 08:52 Заголовок сообщения: Re: Платежи уходят в OUT

vome писал(а):
Как мне объяснили, это беда именно Скалы, когда она считывает информацию курсорами и по каким-то своим внутренним алгоритмам ее обрабатывает.

Мои изыскания показывают, что это связано именно с запросами SQL. Я трассировал все обращения к БД.

Попробуй выполнить такой запрос:

SELECT *
FROM PL21cc00

where
PL21001 = N’0001′ —!!! ЗДЕСЬ НОМЕР ПОСТАВЩИКА
AND
PL21002 = N’П/503-VJ996 ‘ —!!! ЗДЕСЬ ТВОЙ НОМЕР «КРИВОГО» ИНВОЙСА

Пробел в конце номера инвойса обязателен. Скала его добавляет, формируя запрос.

Так вот, в нашем случае такой запрос не выдает ничего. А вот если пробел в конце PL21002 убрать, то запрос найдет существующие платежи для этого инвойса.

Так как Скала выдает запрос с прообелом, который ничего не возвращает, она считает, что по инвойсу платежей не было, и спокойно пытается лепить платеж с номером 01. Но реально-то такой платеж в PL21 есть. Вот и возникает нарушение первичного ключа…

R&D этом случае может просто поправить код так, чтобы Скала не добавляла пробелы в запрос. Только нахрен им это надо…