Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Количество сообщений
24
Зарегистрирован:
14-01-2014, 15:57:17
Здравствуйте, попросил Святослава написать скрипт для выгрузки рекомендованных цен.
После того как он установил его он заработал, но при попытке применить его для другого поставщика, и установки его Святославом, после проверки оказалось что он работает не правильно. Помогите исправить проблему. Спасибо.
Суть скрипта: Есть прайс с рекомендованными ценами и прайсы поставщиков у которых есть товар в наличии. Скрипт должен отображать цену с прайса с рекомендованными ценами, учитывая наличие товара у остальных поставщиков. Реализовано это при выборе приоритета поставщиков с помощью SQL запроса. Отредактировано cifrosvit: 17.01.2014, 13:05:12
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Каким образом вы формируете файл экспорта? Если это SQL-скрипт выгрузки в CSV/XLS то приведите его текст, если плагин - то зайдите в окно администрирования программы, перейдите на закладку "Плагины" и скопируйте оттуда GUID плагина.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Данный плагин для выборки товаров из справочника товаров использует следующий SQL-запрос:
Код
select
g.G_ID as id,
dbo.f_TextToHTML(G_NAME) as name,
IsNull(:URL, '') + '/spec_' + LTRIM(CAST(g.G_IMAGE_1 as varchar)) + '.htm' as url,
g.price,
g.G_PRESENT as Present,
g.G_ACTIVE as Active,
g.G_WARRANTY as Warranty,
g.G_LIDER as IS_LIDER,
g.G_RECOMEND as IS_RECOMEND,
g.G_ACTION as IS_ACTION,
g.G_GR_ID as CategoryId,
g.G_B_ID as vendorId,
LTRIM(RTRIM(IsNull(g.G_SID, ''))) as vendorCode,
case when (DATALENGTH(g.G_IMAGE)>0) then
IsNull(:URL, '') + '/' + LTRIM(Str(g.G_ID)) + '.jpg'
else '' end as image1,
case when (DATALENGTH(g.G_IMAGE2)>0) then
IsNull(:URL, '') + '/' + LTRIM(Str(g.G_ID)) + '_2.jpg'
else '' end as image2,
case when (DATALENGTH(g.G_IMAGE3)>0) then
IsNull(:URL, '') + '/' + LTRIM(Str(g.G_ID)) + '_3.jpg'
else '' end as image3,
case when (DATALENGTH(g.G_IMAGE4)>0) then
IsNull(:URL, '') + '/' + LTRIM(Str(g.G_ID)) + '_4.jpg'
else '' end as image4,
case when (DATALENGTH(g.G_IMAGE5)>0) then
IsNull(:URL, '') + '/' + LTRIM(Str(g.G_ID)) + '_5.jpg'
else '' end as image5,
g.G_DESC_FULL as [description],
g.G_DESC as [about],
(select S_NAME from TBL_SUPPLIERS s where s.S_ID = g.G_S_ID) as supplier
from TBL_GOODS g, TBL_GROUPS gr
where g.G_GR_ID = gr.GR_ID
-- and LTRIM(RTRIM(IsNull(g.G_SID, ''))) <> ''
and ((:vPresent1 = 1 and g.G_PRESENT = 1) OR (:vPresent2 = 1 and g.G_PRESENT = 0))
and ((:vActive1 = 1 and g.G_ACTIVE = 1) OR (:vActive2 = 1 and g.G_ACTIVE = 0))
/*SERVER*/
В нем видно, что признак наличия товара берется из поля G_PRESENT таблицы TBL_GOODS. Исходя из этого, если в окне справочника товаров в колонке "Наличие" указано, что этот товар есть в наличии - это и должно попадать в файл экспорта. Возможно ли то, что вы не обновили данные в справочнике товаров (товар уже мог быть снят с наличия) или сравниваете не с тем товаром в файле экспорта?
Количество сообщений
24
Зарегистрирован:
14-01-2014, 15:57:17
Файл выгрузки работает корректно! Проблема в Выборе приоритета поставщика. Скрипт который установлен при выборе приоритета поставщика работает не правильно.
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
Цитата
На скриншоте видно что товар есть в наличии у двух поставщиков, но в файле экспорта он стоит нет в наличии
Если выгрузка работает корректно, тогда почему вы указывали, что данные в программе и в файле выгрузки не соответствуют?
На скриншоте как раз видно, что признак наличия у товара установлен. Если данный признак наличия выгружается в файл экспорта для обновления товаров на сайте, тогда каким именно образом скрипт установки наличия и цены работает некорректно?
Количество сообщений
24
Зарегистрирован:
14-01-2014, 15:57:17
Я так понимаю что тот товар который выгружаеться - подсвечиваеться желтым. В данном случае все зеленое. Поэтому так и написал. Мне кажеться проблема в скрепте выбора РРЦ, а не выгрузки цен. В ХМЛ файле на даном товаре стоит: