API разработчика 1С
API позволяет взаимодействовать с сервером Agenta из 1С, и предназначен для решения задач обмена данными с мобильными устройствами.
API реализовано в виде внешней обработки Agenta.epf, в которой есть экспортируемые методы. Использовать обработку можно как внешнюю, через создание внешней обработки (недоступно на сервере):
Agenta = ВнешниеОбработки.Создать(ПолноеИмяФайла); Лицензии = Agenta.ПолучитьЛицензии(); //получаем перечень лицензий
так и как внутреннюю, при этом добавив данную обработку в дерево метаданных (будет доступно на сервере):
Agenta = Обработки.Agenta.Создать(); Лицензии = Agenta.ПолучитьЛицензии(); //получаем перечень лицензий
Комплект поставки
В комплект поставки входит внешняя обработка Agenta.epf.
Скачать ее можно в своем аккаунте для соответствующей версии 1С и конфигурации.
Установка
- Обработку Agenta.epf для соответствующей
версии 1С и конфигурации необходимо скачать из своего аккаунта.
В результате будет сохранен файл в виде:
Agenta82Trade10-ed872e16-8792-43f4-af09-b4650b586f24.epf
где в названии содержится ключ клиента MID - Вне зависимости от способа использования обработки
Agenta, сразу после скачивания, ее необходимо открыть в режиме “Предприятие”
для инициализации. Все дело в ключе MID, который обработке необходимо запомнить
для взаимодействия с сервером (MID берется из имени обработки).
В момент инициализации обработка создает запись в справочнике "ХранилищеДополнительнойИнформации" с наименованием "Agenta". Все параметры и служебные данные обработки будут в дальнейшем сохраняться в Хранилище с привязкой к данной записи.
Так же, для хранения информации об обменах создается вторая служебная запись с наименованием "AgentaExchange"
В результате, в системном окне сообщений должно появиться “Инициализация завершена!” - Если обработку предполагается использовать в качестве встроенной, ее необходимо добавить в дерево метаданных. Стандартное имя Agenta, можно переименовать на свое усмотрение.
- Установка завершена
Настройка
Перед использованием обработки, главным образом, проверьте настройки подключения к интернету - при необходимости укажите настройки Прокси-сервера. Для этого откройте обработку в режиме Предприятие и заполните параметры подключения.
Больше настроек не требуется.
Описание методов API
Метод | Параметры | Описание |
---|---|---|
ЗапросНаСервер |
Метод (Строка), |
Выполнить запрос к серверу Agenta. Параметры:
Возвращает: В случае ошибки соединения возвращает Ложь, иначе структуру ответа сервера: Структура:
Поле success является флагом успешности выполнения запроса: Истина - все ок, Ложь - возникли ошибки. Поле data содержит структуру полей ответа, либо строку (в зависимости от метода). error - содержит строковое id ошибки, в случае неудачного выполненния запроса, например, ‘invalid’ - неверный параметр. msg - содержит текстовое описание ошибки, например “неверный параметр” errors - служит уточнением ошибки, какой параметр заполнен неверно, является структурой в виде “поле”: “значение” Пример: Агента = Обработки.Agenta.Создать(); Файлы = Новый Соответствие; Файлы.Вставить("data", ИмяФайлаZIP); Результат = Агента.ЗапросНаСервер("setdata", Новый Структура("sid,date", sid, ТекущаяДата()), Файлы ); |
ПолучитьЛицензии |
нет |
Получить перечень лицензий. Лицензии возвращаются в виде ТаблицыЗначений, где каждая строка - это лицензия, с полями:
Параметры: нет Возвращает: В случае ошибки - Ложь, иначе - ТаблицуЗначений (см. описание) Пример: Агента = Обработки.Agenta.Создать(); //Получаем лицензии, и выгружаем данные для первой Лицензии = Агента.ПолучитьЛицензии(); Если Лицензии <> Ложь Тогда Лиц = Лицензии.Получить(1); Сообщить("Телефон: " + Лиц.phone); Иначе Сообщить(Агента.ПолучитьОписаниеОшибки()); КонецЕсли; |
ПолучитьДокументы |
lastupdate (Целое, не обязат.) |
Получить перечень новых и изменившихся документов с момента времени lastupdate. Документы возвращаются в виде СпискаЗначений, который содержит тексты XML-представлений документов. Так же, сервер возвращает метку времени, на которую получены документы. Определить ее можно через метод ПолучитьМеткуВремени(). Если в выборке документов не обнаружено, в качестве метки будет возвращено то же самое значение параметра lastupdate. Параметры: lastupdate - метка времени в виде числа. Здесь нужно передавать метку, которую возвращает сервер в предыдущем запросе. Если не указывать параметр, сервер вернет все имеющиеся документы group - id подразделения (GUID), для получения документов только по указанному подразделению. Если не указывать параметр group, выборка будет по всем подразделениям. Возвращает: В случае ошибки - Ложь, иначе СписокЗначений (см. выше) Пример: Агента = Обработки.Agenta.Создать(); //Получаем документы Доки = Агента.ПолучитьДокументы(135533584841106900); Если Доки <> Ложь Тогда Метка = Агента.ПолучитьМеткуВремени(); Если Метка <> Неопределено Тогда //запоминаем текущую метку времени //чтобы использовать ее при следующем запросе КонецЕсли; ... //Обработка документов //Доки - это список значений, //где каждое значение - документ в виде XML текста ... Иначе Сообщить(Агента.ПолучитьОписаниеОшибки()); КонецЕсли; |
ВыгрузитьДанные |
sid, имяФайлаXML |
Выгружает данные на сервер для лицензии sid. Параметры:
Возвращает: Признак успешности выполнения запроса: Истина/Ложь. Пример: Агента = Обработки.Agenta.Создать(); //Здесь формируем xml-файл остатков ИмяФайлаДанных = ПодготовитьФайлДанных(); Результат = Агента.ВыгрузитьДанные(Лицензия.sid, ИмяФайлаДанных); Если Результат <> Ложь Тогда Предупреждение("Данные успешно выгружены!"); Иначе Предупреждение("Ошибка выполнения запроса! " + Символы.ПС + Агента.ПолучитьОписаниеОшибки()); КонецЕсли; |
ПолучитьКодОшибки |
нет |
Получить код последней ошибки. Код текстовый, например, “invalid” - неверные параметры Параметры: нет Возвращает: Код ошибки (Строка) |
ПолучитьОписаниеОшибки |
нет |
Получить текстовое описание последней ошибки. Например, “неверные параметры” Параметры: нет Возвращает: Описание ошибки (Строка) |
ПолучитьМеткуВремени |
нет |
Получить метку времени последнего запроса, на которую получены данные. Метка времени используется для осуществления
обменов. Например, в методе ПолучитьДокументы(МеткаВремени). Параметры: нет Возвращает: Метку времени (Число), или Неопределено |
ЭтоВнешняяОбработка |
нет |
Позволяет определить режим запуска - внешняя обработка, или встроенная Параметры: нет Возвращает: Истина для внешней обработки, иначе Ложь |