WWW.DOCX.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Интернет материалы
 

«Документация WinShop COM-серверОглавление TOC \o 1-3 \h \z \u Документация WinShop COM-сервер PAGEREF _Toc485197501 \h 1Навигация по товарам / разделам / группам / полям ...»

Документация WinShop COM-серверОглавление

TOC \o "1-3" \h \z \u Документация WinShop COM-сервер PAGEREF _Toc485197501 \h 1Навигация по товарам / разделам / группам / полям групп PAGEREF _Toc485197502 \h 4Описание основных полей товара / раздела PAGEREF _Toc485197503 \h 4Функция GetLastError PAGEREF _Toc485197504 \h 7Функция GetLastErrorStr PAGEREF _Toc485197505 \h 8Функция Connect PAGEREF _Toc485197506 \h 9Функция Disconnect PAGEREF _Toc485197507 \h 10Функция GetDatabaseInfo PAGEREF _Toc485197508 \h 10Функция UpdateShop PAGEREF _Toc485197509 \h 11Функция First PAGEREF _Toc485197510 \h 12Функция First2 PAGEREF _Toc485197511 \h 13Функция Next PAGEREF _Toc485197512 \h 14Функция Prev PAGEREF _Toc485197513 \h 15Функция Last PAGEREF _Toc485197514 \h 16Функция Last2 PAGEREF _Toc485197515 \h 16Функция FindById PAGEREF _Toc485197516 \h 17Функция FindById2 PAGEREF _Toc485197517 \h 18Функция FindByField PAGEREF _Toc485197518 \h 19Функция FindByField2 PAGEREF _Toc485197519 \h 20Функция GetIds PAGEREF _Toc485197520 \h 21Функция GetIds2 PAGEREF _Toc485197521 \h 22Функция GetValue PAGEREF _Toc485197522 \h 23Функция GetValueStr PAGEREF _Toc485197523 \h 24Функция SetValue PAGEREF _Toc485197524 \h 25Функции SetProdValue PAGEREF _Toc485197525 \h 26Функции SetCategValue PAGEREF _Toc485197526 \h 28Функция AddItem PAGEREF _Toc485197527 \h 30Функция AddItem2 PAGEREF _Toc485197528 \h 30Функция AddItems PAGEREF _Toc485197529 \h 31Функция DeleteItem PAGEREF _Toc485197530 \h 32Функция Refresh PAGEREF _Toc485197531 \h 33Поля для сортировки PAGEREF _Toc485197532 \h 34Функция Sort PAGEREF _Toc485197533 \h 35Функция SetQueue PAGEREF _Toc485197534 \h 37Функции GetCurrencyInfo, SetCurrencyInfo PAGEREF _Toc485197535 \h 38Функция FirstGroup PAGEREF _Toc485197536 \h 39Функция NextGroup PAGEREF _Toc485197537 \h 40Функция PrevGroup PAGEREF _Toc485197538 \h 41Функция LastGroup PAGEREF _Toc485197539 \h 42Функция BOFGroups PAGEREF _Toc485197540 \h 42Connect, PrevGroup, Навигация по товарам / разделам / группам / полям групп. PAGEREF _Toc485197541 \h 43Функция EOFGroups PAGEREF _Toc485197542 \h 43Connect, Навигация по товарам / разделам / группам / полям групп. PAGEREF _Toc485197543 \h 44Функция FindGroupById PAGEREF _Toc485197544 \h 44Функция FindGroupByCode PAGEREF _Toc485197545 \h 45Функция FindGroupByName PAGEREF _Toc485197546 \h 46Функция GetGroupId PAGEREF _Toc485197547 \h 46Функция GetGroupCode PAGEREF _Toc485197548 \h 47Функция GetGroupName PAGEREF _Toc485197549 \h 48Функция SetGroupCode PAGEREF _Toc485197550 \h 49Функция SetGroupName PAGEREF _Toc485197551 \h 50Функция AddGroup PAGEREF _Toc485197552 \h 50Функция DeleteGroup PAGEREF _Toc485197553 \h 51Функция RefreshGroups PAGEREF _Toc485197554 \h 52Функция FirstField PAGEREF _Toc485197555 \h 53Функция NextField PAGEREF _Toc485197556 \h 54Функция PrevField PAGEREF _Toc485197557 \h 54Функция LastField PAGEREF _Toc485197558 \h 55Функция BOFFields PAGEREF _Toc485197559 \h 56Connect, PrevField, Навигация по товарам / разделам / группам / полям групп. PAGEREF _Toc485197560 \h 57Функция EOFFields PAGEREF _Toc485197561 \h 57Connect, Навигация по товарам / разделам / группам / полям групп. PAGEREF _Toc485197562 \h 58Функция FindFieldById PAGEREF _Toc485197563 \h 58Функция FindFieldByName PAGEREF _Toc485197564 \h 59Функция FindFieldByCaption PAGEREF _Toc485197565 \h 59Функция FindFieldByType PAGEREF _Toc485197566 \h 60Функция FindFieldByPurpose PAGEREF _Toc485197567 \h 61Функция GetFieldId PAGEREF _Toc485197568 \h 62Функция GetFieldName PAGEREF _Toc485197569 \h 63Функция GetFieldCaption PAGEREF _Toc485197570 \h 64Функция GetFieldType PAGEREF _Toc485197571 \h 65Функция GetFieldPurpose PAGEREF _Toc485197572 \h 66Функция SetFieldName PAGEREF _Toc485197573 \h 66Функция SetFieldCaption PAGEREF _Toc485197574 \h 67Функция SetFieldType PAGEREF _Toc485197575 \h 68Функция SetFieldPurpose PAGEREF _Toc485197576 \h 69Функция AddField PAGEREF _Toc485197577 \h 70Функция DeleteField PAGEREF _Toc485197578 \h 72Функция RefreshFields PAGEREF _Toc485197579 \h 72Функция SetFieldQueue PAGEREF _Toc485197580 \h 73Пример для Delphi 7 PAGEREF _Toc485197581 \h 74Пример для 1C: Предприятие 7.7 PAGEREF _Toc485197582 \h 80Пример для 1C: Предприятие 8.2 PAGEREF _Toc485197583 \h 97

Навигация по товарам / разделам / группам / полям группПринцип навигации состоит в том, что устанавливается курсор (указатель) на записи, с которыми будут производиться операции чтения, редактирования, удаления.

Навигация по товарам / разделам может осуществляться двумя способами:

- "по ключу" – курсор устанавливается на один товар / раздел;

- "по значению поля" – курсор устанавливается на несколько товаров / разделов.

Функции для навигации по товарам / разделам:

- "по ключу" - FindById, FindById2, First, First2, Next, Prev, Last, Last2, AddItem, AddItem2, AddItems;

- "по значению поля" - FindByField, FindByField2.

Навигацию "по ключу" рекомендуется использовать для таких задач, как синхронизация содержимого магазина с базами данных других приложений (бухгалтерских, складских и проч.). Навигация "по значению полю" удобна, если, например, необходимо удалить все товары со статусом "новинка".

Функции для навигации по группам: FirstGroup, NextGroup, PrevGroup, LastGroup, FindGroupById, FindGroupByCode, FindGroupByName, AddGroup.

Функции для навигации по полям группы: FirstField, NextField, PrevField, LastField, FindFieldByName, FindFieldByCaption, FindFieldByType, FindFieldByPurpose, AddField.

Описание основных полей товара / разделаИмя поля Тип поля Описание поля

item_idцелое число Идентификатор товара / раздела.

Доступен только для чтения.

item_codeСтрока Код товара / раздела.

Максимальный размер – 20 символов.

urlСтрока Адрес страницы товара / раздела.

Максимальный размер – 100 символов.

name Строка Краткое название товара / раздела.

Максимальный размер – 100 символов.

headline Строка Полное название товара / раздела.

Максимальный размер – 200 символов.

Abstract

Текст Краткое описание товара / раздела.

Максимальный размер – 200 символов.

info Текст Полное описание товара / раздела.

Максимальный размер – 200 символов.

image Строка Имя файла картинки товара / раздела.

Максимальный размер – 255 символов.

icon Строка Имя файла иконки товара / раздела.

Максимальный размер – 255 символов.

__image1 Строка Имя файла иконки2 товара.

Максимальный размер – 255 символов.

__image2 Строка Имя файла картинки2 товара.

Максимальный размер – 255 символов.

__image3 Строка Имя файла иконки3 товара.

Максимальный размер – 255 символов.

__image4 Строка Имя файла картинки3 товара.

Максимальный размер – 255 символов.

price дробное число Цена товара.

Разделитель дробной части – точка.

catalog_priceдробное число Цена товара до скидки.

Разделитель дробной части – точка.

currency_idЦелое число или строка Валюты, в которой указаны «Цена» и «Цена до скидки» товара.

Допустимые значения:

0 или BYR – Белорусский рубль

1 или RUB – Российский рубль

2 или USD – Доллар США

3 или EUR – Евро

status целое число Статус товара / раздела.

Значение от 0 до 3 (товар).

0 – “В резерве”

1 – “Доступен”

