Интеграция 1С с веб-сервисами Лукойл ЛИКАРД

Публикация № 1226229

Разработка - Системная интеграция - Интеграция с WEB

Интеграция Лукойл ЛИКАРД API УАТ

Описание интерфейса взаимодействия сервиса Лукойл- ЛИКАРД с информационной системой 1С.

Доброго времени суток!
В этой статье хочу поделиться описание интерфейса взаимодействия сервиса Лукойл ЛИКАРД, с информационно системой 1С:Предприятие, а также показать пример, как можно программно получить данные из описанных веб-сервисов. Данная статья будет наиболее полезна, специалистам, занимающихся интеграцией автотранспортных конфигураций с топливными сервисами.
Описание будет приведено по шаблону:
Имя параметра, тип, обязательный (да, нет), описание
Входящие параметры - то, что будем передавать, исходящие -то, что получаем в ответ.


1. Сервисы по работе с клиентами
1.1. getClientDrivers
Сервис выполняет запрос списка зарегистрированных водителей для клиента.
Входящие параметры:
clientId INTEGER Содержит Идентификатор клиента в сервисе ЛИКАРД
Исходящие параметры:
driverId INTEGER Идентификатор водителя.
shortName STRING Короткое имя водителя.
driverSurname STRING Фамилия водителя.
driverName STRING Имя водителя.
driverMiddleName STRING Отчество водителя.
vehicleId INTEGER Идентификатор транспортного средства.
vehicleNumber STRING Номер транспортного средства.

2. Cервисы по работе с договорами
2.1 getContractInfo
Сервис выполняет запрос информации по договору.
Входящие параметры:
contractId INTEGER Да  Идентификатор договора.
Исходящие параметры:
clientId INTEGER Идентификатор клиента.
clientShortName STRING Короткое имя клиента.
contractNumber STRING Номер договора.
openDate DATE Дата вступления контракта в силу.
Выдается в формате «YYYY-MM-DD»
closeDate DATE Дата окончания договора.
Выдается в формате «YYYY-MM-DD»
amountAvailable DECIMAL Текущий баланс договора.
totalBalance DECIMAL Суммарный баланс по картам договора.
volumePrev DECIMAL Расход литров за предыдущий месяц.
volume DECIMAL Расход литров за текущий месяц.
creditLimit DECIMAL Кредитный лимит.
statusId INTEGER Код статуса договора.
status STRING Статус договора.
discountStatusCode STRING Код статуса договора по потреблению.
discountStatus STRING Значение для отображения статуса договора по потреблению.
addInfo01Code STRING Код схемы оплаты.
addInfo01 STRING Значение для отображения схемы оплаты.
addInfo02Code STRING Код региона заключения договора.
addInfo02 STRING Регион заключения договора.
addInfo03 STRING Имя схемы определения статуса по объему потребления.
addInfo03Code STRING Схема определения статуса по объему потребления.
addInfo04Code STRING Дополнительная информация. Возвращаемые данные зависят от типа договора. Возвращаемое значение не подвергается дополнительной обработке.
addInfo04 STRING Дополнительная информация. Возвращаемые данные зависят от типа договора. Возвращаемое значение не подвергается дополнительной обработке.


2.2. getContractCards
Сервис выполняет запрос списка карт по договору. В текущей реализации поддержаны двухуровневая и трехуровневая иерархии контрактов.
При задании в качестве parentId идентификатора «таксопарка» – в ответ будет получена информация по всем его картам и картам всех его «держателей карт».
При задании в качестве parentId идентификатора «держателя карт» – в ответ будет получена информация по всем его картам.
Входящие параметры:
parentId INTEGER Да  Идентификатор договора.
dateOpenIn DATE Нет  Дата выдачи карты.
Задается в формате «YYYY-MM-DDTHH:MM:SS».
Выгружаются карты, дата выдачи которых больше, чем указанная. Если поле не заполнено, выводятся все карты, дата выдачи которых больше, либо равна “01-01-1990 00:00:00”.

