[ОТВЕТИТЬ]
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
 
... точнее, конечно, выходов больше.
оставить все как есть...
попробовать другой формат обмена (текстовый, к примеру) в надежде, что другой конвертер отработает лучше...
18.11.2009 10:07
s_s_v
 
ОК. Спасибо за советы. Итоги:

1. Во-первых: я не нервничаю, просто я всетаки программер и пержде чем задавать вопрос естественно проверил все и озвучил вопрос только на тот момент, когда столкнулся с ПО, которое считаю для себя "закрытым" (т.е. Супермаг УКМ). Мог бы, но не хочу ковырять и ломать.
2. Формат обмена поменять не могу, т.к. это подвязано в бэке жестко
3. С С+ отношения "супер" плохие. Они в свое время сильно поругались с нашим поставщиком ПО и ситуация такая: С+ при обращении отписываются типа обращайтесь к поставщику или покупайте у нас прогу по новой, тогда и будем разговаривать. Поставщик говорит - мы с С+ не работаем. Короче платить бабки, чтобы по новой покупать прогу, которую раньше купили - это перебор.
4. Сам УКМ 2.х - пережиток прошлого. Очень надеюсь, что в течении нескольких лет мы уйдем от него. Мы сейчас плавно уходим на другой фронт, который на порядок лучше, а самое главное: независимо, от того где купили и у кого, поддержка "супер!". На все вопросы реагируют, исправляют, обсуждают и самое главное внедряют пожелания со стороны пользователей. Да и еще - обновление БЕСПЛАТНОЕ. В общем С+ и рядом не стоял.

5. Ну а сама проблема - на самом деле не проблема, т.к. визуального подбора товара не применяется (все по ШК). Просто столкнулся с ситуацией, хотел разобраться до конца.
18.11.2009 11:08
akonev
 
остается занятный вопрос: как отреагирует этот конвертер, когда код группы перевалит за 2 байта?

за несколько лет, оставшихся до полного перехода - вполне реальная ситуация, если у вас сплошная нумерация карточек товаров и групп.

если бы ты смог смоделировать и рассказать - было бы очень познавательно.
18.11.2009 11:34
s_s_v
 
Цитата:
Andrew_Konev остается занятный вопрос: как отреагирует этот конвертер, когда код группы перевалит за 2 байта?

за несколько лет, оставшихся до полного перехода - вполне реальная ситуация, если у вас сплошная нумерация карточек товаров и групп.

если бы ты смог смоделировать и рассказать - было бы очень познавательно.

Чесно сказать сейчас совсем некогда анализировать. Прикрепить файл я не могу, т.к. не хватает прав. Если интересно поковырять, то выложил классификатор из загрузки и из БД

Просто столкнулся с этим, т.к. приходится изобретать "велосипед". Реализую схему скидок по ДК на товар. Т.к. типовые варианты либо скидка по ДК на чек, либо скидка по ДК на группу, то вот и изобретаю "велосипед" через эмуляцию виртуальных групп товаров.
Опции темы


Часовой пояс GMT +3, время: 09:29.

 

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