Страницы: 1
RSS
Поиск позиции в базе
 
Доброго времени суток!

Постараюсь кратко описать задачу. Имеется список всех товаров, у каждого товара уникальный код. Артикулы могут быть одинаковыми для совершенно разных позиций (разные поставщики). Клиент предоставляет список артикулов, наименований и количества товара. При этом названия у клиента и в базе могут несколько отличаться друг от друга (сокращение, порядок слов, вставлен артикул перед названием, отличаются некоторые слова; при этом, вручную сравнивая названия, можно подобрать нужное). Необходимо получить таблицу со столбцами уникального кода и количества товара. Так же базе имеются товары с одинаковым названием, но разными кодом и артикулом.

Расскажу свои мысли:
1.       Найти все товары, соответствующие артикулу клиента. Разделить название товара клиента на отдельные слова, аналогично поступить со всеми подобранными товарами, посчитать количество совпадений отдельных слов. В итоге выбрать максимально похожий по названию с таким артикулом и возвратить его код.
2.       Вероятно, первый вариант может работать не всегда корректно (большая разница у названий, подберется не тот товар). Поэтому желательно «прикрутить» возможность ручного выбора, к примеру, из списка (на листе 2 примера, ячейки со списком подсвечены зеленым). То есть excel выбирает код и наименование сам, но его можно изменить списком, в котором названия товаров только с данным артикулом. При этом подтянется код товара по наименованию (оно уже будет совпадать с базой, так как оттуда и берется) и артикулу. Вероятно, пригодится функция СУММЕСЛИМН().

Возможно, есть более красивые варианты. В любом случае, буду благодарен за помощь.
Изменено: surkenny - 23.11.2016 00:54:59
 
Доброго времени суток!

Вам нужно готовое решение? Тогда Вам - в платный раздел сайта. А здесь - отвечают на конкретно заданные вопросы.

По поводу ваших мыслей, которые больше похожи на тех. задание.
По-моему, правильнее и проще будет навести порядок на этапе сбора информации.
Тот алгоритм, который Вы хотите применить, либо потребует много времени для самостоятельной разработки, либо будет дорого стоить.

С уважением.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Соглашусь
Одинаковый артикул у разных товаров это бардак. Наведите порядок в системе учета а не придумывайте мозгодробительные решения для ориентирования в этом бардаке
 
Проблема в том, что артикулы назначаются производителем. У разных производителей могут быть одинаковые артикулы на разные позиции. Клиент не будет заказывать по кодам, так как они не назначаются конкретным поставщиком, а работает он с разными поставщиками. Поэтому и заказ по артикулам.
Мне не нужно готовое решение. Достаточно объяснить алгоритм и подсказать необходимые функции.
 
surkenny,В таком случае необходим столбец с производителем в вашей базе и в заказах, и искать по 2ум критериям: производитель - артикул
 
Цитата
Михаил Лебедев написал: Тот алгоритм, который Вы хотите применить, либо потребует много времени для самостоятельной разработки, либо будет дорого стоить.
+1
+ будет выносить вам мозг на этапах сопровождения этой бд, когда вы её запустите в жизнь... и может потерять гибкость в настройках и доработках отдельных составляющих (на перспективу)
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
surkenny написал:
Мне не нужно готовое решение. Достаточно объяснить алгоритм и подсказать необходимые функции.
Алгоритм Вы и сами написали. Готовых функций под Вашу задачу - скорее всего - нет. Хотя, как писАл Анчаров: "Даже то, чего не может быть вообще - где-нибудь, да есть".  По-моему, надежней всего завести таблицу один-ко-многим с [Вашими уникальными кодами] "слева" и [артикулами, которые встречаются у поставщиков в сцепке с кодами самих поставщиков], - "справа". Как посоветовал Александр - "производитель - артикул". Эту таблицу придется всё время сопровождать (актуализировать).
У одного из жителей планеты есть девиз: "Если бардак автоматизировать - получится автоматизированный бардак" (как-то так, кажется :) ). Вы именно этим, по-моему, и пытаетесь заняться. Несколько человек Вас об этом уже предупредили, прислушайтесь, пожалуйста :)
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Наверх