2 – “Нет на складе”

3 – “Новинка”

Значение от 0 до 2 (раздел)

0 – “В резерве”

1 – “Активен”

2 – “Не активен”

Для задания товару статуса "Под заказ" необходимо, во первых, чтобыт это товар имел статус - "Доступен", во-вторых, указать количество дней, которое потребуется для доставки товара. Например, для назначения товару статуса "Под заказ в течение 7 дней", полю "status" присваиваем значение равное "1", полю "order_delay" - "7".

primer_id целое число Идентификатор основного раздела, в котором размещен товар (идентификатор родительского раздела, в котором размещен раздел).

Доступен только для чтения. Идентификатор главной страницы равен 1.

section_ids Строка Идентификаторы разделов, в которых размещен товар / идентификатор родительского раздела, в котором находится раздел.

Максимальный размер – 255 символов.

Для того чтобы разместить товар (товары) в разделах, необходимо в качестве значения поля, указать через запятую идентификаторы разделов, в которых будет размещен товар (товары). Первый указанный раздел будет назначен основным для товара (товаров). Текущее размещение товара (товаров) в разделах, идентификаторы которых не были указаны, будет отменено. Чтобы к текущему размещению товара (товаров) добавить еще одно, указываемые идентификаторы разделов, в которых будет размещен товар, необходимо сопроводить символом “+”. Для отмены размещения товара (товаров) в разделах, необходимо в качестве значения поля указать через запятую идентификаторы разделов, размещение в которых нужно отменить (например: -27,52). Должен существовать хотя бы один раздел с указанным идентификатором.

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

related_ids Cтрока Идентификаторы разделов и товаров, которые являются сопутствующими для товара.

Максимальный размер – 255 символов.

Чтобы назначить товару (товарам) сопутствующие товары и разделы, необходимо в качестве значения поля указать через запятую идентификаторы товаров и разделов, которые будут являться сопутствующими. Ранее назначенные товару (товарам) сопутствующие товары и разделы, идентификаторы которых не были указаны, будут сброшены. Чтобы назначаемые сопутствующие товары и разделы были добавлены к уже назначенным, указываемые идентификаторы сопутствующих товаров и разделов необходимо сопроводить символом "+". Чтобы для товара (товаров) сбросить сопутствующие товары и разделы, необходимо в качестве значения поля указать через запятую идентификаторы сопутствующих товаров и разделов, которые будут сброшены, сопроводив их символом "-" (например: -27,52). Должен существовать хотя бы один сопутствующий товар / раздел с указанным идентификатором. При указании в качестве значения поля пустой строки, для товара (товаров) будут сброшены все назначенные сопутствующие товары и разделы.

type_id целое число Идентификатор типа классификатора товара.

Идентификатор незаклассифицированного товара должен быть равным 15.

group_idцелое число Идентификатор группы товара.

seo.title Строка Текст заголовка страницы товара / раздела.

Максимальная длина – 255 символов.

seo.description Текст Краткое содержание страницы товара / раздела.

Максимальная длина – 65535 символов.

seo.keywordsТекст Перечень ключевых слов, по которым будет осуществляться индексация страницы товара / раздела поисковыми системами.

Максимальная длина – 65535.

order_delayцелое число Срок доставки товара (дней).

Значение должно быть больше 0

Функция GetLastErrorФункция позволяет определить, было ли получено сообщение об ошибке.

Синтаксис

function GetLastError: Integer;

Параметры

Функция не имеет параметров.

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

Если сообщение об ошибке было получено, функция возвращает значение 0, иначе значение -1.

Заметки

Функция должна вызываться сразу после вызова функции, которая завершилась с ошибкой.

Функция GetLastErrorStrФункция используется для получения текста последней ошибки.

Синтаксис

function GetLastErrorStr: OleVariant;

Параметры

Функция не имеет параметров.

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

Функция возвращает текст последней ошибки. Если текст последней ошибки получить не удалось, функция возвращает пустую строку.

Заметки

Функция должна вызываться сразу после вызова функции, которая завершилась с ошибкой.

См. также

GetLastError.Функция ConnectФункция используется для открытия соединения (сессии) с WinShop-сервером.

Синтаксис

function Connect(Host: OleVariant; Port: Integer; UserName: OleVariant; Password: OleVariant; DatabaseName: OleVariant): Integer;

Параметры

Host [in]

Имя или IP-адрес компьютера, на котором запущен WinShop-сервер. Значение можно оставить пустым, для подключения к WinShop-серверу, расположенному на локальном компьютере.

Port [in]

Номер порта. Значение можно оставить равным 0, тогда подключение будет производиться по принятому по умолчанию порту для WinShop равному 2006.

UserName [in]

Имя пользователя.

Password [in]

Пароль пользователя.

DatabaseName [in]

Имя магазина.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Для параметров UserName и Password необходимо использовать имя пользователя и пароль существующей в WinShop учетной записи пользователя (меню “Сервис” -> “Параметры” -> закладка “Пользователи”). Для параметра DatabaseName используйте имя магазина существующего в WinShop (меню “Сервис” -> “Параметры” -> закладка “Магазины”).

Функция DisconnectФункция используется для закрытия соединения (сессии) с WinShop-сервером.

Синтаксис

function Disconnect: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Функция GetDatabaseInfoФункция возвращает информацию о магазине по его порядковому номеру в списке магазинов, управляемых WinShop-сервером.

Синтаксис

function GetDatabaseInfo(Index: Integer; out DatabaseName: OleVariant; out DatabasePath: OleVariant): Integer;

Параметры

Index [in]

Порядковый номер магазина.

DatabaseName [out]

Имя магазина.

DatabasePath [out]

Путь к базе данных магазина (на компьютере, где запущен WinShop-сервер).

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу. Подключаясь необязательно указывать имя магазина.

Если на сервере установлено три магазина, то для параметра Index = 0 будет возвращена информация по первому магазину, для параметра Index = 1 – второму магазину и так далее. Для параметра Index = 3 функция вернет код ошибки. Таким образом, чтобы получить полный список магазинов, необходимо вызывать данную функцию с увеличением параметра Index до тех пор, пока она не вернет код ошибки.

См. также

Connect.

Функция UpdateShopФункция используется для обновления данных в интернет-магазине.

Синтаксис

function UpdateShop(UpdateMode: Integer): Integer;

Параметры

UpdateMode [in]

Режим обновления интернет-магазина:

0 – полное;

1 – частичное.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу с использованием имени пользователя, имеющего права доступа "Администратор".

См. также

Connect.

Функция FirstФункция устанавливает курсор на первый товар.

Синтаксис

function First: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор первого товара. Если товары в магазине отсутствуют, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция First2Функция устанавливает курсор на первый товар / раздел.

Синтаксис

function First2(Where: Integer): Integer;

Параметры

Where [in]

Перемещаемся к первому:

1 – товару;

2 – разделу;

3 – товару или разделу.

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

В случае успешного завершения функция возвращает идентификатор первого товара / раздела. Если товары / разделы в магазине отсутствуют, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп, First.

Функция NextФункция устанавливает курсор на следующий товар / раздел.

Синтаксис

function Next: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор следующего товара / раздела. Если товары / разделы в магазине отсутствуют или достигнут конец набора товаров / разделов, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция может быть использована только в том случае, если задан способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция PrevФункция устанавливает курсор на предыдущий товар / раздел.

Синтаксис

function Prev: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор предыдущего товара / раздела. Если товары / разделы в магазине отсутствуют или достигнуто начало набора товаров / разделов, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция может быть использована только в том случае, если задан способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция LastФункция устанавливает курсор на последний товар.

Синтаксис

function Last: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор последнего товара. Если товары в магазине отсутствуют, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция Last2Функция устанавливает курсор на последний товар / раздел.

Синтаксис

function Last2(Where: Integer): Integer;

Параметры

Where [in]

Перемещаемся к последнему:

1 – товару;

2 – разделу;

3 – товару или разделу.

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

В случае успешного завершения функция возвращает идентификатор последнего товара / раздела. Если товары / разделы в магазине отсутствуют, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам, Выборка товаров / разделов, Last.

Функция FindByIdФункция ищет товар по идентификатору и устанавливает на него курсор.

Синтаксис

function FindById(ItemId: Integer): Integer;

Параметры

ItemId [in]

Идентификатор товара, по которому будет происходить поиск.

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

Если товар найден, то функция возвращает значение 1. Если товар не найден, то функция возвращает 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу".

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindById2Функция ищет товар / раздел по идентификатору и устанавливает на него курсор.

Синтаксис

function FindById2(ItemId, Where: Integer): Integer;

Параметры

ItemId [in]

Идентификатор товара / раздела, по которому будет происходить поиск.

Where [in]

Ищем:

1 – товар;

2 – раздел;

3 – товар или раздел.

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

Если товар / раздел найден, то функция возвращает значение 1. Если товар / раздел не найден, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп, FindById.

Функция FindByFieldФункция ищет товары по значению основного поля и устанавливает на них курсор.

Синтаксис

function FindByField(FieldName: OleVariant; FieldValue: OleVariant): Integer;

