Для того чтобы организовать торговлю в Интернет-магазине компании потребуется наличие всего одного Менеджера, контролирующего процесс автоматической работы магазина как из офиса компании, так и из любого места в Сети.
Каталог прайсов интернет магазинов - разместите свой прайс бесплатно
  Главная  |    О компании  |    Новости  |    Статьи  |    Форум  |    Клиенты  |    Обратная связь  |    Карта сайта
Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Запомнить
Пароль
   
Первая страница « 1 2 3 » Последняя страница
Экспорт

14.11.2013 23:19

Admin


Администратор


Количество сообщений   135
Зарегистрирован:   23-08-2007, 09:03:21
Замените текст
Код

WHERE gr.GR_PARENT_ID is null
AND
(
@p_iGRID is null
OR
(
not @p_iGRID is null
and gr.GR_ID = @p_iGRID
)
)


на

Код

WHERE gr.GR_PARENT_ID is null
AND
(
(@p_iGRID is null and gr.GR_ID <> 123456)
OR
(
not @p_iGRID is null
and gr.GR_ID = @p_iGRID
)
)


Где 123456 - это код корневой группы из справочника групп, которую (включая все подгруппы) вы хотите иселючить из экспорта.
Пользователь оффлайн Распечатать
 

15.11.2013 14:09

prodact


Пользователь iNETsHOP


Количество сообщений   115
Зарегистрирован:   15-06-2010, 14:24:19
Сделал все по вашей рекомендации, уже лучше, но обнаружилась следующая проблема, вэкспортированном файле, група, которая не должна экспортироваться прописалась в строке №1477, теперь она выглядит не столбиком, а строчкой. Задача была исключить из экспорта категорию 1. Мы изменили функцію, вот ее содержимое:
Код
CREATE FUNCTION [dbo].[f_ShopScriptExport3] (
@p_iGRID int = null
)
RETURNS @tRetTable table (
RecID int,
SORT int, --Порядок сортировки
G_ID int, --Внутренний код (артикул)
G_NAME varchar(250), --Наименование
G_DESC varchar(8000), --Описание
G_SHORT_DESC varchar(8000), --Краткое описание
G_PRICE money, --Цена
G_OLD_PRICE money, --Старая цена
G_META1 varchar(8000), --Тэг META keywords
G_META2 varchar(8000), --Тэг META description
G_PHOTO1 varchar(200), --Фотография
G_PHOTO2 varchar(200), --Фотография
G_PHOTO3 varchar(200), --Фотография
G_COLOUR varchar(200), --Цвет
G_ADD_DESC varchar(8000), --Дополнительная информация (2)
G_VENDOR varchar(8000), --Производитель
GR_ID int
)
AS
BEGIN
DECLARE @l_iRecID int, @l_iGRID int, @l_sGRNAME varchar(200), @l_iSort int;
SET @l_iSort = 1;
SET @l_iRecID = 1;
DECLARE cExportGroups CURSOR LOCAL FORWARD_ONLY LOCAL FOR
SELECT gr.GR_ID, gr.GR_NAME from TBL_GROUPS gr
WHERE gr.GR_PARENT_ID is null
AND
(
(@p_iGRID is null and gr.GR_ID <> 1)
OR
(
not @p_iGRID is null
and gr.GR_ID = @p_iGRID
)
)
AND GR_ID<>209
FOR READ ONLY;

OPEN cExportGroups;
FETCH NEXT FROM cExportGroups INTO @l_iGRID, @l_sGRNAME;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
-- INSERT INTO @tRetTable (RecID, SORT, GR_ID, G_NAME)
-- VALUES (@l_iRecID, @l_iSort, @l_iGRID, @l_sGRNAME);

-- IF (SELECT COUNT (*) FROM TBL_GROUPS gr WHERE gr.GR_PARENT_ID = @l_iGRID) >0
-- BEGIN

INSERT INTO @tRetTable
SELECT *
FROM dbo.f_ShopScriptExportGoods3(@l_iRecID, @l_iGRID, 1);
SELECT @l_iRecID = MAX(RecID) FROM @tRetTable;

-- END

SET @l_iSort = @l_iSort + 1;
SET @l_iRecID = @l_iRecID + 1;

FETCH NEXT FROM cExportGroups INTO @l_iGRID, @l_sGRNAME;
END

CLOSE cExportGroups;
DEALLOCATE cExportGroups;

RETURN;
END


И сразу прикладываю файл, который получили при экспорте.
Что же я делаю не так?
Прикрепленные файлы
Shop-Script.rar   ( 10 Просмотров | 43.9 KB )
Пользователь оффлайн Распечатать
 

15.11.2013 14:31

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
В прикреплённом вами файле, строка № 1477 содержит товар с названием MARUMI Защита экрана 3.0 из группы

!Аксессуары Фото Видео
!!Защита экрана для фотоаппарата
!!!MARUMI

И эта группа не входит в список групп товаров, которые нужно исключить.

P.S.
1. Удалите в этой ф-ции строку AND GR_ID<>209, скорее всего это было написано для како-го другого пользователя.
2. Так же возможно для Shop-Script перед названиями корневых групп не нужно ставить восклицательный знак. Эту настройку можно изменить в строке FROM dbo.f_ShopScriptExportGoods3(@l_iRecID, @l_iGRID, 1);. Если заменить на FROM dbo.f_ShopScriptExportGoods3(@l_iRecID, @l_iGRID, 0); - ставиться не будет.
Пользователь оффлайн Распечатать
 

18.11.2013 14:16

prodact


Пользователь iNETsHOP


Количество сообщений   115
Зарегистрирован:   15-06-2010, 14:24:19
Совершенно верно, этот товар как и группы с товарами до колонки JO должны показываться, с вышеупомянутой колонки идут группы и товары, которые не должны выгружаться (экспортироваться). По вашему совету попробовал удалить функцию AND GR_ID<>209, но ситуация особо не изменилась, все осталось по прежнему за исключением того, что теперь весь этот мусор перебрался в строчку 2087. Убирать "!" нехорошая идея (но пробовал, результат тот же), так как добавленные товары будут выпадать в главный каталог и не всегда понятно, к какой группе товара он относится. Подскажите пожалуйста другой вариант.
Пользователь оффлайн Распечатать
 

18.11.2013 18:54

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
У вас слишком большой номер колонки. Эспорт в CSV может производится с разными параметрами и разными разделителями, просмотр так же может происходить с разными параметрами в том же Excel. Т.к. наши режимы просотра одного и того же файла отличаются, уточните какой "мусор" вы имеете ввиду.

В прикрепленном вами файле в предыдущем посте такая колонка отсутствует. Выберите оптимальные настройки экспорта для вашего CSV-файла (разделитель, замена кавычек на двойные и.т.п.).

Насчет восклицательного знака перед названиями категорий, то по правилам формирования CSV-файла для CMS Shop-Script для корневых групп он не ставится
Пользователь оффлайн Распечатать
 

18.11.2013 20:32

prodact


Пользователь iNETsHOP


