Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Количество сообщений
54
Зарегистрирован:
12-03-2016, 18:32:41
Даже не знаю как правильно задать вопрос, возникла необходимость сохранения в программе в отдельные колонки бренд и артикул, но вот проблема они должны быть без пробелов и специальных символов (,./- и т.д.), и буквы должны быть в верхнем регистре, не подскажите как можно это реализовать?
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Бренд в товарах каталога и товарах прайсов - это связанная таблица, т.е. отдельный справочник (список) на который ссылаются карточки товара из каталога и прайса, артикулы - текстовые поля (значения хранятся непосредственно в таблицах).
Удалить какие-либо символы из поля и записать в другое поле таблицы не проблема, но вы не указали для какого именно справочника нужно произвести эту операцию.
Количество сообщений
54
Зарегистрирован:
12-03-2016, 18:32:41
Цитата
Написал: support
Удалить какие-либо символы из поля и записать в другое поле таблицы не проблема, но вы не указали для какого именно справочника нужно произвести эту операцию.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Вариантов решения данной задачи несколько, основные:
1. Пользовательский sql-запрос который будет кодифицировать текст бренда и артикула, а потом записывать в свободные поля заметок (закладка заметки в справочнике товаров)
2. Добавление двух индивидуальных триггеров в базу данных которые будут автоматически модифицировать указанные выше поля заметок при изменении у товара бренда или артикула, а так же при изменении названия в справочнике брендов которые привязаны к товару.
3. Подготовка и модификация информации на этапе экспорта.
Количество сообщений
54
Зарегистрирован:
12-03-2016, 18:32:41
Цитата
Написал: support
Вариантов решения данной задачи несколько, основные:
1. Пользовательский sql-запрос который будет кодифицировать текст бренда и артикула, а потом записывать в свободные поля заметок (закладка заметки в справочнике товаров)
Не опубликуете на всеобщее обозрение данный запрос?
Количество сообщений
54
Зарегистрирован:
12-03-2016, 18:32:41
Подскажите пожалуйста, я правильно понимаю значения колонки "Внешний код" в "Справочнике товаров", соответствует значению колонки "Код поставщика" в "Справочнике товаров поставщиков"?
Если да, то сразу второй вопрос, если у двух разных поставщиков будут одинаковые значения этих колонок, программа будет различать поставщиков?
Если да, то сразу третий вопрос, не подскажите скрипт сравнения (идентификация) товаров из "Справочника товаров поставщиков" с товаром из "Справочника товаров" по этим полям.
Попытаюсь объяснить к чему такой "финт". На форуме полно тем связанных с идентификацией товара, ее можно организовать по разному, но все равно возникают всякие мелочи в записях сравниваемых характеристик (по разному записан один и тот-же товар у разных поставщиков, пробелы, точки, тире и т.д. ), и при идентификации товара происходят накладки (например записи артикула вида 00-111213 и 00111213 будут идентифицированы по разному). Когда товара не много все решается ручной корректировкой, а когда один прайс содержит несколько десятков тысяч записей, все значительно усложняется. Возможностями программы, при соответствующих настройках, из коробки на этапе импорта прайса можно решить большинство возникающих вопросов и в поле "Код поставщика" в "Справочнике товаров поставщиков" создать уникальную запись (например связка бренд+артикул с удалением всех ненужных символов, выполнить автозамены и т.д.), но потом эту уникальную запись нужно сравнить из "Справочника товаров поставщиков" с записью в "Справочнике товара", а тут штатных средств нет, поэтому и возникли первых три вопроса.
Заранее спасибо за ответ.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Цитата
Написал: Denndy
Подскажите пожалуйста, я правильно понимаю значения колонки "Внешний код" в "Справочнике товаров", соответствует значению колонки "Код поставщика" в "Справочнике товаров поставщиков"?
Колонка "Внешний код" в справочнике товаров предназначена для хранения какого-либо внешнего ключа, например это может быть ID товара на сайте или в какой-либо учетной системе. Эта колонка у товара только одна, а потому не может хранить дополнительные значения для связки с товарами поставщиков, которых может быть любое количество.
Цитата
Написал: Denndy
Если да, то сразу второй вопрос, если у двух разных поставщиков будут одинаковые значения этих колонок, программа будет различать поставщиков?
Нет, данная колонка не принимает участие в идентификации товаров, то есть в привязке товаров прайсов к товарам каталога.
Цитата
Написал: Denndy
Если да, то сразу третий вопрос, не подскажите скрипт сравнения (идентификация) товаров из "Справочника товаров поставщиков" с товаром из "Справочника товаров" по этим полям.
Такой скрипт вы можете создать простой переделкой примера скрипта для автоматической привязки товаров по связке Артикул+Бренд который присутствует в этой теме.
DECLARE cSuppliersGoods CURSOR FOR
SELECT SG_ID, SG_SID, SG_B_ID
FROM TBL_SUPPLIERS_GOODS
WHERE SG_S_ID = @S_ID
AND ISNULL(SG_SID, '') <> ''
AND SG_G_ID is NULL;
OPEN cSuppliersGoods;
FETCH NEXT FROM cSuppliersGoods INTO @SG_ID, @SG_SID, @B_ID;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
SET @G_ID = (
SELECT G_ID
FROM TBL_GOODS
WHERE UPPER(G_OUT_CODE) = UPPER(@SG_SID)
);
IF (@G_ID > 0)
BEGIN
UPDATE TBL_SUPPLIERS_GOODS
SET SG_G_ID = @G_ID
WHERE SG_ID = @SG_ID;
END;
FETCH NEXT FROM cSuppliersGoods INTO @SG_ID, @SG_SID, @B_ID;
END
CLOSE cSuppliersGoods;
DEALLOCATE cSuppliersGoods;
Не забывайте, что при настройке данного пользовательского скрипта, вам нужно подключить выпадающий список поставщиков в виде дополнительного справочника (настраивается в окне "Администрирование").
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Для начала вам нужно проверить совпадение артикулов и брендов в соответствующих полях. На фото вы показываете, что они есть в наименовании товара, а не в нужных колонках карточек товаров.
Так же проверьте тем ли SQL-скриптом для привязки товаров вы пользуетесь, т.к. в этой ветке их несколько модификаций.
Количество сообщений
124
Зарегистрирован:
14-11-2015, 14:23:25
Почему оно привязывает несколько товаров и выбивает ошибку, нельзя ли как то сделать что бы оно пропускала тот товар и шло дальше сравнения. Каждый скрин делал после ошибки и нажатия кнопки обновления всех данных
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Данное сообщение об ошибке свидетельствует о том, что подзапрос возвращает несколько значений. В данном случае, скорее всего в каталоге товаров имеется несколько записей товаров поле G_OUT_CODE (Внешний код) которые соответствуют одному из значений в поле SG_SID (Код поставщика) справочника товаров поставщиков.
Код
SET @G_ID = (
SELECT G_ID
FROM TBL_GOODS
WHERE UPPER(G_OUT_CODE) = UPPER(@SG_SID)
);
Убрать сообщение об ошибке можно изменив подзапрос таким образом, чтобы возвращалась одна первая запись.
Код
SET @G_ID = (
SELECT TOP 1 G_ID
FROM TBL_GOODS
WHERE UPPER(G_OUT_CODE) = UPPER(@SG_SID)
);