Параметры

FieldName [in]

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

FieldValue [in]

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

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

В случае успешного завершения функция возвращает количество найденных товаров. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по значению полю”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindByField2Функция ищет товары / разделы по значению основного поля и устанавливает на них курсор.

Синтаксис

function FindByField2(FieldName: OleVariant; FieldValue: OleVariant; Where: Integer): Integer;

Параметры

FieldName [in]

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

FieldValue [in]

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

Where [in]

Ищем:

1 – товары;

2 – разделы;

3 – товары и разделы.

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

В случае успешного завершения функция возвращает количество найденных товаров / разделов. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по значению поля”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп, FindByField.

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

Синтаксис

function GetIds(out Ids: OleVariant):Integer;

Параметры

Ids [out]

Разделенные запятой, идентификаторы товаров, которые будут возвращены.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

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

Синтаксис

function GetIds2(out Ids: OleVariant; Where: Integer): Integer;

Параметры

Ids [out]

Разделенные запятой, идентификаторы товаров / разделов, которые будут возвращены.

Where [in]

Получаем идентификаторы:

1 – товаров;

2 – разделов;

3 – товаров и разделов.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп, GetIds.

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

Синтаксис

function GetValue(FieldName: OleVariant; out FieldValue: OleVariant): Integer;

Параметры

FieldName [in]

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

FieldValue [out]

Значение поля товара / раздела, которое будет возвращено.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функции неважно, какой способ навигации задан, главное, чтобы в выборке был только один товар / раздел.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция GetValueStrФункция используется для получения значений основных полей и полей группы товара / раздела на который установлен курсор.

Синтаксис

function GetValueStr(FieldName: OleVariant): OleVariant;

Параметры

FieldName [in]

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

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

В случае успешного завершения функция возвращает полученное значение поля. В случае ошибки функция возвращает пустую строку. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функции неважно, какой способ навигации задан, главное, чтобы в выборке был только один товар / раздел.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

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

Синтаксис

function SetValue(FieldName, FieldValue: OleVariant): Integer;

Параметры

FieldName [in]

Имя поля товара / раздела, для которого устанавливаем значение.

FieldValue [in]

Значение поля, которое будет назначено товару / разделу.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Основные поля товара / раздела, Навигация по товарам / разделам / группам / полям групп, Connect.

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

Синтаксис

function SetProdValue(FieldName, FieldValue: OleVariant): Integer;

Параметры

FieldName [in]

Имя поля.

FieldValue [in]

Значение поля.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Для использования функции требуется:

Подключение к магазину (см. Connect). Если подключение к магазину будет отсутствовать, функция завершиться с ошибкой - “Нет подключения к магазину”.

Товар, выбранный “по ключу” (см. Навигация по товарам). Если товар выбран “по полю” или выбран раздел - функция вернет ошибку – “Не выбран товар”.

Список полей товара, доступных для редактирования:

name – краткое название

headline – полное название

type_id – тип

price – цена

catalog_price – цена до скидки

currency_id – валюта

status – статус

order_delay – под заказ

item_code – код

abstract – краткое описание

info – полное описание

icon – иконка

image – картинка

__image1 – иконка 2

__image2 – картинка 2

__image3 – иконка 3

__image4 – картинка 3

group_id - группа

url – адрес страницы

seo.title – заголовок (title)

seo.description – краткое содержание (description)

seo.keywords – ключевые слова (keywords)

+ поля группы “Товар” и вложенных в нее групп.

Функция является альтернативой для медленно работающей функции SetValue по части работы с товарами.

Функция не поддерживает работу с полями section_ids и related_ids.

Символ-разделитель для полей типа “дробное число” – “.” (точка).

При установке значения списковому полю (типы: “список с выбором одного значения” и “список с выбором нескольких значений”), если устанавливаемое значение не из списка значений этого поля, оно будет добавлено в список значений и назначено. Символ-разделитель для списковых полей типа “список с выбором нескольких значений” – “|” (вертикальная черта).

См. также

Основные поля товара / раздела, Навигация по товарам / разделам / группам / полям групп, Connect.

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

Синтаксис

function SetCategValue(FieldName, FieldValue: OleVariant): Integer;

Параметры

FieldName [in]

Имя поля.

FieldValue [in]

Значение поля.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Для использования функции требуется:

Подключение к магазину (см. Connect). Если подключение к магазину будет отсутствовать, функция завершиться с ошибкой - “Нет подключения к магазину”.

Раздел, выбранный по “ключу” (см. Навигация по разделам). Если раздел выбран “по полю” или выбран товар - функция вернет ошибку – “Не выбран раздел”.

Список полей раздела, доступных для редактирования:

name – краткое название

headline – полное название

status – статус (опционально)

item_code – код

abstract – краткое описание

info – полное описание

icon – иконка

image – картинка

url – адрес страницы (опционально)

seo.title – заголовок (title)

seo.description – краткое содержание (description)

seo.keywords – ключевые слова (keywords)

+ поля группы “Раздел”

Функция является альтернативой для медленно работающей функции SetValue по части работы с разделами.

Функция не поддерживает работу с полями section_ids и related_ids.

Для главного (основного) раздела недоступны поля “status” и “url”. При попытке установить одному из этих полей значение, функция завершиться с ошибкой – “Поле “FieldName” не найдено”.

Символ-разделитель для полей типа “дробное число” – “.” (точка).

При установке значения списковому полю (типы: “список с выбором одного значения” и “список с выбором нескольких значений”), если устанавливаемое значение не из списка значений этого поля, оно будет добавлено в список значений и назначено. Символ-разделитель для списковых полей типа “список с выбором нескольких значений” – “|” (вертикальная черта).

См. также

Основные поля товара / раздела, Навигация по товарам / разделам / группам / полям групп, Connect.

Функция AddItemФункция добавляет новый товар в указанный раздел и устанавливает на него курсор.

Синтаксис

function AddItem(SectionId: Integer): Integer;

Параметры

SectionId [in]

Идентификатор раздела, в который будет добавлен новый товар. Раздел должен существовать.

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

В случае успешного завершения функция возвращает идентификатор добавленного товара. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп, AddItems.

Функция AddItem2Функция добавляет новый товар / раздел в указанный раздел и устанавливает на него курсор.

Синтаксис

function AddItem2(SectionId: Integer; GroupId: Integer): Integer;

Параметры

SectionId [in]

Идентификатор раздела, в который будет добавлен новый товар / раздел. Раздел должен существовать.

GroupId [in]

Что добавляем:

Идентификатор группы <> 0 – товар. Группа должна существовать.

0 – раздел.

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

В случае успешного завершения функция возвращает идентификатор добавленного товара или созданного подраздела. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации по “по ключу”. См. также

Connect, Навигация по товарам / разделам / группам / полям групп, AddItem, AddItems.

Функция AddItemsФункция добавляет новый товар в указанные разделы и устанавливает на него курсор.

Синтаксис

function AddItems(SectionIds: OleVariant): Integer;

Параметры

SectionIds [in]

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

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

В случае успешного завершения функция возвращает идентификатор добавленного товара. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr, AddItem.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция задает способ навигации “по ключу”.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция DeleteItemФункция используется для удаления товаров / разделов, на которые установлен курсор.

Синтаксис

function DeleteItem: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция RefreshФункция обновляет данные о товарах / разделах магазина.

Синтаксис

function Refresh: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect.

Поля для сортировкиИмя поля Краткое описание поля Возможность сортировки

Товары Разделы

item_codeКод товара / раздела urlАдрес страницы товара / раздела name Краткое название товара / раздела headline Полное название товара / раздела image Имя файла картинки товара / раздела icon Имя файла иконки товара / раздела price Цена товара catalog_priceЦена товара до скидки currency_idВалюта web_priceЦена товара в основной валюте web_catalog_priceЦена товара до скидки в основной валюте status Статус товара / раздела seo.titleТекст заголовка страницы товара / раздела seo.descriptionКраткое содержание страницы товара / раздела seo.keywordsПеречень ключевых слов, по которым будет осуществляться индексация страницы товара / раздела поисковыми системами Также можно указывать имена полей группы "Товар" - для товаров, группы "Раздел" - для разделов за исключением полей с типом "список с выбором одного значения" или "список с выбором нескольких значений".

Функция SortФункция сортирует товары / разделы по нескольким полям, используя встроенный механизм сортировки - “quicksort”.

Синтаксис

function Sort(SectionId: Integer; FieldName1: OleVariant; Asc1: WordBool; FieldName2: OleVariant; Asc2: WordBool; FieldName3: OleVariant; Asc3: WordBool; Where: Integer): Integer;

Параметры

SectionId [in]

Идентификатор раздела, товары / разделы которого будут отсортированы. Раздел должен существовать.

FieldName1 [in]

Имя первого поля для сортировки.

Asc1 [in]

Порядок сортировки по первому полю:

True – по возрастанию;

False – по убыванию.

FieldName2 [in]

Имя второго поля для сортировки.

Asc2 [in]

Порядок сортировки товаров по второму полю.

FieldName3 [in]

Имя третьего поля для сортировки.

Asc3 [in]

Порядок сортировки по третьему полю.

Where [in]

Что сортируем:

1 – товары;

2 – разделы.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Поля для сортировки, Список основных полей товара / раздела

Функция SetQueueФункция позволяет указать позицию товара / раздела относительно других сортируемых товаров / разделов при написании собственной сортировки.

Синтаксис

function SetQueue(ItemId: Integer; Where: Integer; Queue: Integer): Integer;

Параметры

ItemId [in]

Идентификатор сортируемого товара / раздела. Товар / раздел должен существовать.

Where [in]

Что сортируем:

1 – товар;

2 – раздел;

Queue [in]

Позиция товара / раздела по отношению к другим сортируемым товарам / раздела. Позиция должна задаваться с определенными промежутками. Например, первый товар – Queue = 0, второй товар – Queue = 16384, и так далее.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

К примеру, мы получили и отсортировали у себя в программе товары раздела "Одежда". Теперь, чтобы в WinShop товары отображались в той же последовательности, нужно установить курсор на раздел, товары которого были отсортированы и поочередно передать в функцию их идентификаторы, смещая для каждого позицию.

Функция может использоваться при сортировке сопутствующих товаров. Для этого необходимо установить курсор на товар, которому сопутствуют отсортированные товары, и передать в функцию их идентификаторы, указав для каждого позицию.

См. также

Connect, Поля для сортировки, Список основных полей товара / раздела

Функции GetCurrencyInfo, SetCurrencyInfoФункция возвращает параметры указанной валюты.

Синтаксис

function GetCurrencyInfo(CurrencyCode: OleVariant; out Main: WordBool; out Value: OleVariant; out Round: WordBool; out RoundValue: OleVariant; out RoundUp: WordBool): Integer;

function SetCurrencyInfo(CurrencyCode: OleVariant; Main: WordBool; Value: OleVariant; Round: WordBool; RoundValue: OleVariant; RoundUp: WordBool): Integer;

Параметры

CurrencyCode [in]

Код валюты, значения параметров которой необходимо получить. В качестве значения необходимо указать один из поддерживаемых кодов валюты:

BYR – Белорусский рубль;

RUB – Российский рубль;

USD – Доллар США;

EUR – Евро;

Main [out]

Значение показывает, является указанная валюта основной или нет.

Value [out]

Значение курса валюты в белорусских рублях. Разделитель дробной части – точка.

Для BYR значение всегда должно быть равным 1.

Round [out]

Значение показывает, будет ли производиться округление цен, при конвертировании в данную валюту (конвертирование производится при обновлении магазина цен всех товаров в основную валюту).

RoundValue [out]

Параметр кратности, используемый при округлении цен (т.е. полученная цена будет кратна данному значению). Разделитель дробной части – точка.

RoundUp [out]

Значение показывает, как будет производиться округление: в большую сторону (Правда) или математически (Ложь).

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

В случае успешного завершения функция возвращает 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция FirstGroupФункция устанавливает курсор на первую группу.

Синтаксис

function FirstGroup: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор первой группы. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция NextGroupФункция устанавливает курсор на следующую группу.

Синтаксис

function NextGroup: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор следующей группы. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция PrevGroupФункция устанавливает курсор на предыдущую группу.

Синтаксис

function PrevGroup: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор предыдущей группы. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция LastGroupФункция устанавливает курсор на последнюю группу.

Синтаксис

function LastGroup: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор последней группы. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция BOFGroupsФункция позволяет определить, расположен ли курсор в начале набора групп.

Синтаксис

function BOFGroups: Integer;

Параметры

Функция не имеет параметров.

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

Если курсор находится в начале набора групп (была вызвана функция FirstGroup, была вызвана функция PrevGroup, когда курсор находился на первой группе), функция возвращает значение 1. Если курсор находится в любом другом месте, функция возвращает значение 0. В случае ошибки функция возвращает -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция обычно используется совместно с функцией PrevGroup.

См. также

Connect, PrevGroup, Навигация по товарам / разделам / группам / полям групп.Функция EOFGroupsФункция позволяет определить, расположен ли курсор в конце набора групп.

Синтаксис

function EOFGroups: Integer;

Параметры

Функция не имеет параметров.

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

Если курсор находится в конце набора групп (была вызвана функция LastGroup, была вызвана функция NextGroup, когда курсор находился на последней группе), функция возвращает значение 1. Если курсор находится в любом другом месте, функция возвращает значение 0. В случае ошибки функция возвращает -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция обычно используется совместно с функцией NextGroup.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.Функция FindGroupByIdФункция ищет группу по идентификатору и устанавливает на нее курсор.

Синтаксис

function FindGroupById(Id: Integer): Integer;

Параметры

Id [in]

Идентификатор группы, по которому будет происходить поиск.

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

Если группа найдена, функция возвращает значение 1. Если группа не найдена, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindGroupByCodeФункция ищет группу по коду и устанавливает курсор на первую найденную.

Синтаксис

function FindGroupByCode(Code: OleVariant): Integer;

Параметры

Code [in]

Код группы, по которому будет происходить поиск.

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

Если группа найдена, то функция возвращает значение 1. Если группа не найдена функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindGroupByNameФункция ищет группу по названию и устанавливает курсор не первую найденную.

Синтаксис

function FindGroupByName(Name: OleVariant): Integer;

Параметры

Name [in]

Название группы, по которому будет происходить поиск.

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

Если группа найдена, то функция возвращает значение 1. Если группа не найдена, то функция возвращает 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

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

Синтаксис

function GetGroupId: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор группы. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

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

Синтаксис

function GetGroupCode(out Code: OleVariant): Integer;

Параметры

Code [out]

Код группы, который будет возвращен.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

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

Синтаксис

function GetGroupName(out Name: OleVariant): Integer;

Параметры

Code [out]

Название группы, которое будет возвращено.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция SetGroupCodeФункция назначает код группе, на которую установлен курсор.

Синтаксис

function SetGroupCode(Code: OleVariant): Integer;

Параметры

Code [in]

Код, который будет назначен группе. Значение не должно быть пустым. Допустимыми символами являются: буквы латинского алфавита, цифры и знаки подчеркивания. Максимальный размер – 20 символов.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция SetGroupNameФункция название группе, на которую установлен курсор.

Синтаксис

function SetGroupName(Name: OleVariant): Integer;

Параметры

Name [in]

Название, которое будет назначено группе. Максимальный размер – 200 символов.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция AddGroupФункция добавляет новую группу и устанавливает на нее курсор.

Синтаксис

function AddGroup(Code: OleVariant; Name: OleVariant): Integer;

Параметры

Code [in]

Код группы. Значение можно оставить пустым, тогда код будет сформирован автоматически. Допустимыми символами являются: буквы латинского алфавита, цифры и знаки подчеркивания. Максимальный размер – 20 символов.

Name [in]

Название группы. Максимальный размер – 200 символов.

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

В случае успешного завершения функция возвращает идентификатор добавленной группы. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция DeleteGroupФункция используется для удаления группы, на которую установлен курсор.

Синтаксис

function DeleteGroup: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect.

Функция RefreshGroupsФункция обновляет данные о группах.

Синтаксис

function RefreshGroups: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect.

Функция FirstFieldФункция устанавливает в текущей (на которой установлен курсор) группе курсор на первое поле.

Синтаксис

function FirstField: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор первого поля. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция NextFieldФункция устанавливает в текущей (на которой установлен курсор) группе курсор на следующее поле.

Синтаксис

function NextField: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор следующего поля. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция PrevFieldФункция устанавливает в текущей (на которой установлен курсор) группе курсор на предыдущее поле.

Синтаксис

function PrevField: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор предыдущего поля. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция LastFieldФункция устанавливает в текущей (на которой установлен курсор) группе курсор на последнее поле.

Синтаксис

function LastField: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор последнего поля. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция BOFFieldsФункция позволяет определить, расположен ли курсор в начале набора полей текущей (на которой установлен курсор) группы.

Синтаксис

function BOFFields: Integer;

Параметры

Функция не имеет параметров.

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

Если курсор находится в начале набора полей (в группе отсутствуют поля, была вызвана функция FirstField, была вызвана функция PrevField, когда курсор находился на первом поле), функция возвращает значение 1. Если курсор находится в любом другом месте, функция возвращает значение 0. В случае ошибки функция возвращает -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция обычно используется совместно с функцией PrevField.

См. также

Connect, PrevField, Навигация по товарам / разделам / группам / полям групп.Функция EOFFieldsФункция позволяет определить, расположен ли курсор в конце набора полей текущей (на которой установлен курсор) группы.

Синтаксис

function EOFFields: Integer;

Параметры

Функция не имеет параметров.

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

Если курсор находится в конце набора полей (в группе отсутствуют поля, была вызвана функция LastField, была вызвана функция NextField, когда курсор находился на последнем поле), функция возвращает значение 1. Если курсор находится в любом другом месте, функция возвращает значение 0. В случае ошибки функция возвращает -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