Исходящие параметры:
cardId INTEGER Идентификатор карты.
cardNumber STRING Номер карты.
expirationDate STRING Дата окончания срока действия карты в формате «YYMM».
driverId INTEGER Идентификатор водителя.
status STRING Статус карты.
contractStatusId INTEGER Идентификатор статуса карты.
externalStatusCode STRING Фиксированный код статуса для дополнительных проверок.
Возможные значения кода:
• CC001 – Карта активна
• CC411 - Карта аннулирована/возвращена в ЛИКАРД
• CC412 - Карта аннулирована/утеряна
• CC051 - Карта заблокирована
• CC052 - Карта заблокирована не сотрудником Ликард
CC141 - Карта не активна
activityDate DATE Дата последнего использования.
Выдается в формате «YYYY-MM-DD».
trackingStatus STRING Код расширенного статуса карты.
trackingStatusName STRING Имя расширенного статуса карты.
pinAttemptsCounter INTEGER Количество попыток ввода PIN-кода.
dateOpen DATE Дата выдачи карты.
Выдается в формате «YYYY-MM-DDTHH:MM:SS».
activationDate DATE Дата активации карты.
Выдается в формате «YYYY-MM-DDTHH:MM:SS».
mileage STRING Текущий пробег.

 

2.3 getContractBalance
Сервис выполняет запрос значений балансов договора/карты.
По умолчанию поддержан следующий перечень балансов:
• VOLUME – потребление топлива за текущий месяц,
• VOLUME_PREV – потребление топлива за предыдущий месяц,
• AVAILABLE – сумма доступных средств.

Входящие параметры:
contractId INTEGER Да  Идентификатор договора/карты
Исходящие параметры:
balanceTypeCode STRING Код типа баланса.
Возможные значения:
VOLUME,
VOLUME_PREV,
AVAILABLE.
balanceValue DECIMAL Значение баланса.
balanceCurr STRING Валюта баланса.

 

2.4 getContractTransactions
Сервис выполняет запрос транзакционного отчета по договору/карте.
Транзакции в ответе выводятся в порядке убывания transDate. Если transDate совпадает, то сортировка ведется по transId в порядке убывания.

Входящие параметры:
contractId INTEGER Да  Идентификатор договора/карты.
dateFrom DATE Да Дата, начиная с которой отбираются записи.
Задается в формате
«YYYY-MM-DDTHH:MM:SS».
dateTo DATE Да Дата, заканчивая которой отбираются записи.
Задается в формате
«YYYY-MM-DDTHH:MM:SS».
reportMode STRING Нет Возможные значения - Y/N.
Фильтр регламентирует режим отображения вторичных документов в транзакционном отчете. При установленном значении ‘Y’ отмены/корректировки/репосты отображаются одной записью вместе с оригинальным документом.
cardNumberIn STRING Нет Номер карты для фильтрации ответа.
Допускается перечисление номеров карт через запятую.
Допускается поиск по частичному совпадению, например «%54334» - отфильтруются все карты, с номером, заканчивающимся на 54334.
vehicleNumberIn STRING Нет Номер ТС/ФИО водителя для фильтрации ответа.
Допускается использование % для поиска по части ФИО/номера. Не чувствительно к регистру.
cityIn STRING Нет Название города для фильтрации ответа.
Допускается использование % для поиска по части названия. Не чувствительно к регистру.
transMatterIn STRING Нет Код схемы поставки для фильтрации ответа.
Возможные значения:
A – агентирование,
S – поставка,
E - ошибка.
countryCodeIn STRING Нет Трехзначный код страны. Поле code из ответа сервиса getCountries.
regionIdIn INTEGER Нет Название региона. Поле code из ответа сервиса getRegions.
operationTypeId INTEGER Нет Идентификатор типа операции. Значение transTypeId из ответа сервиса getTransactionsTypes
goodsGroupCodeIn STRING Нет Код товарной группы. Значение code из ответа сервиса getGoodsHandbook
minQuantity INTEGER Нет Минимальный объем (quantity) операции
maxQuantity INTEGER Нет Максимальный объем (quantity) операции
maxRowsThreshold INTEGER Нет Максимальное количество возвращаемых записей. Вернутся первые maxRowsThreshold записей. Дефолтное значение 1000.

