On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение





ссылка на сообщение  Отправлено: 11.04.12 18:16. Заголовок: Не находит товар в базе если имеется двойной пробел


Добрый день!

1 Есть ситуация - когда один и тот же товар появляется в базе два раза:

Код товара:
'26960
Товар
Camelion BC 1001A titanium(Зар.ус-во для"ДВОЙНОЙ ПРОБЕЛ"2хAA, AAA или 1x9V, 200мА, складная вилка, таймер )

Импортируем накладную с наименованием (загрузить накладную по формату):
Camelion BC 1001A titanium(Зар.ус-во для"ДВОЙНОЙ ПРОБЕЛ"2хAA, AAA или 1x9V, 200мА
Fora убирает все лишние (двойные) пробелы (и это правильно) товар становится таким:
Camelion BC 1001A titanium(Зар.ус-во для 2хAA, AAA или 1x9V, 200мА

Вроде все хорошо, но при следующем импорте он не находит его (ищет с товар с двойным пробелом)
(для нахождения товара мы используем дополнительное поле 2)


2 Товар не ищется по второму полю для поиска:
Раз у нас не получается первый вариант - мы естественно ищем путь, что бы обойти проблему выше (1)
Загрузить прайс лист по формату:
Поставщик в прайсе добавляет "свой код" ('26960) - мы пробуем что бы товар искался сначала по "дополнительному полю 2" если там не находит - пусть ищет по "маркировке" (по крайней мере в программе предусмотрено дополнительное поле для поиска товара)

Но опять ничего не выходит - даже если писать код без знака " ' " ('26960 / 26960), все равно пытается добавить новый товар
(для нахождения товара мы используем "маркировка")

ps форум тоже убирает двойные пробелы - по этому я их обозначил "ДВОЙНОЙ ПРОБЕЛ"

ps2 Или это происходит из за длинны товара?

ps3 Нет именно из за двойных пробелов

ps4 Все находится если в поле для поиска, "в нужное место", поставить двойной пробел

Спасибо

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 11 [только новые]


администратор




ссылка на сообщение  Отправлено: 11.04.12 21:01. Заголовок: Добрый день ! 1. Я ..


Добрый день !

1. Я всегда был противником загрузки данных из открытых форматов в БД именно по этой причиние - низкое качество подготовки первичной информации.
Попробуйте объяснить все что написали поставщику или тому кто готовит данные. Мы не будем тянуть в БД всю грязь в виде служебных символов,
которые потом сбивают отчеты в MS Excel и ляпы в виде двойных пробелов и т.д.
Поведение программы в таких ситуациях максимально корректно и это компромис который отрабатывался несколько лет на заказных операциях
(да не дадут мне соврать те с кем мы этим вопросом занимались).

2. Хороший код. Удачный и с фантазией. Я все это прочитал. Давайте сделаем следующее - Вы (можно на тестовой копии БД) два раза загрузите
один и тот же прайс-лист (с первым или вторым поиском по коду - как считаете нужным) и если у Вас будет дублирование товаров - то пожалуйста
сбросьте нам файл с прайс-листом и снимок экрана настройки формата загрузки. Мы все обязательно проверим и сообщим.
Если в процессе этого действия Вы поймете, что поторопились с написанием - тогда пожалуйста нам ничего присылать не надо ... ;)

PS: Про программу см. - п.1 , про форум - это общая практика на уровне школьной программы 3 класса. Здесь все нормально.
Что касается "пишу как хочу - не нравится не читайте (не загружайте и т.д.)" - такое в русском языке себе позволял только А.С. Пушкин. ;)
Для остальных - нужно представлять данные в нормализованом виде. В бизнесе - это еще правило хорошего тона и уважение к партнерам.
Сам так делаю и всем настоятельно рекомендую.

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 12.04.12 12:14. Заголовок: memo4x4 пишет: Мы н..


memo4x4 пишет:

 цитата:
Мы не будем тянуть в БД всю грязь в виде служебных символов, которые потом сбивают отчеты в MS Excel и ляпы в виде двойных пробелов и т.д.


Совершенно верно, по этому предлагаем, что бы поиск проходил по отформатированным данным (без двойных пробелов), если конечно это возможно.
(сейчас поиск происходит с двойными пробелами)

Либо как вариант загружать накладную два раза:
Первый раз - добавляем товар
Второй раз - проверяем что бы товар не дублировался

Спасибо: 0 
ПрофильЦитата Ответить
администратор




ссылка на сообщение  Отправлено: 12.04.12 12:33. Заголовок: Т.е. вариант: привес..


Т.е. вариант: привести данные в порядок перед загрузкой - Вы вообще не рассматриваете ? ;)

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 12.04.12 12:39. Заголовок: Мне кажется это долж..


Мне кажется это должна делать программа.
По крайней мере она это делает когда товар создается при импорте из накладной поставщика.
Что мешает сделать, что бы она так же, перед сравнением, обрабатывала прайс (убирала ненужные символы)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




ссылка на сообщение  Отправлено: 12.04.12 12:53. Заголовок: Насколько я помню - ..


Насколько я помню - алгоритмика загрузки данных при импорте накладной и прайс-листа одинакова.
Но посмотрю ...

Спасибо: 1 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 14.04.12 18:22. Заголовок: Еще раз попробовал, ..


Еще раз попробовал, загрузить одну и туже накладную
    1 импорт:
    создается товар из накладной - все "лишние" символы убираются

    2 импорт той же накладной:
    не находит созданный при первом импорте товар, fora ищет товар в базе с двумя пробелами, хотя при первом импорте она сама их и убрала
    То же самое при импорте прайс листа (ищет товар с двумя пробелами)

    Просьба, по крайней мере мне кажется это более логично:
    При импорте прайс-листа/накладной, перед поиском товара в БД пусть, так же убираются все "лишние символы"


Fant63 пишет:

 цитата:
2 Товар не ищется по второму полю для поиска:
Раз у нас не получается первый вариант - мы естественно ищем путь, что бы обойти проблему выше (1)
Загрузить прайс лист по формату:
Поставщик в прайсе добавляет "свой код" ('26960) - мы пробуем что бы товар искался сначала по "дополнительному полю 2" если там не находит - пусть ищет по "маркировке" (по крайней мере в программе предусмотрено дополнительное поле для поиска товара)


    Тут был не прав - товар ищется, но у нас просто не хватает длинны дополнительного поля... 80 символов мало (((

    При импорте мы пробовали использовать поле наименование (там можно разместить больше символов) - но оно у нас уже используется в дополнительном поле 2 и при импорте - выдает ошибку - "дублирования номеров колонок для разных реквизитов"

    Просить увеличить длину символов дополнительного поля наверное не стоит?
    Или хотя бы убрать (дать возможность) использовать одни и те же колонки для разных полей...

    Других полей в прайсе поставщика нет - только длинное наименование - никаких артикулов (((


Как выйти из положения?

Спасибо

Спасибо: 0 
ПрофильЦитата Ответить
администратор




ссылка на сообщение  Отправлено: 14.04.12 19:29. Заголовок: Добрый день ! Fant6..


Добрый день !

Fant63 пишет:

 цитата:
При импорте прайс-листа/накладной, перед поиском товара в БД пусть, так же убираются все "лишние символы"


Ну не знаю как как еще сказать-то ... Давайте пожалуйста Вы сделаете простую вещь.

- Создадите XLS файл наименованием "Товар(два пробела)для проверки"
- Создадите формат загрузки накладной с добавлением неизвестных товаров и поиском по наименованию товара.
- Два раза подряд загрузите XLS файл. У Вас в списке товаров есть 2 наименования "Товар(два пробела)для проверки" ?!
Ведь судя по Вашему описанию должно быть именно так. У меня такого нет.
Значит Вы пишите рекламацию не проверив, что я просил в первом ответе. Жаль.

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

Fant63 пишет:

 цитата:
ошибку - "дублирования номеров колонок для разных реквизитов"


Здравая логика подсказывает, что нет ничего плохого в том, что бы загружать одну колонку XLS файла в разные поля БД.
Но существует еще операция экспорта по формату, а вот здесь будет неоднозначность.
А если разрешать загружать файл, шаблон которого нельзя выгрузить - то мы погрязнем в разборках ...

Fant63 пишет:

 цитата:
Просить увеличить длину символов дополнительного поля наверное не стоит?


Первое дополнительное поле 120 символов - нажмите кнопку справа от поля.

Fant63 пишет:

 цитата:
Других полей в прайсе поставщика нет - только длинное наименование - никаких артикулов


Как минимум определится, что Вы хотите загружать: прайс-лист или накладную. Дальше сразу будет проще ... ;)
Ну и могу ли я попросить все-таки следовать моим просьбам, если Вы пишите запрос (см. начало этого сообщения) ?

Спасибо: 1 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 15.04.12 09:55. Заголовок: memo4x4 пишет: - Со..


memo4x4 пишет:

 цитата:
- Создадите XLS файл наименованием "Товар(два пробела)для проверки"
- Создадите формат загрузки накладной с добавлением неизвестных товаров и поиском по наименованию товара.
- Два раза подряд загрузите XLS файл. У Вас в списке товаров есть 2 наименования "Товар(два пробела)для проверки" ?!


Добрый день!

Сделал как вы просили, оказывается, при загрузке накладной - fora не убирает двойные пробелы, а при загрузке прайс листа - убирает...

Ранее я пользовался экспортом/импортом в xls через "загрузку прайс-листа по формату" (что бы навести в БД порядок - в экселе БД выглядит более наглядно)
Вот тут и оказались "подводные камни"

Вопрос:
Почему изначально не сложилось, что бы, при загрузке накладной по формату убирались двойные пробелы?

Сейчас этого делать не стоит - много людей работают с форой...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




ссылка на сообщение  Отправлено: 15.04.12 10:01. Заголовок: Добрый день ! Вот в..


Добрый день !

Вот видите - просто сделали о чем писали и все получлось ...
Что касается вопроса, то я на него уже отвечал.
При загрузке прайс-листа мы загружаем ассортимент в БД и нормализуем его для использования.
При загрузке накладной мы получаем точную копию загружаемого документа - потому, что возможно после загрузки нам потребуется его распечатать.
В принципе - можно сделать опционально (опцией в настройке формата) нормализацию наименований при загрузке накладной - но как-то потребности в этом не было. Если нужно - заказывайте - сделаем ...

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 15.04.12 10:15. Заголовок: Я боюсь, если я начн..


Я боюсь, если я начну заказывать - придется мне будет сильно разорится...
1 Производство с "опциональным" автоматическим списанием комплектующих (материала)
2 Разукомплектацию
3 Разделение денег по кассам с возможностью указания какой остаток на утро, (остаток не на всю "контору")
4 Возможность автоматического списания денег (аренда/кассовое обслуживание...)

Софт ведь хороший, да только я разработку его не потяну

Спасибо: 0 
ПрофильЦитата Ответить
администратор




ссылка на сообщение  Отправлено: 15.04.12 10:20. Заголовок: Абсолютно верно. Зд..


Абсолютно верно.
Здесь главный вопрос как всегда в том, нужно ли это реально Вам для работы или "неплохо, что бы было / будет полезно всем и т.д."
Поэтому воспринимайте пожалуйста программу такой какая она есть.
Тем более, что программа постоянно развивается и в ней постоянно появляются новые возможности, которые Вы можете использовать.

Спасибо: 1 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 14
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет