Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - Программа iNETsHOP - Работа с программой - Экспорт в XLS


http://inetshop.in.ua/index.php?p=showtopic&toid=341&area=1
23.08.2016 12:50

Bikemaniac


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

Количество сообщений   55
Зарегистрирован:   17-12-2013, 08:47:22
Экспорт в XLS
Здравствуйте.Эта тема поднималась много раз,но покопавшись на форуме я не нашел для себя решение проблемы.

Интересует полная выгрузка значений полей в эксель из inetshop
а именно: артикул,наименование товара,фото,наименование артикула,характеристики,цена,бренд,наличие.

Стандартный скрипт запроса экспорта у меня вот такой:

SELECT
g_sort.sort_param as ["Порядок сортировки"],
g.G_ID as ["Внутренний код (артикул)"],
g.G_NAME as ["Наименование"],
case
when (g.G_PRESENT>0) then LTRIM(Str(IsNull(g.G_PRICE, 0), 10, 2))
else '0'
end as ["Цена"],
case
when (g.G_PRESENT >0) and (IsNull(g.G_PRICE, 0) > 0) then 99
else 0
end as ["На складе"],
'"' +
case
when (not g.PHOTO1 is null) and (not g.PHOTO2 is null) and (not g.PHOTO3 is null) then LTRIM(g.PHOTO1) + ',' + LTRIM(g.PHOTO2) + ',' + LTRIM(g.PHOTO3)
when (not g.PHOTO1 is null) and (not g.PHOTO2 is null) and (g.PHOTO3 is null) then LTRIM(g.PHOTO1) + ',' + LTRIM(g.PHOTO2)
when (not g.PHOTO1 is null) and (g.PHOTO2 is null) and (not g.PHOTO3 is null) then LTRIM(g.PHOTO1) + ',' + LTRIM(g.PHOTO3)
when (g.PHOTO1 is null) and (not g.PHOTO2 is null) and (not g.PHOTO3 is null) then LTRIM(g.PHOTO2) + ',' + LTRIM(g.PHOTO3)
when (not g.PHOTO1 is null) and (g.PHOTO2 is null) and (g.PHOTO3 is null) then LTRIM(g.PHOTO1)
when (g.PHOTO1 is null) and (not g.PHOTO2 is null) and (g.PHOTO3 is null) then LTRIM(g.PHOTO2)
when (g.PHOTO1 is null) and (g.PHOTO2 is null) and (not g.PHOTO3 is null) then LTRIM(g.PHOTO3)
end
+ '"' as ["Фотографии"]
FROM
(

select gr.GR_ID, gr.GR_FULL_NAME, dbo.f_GetGroupLevel(gr.GR_ID) as GR_Level
from TBL_GROUPS gr
) gr,
(
select
g.G_ID,
g.G_GR_ID,
g.G_NAME,
g.G_PRESENT,
g.G_PRICE,
case when DATALENGTH(g.G_IMAGE)>0 then RTRIM(Str(g.G_ID))+'.jpg' end as PHOTO1,
case when DATALENGTH(g.G_IMAGE2)>0 then RTRIM(Str(g.G_ID))+'_2.jpg' end as PHOTO2,
case when DATALENGTH(g.G_IMAGE3)>0 then RTRIM(Str(g.G_ID))+'_3.jpg' end as PHOTO3
from TBL_GOODS g
) g,
(
select g_1.G_ID, g_1.G_NAME,
Str(count (g_2.G_NAME)) AS sort_param
from
(select G_NAME, G_ID from tbl_goods g) as g_1 inner join
(select G_NAME from tbl_goods g) as g_2 on g_1.G_NAME >= g_2.G_NAME
group by g_1.G_ID, g_1.G_NAME
) g_sort
WHERE gr.GR_ID = g.G_GR_ID and g.G_ID = g_sort.G_ID
ORDER BY gr.GR_FULL_NAME, GR_Level

Скажите пожалуйста,где я могу посмотреть наименования полей и добавить их в этот код?

23.08.2016 16:14

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Экспорт в XLS
Цитата
Написал: Bikemaniac
Интересует полная выгрузка значений полей в эксель из inetshop
а именно: артикул,наименование товара,фото,наименование артикула,характеристики,цена,бренд,наличие.
Стандартный скрипт запроса экспорта у меня вот такой