Исходящие параметры:
transId INTEGER Идентификатор транзакции.
cardNumberOut STRING Номер карты.
vehicleNumberOut STRING Номер ТС/ФИО водителя.
cityOut STRING Название города.
transMatterOut STRING Код схемы поставки.
Возможные значения:
A - агентирование,
S - поставка,
E - ошибка.
transMatterName STRING Схема поставки (семантическое значение).
Возможные значения:
Агентирование,
Поставка,
Ошибка.
goodsGroupCodeOut STRING Код группы товаров.
goodsName STRING Наименование товара.
transDate DATE  Дата и время транзакции на терминале. Выдается в формате
«YYYY-MM-DDTHH:MM:SS».
targetContractMainNum STRING Номер контракта держателя карты.
targetContractMainMainNum STRING Иерархия контрактов держателя карты.
discountAmount DECIMAL Общая скидка для клиента.
requestCategory STRING Вид операции.
Возможные значения:
'Q' – Request (Прямая)
‘P’ – Advice (Прямая)
‘R’– Reversal (Отмена)
'J' – Adjustment (Частичная отмена)
Для сервисных транзакций и возмещения стоимости карт не является значимым
Значение будет выгружаться и для сервисных транзакций, но анализировать его не нужно
requestCategoryName STRING Вид операции (семантическое значение).
Название типа операции RequestCategory. Соответствует значению в RequestCategory:
Q – ‘Запрос’
P – ‘Прямая’
R – ‘Отмена’
J – ‘Возврат’
transType STRING Тип операции
Возможные значения:
Если requestCategory=’Q’ или ‘P’, то trans_type.name с ‘.’ на конце (trans_type.name || '.' ||)
Если requestCategory=’R’, то trans_type.name и ‘Отмена.’ с ‘. ’ между ними (trans_type.name || '. Отмена.' ||)
Если requestCategory=’J’, то trans_type.name и ‘Возврат.’ с ‘. ’ между ними (trans_type.name || '. Возврат.' ||)
quantity INTEGER Количество.
sourceAmount DECIMAL Стоимость товара для ЛИКАРД.
stelaPrice DECIMAL Цена стелы.
fxRate DECIMAL Курс конвертации.
clientCurr STRING Валюта клиента.
clientCurrName STRING Валюта клиента (семантическое значение).
targetPrice DECIMAL Отпускная цена товара в валюте клиента.
targetAmount DECIMAL Отпускная сумма товара клиенту в валюте клиента.
countryCodeOut STRING Код страны АЗС.
transCurr STRING Валюта партнера.
transCurrName STRING Валюта партнера (семантическое значение).
sourceProfit DECIMAL Выгода Ликард в валюте партнера.
partnerName STRING Партнер (поставщик).
region STRING Регион АЗС.
country STRING Страна АЗС.
streetAddress STRING Улица.
measureUnit STRING Единица измерения.
vat DOUBLE НДС в процентах.
stelaAmount DECIMAL Сумма покупки по цене стелы.
isOnline STRING Онлайн признак операции.
outletName STRING Название торговой точки.
discountPcnt DOUBLE Скидка в процентах.
mileage STRING Пробег.
regionIdOut INTEGER Идентификатор региона.
transTypeId INTEGER Идентификатор типа операции.
fxFee DECIMAL Комиссия за конвертацию в валюте клиента.
clientMainName STRING Наименование клиента контракта (держателя карт).
clientMainMainName STRING Наименование клиента головного контракта иерархии.
gasStationId INTEGER Идентификатор АЗС.
dateFrom DATE Дата, начиная с которой отбираются записи.
Выводится в формате.
«YYYY-MM-DDTHH:MM:SS».
dateTo DATE Дата transDate самого позднего документа в ответе.
Выводится в формате
«YYYY-MM-DDTHH:MM:SS».
В случае превышения максимально допустимого порога записей – дата может быть меньше даты dateTo в запросе.
maxRowsThresholdReached true/Boolean
false/Boolean Флаг превышения числа отобранных записей максимально допустимого порога.

 