Функция обычно используется совместно с функцией NextField.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.Функция FindFieldByIdФункция ищет в текущей (на которую установлен курсор) группе поле по идентификатору, и устанавливает на него курсор.

Синтаксис

function FindFieldById(Id: Integer): Integer;

Параметры

Id [in]

Идентификатор поля, по которому будет происходить поиск.

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

Если поле найдено, функция возвращает значение 1. Если поле не найдено, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindFieldByNameФункция ищет в текущей (на которую установлен курсор) группе поле по имени, и устанавливает на него курсор.

Синтаксис

function FindFieldByName(Name: OleVariant): Integer;

Параметры

Name [in]

Имя поля, по которому будет происходить поиск.

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

Если поле найдено, функция возвращает значение 1. Если поле не найдено, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindFieldByCaptionФункция ищет в текущей (на которую установлен курсор) группе поле по названию, и устанавливает курсор на первое найденное.

Синтаксис

function FindFieldByCaption(Caption: OleVariant): Integer;

Параметры

Caption [in]

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

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

Если поле найдено, функция возвращает значение 1. Если поле не найдено, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindFieldByTypeФункция ищет в текущей (на которой установлен курсор) группе поле по типу, и устанавливает курсор на первое найденное.

Синтаксис

function FindFieldByType(Type_: Integer): Integer;

Параметры

Type_ [in]

Тип поля, по которому будет происходить поиск:

0 – строка;

1 – текст;

3 – целое число;

4 – дробное число;

5 – файл;

6 – картинка;

7 – список с выбором одного значения;

8 – список с выбором нескольких значений;

9 – интернет адрес (url).

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

Если поле найдено, функция возвращает значение 1. Если поле не найдено, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция FindFieldByPurposeФункция ищет в текущей (на которой установлен курсор) группе поле по назначению, и устанавливает курсор на первое найденное.

Синтаксис

function FindFieldByPurpose(Purpose: Integer): Integer;

Параметры

Purpose[in]

Назначение поля, по которому будет происходить поиск:

0 – Поиск и сравнение;

1 – Назначение 1;

2 – Назначение 2;

3 – Не передается на интернет-сервер.

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

Если поле найдено, функция возвращает значение 1. Если поле не найдено, то функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция GetFieldIdФункция используется для получения идентификатора поля, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function GetFieldId: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает идентификатор поля. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция GetFieldNameФункция используется для получения имени поля, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function GetFieldName(out Name: OleVariant): Integer;

Параметры

Name [out]

Имя поля, которое будет возвращено.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция GetFieldCaptionФункция используется для получения названия поля, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function GetFieldCaption(out Caption: OleVariant): Integer;

Параметры

Caption [out]

Название поля, которое будет возвращено.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция GetFieldTypeФункция используется для получения типа поля, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function GetFieldType(out Type_: Integer): Integer;

Параметры

Type_ [out]

Тип поля, который будет возвращен.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция GetFieldPurposeФункция используется для получения назначения поля, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function GetFieldPurpose(out Purpose: Integer): Integer;

Параметры

Purpose [out]

Назначение поля, которое будет возвращено.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция SetFieldNameФункция назначает имя полю, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function SetFieldName(Name: OleVariant): Integer;

Параметры

Name [in]

Имя, которое будет назначено полю. Допустимыми символами являются: буквы латинского алфавита, цифры и знаки подчеркивания. Первым символом должна быть буква латинского алфавита. Значение не должно быть пустым. Максимальный размер – 20 символов. Назначаемое имя не должно совпадать с именами полей в группе “Товар”.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция SetFieldCaptionФункция назначает название полю, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function SetFieldCaption(Caption: OleVariant): Integer;

Параметры

Caption [in]

Название поля, которое будет назначено. Значение не должно быть пустым. Максимальный размер – 200 символов.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция SetFieldTypeФункция назначает тип полю, на которое установлен курсор в текущей (на которую установлен курсор) группе.

Синтаксис

function SetFieldType(Type_: Integer): Integer;

Параметры

Type_ [in]

Тип поля, который будет назначен:

0 – строка;

1 – текст;

3 – целое число;

4 – дробное число;

5 – файл;

6 – картинка;

7 – список с выбором одного значения;

8 – список с выбором нескольких значений;

9 – интернет адрес (url).

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция SetFieldPurposeФункция назначает назначение полю, на которое установлен курсор в текущей группе (на которую установлен курсор).

Синтаксис

function SetFieldPurpose(Purpose: Integer): Integer;

Параметры

Purpose [in]

Назначение поля, которое будет назначено:

0 – Поиск и сравнение;

1 – Назначение 1;

2 – Назначение 2;

3 – Не передается на интернет-сервер.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция AddFieldФункция добавляет в текущую (на которую установлен курсор) группу новое поле и устанавливает на него курсор.

Синтаксис

function AddField(Name: OleVariant; Caption: OleVariant; Type_: Integer; Purpose: Integer): Integer;

Параметры

Name [in]

Имя добавляемого поля. Допустимыми символами являются: буквы латинского алфавита, цифры и знаки подчеркивания. Первым символом должна быть буква латинского алфавита. Значение не должно быть пустым. Максимальный размер – 20 символов. Назначаемое имя не должно совпадать с именами полей в группе “Товар”.

Caption [in]

Название добавляемого поля. Значение не должно быть пустым. Максимальный размер – 200 символов.

Type_ [in]

Тип добавляемого поля:

0 – строка;

1 – текст;

3 – целое число;

4 – дробное число;

5 – файл;

6 – картинка;

7 – список с выбором одного значения;

8 – список с выбором нескольких значений;

9 – интернет адрес (url).

Purpose [in]

Назначение добавляемого поля:

0 – Поиск и сравнение;

1 – Назначение 1;

2 – Назначение 2;

3 – Не передается на интернет-сервер.

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

В случае успешного завершения функция возвращает идентификатор добавленного поля. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

На момент вызова функции магазин не должен использоваться другими пользователями.

См. также

Connect, Навигация по товарам / разделам / группам / полям групп.

Функция DeleteFieldФункция удаляет в текущей (на которую установлен курсор) группе поле, на которое установлен курсор.

Синтаксис

function DeleteField: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect.

Функция RefreshFieldsФункция обновляет данные о полях в текущей (на которой установлен курсор) группе.

Синтаксис

function RefreshFields: Integer;

Параметры

Функция не имеет параметров.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect.

Функция SetFieldQueueФункция позволяет указать позицию поля в группе относительно других сортируемых полей группы при написании собственной сортировки.

Синтаксис

function SetFieldQueue(FieldId: Integer; Queue: Integer): Integer;

Параметры

FieldId[in]

Идентификатор сортируемого поля группы. Поле группы должно существовать.

Queue[in]

Позиция поля группы по отношению к другим сортируемым полям группы. Позиция должна задаваться с определенными промежутками. Например, первое поле группы – Queue = 0, второе поле группы – Queue = 16384, и так далее.

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

В случае успешного завершения функция возвращает значение 0. В случае ошибки функция возвращает значение -1. Для получения информации об ошибке используйте функции GetLastError, GetLastErrorStr.

Заметки

Чтобы использовать функцию, необходимо быть подключенным к WinShop-серверу.

См. также

Connect.

Пример для Delphi 7 Для начала работы необходимо, чтобы на компьютере был установлен WinShop (Тип установки “Главный компьютер” или “Дополнительный” значения не имеет).

Запускаем среду разработки Delphi 7 и импортируем библиотеку типов. Для этого выбираем в главном меню команду “Project” -> “Import Type Library” (Рис. 01).

Рис. 01

В открывшемся окне, в списке находим и выделяем строку “WinShopCOM (Version 1.0)” и нажимаем кнопку “Install” (Рис. 02).

Рис. 02

После этого на закладке компонентов “ActiveX” появится компонент с именем WinShopConnection (Рис. 03).

Рис. 03

Создаем новый проект. На форму помещаем компонент WinShopConnection и 6 компонентов-кнопок с именами (Name): “ConnectButton”, “DisconnectButton”, “NumberOfProductsButton”, “ClearPriceForAllProductsButton”, “NumberOfFieldsInGroupsButton”, “SortProducts”, “CustomSortProducts”. В качестве заголовков (Caption) соответственно укажем: “Connect”, “Disconnect”, “Number of products”, “Clear price for all products”, “Number of fields of groups, “Sort products”, “Custom sort products”.

Для кнопок создадим обработчики события “OnClick” (исходный код приведен ниже). По нажатию на кнопку “Connect” будет выполнено подключение к магазину “Магазин-пример”. Нажав кнопку “Disconnect” произойдет отключение от магазина. После нажатия на кнопку “Number of products” будет подсчитано общее количество товаров в магазине, а также количество товаром, имеющих статус “В резерве”. Нажав кнопку “Clear price for all products” для всех товаров магазина, имеющих статус “В резерве” будет очищена цена (установлена равной 0). По нажатию кнопки “Number of fields in groups”, будет выведено количество полей в каждой группе магазина. После нажатия на кнопку “Sort products” товары главной страницы будут отсортированы по полям: “цена” – по убыванию, “краткое название” – по возрастанию, “статус” – по возрастанию с использованием встроенной сортировки. Нажав кнопку “Custom sort products” будет выполнена пользовательская сортировка товаров по цене.