Количество сообщений   115
Зарегистрирован:   15-06-2010, 14:24:19
Мусор-ненужные данные для экспорта, в нашем случае группа-"1" со всеми подгруппами и товарами. Колонка JO я указал, для ориентира, что с нее начинается группа-"1". А до этой колонки, идет смазанный результат экспорта 2-хгрупп "Аксессуары для фото и видео" и "Аксессуары для ТВ", так как со второй колонки в строке 2087, 2 товара нужные для экспорта поделили одну ячейку. Выгрузка происходит с ошибкой, я специально указываю номер строки, что бы вы увидели своими глазами в каком формате это происходит. Что касательно "!" то он прописывался в обоих случаях, даже после вашей рекомендации убрать его. Ума не приложу что дальше делать... (((
Пользователь оффлайн Распечатать
 

18.11.2013 21:09

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Перечитайте более внимательно данную ветку и проверьте ваши действия на соответствие рекоммендациям. Так же уделите чуть больше времени и усилий на то, чтобы правильно объяснить проблему, т.к. например если открыть ваш файл в Excel - никакой колонки JO нет в помине



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

По поводу "мусора" - в скрипте экспорта явно указано (@p_iGRID is null and gr.GR_ID <> 1), где в данном случае 1 - код группы товара которую нужно пропустить при экспорте.

Так же обращаем ваше внимание, что Код группы - это значение с колонки Код в справочнике групп, а не название группы. На ваших скриншотах не видно какой у группы код, но название вашей группы с "мусором" - 1
Пользователь оффлайн Распечатать
 

18.11.2013 22:05

prodact


Пользователь iNETsHOP


Количество сообщений   115
Зарегистрирован:   15-06-2010, 14:24:19
Файлы все те которые нужны. Проблема похоже в OpenOffice. Кто же мог подумать, что так все обернется. Excell не пользуюсь принципиально, вот и проблема на ровном месте. Собственно с выгрузкой нужных груп разобрались, спасибо.
Подскажите тогда, как изменить запрос, что б экспорт цен был в гривне, так как название колонки price3, система понимать отказывается.
Пользователь оффлайн Распечатать
 

19.11.2013 18:26

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Данный SQL-запрос экспорта предназначен только для вывода Цены №1. При желании вы можете заменить поле price на price3 в функции dbo.f_ShopScriptExportGoods3
Пользователь оффлайн Распечатать
 

19.11.2013 19:09

prodact


Пользователь iNETsHOP


Количество сообщений   115
Зарегистрирован:   15-06-2010, 14:24:19
Заменил, все значения price на price3, и соответсвенно поменял запрос экспорта, но при экспорте появляется ошибка Invalid column Price3.
Содержимое файла dbo.f_ShopScriptExportGoods3:
Код
CREATE FUNCTION [dbo].[f_ShopScriptExportGoods3] (
@p_iLastID int,
@p_iGID int,
@p_iLevel int
)
RETURNS @tRetTable table (
RecID int,
SORT int, --Порядок сортировки
G_ID int, --Внутренний код (артикул)
G_NAME varchar(250), --Наименование
G_DESC varchar(8000), --Описание
G_SHORT_DESC varchar(8000), --Краткое описание
G_PRICE3 money, --Цена
G_OLD_PRICE money, --Старая цена
G_META1 varchar(8000), --Тэг META keywords
G_META2 varchar(8000), --Тэг META description
G_PHOTO1 varchar(200), --Фотография
G_PHOTO2 varchar(200), --Фотография
G_PHOTO3 varchar(200), --Фотография
G_COLOUR varchar(200), --Цвет
G_ADD_DESC varchar(8000), --Дополнительная информация (2)
G_VENDOR varchar(400), --Производитель
GR_ID int
)
AS
BEGIN
DECLARE @l_iRecID int, @l_iGRID int, @l_sGRNAME varchar(200), @l_iSort int, @l_iLevel int;
DECLARE @l_iBID int, @l_iSortBrand int;
DECLARE @l_iGID int, @l_sGNAME varchar(250), @l_sGDESC varchar(8000), @l_sGDESC_FULL varchar(8000), @l_fGPRICE3 money, @l_sPIC1Name varchar(20), @l_sPIC2Name varchar(20), @l_sPIC3Name varchar(20), @l_sBName varchar(200), @l_iSortGood int;
DECLARE @G_META_keywords varchar(8000), @G_META_description varchar(8000);

SET @l_iSort = 1;
SET @l_iLevel = @p_iLevel + 1;
SET @l_iRecID = @p_iLastID;

DECLARE cExportGroups CURSOR LOCAL FORWARD_ONLY LOCAL FOR
SELECT gr.GR_ID, gr.GR_NAME
FROM TBL_GROUPS gr
WHERE gr.GR_ID = @p_iGID
ORDER BY gr.GR_NAME
FOR READ ONLY;

OPEN cExportGroups;
FETCH NEXT FROM cExportGroups INTO @l_iGRID, @l_sGRNAME;
WHILE (@@FETCH_STATUS <> -1)
BEGIN

SET @l_iRecID = @l_iRecID + 1;
INSERT INTO @tRetTable (RecID, SORT, GR_ID, G_NAME)
VALUES (@l_iRecID, @l_iSort, @l_iGRID, REPLICATE('!', @p_iLevel)+@l_sGRNAME);

IF (SELECT COUNT (*) FROM TBL_GROUPS gr WHERE gr.GR_PARENT_ID = @l_iGRID) >0
BEGIN
DECLARE @l_iGRChildID int;

DECLARE cExportGroupsChilds CURSOR LOCAL FORWARD_ONLY LOCAL FOR
SELECT gr.GR_ID
FROM TBL_GROUPS gr
WHERE gr.GR_PARENT_ID = @l_iGRID
ORDER BY gr.GR_NAME;
OPEN cExportGroupsChilds;
FETCH NEXT FROM cExportGroupsChilds INTO @l_iGRChildID;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
DECLARE @l_iLevelChild int;

INSERT INTO @tRetTable
SELECT *
FROM dbo.f_ShopScriptExportGoods3(@l_iRecID, @l_iGRChildID, @l_iLevel);
SELECT @l_iRecID = MAX(RecID) FROM @tRetTable;

FETCH NEXT FROM cExportGroupsChilds INTO @l_iGRChildID;
END;
CLOSE cExportGroupsChilds;
DEALLOCATE cExportGroupsChilds;

END
ELSE
BEGIN
DECLARE cExportBrands CURSOR LOCAL FORWARD_ONLY LOCAL FOR
SELECT DISTINCT b.B_ID, b.B_NAME
FROM TBL_GOODS g, TBL_BRANDS b
WHERE g.G_GR_ID = @l_iGRID
and g.G_B_ID = b.B_ID
ORDER BY b.B_NAME FOR READ ONLY;

SET @l_iSortBrand = 1;
OPEN cExportBrands;
FETCH NEXT FROM cExportBrands INTO @l_iBID, @l_sBNAME;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
SET @l_iRecID = @l_iRecID + 1;
INSERT INTO @tRetTable (RecID, SORT, GR_ID, G_NAME)
VALUES (@l_iRecID, @l_iSortBrand, @l_iBID, REPLICATE('!', @p_iLevel+1)+@l_sBNAME);
SET @l_iSortBrand = @l_iSortBrand +1;

DECLARE cExportGoods CURSOR LOCAL FORWARD_ONLY LOCAL FOR
SELECT g.G_ID, g.G_NAME, g.G_DESC, g.G_DESC_FULL, g.PRICE3, b.B_NAME,
case when not G_IMAGE is null then Str(g.G_ID)+'.jpg'
else null
end as Picture_Name1,
case when not G_IMAGE2 is null then Str(g.G_ID)+'_2.jpg'
else null
end as Picture_Name2,
case when not G_IMAGE3 is null then Str(g.G_ID)+'_3.jpg'
else null
end as Picture_Name3,
G_META_keywords,
G_META_description

FROM TBL_GOODS g, TBL_BRANDS b
WHERE g.G_GR_ID = @l_iGRID
and g.G_B_ID = b.B_ID
and b.B_ID = @l_iBID
ORDER BY g.G_NAME;

SET @l_iSortGood = 1;
OPEN cExportGoods;
FETCH NEXT FROM cExportGoods INTO @l_iGID, @l_sGNAME, @l_sGDESC, @l_sGDESC_FULL, @l_fGPRICE3, @l_sBName, @l_sPIC1Name, @l_sPIC2Name, @l_sPIC3Name, @G_META_keywords, @G_META_description;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
SET @l_iRecID = @l_iRecID + 1;
INSERT INTO @tRetTable (
RecID,
SORT,
G_ID,
G_NAME,
G_DESC,
G_SHORT_DESC,
G_PRICE3,
G_OLD_PRICE,
G_META1,
G_META2,
G_PHOTO1,
G_PHOTO2,
G_PHOTO3,
G_COLOUR,
G_ADD_DESC,
G_VENDOR
)
VALUES (
@l_iRecID,
@l_iSortGood,
@l_iGID,
@l_sGNAME,
null,--@l_sGDESC_FULL,
@l_sGDESC,
@l_fGPRICE3,
0,
@G_META_keywords,
@G_META_description,
@l_sPIC1Name,--FOTO
@l_sPIC2Name,--FOTO
@l_sPIC3Name,--FOTO
'', --COLOR
'',
@l_sBName
);

FETCH NEXT FROM cExportGoods INTO @l_iGID, @l_sGNAME, @l_sGDESC, @l_sGDESC_FULL, @l_fGPRICE3, @l_sBName, @l_sPIC1Name, @l_sPIC2Name, @l_sPIC3Name, @G_META_keywords, @G_META_description;
SET @l_iSortGood = @l_iSortGood + 1;
END;--Товары
CLOSE cExportGoods;
DEALLOCATE cExportGoods;
FETCH NEXT FROM cExportBrands INTO @l_iBID, @l_sBNAME;
END;--Бренды
CLOSE cExportBrands;
DEALLOCATE cExportBrands;
END;--IF
SET @l_iSort = @l_iSort + 1;

FETCH NEXT FROM cExportGroups INTO @l_iGRID, @l_sGRNAME;
END;--Группы

CLOSE cExportGroups;
DEALLOCATE cExportGroups;

RETURN;
END

Пользователь оффлайн Распечатать
 

20.11.2013 14:19

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Вы снова или невнимательно прочитали рекомендации или слишком перестарались. Ни о каких полях G_PRICE3 небыло и речи, более того - если вы посмотрите на свойства таблицы товаров TBL_GOODS, там таких нет и никогда небыло!!!!

Вам нужно всего-лишь заменить поле price на price3 в SQL-запросе курсора выборки товаров cExportGoods.

Т.е. в вашем случае, всего лишь в части скрипта

DECLARE cExportGoods CURSOR LOCAL FORWARD_ONLY LOCAL FOR
SELECT g.G_ID, g.G_NAME, g.G_DESC, g.G_DESC_FULL, g.PRICE, b.B_NAME,


заменить одно поле другим

DECLARE cExportGoods CURSOR LOCAL FORWARD_ONLY LOCAL FOR
SELECT g.G_ID, g.G_NAME, g.G_DESC, g.G_DESC_FULL, g.PRICE3, b.B_NAME,



Пользователь оффлайн Распечатать
 

20.11.2013 15:06

prodact


Пользователь iNETsHOP


Количество сообщений   115
Зарегистрирован:   15-06-2010, 14:24:19
Старался, очень хотел вам понравиться. ))))
Спасибо! Все работает.
Пользователь оффлайн Распечатать
 