3. Сервисы по работе с картами
3.1 getContractIdByNumber
Сервис выполняет запрос идентификатора карты/контракта по номеру.
Входящие параметры:
contractNumber STRING Да  Номер карты/контракта.
Исходящие параметры:
contractId INTEGER Идентификатор карты/контракта.


3.2 getCardInfo
Сервис выполняет запрос информации по карте.
В блоках lastTransactions и lastPayments по умолчанию содержатся по 5 последних платежей и транзакций за последний год. Транзакции выводятся в порядке убывания transDate. Если transDate совпадает, то сортировка ведется по transId в порядке убывания. Платежи выводятся в порядке убывания transactionDate. Если transactionDate совпадают, то сортировка ведется по paymentIdt в порядке убывания.

Входящие параметры:
contractId INTEGER Да  Идентификатор карты

Исходящие параметры:
cardNumber STRING Номер карты.
expirationDate STRING Окончание срока действия в формате «YYMM».
driverId INTEGER Идентификатор водителя.
driverSurname STRING Фамилия водителя.
driverName STRING Имя водителя.
contractBalance DECIMAL Текущий баланс карты.
volumePrev DECIMAL Расход литров за предыдущий месяц.
volume DECIMAL Расход литров за текущий месяц.
statusId INTEGER Идентификатор статуса карты.
status STRING Имя статуса карты.
externalStatusCode STRING Код дополнительного статуса карты.
activityDate DATE Дата последнего использования.
trackingStatus STRING Код расширенного статуса карты.
trackingStatusName STRING Имя расширенного статуса карты.
pinAttemptsCounter INTEGER Количество попыток ввода PIN-кода.
issueDate DATE Дата выпуска карты.
В качестве значения используется последняя дата, когда у карты менялся статус на «Карта выпущена». Выводится в формате «YYYY-MM-DD».
activationDate DATE В качестве значения используется последняя дата, когда у карты менялся статус на  «Карта активна». Выводится в формате «YYYY-MM-DD».
mileage STRING Пробег.
blockDate DATE В качестве значения используется последняя дата, когда у карты менялся статус на  «Карта заблокирована» или «Карта заблокирована (не сотрудником ЛИКАРД)». Выводится в формате «YYYY-MM-DD».
lastTransactions  Блок - Последние 5 транзакций за год.
lastPayments  Блок - Последние 5 платежей за год.

 

3.3 getCardPayments
Сервис выполняет запрос списка платежей по карте.
Если в запросе не заданы dateFrom и dateTo, то выдается информация по платежам за последние 4 месяца.
Платежи выводятся в порядке убывания transactionDate. Если transactionDate совпадают, то сортировка ведется по paymentIdt в порядке убывания.

Входящие параметры:
contractId INTEGER Да  Идентификатор карты.
dateFrom DATE Нет Начальная дата. Задается в формате «YYYY-MM-DD».
dateTo DATE Нет Конечная дата.
Задается в формате «YYYY-MM-DD».
maxRowsThreshold INTEGER Нет Максимальное количество возвращаемых записей. Вернутся первые maxRowsThreshold записей. Дефолтное значение 1000.

contractId INTEGER Идентификатор карты.
paymentId INTEGER Идентификатор платежа.
sourceRegNumber STRING Номер счета.
transactionDate DATE Дата платежа. Выводится в формате
«YYYY-MM-DDTHH:MM:SS».
transactionAmount DECIMAL Сумма.
transactionCurrency STRING Валюта.
transactionDetails STRING Описание.
paymentName STRING Название платежа.
requestCategory STRING Тип платежа.
paymentIdt STRING Номер платежа для отображения.

 