unit ExampleUnit;

interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, OleServer, WinShopCOM_TLB, StdCtrls;

type TExampleForm = class(TForm)

ClearPriceForAllProductsButton: TButton;

ConnectButton: TButton;

DisconnectButton: TButton;

NumberOfFieldsInGroupsButton: TButton;

NumberOfProductsButton: TButton;

WinShopConnection1: TWinShopConnection;

SortProducts: TButton;

CustomSortProducts: TButton;

procedure ClearPriceForAllProductsButtonClick(Sender: TObject);

procedure ConnectButtonClick(Sender: TObject);

procedure CustomSortProductsClick(Sender: TObject);

procedure DisconnectButtonClick(Sender: TObject);

procedure NumberOfFieldsInGroupsButtonClick(Sender: TObject);

procedure NumberOfProductsButtonClick(Sender: TObject);

procedure SortProductsClick(Sender: TObject);

private function CheckResult(Value: Integer): Integer;

public { Public declarations }

end;

var ExampleForm: TExampleForm;

implementation{$R *.dfm}

function TExampleForm.CheckResult(Value: Integer): Integer;

begin Result := Value;

if Result = -1 then

raise Exception.Create(WinShopConnection1.GetLastErrorStr);

end;

procedure TExampleForm.ClearPriceForAllProductsButtonClick(Sender: TObject);

var FoundProducts, ModifiedProducts: Integer;

begin FoundProducts := CheckResult(WinShopConnection1.FindByField('status', 0));

ModifiedProducts := 0;

if FoundProducts > 0 then

ModifiedProducts := CheckResult(WinShopConnection1.SetValue('price', 0));

ShowMessageFmt('Изменено товаров: %d', [ModifiedProducts]);

end;

procedure TExampleForm.ConnectButtonClick(Sender: TObject);

begin CheckResult(WinShopConnection1.Connect1('', 0, 'Administrator', '',

'Магазин-пример'));

end;

procedure TExampleForm.CustomSortProductsClick(Sender: TObject);

type TProduct = record

Id: Integer;

Price: Currency;

end;

TProducts = array of TProduct;

var Product: TProduct;

ProductId, I, J: Integer;

Products: TProducts;

begin SetLength(Products, 0);

ProductId := CheckResult(WinShopConnection1.First);

if ProductId > 0 then

while ProductId > 0 do

begin if WinShopConnection1.GetValueStr('primer_id') = 2 then

begin Product.Id := ProductId;

Product.Price :=

StrToFloat(StringReplace(WinShopConnection1.GetValueStr('price'), '.', ',', []));

SetLength(Products, Length(Products) + 1);

Products[Length(Products) - 1] := Product;

end;

ProductId := CheckResult(WinShopConnection1.Next);

end;

for I := 0 to Length(Products) - 2 do

for J := 0 to Length(Products) - 2 - I do

if Products[J].Price > Products[J + 1].Price then

begin Product := Products[J];

Products[J] := Products[J + 1];

Products[J + 1] := Product;

end;

CheckResult(WinShopConnection1.FindById2(2, 2));

for I := 0 to Length(Products) - 2 do

CheckResult(WinShopConnection1.SetQueue(Products[I].Id, 1, I * 16384));

end;

procedure TExampleForm.DisconnectButtonClick(Sender: TObject);

begin CheckResult(WinShopConnection1.Disconnect1);

end;

procedure TExampleForm.NumberOfFieldsInGroupsButtonClick(Sender: TObject);

var GroupCode, GroupName: OleVariant;

NumberOfFields: Integer;

begin CheckResult(WinShopConnection1.FirstGroup);

while CheckResult(WinShopConnection1.EOFGroups) <> 1 do

begin CheckResult(WinShopConnection1.GetGroupCode(GroupCode));

CheckResult(WinShopConnection1.GetGroupName(GroupName));

NumberOfFields := 0;

CheckResult(WinShopConnection1.FirstField);

while CheckResult(WinShopConnection1.EOFFields) <> 1 do

begin Inc(NumberOfFields);

CheckResult(WinShopConnection1.NextField);

end;

ShowMessageFmt('Код группы: %s; Имя группы: %s; Количество полей: %d',

[GroupCode, GroupName, NumberOfFields]);

CheckResult(WinShopConnection1.NextGroup);

end;

end;

procedure TExampleForm.NumberOfProductsButtonClick(Sender: TObject);

var ProductId, AllProducts, ProductsInReserve: Integer;

begin AllProducts := 0;

ProductsInReserve := 0;

ProductId := CheckResult(WinShopConnection1.First);

while ProductId > 0 do

begin Inc(AllProducts);

if CheckResult(WinShopConnection1.GetValueStr('status')) = 0 then

Inc(ProductsInReserve);

ProductId := CheckResult(WinShopConnection1.Next);

end;

ShowMessageFmt('Всего товаров: %d (в резерве: %d)',

[AllProducts, ProductsInReserve]);

end;

procedure TExampleForm.SortProductsClick(Sender: TObject);

begin CheckResult(WinShopConnection1.Sort(1, 'price', False, 'name', True, 'status', True, 1));

end;

end.

Пример для 1C: Предприятие 7.7Рассмотрим использование функций COM-сервера на примере синхронизации товаров магазина WinShop со справочником товаров 1C: Предприятие 7.7.

Запускаем программу 1C: Предприятие 7.7. В окне “Запуск 1C:Предприятия” из выпадающего списка “В режиме:” выбираем "Конфигуратор", нажимаем кнопку “OK” (Рис. 01).

Рис. 01

Для создания справочника товаров в окне “Конфигуратор – задача” в меню “Конструкторы” выбираем пункт “Новый справочник...” (Рис. 02) или нажимаем кнопку “Новый справочник” на панели инструментов “Конструкторы” (Рис. 03).

Рис. 02

Рис. 03

В окне “Конструктор справочника” в поле “Идентификатор” укажем - "Товары", нажимаем кнопку “Далее” (Рис. 04).

Рис. 04

Нажимаем кнопку “Далее” (Рис. 05).

Рис. 05

Нажимаем кнопку “Готово” (Рис. 06).

Рис. 06

Для добавления реквизита “ЦенаСНДС” в список “Реквизиты” в окне “Справочник товары” нажимаем кнопку “Новый” (Рис. 07).

Рис. 07

В окне “Свойства реквизита” на вкладке “Общие” в поле “Идентификатор” укажем - "ЦенаСНДС", из выпадающего списка “Тип значения” выберем “<<Число>>”, нажимаем кнопку “OK” (Рис. 08).

Рис. 08

Таким же образом добавляем реквизиты “ОптНадб” и “Количество” (Рис. 09, Рис. 10).

Рис. 09

Рис. 10

В окне “Размещение реквизитов справочника” нажимаем кнопку “Вставить” (Рис. 11).

Рис. 11

Из панели инструментов “Элементы диалога” (Рис. 12) поместим в окно “Форма-Справочник.Товары.ФормаСписка.ФормаСписка” элемент диалога “Текст”. В окне “Свойства текста” в поле “Заголовок” укажем - "Имя компьютера", нажимаем. кнопку “OK” (Рис. 13).

Рис. 12

Рис. 13

Таким же образом добавляем 4 элемента диалога “Текст” с заголовками "Номер порта" (Рис. 14), "Имя пользователя" (Рис. 15), "Пароль" (Рис. 16) и "Название магазина" (Рис. 17).

Рис. 14

Рис. 15

Рис. 16

Рис. 17

Из панели инструментов “Элементы диалога” (Рис. 12) поместим в окно “Форма-Справочник.Товары.ФормаСписка.ФормаСписка” элемент диалога “Реквизит диалога”. В окне “Свойства поля ввода” на вкладке “Общие” в поле “Идентификатор” укажем - "ИмяКомпьютера" (Рис. 18), на вкладке “Тип” из выпадающего списка “Тип” выберем “<<Строка>>”, в поле “Длина” укажем - 255, нажимаем кнопку “OK” (Рис. 19).

Рис. 18

Рис. 19

Таким же образом добавляем 4 элемента диалога “Реквизит диалога” с идентификаторами “НомерПорта” (Рис. 20, Рис. 21), “ИмяПользователя” (Рис. 22, Рис. 23), “Пароль” (Рис. 24, Рис. 25) и “НазваниеМагазина” (Рис. 26, Рис. 27).

Рис. 20

Рис. 21

Рис. 22

Рис. 23

Рис. 24

Рис. 25

Рис. 26

Рис. 27

Из панели инструментов “Элементы диалога” (Рис. 12) поместим в окно “Форма-Справочник.Товары.ФормаСписка.ФормаСписка” элемент диалога “Кнопка”. В окне “Свойства кнопки” на вкладке “Общие” в поле “Заголовок” укажем - "СинхрСВинШоп" (Рис. 28), на вкладке “Дополнительно” в поле “Формула” зададим - "СинхрСВинШоп()", нажимаем кнопку “OK” (Рис. 29).

