1С:Предприятие 8.2 /
Управление небольшой фирмой для Украины /
Общее
Обмен с сайтом через веб-сервис
Примеры текстов программных модулей
В конфигурации "1С: Управление небольшой фирмой для Украины " реализован вариант обмена, при котором обмен инициализируется и выполняется со стороны сайта. Основой такого обмена является использование веб-сервиса, который содержит функции получения данных информационной базы. При этом вся логика взаимодействия с веб-сервисом должна быть реализована на стороне сайта, а на стороне конфигурации " Управление небольшой фирмой " достаточно опубликовать веб-сервис.
Более подробно ознакомиться с форматом обмена данными можно здесь.
Функции веб-сервиса
Взаимодействие с веб-сервисом происходит при помощи следующих функций.
Функция | Параметры | Возвращаемое значение |
---|---|---|
GetItems – возвращает данные по номенклатуре | ModificationDate (тип dateTime) – дата модификации номенклатуры, GroupCode (тип string) – код группы номенклатуры | Объект типа КоммерческаяИнформация, содержащий классификатор и каталог |
GetAmountAndPrices – возвращает остатки и цены | ModificationDate (тип dateTime) – дата модификации номенклатуры, GroupCode (тип string) – код группы номенклатуры, WarehouseCode (тип string) – код склада остатков, OrganizationCode (тип string) – код организации остатков | Объект типа КоммерческаяИнформация, содержащий пакет предложений |
GetOrders – возвращает заказы покупателей , ранее загруженные с сайта | ModificationDate (тип dateTime) – дата модификации заказов | Объект типа КоммерческаяИнформация, содержащий документы |
GetPicture – получает основное изображение номенклатуры | ItemID (тип string) – уникальный идентификатор номенклатуры | Значение типа base64Binary, содержащее двоичные данные изображения. |
LoadOrders – загружает заказы покупателей в информационную базу | OrdersData (тип string) – объектXDTO типа КоммерческаяИнформация пакета XDTO urn:1C.ru:commerceml_2, содержащий данные по заказам покупателей | Значениетипа boolean. Истина – если загружены успешно. |
Если задан параметр ModificationDate, будут выгружены данные, дата изменения которых больше или равна значению этого параметра. Параметры GroupCode, WarehouseCode и OrganizationCode позволяют дополнительно ограничить состав получаемых данных. Например, можно получить только товары входящие в определенную группу, которые есть на остатках на определенном складе по определенной организации.
Примеры текстов программных модулей
Для обращения к функциям веб-сервиса рекомендуется использовать библиотеки для работы с веб-сервисами (SOAP 1.1).
Ниже приведены фрагменты кода, демонстрирующие обращение к методам веб-сервиса. Фрагменты приведены только в демонстративных целях и их работоспособность при решении реальных задач не гарантируется.
Пример кода на языке PHP
// Отключаем кэширование для SOAP. ini_set("soap.wsdl_cache_enabled", "0"); // Подключаемся к веб-сервису через SOAP. $client = new SoapClient("http://localhost/Unf/ws/SiteExchange?wsdl", array("login" => "Абдулов (директор)", "password" => "", "exceptions" => 0)); // Инициализируем параметры веб-сервиса для получения данных по номенклатуре. $params["ModificationDate"] = "2012-12-01"; // Получаем номенклатуру. $Items = $client->GetItems($params); // Получаем остатки и цены. $AmountAndPrices = $client->GetAmountAndPrices($params); // Получаем заказы покупателей, ранее загруженные с сайта. $Orders = $client->GetOrders($params); // Инициализируем параметры веб-сервиса для загрузки заказов. // Формируем структуру, содержащую заказы покупателей для загрузки в УНФ. // В качестве примера в структуре содержится один заказ. $OrdersData = Array( "ВерсияСхемы" => "2.05", "ДатаФормирования" => "2013-01-21T11:56:10", "Документ" => Array( "Ид" => "5", "Номер" => "17", "Дата" => "2013-01-21", "ХозОперация" => "Заказ товара", "Роль" => "Продавец", "Валюта" => "руб", "Курс" => "1", "Сумма" => "40000", "Контрагенты" => Array( "Контрагент" => Array( "Ид" => null, "Наименование" => "Алхимов А.А.", "ПолноеНаименование" => "ОАО Алхимов А.А.", "Роль" => "Покупатель", "Адрес" => Array( "Представление" => "Тест", "Комментарий" => "Тест" ) ) ), "Время" => "11:55:15", "СрокПлатежа" => "0001-01-01", "Комментарий" => "Заказ с сайта", "Налоги" => Array( "Налог" => Array( "Наименование" => "НДС", "УчтеноВСумме" => "true", "Сумма" => "6101.69" ) ), "Товары" => Array( "Товар" => Array( "Ид" => null, "Артикул" => "123", "Наименование" => "Кондиционер Ветерок", "БазоваяЕдиница" => Array( "Код" => "796", "НаименованиеПолное" => "Штука", "МеждународноеСокращение" => "PCE" ), "СтавкиНалогов" => Array( "СтавкаНалога" => Array( "Наименование" => "НДС", "Ставка" => "18", ) ), "ХарактеристикиТовара" => Array ( "ХарактеристикаТовара" => Array ( "0" => Array ( "Наименование" => "6,3 кВт" ) ) ), "ЗначенияРеквизитов" => Array ( "ЗначениеРеквизита" => Array ( "0" => Array ( "Наименование" => "ВидНоменклатуры", "Значение" => "Товар" ), "1" => Array ( "Наименование" => "ТипНоменклатуры", "Значение" => "Запас" ) ) ), "ЦенаЗаЕдиницу" => "40000", "Количество" => "1", "Резерв" => "1", "Сумма" => "400000", "Единица" => "шт", "Коэффициент" => "1" ) ), "ЗначенияРеквизитов" => Array ( "ЗначениеРеквизита" => Array ( "0" => Array ( "Наименование" => "Вид цен", "Значение" => "Розничная" ), "1" => Array ( "Наименование" => "Склад", "Значение" => "Основной склад" ), "2" => Array ( "Наименование" => "Подразделение", "Значение" => "Маркетинг и продажи" ), "3" => Array ( "Наименование" => "Дата отгрузки", "Значение" => "2013-02-10" ), "4" => Array ( "Наименование" => "Статус заказа", "Значение" => "В работе" ), ) ), ) ); $params = Array(); $params["OrdersData"] = $OrdersData; // Загружаем заказ с сайта. $result = $client->LoadOrders($params);
Пример кода на языке C#
class Program { static void Main( string[] args ) { ExchangeWithSitesPortTypeClient client = new ExchangeWithSitesPortTypeClient("ExchangeWithSitesSoap"); client.ClientCredentials.UserName.UserName = "Test"; client.ClientCredentials.UserName.Password = ""; КоммерческаяИнформация commercialInfo = client.GetItems(); Каталог catalog = null; foreach ( object item in commercialInfo.Items ) { if (item is Каталог) { catalog = (Каталог)item; break; } } if (catalog != null) { Console.WriteLine("Количество товаров = " + catalog.Товары.Length); foreach (Товар product in catalog.Товары) { Console.WriteLine(String.Format("Наименование товара = '{0}', Единица измерения - {1}", product.Наименование, product.БазоваяЕдиница.НаименованиеПолное)); } } else { Console.WriteLine("Товары в результатах запроса не найдены"); } Console.WriteLine("Программа завершена"); Console.ReadKey(); } }
Другие материалы по теме:
1с:управление небольшой фирмой для украины, сайт, остатки и цены, управление небольшой фирмой, управление небольшой фирмой для украины, каталог, заказы покупателей, .2013, заказы, код, обмен, сервис, товара, дата, номенклатуры, заказ, объект, наименование, товары, параметры, пример, товар, данные, значение, сумма, склад
Материалы из раздела: 1С:Предприятие 8.2 / Управление небольшой фирмой для Украины / Общее
Другие материалы по теме:
Резервирование и размещение товаров. Основные понятия
Инвентаризация складских запасов.
Требования к разработке драйверов подключаемого оборудования (версия 1.5)
Нас находят: 1c GetAmountAndPrices, 1c SiteExchange2 GetAmountAndPrices, получение файлов через soap 1с web-сервис, 1с GetItems, 1с унф обмен через веб сервис, SiteExchange:GetItems, 1с web сервис получение данных, обмен с 1с можно только через SOAP
Мы на Facebook