EZCATALOG.ProductCatalog

Интерфейс позволяет редактировать содержимое каталога товаров. Для поддержания уникальности данных в БД каждый раздел каталога, и товар имеет уникальный номер записи«ID». Он никак не связан с понятием артикула товара и используется исключительно внутри программы. Все основные операции над каталогом осуществляются по указанному номеру записи.

function Connect(const DBPath: WideString; const DataPath: WideString; const FBClientDLL: WideString): OleVariant

Метод позволяет подключиться к базе данных каталога товаров. Должен вызываться самым первым.

Параметры:

DBPath путь до файла базы данных;

DataPath - путь до папки где находится база данных, файлы изображений и описаний товаров;

FBClientDLL путь к файлу «fbclient.dll». Можно задать пустое значение, если файл находится в системной папке Windows;

Возвращаемое значение:

1 - в случае успешного соединения

0 - в случае ошибки

procedure Disconnect

Метод позволяет отсоединиться от базы данных.Обязательно вызывайте для освобождения ресурсов в конце операций с объектом!

Методы предназначенные для редактирования разделов каталога

function FindDirectoryByNumber(const aNumber: WideString): OleVariant

function FindDirectory(const aValue: WideString; const aParentDir: WideString): OleVariant

Метод позволяет найти нужный раздел каталога товаров.

Параметры:

aValue наименование искомого раздела;

aParentDir наименование родительского раздела. Может иметь пустое значение. Тогда поиск осуществляется только по наименованию искомого раздела.

Возвращаемое значение:

ID записи - в случае успешного поиска

0 - если раздел не найден

function AppendDirectory(aParentID: SYSINT; const aName: WideString): OleVariant

Метод позволяющий добавить новый раздел в каталог.

Параметры:

aParentID ID записи родительского раздела, к которому будет привязан новый раздел. В случае привязки к корневому уровню каталога должен иметь значение равное 0.

aName Наименование создаваемого раздела

Возвращаемое значение:

ID нового раздела - в случае успешного создания

0 -  в случае ошибки

procedure ModifyDirectory(aID: SYSINT; const aName: WideString)

Метод позволяет изменить название раздела.

Параметры:

aID ID записи раздела

aName Новое наименование

procedure DeleteDirectory(aID: SYSINT)

Метод позволяет удалить раздел каталога и все находящиеся в нем подразделы и товары.

Параметры:

aID ID записи удаляемого раздела

function GetDirectoryData(aID: SYSINT): OleVariant;

Метод возвращает ссылку на объект DirectoryData по ID записи.

Пример получения корневого раздела:

DirectoryData := GetDirectoryData(0);

Методы для редактирования информации о товаре

function FindProduct(aDIRID: SYSINT; const aPRODNUMBER: WideString): OleVariant

Метод позволяет найти товар по артикулу в указном разделе.

Параметры:

aDIRID ID записи раздела, в котором будет производиться поиск. Может иметь значение равное 0. Тогда поиск товара будет осуществляться по всему каталогу до первого найденного подходящего артикула.

aPRODNUMBER Артикул искомого товара

Возвращаемое значение:

ID записи товара - в случае успешного поиска

0 -  если товар не найден

function FindProductByID(aID: SYSINT): OleVariant

procedure ModifyProductAttributes(IDProduct: SYSINT; const AttrValue: WideString; const DiscountSetup: WideString)

deprecated method

Метод позволяет изменять значения атрибутов товара. Можно менять значение как одного, так и нескольких атрибутов одновременно.

Параметры:

IDProduct ID записи редактируемого товара

 

AttrValue -  список значений атрибутов.

Оформляется в виде: новое значение

 

DiscountSetup - настройка порога минимальной и максимальной цены. Может иметь пустое строковое значение.

Оформляется в виде: 

 

Список названий основных атрибутов:

FNUMBER Артикул товара

FNAME Наименование товара

FPRICE Стоимость товара

Наименования остальных атрибутов можно посмотреть в меню «Сервис» - «Настройки программы». В открывшемся окне найдите пункт «Атрибуты товаров».

Метод устарел и оставлен для совместимости. Рекомендуем использовать метод FindProductByID и возвращаемый им интерфейс ProductData.

procedure ModifyProductsFieldWhere(const aFieldName: WideString; aValue: OleVariant; const aWhere: WideString)

procedure DeleteProduct(aID: SYSINT; const aNumber: WideString)

Метод позволяет удалить товар.

Параметры:

aID Удаление по ID записи товара. Артикул должен быть пустой.

aNumber  Удаление по артикул товара. ID записи должно иметь значение 0.

