Форум OlegON > Ресурсы OlegON > Вопросы сервера > Архив > УКМ-2

Загрузка классификатора товаров : УКМ-2

28.03.2024 12:07


17.11.2009 15:40
s_s_v
 
Случайно столкнулся с такой ситуацией:
При загрузке данных из бэк-офиса выгружается классификатор и список товаров. Данные загружаются, но при просмотре каталога товаров часть групп в визуальном подборе отсутствует. В ходе изучения ситуации обнаружил, что:
1. Для части товаров при загрузке коды групп подменяются на другие, причем отрицательные значения.
2. В классификаторе также для многих групп коды подменяются на новые отрицательные значения.
3. Закономерности замены кодов пока выявить не смог.
4. Замененные коды групп товаров соответствуют замененным кодам в классификаторе.
5. Все группы товаров, у которых указанны отрицательные коды не отражаютсяв визуальном подборе.
6. При вводе товара по ШК или по коду товар подбирается и все работает как положенно.


Кто-нибуть сталкивался с такой ситуацией? Можете ли объяснить причину таких подмен и по какому принципу это происходит?
17.11.2009 15:41
Mtirt
 
А сколько у вас в классификаторе уровней?
Максимально?
17.11.2009 15:48
s_s_v
 
Цитата:
Mtirt А сколько у вас в классификаторе уровней?
Максимально?
три уровня в классификаторе
Все товары жестко на четвертом уровне (жестко зашито в бэке), т.е. три уровня групп товаров, а на четвертом сам товар.
Есть часть товаров (пара десятков), которые висят на втором (т.е. товар находится в группе первого уровня)
18.11.2009 08:38
akonev
 
а можно несколько примеров: что на что заменяется?
совсем в идеале - образец файлов выгрузки из бэка и образец того, как это в укм попало.

вообще странно. обычно в любом софте такие штуки происходят при переполнении разрядной сетки в числовых переменных. классификатор же насквозь строчный. но видимо, в какой-то момент все же происходит преобразование типов. есть коды групп больше, чем 127? больше 32767? или даже по другому спрошу: не видно ли границы, до которой коды всасываются нормально, а после нее - преобразуются в отрицательные?
18.11.2009 08:52
Mtirt
 
Цитата:
s_s_v три уровня в классификаторе
Все товары жестко на четвертом уровне (жестко зашито в бэке), т.е. три уровня групп товаров, а на четвертом сам товар.
Есть часть товаров (пара десятков), которые висят на втором (т.е. товар находится в группе первого уровня)
Что используется в качестве бэк-офиса?
Можно открыть выгрузку данных в УКМ2?
Там каким образом представлен классификатор?
Может быть, группы отрицательные уже в выгрузке и это проблема бэка?
18.11.2009 08:56
s_s_v
 
Цитата:
Andrew_Konev вообще странно. обычно в любом софте такие штуки происходят при переполнении разрядной сетки в числовых переменных. классификатор же насквозь строчный. но видимо, в какой-то момент все же происходит преобразование типов. есть коды групп больше, чем 127? больше 32767? или даже по другому спрошу: не видно ли границы, до которой коды всасываются нормально, а после нее - преобразуются в отрицательные?
Проанализировал коды и полагаю, что при превышении значения 32767 (32768) начинает уходить в отрицательное значение.
18.11.2009 09:10
akonev
 
Цитата:
s_s_v Проанализировал коды и полагаю, что при превышении значения 32767 (32768) начинает уходить в отрицательное значение.
ну тогда механика понятна. где-то есть двухбайтовая переменная со знаком. знак в двоичной арифметике принято селить в старшем бите. когда в эту переменную попадает код группы больше, чем вмещается в 15бит - 16й бит становится минусом, а в качестве модуля числа остается то, что вместилось в 15бит.

осталось понять, где это происходит - в укм или в бэке. смотри файлы выгрузки из бэка, как Таня посоветовала.
18.11.2009 09:30
s_s_v
 
Цитата:
Andrew_Konev осталось понять, где это происходит - в укм или в бэке. смотри файлы выгрузки из бэка, как Таня посоветовала.
Я же написал в бэке все нормально. Формат обмена "Стандартный DBF", в файлах выгрузки все правильно. Перенумерация кодов происходит в УКМ при загрузке.
18.11.2009 09:43
akonev
 
Цитата:
s_s_v Я же написал в бэке все нормально. Формат обмена "Стандартный DBF", в файлах выгрузки все правильно. Перенумерация кодов происходит в УКМ при загрузке.
спокойствие, только спокойствие.

нигде выше по теме не понятно было, что ты смотрел в файлы выгрузки и видел именно в этих dbf-ках правильные коды без минусов. теперь понятно.

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

получается, что у тебя два выхода:
1) сообщать в сервис-плюс об ошибке конвертера с приложением своей выгрузки и ждать результата
2) пересматривать идеологию нумерации групп в бэке, чтобы коды "умещались в рамки"
18.11.2009 09:48
akonev
 
... точнее, конечно, выходов больше.
оставить все как есть...
попробовать другой формат обмена (текстовый, к примеру) в надежде, что другой конвертер отработает лучше...
Часовой пояс GMT +3, время: 12:07.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.