[ОТВЕТИТЬ]
Опции темы
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, время: 07:05.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.