31.03.2014 15:57

sjozik


Посетитель

Количество сообщений   9
Зарегистрирован:   11-02-2013, 21:39:46
Экспорт
Может подскажите как сделать обычный экспорт в ексель что б в колонках было: артикул, название, категория, производитель, цена, наличие.
Пользователь оффлайн Распечатать
 

31.03.2014 16:31

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Экспортировать артикул, название, производителя, цену и наличие в самом простом варианте очень легко.
Код

SELECT
G_SID,
G_NAME,
(SELECT S_NAME FROM TBL_SUPPLIERS WHERE S_ID = G_S_ID) as S_NAME,
price,
G_PRESENT
FROM TBL_GOODS


Но вот с категориями возникает масса вопросов - ведь это отдельно дерево. У каждого оно передается по разному:
- Название непосредственной группы (если дерева на сайте нет)
- Вся ветка товара разделенная какими-то разделителями
- Код и название (на сайте делается сопряжения путем прописи соответствия)
- Код группы а само дерево групп экспортируется отдельно
и т.д и т.п. Вариаций может быть довольно много.
Пользователь оффлайн Распечатать
 

17.04.2014 14:27

Bikemaniac


Пользователь iNETsHOP

Количество сообщений   55
Зарегистрирован:   17-12-2013, 08:47:22
Выгрузка шоп скрипт
Скажите пожалуйста а есть ли у вас пример полной выгрузки всех характеристик товаров из программы инетшоп в CSV или XLC файл.
Пользователь оффлайн Распечатать
 

Распечатать  |  Следующая тема  |  Предыдущая тема
Перейти
Первая страница « 1 2 3 » Последняя страница  

Статистика форума
Тем: 506, Сообщений: 3222, Пользователей: 2255
Приветствуем новичка по имени Gotit
Ближайшие дни рождения
Сегодня именинников нет


iNETsHOP - программа для формирования каталога товаров интернет-магазина и обработки прайсов Copyright 2007-2015 "Программа iNETsHOP - работа с прайс-листами поставщиков для интернет магазинов ®" iNETsHOP - обработка, объединение, анализ прайсов поставщиков и конкурентов