На примере сервиса getContractTransactions, который формирует отчет по транзакциям, рассмотрим как можно получить эти данные:

&НаСервере
Функция ПолучитьМассивСРезультатомЗапросаНаСайт()
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ДатаНачала = НачалоДня(Объект.НачалоПериода);
	ДатаКонец = КонецДня(Объект.КонецПериода);
	ИдентификаторДоговора = Справочники.ПБ_СлужебныеПеременныеЛукойлWialon.ИдентификаторДоговораЛукойл.Значение; // заранее определил хранение идентификатора договора в справочнике служебныеПеременныеЛукойлWialon
	ПутьКФайлуSSLСертификата = Справочники.ПБ_СлужебныеПеременныеЛукойлWialon.ПутьКФайлуSSLСертификата.Значение; // заранее определил хранение пути к SSL сертификату в справочнике служебныеПеременныеЛукойлWialon, файл предоставляется ЛУКОЙЛ 
	ПарольSSLСертификата = Справочники.ПБ_СлужебныеПеременныеЛукойлWialon.ПарольSSLСертификата.Значение; // заранее определил хранение пароля от SSL сертификата в справочнике служебныеПеременныеЛукойлWialon
	
	// формируем структуру входящих параметров, обязательно должны быть все параметры, если они не нужны оставляем пустыми
	СтруктураПараметров = Новый Структура;
	СтруктураПараметров.Вставить("contractId", ИдентификаторДоговора);
	СтруктураПараметров.Вставить("dateFrom", ДатаНачала);
	СтруктураПараметров.Вставить("dateTo", ДатаКонец);
	СтруктураПараметров.Вставить("reportMode", "");
	СтруктураПараметров.Вставить("cardNumberIn", "");
	СтруктураПараметров.Вставить("vehicleNumberIn", "");
	СтруктураПараметров.Вставить("cityIn", "");
	СтруктураПараметров.Вставить("transMatterIn", "");
	СтруктураПараметров.Вставить("countryCodeIn", "");
	СтруктураПараметров.Вставить("regionIdIn", "");
	СтруктураПараметров.Вставить("operationTypeId", 35271);
	СтруктураПараметров.Вставить("goodsGroupCodeIn", "");
	СтруктураПараметров.Вставить("minQuantity", "");
	СтруктураПараметров.Вставить("maxQuantity", "");
	СтруктураПараметров.Вставить("maxRowsThreshold", "");
	
	ЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ЗаписьJSON, СтруктураПараметров);
	ТекстПараметровJSON = ЗаписьJSON.Закрыть();
	
	Сервер = "11.111.11.11"; // сервер
	
	ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаФайл(ПутьКФайлуSSLСертификата, ПарольSSLСертификата)); 
	Попытка			
		HTTPСоединение =  Новый HTTPСоединение(Сервер, 443 ,,,,30, ssl); 
	Исключение
		ЗаписатьСобытиеВЖурналСинхронизации("Ошибка", "Не удалось установить HTTPCоединение.");	
	КонецПопытки;
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Content-Type", "application/json;charset=utf-8");
	
	// здесь используем имя веб сервиса, можно сделать универсальнее, и сделать переменной 
	HTTPЗапрос = Новый HTTPЗапрос("/solar-bridge-ext/ext/json-services/getContractTransactions", Заголовки);

	HTTPЗапрос.УстановитьТелоИзСтроки(ТекстПараметровJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);

	HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
	
	МассивРезультатЗапроса = Новый Массив;
	
	Попытка
		ЧтениеJSON = Новый ЧтениеJSON;
		ЧтениеJSON.УстановитьСтроку(HTTPОтвет.ПолучитьТелоКакСтроку());
		СтруктураJSON = ПрочитатьJSON(ЧтениеJSON);
		ЧтениеJSON.Закрыть();
		МассивРезультатЗапроса = СтруктураJSON.getContractTransactionsRs.getContractTransactionsPayload.contractTransactions;
	Исключение
		флгРезультатЧтенияФайла = Ложь;
		ЗаписатьСобытиеВЖурналСинхронизации("Ошибка", "Не удалось прочитать файл-ответ.");
	КонецПопытки;
	
	// получили массив с данными, полученными из сервиса
	Возврат МассивРезультатЗапроса;
	