Судя по вашему SQL-запросу экспорта в Эксель у вас большая часть полей экспортируется. По поводу характеристик - они хранятся в формате EAV, т.е. у каждого товара может быть произвольное количество характеристик и файлы CSV не совсем подходят для обмена характеристиками. Лучше рассмотрите обмен через формат XML (YML).

Цитата
Написал: Bikemaniac
Скажите пожалуйста, где я могу посмотреть наименования полей и добавить их в этот код?

Карточки товаров хранятся в таблице TBL_GOODS.

30.08.2016 14:28

Bikemaniac


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

Тема начата

Количество сообщений   55
Зарегистрирован:   17-12-2013, 08:47:22
Все таки необходима на данном этапе выгрузка в excel.Пытался вставить необходимые поля для выгрузки в скрипт,выдавало ошибки.

Если вам не сложно добавьте эти поля в код:


[G_ID] [int] IDENTITY(1,1) NOT NULL
ID записи, код товара, первичный ключ
• [G_NAME] [varchar](250) NOT NULL
Название товара
• [G_B_ID] [int] NULL
ID бренда (TBL_BRANDS.B_ID)
• [G_WARRANTY] [varchar](50) NULL
Гарантия
• [G_PRESENT] [bit] NOT NULL
Признак наличия
• [G_DESC] [varchar](2048) NULL
Краткое описание товара

• [G_ACTIVE] [bit] NOT
Признак активности товара
• [G_ACTION] [bit] NOT
Признак акционного товара
• [G_NEW] [bit] NOT NULL
Признак новинки
• [G_MODEL] [varchar](255) NULL
Модель
• [G_DESC_FULL] [varchar](max) NULL
Описание полное
• [G_REST] [float] NOT NULL
Остаток товара (сумма остатков товаров поставщиков которые есть в наличии)
• [price] [money] NULL
Цена продажи
• [G_PICTURE] [varchar](150) NULL
Имя файла рисунка

• [G_IMAGE] [image] NULL
Фото №1

• [G_IMAGE2] [image] NULL
Фото №2
• [G_DATE_IMAGE2] [datetime] NULL
Дата изменения/добавления фото №2
• [G_IMAGE3] [image] NULL
Фото №3
• [G_DATE_IMAGE3] [datetime] NULL
Дата изменения/добавления фото №3
• [G_IMAGE4] [image] NULL
Фото №4
• [G_DATE_IMAGE4] [datetime] NULL
Дата изменения/добавления фото №4
• [G_IMAGE5] [image] NULL
Фото №5



Я думаю что этот скрипт многим пригодится.Спасибо

30.08.2016 15:33

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Какие ошибки "выдавались"? Ваш скрипт экспорта довольно специфический, похож на урезанную версию экспорта для Shop-Script. В перечне полей которые вы хотите добавить, вы не указали названия колонок которые будут в результате.

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

04.09.2016 15:45

Bikemaniac


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

Тема начата

Количество сообщений   55
Зарегистрирован:   17-12-2013, 08:47:22
Ошибки
Снимок с ошибками во вложении



Прикрепленные файлы
Снимок.PNG   ( 5 Просмотров | 49.1 KB )

04.09.2016 15:46

Bikemaniac


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

Тема начата

Количество сообщений   55
Зарегистрирован:   17-12-2013, 08:47:22
Цитата
Написал: support

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


В принципе фото можно не выгружать

04.09.2016 16:03

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Ошибки
Цитата
Написал: Bikemaniac
Снимок с ошибками во вложении

У вас явные ошибки синтаксиса SQL, например вы неверно перечислили поля в списке выборки. Посмотрите например синтаксис как они перечислены в sql-запросе который успешно выполняется:
Цитата

g_sort.sort_param as ["Порядок сортировки"],
g.G_ID as ["Внутренний код (артикул)"],
g.G_NAME as ["Наименование"],

08.09.2016 18:27

Admin


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


Количество сообщений   135
Зарегистрирован:   23-08-2007, 09:03:21
По вашему изначальному sql-запросу, который формирует таблицу данных для экспорта в csv/Excel видно, что названия колонок в результирующем файле отличаются от названий колонок, которые используются в программе. Поданный вами перечень полей можно добавить в экспорт, но вам лучше сразу указать названия колонок которые вам нужны, т.е. чтобы они соответствовали названиям в вашей CMS.