Рис. 28

Рис. 29

В окне “Форма-Справочник.Товары.ФормаСписка.ФормаСписка” переходим на вкладку “Модуль”, вставляем нижеследующий исходный код (Рис. 30);

Процедура СинхрСВинШоп();

Товары = СоздатьОбъект("Справочник.Товары");

ВинШоп = СоздатьОбъект("WinShopCOM.WinShopConnection");

Результат = ВинШоп.Connect(СокрЛП(ИмяКомпьютера), НомерПорта, СокрЛП(ИмяПользователя),

СокрЛп(Пароль), СокрЛП(НазваниеМагазина));

Если Результат = -1 Тогда

Сообщить("Не удалось подключиться к ВинШоп");

Возврат;

КонецЕсли;

Товары.ВыбратьЭлементы();

Пока Товары.ПолучитьЭлемент() = 1 Цикл

Результат = ВинШоп.FindByField("Name", Товары.Наименование);

Если Результат <> -1 Тогда

Если Результат = 0 Тогда

Результат = ВинШоп.AddItem(1);

Если Результат = -1 Тогда

Сообщить("Не удалось добавить товар в ВинШоп");

Продолжить;

КонецЕсли;

КонецЕсли;

ВинШоп.SetValue("Name", Товары.Наименование);

ВинШоп.SetValue("Price", Товары.ЦенаСНДС);

Если Товары.Количество <> 0 Тогда

ВинШоп.SetValue("Status", 1);

Иначе

ВинШоп.SetValue("Status", 2);

КонецЕсли;

КонецЕсли;

КонецЦикла;

ВинШоп.Disconnect();

КонецПроцедуры

Рис. 30

Для сохранения метаданных в окне “Конфигуратор – задача” в меню “Файл” выбираем пункт “Сохранить” (Рис. 31) или нажимаем кнопку “Сохранить” на панели инструментов ”Стандартная” (Рис. 32).

Рис. 31

Рис.32.

В окне сообщения “Конфигуратор” нажимаем кнопку “Да” (Рис. 33).

Рис. 33

В окне “Реорганизация информации” нажимаем кнопку “Принять” (Рис. 34)

Рис. 34

В окне сообщения “Конфигуратор” нажимаем кнопку “OK” (Рис. 35).

Рис. 35

Для перехода в режим “1C: Предприятие” в окне “Конфигуратор – задача” в меню “Сервис” выбираем пункт “1C: Предприятие” (Рис. 36) или нажимаем кнопку “1C: Предприятие” на панели инструментов “Конфигурация” (Рис. 37).

Рис. 36

Рис. 37

В окне “1C: Предприятие – задача” в меню “Операции” выбираем пункт “Справочники…” (Рис. 38).

Рис. 38

В окне “Выбор справочника” выбираем – “Товары” и нажимаем кнопку “OK” (Рис. 39).

Рис. 39

Заполняем справочник “Товары”, указываем магазин, с которым будем синхронизироваться, нажимаем кнопку “СинхрСВинШоп” (Рис. 40).

Рис. 40

Пример для 1C: Предприятие 8.2Рассмотрим использование WinShop COM-сервера на примере импорта товаров из справочника 1С: Предприятие 8.2 в магазин WinShop.

Для начала, создадим справочник, в котором будут храниться товары. Запускаем информационную базу в режиме конфигуратора (рис. 1).

center76835

Рис. 1

Открываем дерево конфигурации (рис. 2).

center76835

Рис. 2

Добавляем новый справочник (рис. 3).

center76835

Рис. 3

На вкладке Основные укажем: Имя — Товары, Синоним — Товары (рис. 4).

center76835

Рис. 4

Переходим на вкладку Данные и задаем: Длина наименования — 150, Основное представление — В виде кода (рис. 5).

center76835

Рис. 5

Для стандартного реквизита Код установим: Синоним — Артикул, Проверка заполнения — Выдавать ошибку (рис. 6).

center76835

Рис. 6

Для стандартного реквизита Наименование укажем: Синоним — Название (рис. 7).

center76835

Рис. 7

Добавляем новый реквизит: Имя — Доступность, Синоним — Доступность, Тип — Строка, Длина — 25 (рис. 8).

center0

Рис. 8

Добавляем новый реквизит: Имя — Цена, Синоним — Цена, Тип — Число, Формат — ЧРД=, Формат редактирования — ЧРД=, (рис. 9).center76835

Рис. 9

Добавляем новый реквизит: Имя — АдресСтраницы, Синоним — Адрес страницы, Тип — Строка, Длина — 255 (рис. 10).center76835

Рис. 10

Переходим на вкладку Формы и добавляем новую форму: Выберите тип формы — Форма списка справочника (рис. 11).

center0

Рис. 11

Отмечаем реквизиты: Доступность, Цена, АдресСтраницы (рис. 12).

center0

Рис. 12

Добавляем на форму надпись: Имя — НадписьНазваниеМагазина, Заголовок — Название магазина: (рис. 13).

center0

Рис. 13

Добавляем поле ввода: Имя — ПолеВводаНазваниеМагазина (рис. 14).

center76835

Рис. 14

Добавляем надпись: Имя — НадписьИмяПользователя, Заголовок — Имя пользователя: (рис. 15).

center0

Рис. 15

Добавляем поле ввода: Имя — ПолеВводаИмяПользователя (рис. 16).

center76835

Рис. 16

Добавляем надпись: Имя — НадписьПарольПользователя, Заголовок — Пароль пользователя: (рис. 17).

center0

Рис. 17

Добавляем поле ввода: Имя — ПолеВводаПарольПользователя (рис. 18).

center76835

Рис. 18

Добавляем надпись: Имя — НадписьИмяХоста, Заголовок — Имя хоста: (рис. 19).

center0

Рис. 19

Добавляем поле ввода: Имя — ПолеВводаИмяХоста (рис. 20).

center76835Рис. 20

Добавляем надпись: Имя — НадписьНомерПорта:, Заголовок — Номер порта (рис. 21).

center0

Рис. 21

Добавляем поле ввода: Имя — ПолеВводаНомерПорта (рис. 22).

center76835

Рис. 22

Добавляем кнопку: Имя — КнопкаИмпортировать, Заголовок — Импортировать (рис. 23).

center76835

Рис. 23

В событие Нажатие вставляем код:

Процедура КнопкаИмпортироватьНажатие(Элемент)

// Создаем соединение с WinShop

ВинШопСоед = Новый COMОбъект("WinShopCOM.WinShopConnection");

// Подключаемся к магазину

ConРез = ВинШопСоед.Connect(СокрЛП(ПолеВводаИмяХоста), Число(ПолеВводаНомерПорта), СокрЛП(ПолеВводаИмяПользователя), СокрЛП(ПолеВводаПарольПользователя), СокрЛП(ПолеВводаНазваниеМагазина));

Если ConРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

Возврат

КонецЕсли;

// Количество добавленных товаров

ТовДоб = 0;

// Количество обновленных товаров

ТовОбн = 0;

СпрТовВыб = Справочники.Товары.Выбрать();

Пока СпрТовВыб.Следующий() = 1 Цикл

// Ищем товар по коду

FindРез = ВинШопСоед.FindByField("item_code", СокрЛП(СпрТовВыб.Код));

Если FindРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

Продолжить;

КонецЕсли;

Если FindРез = 0 Тогда

// Товар не найден, добавляем новый в основной раздел

AddРез = ВинШопСоед.AddItem(1);

Если AddРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

Продолжить;

КонецЕсли;

// Назначаем товару код

SetРез = ВинШопСоед.SetValue("item_code", СокрЛП(СпрТовВыб.Код));

Если SetРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

КонецЕсли;

КонецЕсли;

// Назначаем товару название

SetРез = ВинШопСоед.SetValue("name", СокрЛП(СпрТовВыб.Наименование));

Если SetРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

КонецЕсли;

// Назначаем товару цену

SetРез = ВинШопСоед.SetValue("price", Число(СпрТовВыб.Цена));

Если SetРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

КонецЕсли;

// Назначаем товару статус

Если СпрТовВыб.Доступность = "На складе" Или СпрТовВыб.Доступность = "Под заказ" Тогда

SetРез = ВинШопСоед.SetValue("status", "1");

Если SetРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

Продолжить;

КонецЕсли;

Если СпрТовВыб.Доступность = "Под заказ" Тогда

SetРез = ВинШопСоед.SetValue("order_delay", "5");

Если SetРез = -1 ТогдаСообщить(ВинШопСоед.GetLastErrorStr());

КонецЕсли;

КонецЕсли;

Иначе

SetРез = ВинШопСоед.SetValue("status", "2");

Если SetРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

КонецЕсли;

КонецЕсли;

// Назначаем товару адрес страницы

SetРез = ВинШопСоед.SetValue("url", СокрЛП(СпрТовВыб.АдресСтраницы));

Если SetРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

КонецЕсли;

Если FindРез = 0 Тогда

ТовДоб = ТовДоб + 1;

Иначе

ТовОбн = ТовОбн + 1;

КонецЕсли;

КонецЦикла;