КонецФункции

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

Специальные предложения

Автор запретил комментарии

См. также

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    57296    Serginio    33    

API ОФД-Я разбор документации с примерами

WEB v8 1cv8.cf Россия Бесплатно (free)

Примеры запросов 1С для получения данных с ОФД-Ярус через API.

20.04.2021    482    www76    0    

Работа через сервис 1С-Отчетность нескольких пользователей

Регламентированная отчетность Зарплата WEB v8 v8::СПР ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Организации, в которых количество сотрудников превышает установленное значение, обязаны отправлять отчетность по телекоммуникационным каналам связи. Это может быть Контур-Экстерн, Такском или любой другой провайдер. Все чаще пользователи 1С используют сервис 1С-отчетность. И все чаще сертификат оформляется на сотрудника отдела кадров или бухгалтерии. В случае, если нужно оформить несколько сертификатов, возникают трудности в версии ЗУП 3.1.14 и более поздних. О том, как с ними справиться, пойдет речь в данной публикации.

05.04.2021    864    keat24    1    

Правила обмена больше не нужны

Внешние источники данных Обмен через XML Перенос данных из 1C8 в 1C8 Распределенная БД (УРИБ, УРБД) WEB v8 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    7946    Nikola23    35    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    26714    ruha    21    

Как отправить сообщение Telegram в группу?

WEB v8 Россия Бесплатно (free)

Отправка сообщения в группу Telegram.

01.03.2021    1103    kite2    2    

Альфа-Авто 5.0 и современные HTTP сервисы

WEB v8 1cv8.cf Автомобили, автосервисы УУ Бесплатно (free)

Решение, позволяющее программным продуктам, работающим на устаревших версиях платформы 1С (8.2), интегрироваться с современными HTTP сервисами. Решение, интегрированное с HTTP-сервисом программы по расчету компонентов для изготовления ЛКМ, описанное в настоящей статье, успешно работает в одном из автосервисов, работающем на устаревшей платформе и конфигурации Альфа-Авто 5.0.

01.03.2021    690    osivv    1    

Доступ из базы 1С к стандартному интерфейсу Odata базы 1С, в которой заведен пользователь

WEB v8 Россия Бесплатно (free)

Есть база, с пользователем/паролем, нужно подключиться к Odata из другой базы 1С, получить элементы справочника.

24.02.2021    761    user823999    6    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    42527    YPermitin    41    

Интеграция с API WB (Wildberries). Создание карточки товара (спецификации)

WEB v8 1cv8.cf ИТ-компания Россия Бесплатно (free)

Опыт интеграции с API WB (Wildberries), опыт создания карточки товара, получение токенов API WB.

18.01.2021    14080    jenyavp    45    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

WEB Интеграция v8 v8::УФ 1cv8.cf Бесплатно (free)

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    2504    SizovE    25    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

Практика программирования WEB Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

Редактор HTML платформы 1С простой и очень удобный для небольших задач, однако ПолучитьHTML возвращает отдельно картинки и отдельно целиком HTML страницу со ссылкой на имена этих картинок, что неудобно для отправки в базу данных сайта/интернет-магазина/веб-приложения/B2B. Разберем на открытом коде, как решить эту проблему, напишем универсальную функцию получения значения любого тега HTML на регулярных выражениях. Бонусом - возможность редактировать теги HTML в текстовом режиме.

24.11.2020    905    SizovE    4    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    30991    anig99    6    

Как сделать интеграцию (обмен) с интернет-магазином? Пошаговый план действий (Часть 1)

