| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Интеграция интернет-магазина и 1C |
| Автор: Rock 7.9.2007, 11:16 |
| Что-то не нашёл форума куда это запостить, поэтому решил здесь. Есть такая проблема: есть движок магазина, товары там имеют PRIMARY поле productID с auto_incriment. Всё как обычно. Есть база товаров в 1C, в ней товары имеют символьный артикул, для каждого товара он уникальный, артикул может быть например: 1fa1fjlkjk45 Товары из 1С имортируются в интернет-магазин, с помощью csv, хотя способ здесь не важен. Проблема в следующем: т.к. магазин использует поле с auto_incriment при очистки таблицы товаров мы получаем, что все по-новому импортированные товары - получают новые ID, следовательно все связаные объекты: заказы, другие товары - они теряют связь с товаром. Можно конечно сказать, что "не надо очищать таблицу товаров", да и это правильно, но сама ситуация, когда мы имеем две независимых БД товаров, я считаю, неправильна. Я придумал следующие решения: 1. Переделать движок под использование символьного индификатора товаров: переделать все проверки productID, связаные таблицы и многое многое. Получаем полную связь с 1C и одно поле для индификации товаров. 2. Сделать генерацию числового productID на стороне 1С: переделать только скрипт импорта, и всё. Получаем полную связь с 1С и два поля для индификации товаров, одно из которых используется в магазине, другое в 1С. Может кто поможет советом? |
| Автор: Rock 7.9.2007, 17:29 |
| Думаю модератор ошибся с форумом, теме больше место в php для профи, чем здесь. Я вроде обсуждаю не проблему конкретного движка, а больше проблему проектирования, может стоит перенести сюда: http://forum.vingrad.ru/forum/web-development-ideas-designing.html либо сюда: http://forum.vingrad.ru/forum/database-sql.html Но точно не сюда. |
| Автор: ewolf 8.9.2007, 00:40 |
| я думаю, лучше всего будет использовать какое-то одно поле для однозначной идентификации товара в обеих базах. как вариант, можно в скриптах импорта/экспорта в 1с использовать идентификацию товаров по артикулу, а в остальном магазине по ID |
| Автор: Flashdown 10.9.2007, 01:01 |
| раз тебе не нужен числовой ID товара, поменяй тип поля INT AUTO_INCREMENT на VARCHAR и по необходимости подправь движок инет-магазина |