// Отключаемся от магазина

DisРез = ВинШопСоед.Disconnect();

Если DisРез = -1 Тогда

Сообщить(ВинШопСоед.GetLastErrorStr());

КонецЕсли;

Сообщить("Импорт товаров завершен. Добавлено новых: " + ТовДоб + "; Обновлено: " + ТовОбн + ".");КонецПроцедурыВозвращаемся во вкладку Формы и добавляем новую форму: Выберите тип формы — Форма элемента справочника (Рис. 24).

center0

Рис. 24

Для реквизита Доступность меняем элемент формы с Поле ввода на Поле выбора (рис. 25).

center0

Рис. 25

На форме для поля выбора Доступность задаем: Строки списка выбора — Не складе, Под заказ, Нет в продаже (рис. 26).

center0

Рис. 26

Обновляем конфигурацию базы данных (рис. 27).

center76835

Рис. 27

Сохраняем изменения (рис. 28).

center76835

Рис. 28

Предположим, что справочник уже заполнен. Теперь можем импортировать содержащиеся в нем товары. Запускаем информационную базу в режиме 1С: Предприятия (рис. 29).

center76835

Рис. 29

Открываем список справочников (рис. 30).

center0

Рис. 30

Открываем справочник Товары (рис. 31).

center76835

Рис. 31

Будем считать, что winshop-сервер и winshop-клиент находятся на одном компьютере, существует магазин с именем Демо и в нем содержаться товары с кодами: 01-02, 01-04, 01-06, 01-08, 01-10, 01-12, 01-14. Указываем: Название магазина — Демо, Имя пользователя — Administrator, Пароль пользователя, Имя хоста — оставляем пустыми, Номер порта — 0. Нажимаем кнопку Импортировать (рис. 32).

center76835

Рис. 32

Добавилось новых — 8 товаров, обновилось — 7 товаров (рис. 33).

center0

Рис. 33




Похожие работы:

«ПРОТОКОЛ № 23 Общего собрания членов Ассоциации "Саморегулируемая организация "Союз дорожников и строителей Курской области" г. Курск "30" июня 2017г. Время начала собрания 11 ч. 00 м. Время окончания собрания 12 ч. 25 м. Место проведения собрания: 305003, г. Курск, ул. Бойцов 9-й Дивизии 179 а. Всего членов Ассоциаци...»

«ГУЖАВИН ЕВГЕНИЙ АЛЕКСЕЕВИЧ 1926 -1999 Родился в 1926 году 29 декабря в деревне Гужавино Шурминского района Кировской области в крестьянской семье. В 1942 году окончил 7 классов в с. Шурма. 10 ноября 1943 года был призван в Красную Армию на д...»

«ПОЛОЖЕНИЕО ТЕКУЩЕМ КОНТРОЛЕ УСПЕВАЕМОСТИ И ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ СТУДЕНТОВ Дата введения 2013-06-201 ОБЛАСТЬ ПРИМЕНЕНИЯ Настоящее Положение определяет порядок планирования, организации и проведения текущего контроля и промежуточной аттестации студентов, обучающихся по осн...»

«Общество с Ограниченной Ответственностью "ХимГарант" Адрес: 392029, г. Тамбов, Бастионная, 3 ИНН 6829028471 КПП 682901001 р/с 40702810861000105673 Банк: Тамбовское отделение № 8594 тел. фак.8-(4752) 700-210, моб. 8 910-750-10-56Семена Майсадур, производство Франция: Гибриды УпаковТыс/ПЕ Особенности Цена Руб/ПЕ...»

«Главный врач ГБУЗ СО ТГП №1 _ С.Б. Шалаева "" 2017 год Данные о сертификатах, квалификации и режиме оказания специалистами внебюджетного отделения платных услуг по личной инициативе граждан на Март 2017г. №...»

«Test Module 31. Вставь пропущенные буквы и переведи слова на русский язык1. Flo_r 2. Coc_n_t 3. B_tter 4. Ol_ve o_l 5. P_neap_le 6. Tom_to _ 2. Перепиши слова, расставляя их по алфавиту Mango, lemon, coconut, sugar, pepper, beans,...»

«Критерии госпитализации при инфекции мочевыводящих путей-дети раннего возраста (менее 2-х лет);-наличие симптомов интоксикации;-отсутствие возможности осуществить оральную регидратацию при наличии признаков обезво...»

«ПРОГРАММА ЗДОРОВОГО СЕВЕРЯНИНА Программа действий предлагается по месяцам года, так как резкие, диаметрально-противоположные перемены погодно -климатических условий небезразличны для нашего организма. Например, сильно отличается характер нервно-психических нарушений в полярный день и полярную ночь. Погодн...»

«Постановление Европейского суда по правам человека от 08.10.2015 N 38887/09 ФАРТУШИН против РОССИИПЕРВАЯ СЕКЦИЯ ДЕЛО ФАРТУШИН против РОССИИ (Жалоба N 38887/09)ПОСТАНОВЛЕНИЕСТРАСБУРГ Вынесено 8 октября 2015 г. Вступило в с...»

«Туьйра "Хорсам" Гочдархо Ибрагимова З.М. Воккхачу стага хорсам д1адийна.Воккхачу стага х1ара къамел дира: "Хорсам доккха хьалакхиа, Боккха хастом кхиийтаАлсам хи хьуна дуттур ду, Со воккхавеш, хьо кхуьур ду!"Вокхха стаг:–Вай, ма ч1ог1а г1елвелла со, Жиммал наб ян мегар ду!Д1ахьошверг:-Воккха стаг шек воцуш наб еш ву, Амма хорсам...»

«ШКОЛЬНАЯ ОЛИМПИАДА 2013-2014 УЧЕБНЫЙ ГОД 5 класс1. Расставьте ударение в словах: Звонят, договор, каталог, облегчить, камбала, обеспечение, баловать, кладовая, намерение, столяр, свекла, цемент, щавель, фарфор...»

«Авторское кафе КЛУМБА Невский проспект д.150 Тел: 8 (812)717-19-49БАНКЕТНОЕ МЕНЮ фуршет Канапе с мини моцареллой Канапе с лососем с/с, маслиной Брускета с с паштетом из куриной печени Брускета лососем и сл...»

«Введение. Знание законов драматургии помогает автору сценария, хореографу, композитору в работе над сочинением, а также при анализе уже созданного сочинения. Композицию создает балетмейстер – создатель, сочинитель хореографического произведения. Это может быть сочинение целого балета, отд...»

«Муниципальное бюджетное общеобразовательное учреждение "Средняя общеобразовательная школа № 57 с углубленным изучением отдельных предметов" города Чебоксары Аты-баты шли ребята. ПРЕСС-РЕЛИЗ 12 февраля 2015 года Контактное лицо: Киселёва Алина Вит...»

«Шкатулка на каркасе. Размер каркаса: дина-24 см, ширина-17 см, высота 13 см. Крышка отдельно 24х17. Плетение начинаем с крышки Навешиваем 5 нитей по 5 м. Далее берём 2 нити по 5,2 м закалываем за середину и плетём по 6 узлов фриволите в одну и другую сторону от центра. Навешиваем на кр...»

«МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный университет геодезии и картографии"(МИИГАиК) Кафедра Аэрокосмических съемокУТВЕРЖДЕН на заседа...»

«Управление образования Администрации муниципального образования Северский район Краснодарского края Муниципальное автономное общеобразовательное учреждениеЛИЦЕЙ ПГТ АФИПСКОГО 353236, Краснодарский край, Северский район, пос. Афипский, ул. Победы 9 тел. (6166) 33-1-95, e-mail: afips...»

«УТВЕРЖДАЮ Директор школы Пр. № 26/5 от "28"августа 2014 г. Годовой календарный учебный график Государственного бюджетного общеобразовательного учреждения средней общеобразовательной школы № 245 Адмиралтейского рай...»

«10 класс. Контрольная работа №1. Тема: "Кинематика". 1 вариант.1.Координата движущегося тела с течением времени меняется по закону: x=10-t-2t2. Определите начальную координату тела, проекцию начальной скорости и...»

«Автобусный тур "МЕГАтур в Батуми" Комбинированный тур с насыщенной экскурсионной программой и пляжным. По программе посещение 6 городов Грузии: Тбилиси, Мцхета, Сигнаги, Батуми, Кутаиси, Гудаури. Тур на автобусе-трансформере! Июнь Июль Август...»

«Выпускной 2016 Звучит музыка 1 – "Начало"Репортер: Дорогие друзья! Мы ведём свой репортаж из морского порта! Через несколько минут белоснежный красавец лайнер отправится в очередной круиз, круиз во взрослую жизнь, увозя в своих комфортабельных каютах большую группу выпускников в у...»

«Правила здорового позвоночника Подсчитай, сколько раз за день малыш наклоняется, приседает, кувыркается. Очень много! Однако физические нагрузки не всегда являются гарантией здорового позвоночника. Будь бдительна! Обращай внимание на малейшие нарушенияЛечебные...»







 
2017 www.docx.lib-i.ru - «Бесплатная электронная библиотека - интернет материалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.