WEB v8 1cv8.cf УУ Бесплатно (free)

C 2011 года я занимаюсь интеграцией с интернет-магазинами и за это время, наверное, повидал все. Делал интеграцию как «культурными», так и «экзотическими» способами. Количество магазинов исчисляется сотнями. В этой серии статей я буду делиться своим опытом, а также выкладывать какие-то полезные наработки.

19.11.2020    5403    markbraer    11    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

Практика программирования WEB Интеграция Универсальные функции v8 Бесплатно (free)

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    1874    SizovE    2    

Web Dashboard (мобильная и десктопная версия): оптимальная схема организации взаимодействия с зоопарком систем

WEB v8 Бесплатно (free)

Задача: из множества систем (1С:ERP, 1C:CRM, Кронос:WMS, 1С:Розница, 1С:УПП...) оперативно и онлайн осуществлять мониторинг на телефоне/десктопе/планшете/телевизоре бизнес-аналитику в дашборде для директора. Рассмотрим в статье, как правильно интегрировать между собой все базы, какие для этого инструменты использовать.

10.11.2020    9258    SizovE    2    

Отладка модуля ДиадокПро

WEB v8 1cv8.cf Бесплатно (free)

В обработке ДиадокПро все дополнительные модули встроены во внешние обработки, которые хранятся в макетах. Это усложняет процесс самостоятельной интеграции, так как теряется возможность попасть в них в режиме отладки. Но не всё так страшно, поэтому ниже инструкция)

30.10.2020    2571    Максим-777    14    

JSON примеры меню B2B web-приложения "Личный кабинет" на движке EDIbot для телефона/десктопа

WEB v8 Бесплатно (free)

Рассмотрим на примерах работу движка EDIbot при организации меню B2B "Личного кабинета" (мобильная версия, версия десктоп) грузовладельца WMS-системы.

29.10.2020    1089    SizovE    0    

Обмен с сайтом посредством Post-запроса, json

WEB v8 1cv8.cf Бесплатно (free)

Задача - передавать на сайт объекты с наименованием и уникальным идентификатором (УИ), которые изменяются в 1С. Также нужно сохранять историю отправленных пакетов.

29.10.2020    4638    John_d    26    

Организация HTTP публикации каталога товаров используя PostgREST

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу порядок установки настройки и использования PostgREST на примере организации каталога товаров.

05.10.2020    1266    malikov_pro    2    

Интеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы

WEB v8 Бесплатно (free)

В этой статье научим прослойку отправлять данные в 1С, для этого используем HTTP-сервисы платформы. Обменяемся данными с новым справочником Клиенты. Но главное создадим HTTP-сервис для получения сообщений из очереди RabbitMQ.

28.09.2020    2048    dmitry-irk38    4    

Отладка http сервиса

WEB v8 Бесплатно (free)

При разработке http сервиса возникает ситуация, а как протестировать http сервис? Создали мы сервис, настроили шаблоны, передали, если нужно параметры, открываем браузер заполняем строку подключения и БАХ, ошибка. Что делать?

23.09.2020    3493    hpi    10    

Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

WEB v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса (часть вторая). Передача параметра в http сервис.

22.09.2020    6668    hpi    7    

Организация данных и вариант обработки для организации обмена с сайтом

WEB v8 1cv8.cf Бесплатно (free)

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

22.09.2020    1639    malikov_pro    4    

Формирование списка документов и скачивание печатной формы документа через веб-сайт с использованием HTTP-сервиса, плюс особенности авторизации

Практика программирования Обмен данными 1С WEB v8 1cv8.cf Бесплатно (free)

В статье показан пример, как реализовать формирование списка документов клиента/пользователя по коду, а затем скачать его (документа) печатную форму по ссылке

18.09.2020    1270    R_o_n_n_y    3    

Формирование HTTP запроса формата multipart/form-data с двоичными данными, используя ПотокВПамяти

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант формирования запроса

11.09.2020    3977    malikov_pro    11    

Ферма приложений на Kubernetes