procedure ModifyProductDescription(IDProduct: SYSINT; const ADescription: WideString)

Метод позволяет задать текстовое описание для товара.

Параметры:

IDProduct ID записи редактируемого товара

ADescription -  Текстовая строка с описанием товара. Если указана пустая строка, то у товара будет удалено существующее описание.

procedure SaveRelatedProducts

Сохраняет список сопутствующих товаров, добавленных через метод ProductData. AddRelatedProduct. Вызывать метод необходимо после всех операций с каталогом.

procedure ClearPrice

Устанавливает поле остатков у всех товаров в 0.

procedure ClearCatalog

Выполняет полную отчистку каталога. Удаляет все разделы и товары.

function SaveUpdateToFile(const aFileName: WideString; const aTitle: WideString; const aComments: WideString): OleVariant

Создание обновления каталога товаров (файла остатков) и сохранение его в файл для дальнейшей отправки клиентам.

Параметры:

aFileName - Путь сохранения файла обновления включая имя файла (lastupdate.eoc).

aTitle - Заголовок будущего обновления.

aComments - Примечание к файлу. Может иметь пустое строковое значение.

Возвращаемое значение:

1 - в случае успешного создания файла обновления

0 - в случае ошибки

function UploadUpdateToFtp(const aFileName: WideString): OleVariant

Позволяет опубликовать файл обновления на ftp-сервере.

Параметры:

aFileName - Путь до файла обновления включая имя файла.

Возвращаемое значение:

1 - в случае успешной публикации обновления

0 - в случае ошибки

function SetOrderStatus(const aOrderNum: WideString; const AStatusName: WideString; const AAttachments: WideString): OleVariant

Позволяет изменить статус заказа и оповестить программу клиента. Также позволяет при смене статуса передать клиенту и привязать к заказу произвольные файлы. Например: счета, накладные, сертификаты, письма.

Параметры:

aOrderNum - внутенний ID заказа

aStatusName - название статуса (Как оно указано в настройках программы)

AAttachments - список файлов с указанием полного пути к ним. Если передается больше одного файла, то указать их нужно разделяя символом «;». Если файлы не передаются задать пустое значение строки.

Возвращаемое значение:

Возвращает значение больше 0 в случае успеха. Это значение ID заказа.

-1 - если ненайден статус из переменной aStatusName

-2 - если ненайден заказ по номеру из переменной aOrderNum

-3 - если неудалось сменить статус (ошибка загрузки на ftp)

function FindClientByNumber(const aNumber: WideString): OleVariant

function CreateDBQuery(ASQLType: SYSINT): OleVariant

Создает интерфейс DBQuery, предназначенный для выполнения SQL запросов не открывая отдельного соединения к базе данных. Не требует использования метода Connect интерфейса DBQuery.

function GetFileCrc(const aFileName: WideString): OleVariant

Функция предназначена для выполнения расчета контрольной суммы файла, указанного в параметре aFileName.

function SaveStockUpdateToFile(const aFileName: WideString; const aTitle: WideString; const aComments: WideString): OleVariant

Создание обновления каталога товаров, содержащее только информацию о наличии и ценах товаров.

Параметры:

aFileName - Путь сохранения файла обновления включая имя файла (stock.eoc).

aTitle - Заголовок будущего обновления.

aComments - Примечание к файлу. Может иметь пустое строковое значение.

property FolderProductDescription: WideString

Возвращает путь до каталога с файлами описаний товаров

property FolderProductImages: WideString

Возвращает путь до каталога с файлами изображений товаров

property LogFileName: WideString

Позволяет задать путь до текстового файла, в который будет записываться лог работы библиотеки

function GetAttrSetup: OleVariant;

Возвращает ссылку на объект ProductAttributes, содержащий список всех атрибутов.

function AppendClient(const aClientID, aName: WideString): OleVariant;

Создает клиента с кодом aClientID и Наименованием aName. Возвращает ссылку на объект карточки клиента ClientData.

procedure CMSAPIRequest(aProfileIndex: SYSINT; const aExtensionName, aMethodName, aJSONData: WideString; out aResultData: OleVariant);

Выполняет запрос а API ezCatalog.CMS.

Параметры:

aProfileIndex - Номер профиля интернет-магазина. Если профиль один необхлдимо задать значение равное 0.

aExtensionName - Наименование расширения API.

aMethodName - Наименование вызываемого метода.

aJSONData - Передаваемые данные в формате строки JSON.

В переменную aResultData возвращается результат выполнения запроса. В зависимости от расширения результат может содержать текст или строку в формате JSON.