Автор | Сообщение | ||
---|---|---|---|
Serj Заслуженный форумщик Зарегистрирован: 15.12.2006 |
Добавлено: 20.05.2008 15:02 Заголовок сообщения: Расчет цены для прейскуранта (баг) Обнаружен досадный баг, приводящий к дублированию записей (с одинаковыми первичными ключами ) в таблице. Речь идет о расчете цены в новый прейскурант на основе старого. Пример: Есть код продукции "КР70КР21" (буквы — кирилица) Для него в прейскуранте "B8" (буквы — англ.) цена — 10 руб. Расчитываем для него новую цену в прейскурант "B9" с 10%-ым увеличением. (Управление запасами — Отчеты — Расчеты/Корректировка цены — Расчет цены) После расчета, новая цена не появится ни в отчетах, ни в процедуре ручного ввода цены в прейскурант (Управление запасами — Позиции запасов/Запросы — Прочие файлы запасов — Прейскуранты). А в таблице SC39 появится запись с кодом продукции и пробелами в конце. Далее если мы введем цену вручную (Управление запасами — Позиции запасов/Запросы — Прочие файлы запасов — Прейскуранты), то поимеем 2 записи в SC39, код продукта при ручном вводе — без пробелов и код продукта при расчете цены — дополненный пробелами. В такой ситуации их даже невозможно удалить, т.к. SQL воспринимает их как 2 идентичные записи и ругается. Пришлось выгрузить содержимое таблицы в текст, исправить, затем во временную таблицу, ну и залить данные в боевую таблицу с предварительным TRUNCATE. И ещё, в отчет "Сводный прейскурант" будет попадать расчитанная цена, а при вводе заказа — введенная вручную. Данная ситуация повторилась для всех кодов состоящих из русских букв и цифр, если они чередуются (пример: для КР20ВИ — все ОК, а для КР20ВИ12 — уже нет). О данном баге доложено в хотлайн, они его воспроизвели успешно. |
||
aav Администратор Зарегистрирован: 14.09.2004 |
Добавлено: 20.05.2008 22:03 Заголовок сообщения: Re: Расчет цены для прейскуранта (баг) Какая версия Скалы? Какие COLLATION установлены для базы данных? |
||
Serj Заслуженный форумщик Зарегистрирован: 15.12.2006 |
Добавлено: 21.05.2008 08:53 Заголовок сообщения: Версия Scala 2.2 SR2 Hotfix 3318 SQL 2000, Collation Cyrillic_General_BIN |
||
aav Администратор Зарегистрирован: 14.09.2004 |
Добавлено: 21.05.2008 11:27 Заголовок сообщения: По-моему, похоже…
Сдаётся мне, что ситуация чем-то напоминает описанную здесь: http://scala.org.ru/scala/viewtopic.php?p=424#424 |
||
Serj Заслуженный форумщик Зарегистрирован: 15.12.2006 |
Добавлено: 21.05.2008 13:16 Заголовок сообщения: Да, ситуация связана с известной проблемой пробелов. Вот только в данном случае она ещё и приводит к дублирующимся записям и невозможности удалить цены из прейскуранта. Виновата в этом только "корявая" процедура "Расчет цен", добавляющая пробелы. |