WEB v8 Бесплатно (free)

При эксплуатации большого количества информационных систем 1С, предоставляющих интернет-сервисы, возникают проблемы, связанные с зависимостью от производительности и стабильности веб-сервера. Как объединить отдельно стоящие веб-сервера с помощью платформы Kubernetes для централизованного мониторинга всех опубликованных интернет-сервисов на конференции Infostart Event 2019 Inception рассказал программист компании BIA Technologies Владимир Кирбаба.

24.08.2020    1956    ComboBoy    1    

Использование шаблонного процессора для формирования HTML страниц

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу использование шаблонного процессора Handlebars запущенного на Node.js

24.08.2020    1814    malikov_pro    26    

Загрузка или обновление файла на яндекс диске через rest-api

Практика программирования Файловые протоколы обмена, FTP WEB v8 Бесплатно (free)

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

12.08.2020    3189    pavelpribytkin96    10    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    8821    YPermitin    22    

Загрузка или обновление файла на гугл диске

Практика программирования Файловые протоколы обмена, FTP WEB v8 1cv8.cf Бесплатно (free)

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

06.08.2020    2267    pavelpribytkin96    6    

Использование Yandex Translate (Яндекс.Переводчик)

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант подключения и использования Yandex Translate.

08.07.2020    5344    malikov_pro    8    

Когда хотим знать IP клиента...

WEB v8 Бесплатно (free)

В процессе разработки web приложения на 1С, и это не шутка))), а пожелание заказчика, возникла ситуации когда понадобилось знать, с какого IP подключался клиент.

03.07.2020    7998    IMihalev    10    

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    8134    malikov_pro    9    

Структура обработки загрузки цен и остатков поставщика с примерами и комментариями

Внешние источники данных WEB v8 1cv8.cf Россия Бесплатно (free)

В статье опишу структуру обработки по загрузке цен и остатков от поставщика с примерами.

27.06.2020    2000    malikov_pro    0    

Вариант использования документа "Операция по Яндекс.Кассе" для других сервисов по оплате через интернет

WEB v8 1cv8.cf Россия Бесплатно (free)

В статье рассмотрю организацию эквайринга в УТ 11.4 и доработки для создания заказов на оплату к стороннему сервису, как пример Сбербанк.

24.06.2020    1691    malikov_pro    3    

Работа с AliExpress через API

WEB v8 Бесплатно (free)

В публикации опишу подход работы с API AliExpress и примеры кода.

23.06.2020    7456    malikov_pro    32    

История создания успешной системы чат-ботов на 1С

WEB v8 Бесплатно (free)

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

21.05.2020    8894    CyberCerber    15    

Парсинг html страниц с выводом информации через JavaScript с использованием Selenium

WEB v8 1cv8.cf Бесплатно (free)

Есть девочки как девочки, есть мальчики как мальчики, есть сайтики как сайтики, но странички их обманщики. В целях сохранить информацию, от автоматизированного сбора, многие ресурсы пытаются защитить ее. Один из таких способов - вывод информации на странице через JavaScript. При получении такой страницы в 1С, JavaScript не успевает вывести необходимые данные, и в 1с получаем практически пустую страницу. В статье приведу пример разработки, для парсинга таких страниц, без регистрации и смс.

20.05.2020    7022    platonov.e    25    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг третий, WooCommerce, публикация категорий товаров

WEB v8 1cv8.cf Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции публикации категорий товаров в магазин WooCommerce, с комментариями внутри.

13.05.2020    4040    osivv    3    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг второй, публикация картинок

WEB v8 Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции передачи фото из 1С, с комментариями внутри.

13.05.2020    2622    osivv    0    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    5396    zhichkin    30    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

WEB v8 Россия Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    6207    osivv    23    

Выразительный Web API

WEB v8 Бесплатно (free)

Теория разработки Web API с ожидаемым поведением, за который не будет стыдно за пределами мира 1С.

27.04.2020    8809    nbeliaev    22