09.08.2016 09:57 | |
sonic1978Пользователь iNETsHOP Количество сообщений 107 Зарегистрирован: 27-02-2016, 15:29:39 |
не хватает мне например в справочнике поставщиков - артикулов привязанных товаров из основного каталога. название - есть, (поле товар) а артикула нет(((( и в то же время куча ненужных полей, которыми я не пользуюсь. если бы была возможность убирать поля какие не нужны и добавлять какие нужны соответственно это было бы мегагибко |
09.08.2016 13:24 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Артикулы товаров есть в справочнике товаров. Там же можно настроить вывод артикулов у товаров поставщиков. |
09.08.2016 14:01 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
Цитата Там же можно настроить вывод артикулов у товаров поставщиков. можно подробнее? не понимаю как это сделать |
09.08.2016 14:24 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Откройте справочник товаров. Внизу есть вкладки с разной информацией по карточке товара, в том числе и привязанные товары поставщиков. В этой таблице товаров поставщиков вы можете добавить отображение любого поля из таблицы товаров прайсов (справочника товаров поставщиков), для этого в верхнем левом углу есть кнопка. |
09.08.2016 22:17 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
посмотрел, да, не заметил этих опций, спасибо, но простым фильтром из справочника товаров всех нужных полей TBL_SUPPLIERS_GOODS мне не вытащить... в идеале бы мне иметь в товарах поставщиков G_SID привязанных товаров подумал что могу для этого использовать поле SG_ARTIKUL, которое я не использую... тогда мне нужно скопировть G_SID в SG_ARTIKUL для привязанных товаров.. написал простой скрипт, но чтото он пока не работает как надо, поправьте если не сложно UPDATE TBL_SUPPLIERS_GOODS SET SG_ARTIKUL = (SELECT G_SID FROM TBL_GOODS WHERE G_ID = SG_G_ID) |
09.08.2016 23:00 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Скрипт правильный, только его можно немного ускорить, чтобы он не делал обновление не привязанных товаров прайсов к каталогу Код
Ну и транзакция на обновление всех товаров поставщиков будет идти некоторое время. Чтобы такие переносы артикула из каталога в товары прайсов производить в фоновом режиме, лучше сначала сделать курсор по TBL_SUPPLIERS_GOODS и обновлять "поштучно", тогда длинной блокировки таблицы товаров поставщиков не будет. |
10.08.2016 10:32 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
спасибо! все получилось, товаров много, сначала подумал что "висит", на ночь оставил - скрипт нормально отработал. |
11.08.2016 12:53 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
теперь трудность в том что SG_ARTIKUL затирается при каждом импорте товаров поставщиков, можно его исключить из импорта? чтобы ни сравнение ни перезапись по нему не проходили. либо есть ли какое нибудь другое поле которое не будет затираться, для служебной информации по товарам поставщиков. в схемах импорта оно кстати не задействовано |
11.08.2016 14:42 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
При импорте прайс-листа обновляются все данные о товаре поставщика, если они отсутствуют в прайсе - затираются. Исключить какое-то поле в частном порядке - невозможно, механизм работы общий для всех и такой настройки нет. Вы можете создать отдельный триггер на обновление поля TBL_SUPPLIERS_GOODS.SG_G_ID (т.е. на изменение кода товара каталога к которому привязывается товар поставщика) и в триггере обновлять поле SG_ARTIKUL. Так же при импорте прайс-листов вы можете заполнять это поле. В схемах импорта достаточно добавить SQL-запрос который будет его заполнять. |
11.08.2016 20:18 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
пытаюсь в схему импорта встроить скрипт, после сравнения товаров UPDATE #TMP_PRICE SET ARTIKUL = (SELECT SG_ARTIKUL FROM TBL_SUPPLIERS_GOODS WHERE SG_G_ID = ID AND NOT SG_ARTIKUL IS NULL) что то не работает пока поле код после сравнения товаров в #TMP_PRICE в каком поле лежит? id? |
12.08.2016 00:53 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Временная таблица #TMP_PRICE содержит данные прочитанные из прайс-листа в сыром виде, т.е. все в виде текста. На этапе сравнения данные преобразуются к нужному типу и размеру (цены, курсы валют, наименование в 400 символов и т.п.) и записываются в глобальную временную таблицу ##TMP_PRICE_DATA Код
В которой соответственно SG_ID - код товара поставщика который найден в базе данных программы по уникальному коду (поле код поставщика SG_SID) или по наименованию (SG_NAME) При работе с данной таблицей нужно так же учитывать поле IMPORT_ID в котором хранится к какому именно импорту принадлежат товары данного прайс-листа, т.к. в общем случае одновременно может быть несколько импортов прайсов. Значение текущего импорта передается в дополнительные SQL-скрипты схемы импорта через параметр :IMPORT_ID Т.е. ваш запрос будет выглядеть приблизительно так: Код
Этот скрипт для схемы импорта нужно использовать после сравнения товаров или перед записью в справочник товаров поставщиков. |
12.08.2016 09:32 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
все работает отлично, огромнейшее спасибо! |