Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 2. Категории постов/страниц WordPress.

Публикация № 1142311 21.10.19

Интеграция и обмен данными - WEB-интеграция

WordPress WooCommerce RestAPI Интеграция сайтом Rest API обмен данными

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 2. Категории постов/страниц WordPress. Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью функционала Rest API предоставляемого платформой (CMS) WordPress (WooCommerce). Без дополнительных приложений на PHP/вставьте сюда любой другой язык программирования/.

Базовое руководство по REST API

*Расположенный ниже текст частью является моим вольным переводом документации разработчиков WordPress, расположенного по адресу «https://developer.wordpress.org/rest-api/». Весь перевод идет в контексте применимости к 1С. Надеюсь он вам поможет в понимании не только REST API Wordpress’а, но других CMS, плагинов и так далее. В основном использовался Yandex переводчик.

    REST API WordPress предоставляет конечные точки API для типов данных WordPress, которые позволяют разработчикам удаленно взаимодействовать с сайтами, отправляя и получая объекты JSON (JavaScript Object Notation). JSON-это открытый стандартный формат данных, который является легким и удобочитаемым для человека и выглядит как объекты в JavaScript; отсюда и название. Когда вы отправляете контент или делаете запрос к API, ответ будет возвращен в JSON. Это позволяет нам, как разработчикам, создавать, читать и обновлять контент WordPress из клиентского JavaScript или из внешних приложений, даже тех, которые написаны на языках за отличными от PHP.

Зачем использовать WordPress REST API

REST API WordPress делает работу с контентом проще, чем когда-либо, чтобы использовать WordPress в новых и интересных способах разработки. Вам даже не придется писать приложения на PHP: любой язык программирования, который может делать HTTP-запросы и интерпретировать JSON, может взаимодействовать с WordPress через REST API.

WordPress REST API также может служить надежной заменой API admin-ajax в ядре. Используя REST API, вы можете более легко структурировать способ, которым вы хотите получать данные в WordPress и из него. Вызовы AJAX можно значительно упростить с помощью REST API, что позволит вам тратить меньше времени на доступ к нужным данным и больше времени на создание лучшего пользовательского интерфейса.

Наше воображение - это единственный предел того, что можно сделать с помощью API REST WordPress. Суть в том, что, если вам нужен структурированный, расширяемый и простой способ получения данных в WordPress и из него через HTTP, вы, вероятно, захотите использовать REST API. При всей своей простоте REST API может показаться довольно сложным на первый взгляд, и мы попытаемся разбить его на более мелкие компоненты, чтобы мы могли легко собрать весь пазл воедино.

Ключевые принципы (Key Concepts)

Чтобы начать работу с использованием WordPress REST API, мы разберем некоторые ключевые понятия и термины, связанные с API:
•    Routes/Endpoints   / Маршруты / Конечные точки
•    Requests  / Запросы
•    Responses  / Ответы
•    Schema  / Схема 
•    Controller Classes  / Классы контроллеров

Каждая из этих концепций играет решающую роль в использовании и понимании REST API WordPress. Давайте вкратце разберем их, чтобы позже мы могли изучить каждый из них более глубоко.

Routes & Endpoints

    Маршрут (route), в контексте WordPress REST API, является URI, который может быть сопоставлен с различными методами HTTP. Сопоставление отдельного метода HTTP с маршрутом называется "конечной точкой" (endpoint). Чтобы быть точным: если мы сделаем запрос GET http://oursite.com/wp-json/, мы получим ответ JSON, показывающий нам, какие маршруты доступны, и в каждом маршруте, какие конечные точки доступны. /wp-json/ - это сам маршрут, и когда делается запрос GET, он соответствует конечной точке, которая отображает то, что известно, как индекс для WordPress REST API. 

    REST API предоставляет нам способ сопоставления URI с различными ресурсами в нашей WordPress. По умолчанию, если у вас есть и включены постоянные ссылки, WordPress REST API “живет” в /wp-json/. На нашем сайте WordPress https://ourawesomesite.com, мы можем получить доступ к индексу REST API, сделав запрос GET к https://ourawesomesite.com/wp-json/. Индекс предоставляет информацию о том, какие маршруты доступны для этой конкретной установки WordPress, а также о том, какие методы HTTP поддерживаются и какие конечные точки зарегистрированы.

В двух словах:

Маршрут (Route) — это «имя», которое отсылает работу API WordPress к определенным эндпоинтам. Если совсем просто, маршрут - это URL к которому можно обратиться разными HTTP методами. Маршрут может иметь несколько эндпоинтов.


рис.1.0. Демо Полный индекс маршрутов WordPress


Конечная точка (Endpoint) — это само обращение к маршруту отдельным HTTP методом. Эндпоинты выполняют конкретную задачу, принимают параметры и возвращают данные Клиенту.

Типовые (штатные) конечные точки WordPress:
GET — получает список (или отдельную позицию) и возвращает данные поста Клиенту.
PUT|PATCH|POST — обновляет данные и возвращает их Клиенту.
DELETE — удаляет что-либо и возвращает только что удаленные данные Клиенту.
Например,
•    GET /wp/v2/posts
•    POST /wp/v2/posts
•    POST /wp/v2/posts/<id>
•    DELETE /wp/v2/posts/<id>

Requests

Одним из основных классов в инфраструктуре REST API WordPress является класс WP_REST_Request. Этот класс используется для хранения и извлечения информации для текущего запроса; запросы могут быть отправлены удалённо через HTTP. WP_REST_Request объекты автоматически создаются для вас, когда вы делаете HTTP-запрос к зарегистрированному маршруту. Данные, указанные в запросе, определят, какой ответ вы получите обратно из API. Есть много изящных вещей, которые вы можете сделать с помощью класса запроса. 


рис.1.2. Демо список маршрутов для запроса

Здесь мы запросили всё, что касается только WordPress, маршруты, конечные точки, аргументы для запросов и т.д.
 

Responses 

    Ответы - это данные, которые вы получаете от API. Класс WP_REST_Response предоставляет способ взаимодействия с данными ответа, возвращаемыми конечными точками. Ответы могут возвращать нужные данные, а также могут использоваться для возврата ошибок. 
В качестве примера введите в строке браузера маршрут «http://oursite.com/wp-json/» и вы получите ответ как на рисунке ниже (при условии конечно, что WordPress REST API не отключен каким-нибудь плагином или иным способом).

рис.1.1. Демо сырой ответ в JSON

Здесь запросили вообще всё, что предоставляет WordPress, ответ получили в «сыром», необработанном виде. В удобочитаемом виде смотрите рисунки выше.
 

Schema

    Каждая конечная точка требует и предоставляет несколько разных структур данных, и эти структуры определены в схеме API. Схема структурирует данные API и предоставляет полный список всех свойств, которые API может возвращать, и входных параметров, которые он может принимать. Схема также обеспечивает преимущества безопасности для API, поскольку она позволяет нам проверять запросы, выполняемые к API. 

рис.1.3. Пример схемы в категории поста или страницы
 

Controller Classes

     Как вы можете видеть, WordPress REST API имеет много движущихся частей, которые должны работать все вместе. Классы контроллеров объединяют все эти элементы в одном месте. С помощью класса контроллера вы можете управлять регистрацией маршрутов и конечных точек, обрабатывать запросы, использовать схему и генерировать ответы API. *Полагаю, что данный пункт необходим для разработчиков на PHP и по крайней мере в ближайшее время на не понадобится. Во всяком случае, сколько работаю с Rest API WordPress, до сих пор мне это было не нужно.

На этом базовая вводная окончена, надеюсь у вас не возникнут сложности с пониманием описанного.

Категории постов/страниц WordPress

    А теперь настала пора перейти к более интересному, чем чтение. В этой части рассмотрим примеры работы с категориями постов/страниц WordPress, как самым простым и легким образцом для экспериментов (по моему скромному мнению).

*Небольшая ремарка с пояснениями: в самом начале работы с Rest API WordPress столкнулся с тем, что 1С и схемы свойств данных Rest API WordPress имеют одинаковые написания на латинице. Например «title», «description», «name» и т.д., в следствии чего не мог задать реквизиты в 1С с подобными именами. В результате чего ввел две структуры «переводчики»:

- ВП_СтруктураСоответствийСРусскогоНаАнг – перевод с имен реквизитов с «русского» на английский 
(например: ВП_СтруктураСоответствийСРусскогоНаАнг.Вставить(Врег("Наименование"),"name"))
- ВП_СтруктураСоответствийСАнгНаРусского – обратный переводчик.


рис.1.4. Перевод с имен реквизитов.png

Это позволяет быстро сопоставлять реквизиты 1С и Rest API WordPress. И заполнять данные через штатную функцию «ЗаполнитьЗначенияСвойств(<Приемник>, <Источник>)»
 

Схема категорий постов/страниц

Посмотреть полностью можно тут: https://developer.wordpress.org/rest-api/reference/categories/

Конечные точки. Сопоставление с 1С.

Ниже приведенный код выполняет действие на сайте согласно конечной точке WordPress.

Функция рс_ПослатьГотовыйЗапросНаСайт(ТипЗапроса, СтрокаПодключенияСервера, Запрос) Экспорт
	СоединениеССервером = онОбщегоНазначения_ПолучитьСоединениеHTTPS(СтрокаПодключенияСервера, , , , , ,);
	Если ВРег(ТипЗапроса) = "POST" Тогда
		Результат = СоединениеССервером.ОтправитьДляОбработки(Запрос);
	ИначеЕсли ВРег(ТипЗапроса) = "GET" Тогда
		Результат = СоединениеССервером.Получить(Запрос);
	ИначеЕсли ВРег(ТипЗапроса) = "PUT" Тогда
		////Результат = СоединениеССервером.Записать(Запрос);     /////Эта функция не работает
		Результат = СоединениеССервером.Изменить(Запрос);
	ИначеЕсли ВРег(ТипЗапроса) = "PATCH" Тогда
		Результат = СоединениеССервером.Изменить(Запрос);
	ИначеЕсли ВРег(ТипЗапроса) = "HEAD" Тогда
		Результат = СоединениеССервером.ПолучитьЗаголовки(Запрос);
	ИначеЕсли ВРег(ТипЗапроса) = "DELETE" Тогда
		Результат = СоединениеССервером.Удалить(Запрос);
	КонецЕсли;
	
	Возврат Результат;
КонецФункции // 
Получение всех категорий списком.

Запрос для сайта будет выглядеть так: «GET /wp/v2/categories»
Конечная точка «GET». Маршрут «/wp/v2/categories». На данном этапе какие-либо дополнительные аргументы для вызова списка категорий не нужны, WordPress отработает запрос своими аргументами по умолчанию.

В программе категории/рубрики WordPress заведены как справочник «Категории/рубрики постов/страниц сайта WordPress». 
рис.1.5. Справочник категорий с командами.png
 

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

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

рис.1.6. Создание в справочнике всех категорий сайта.png

А вот так они выглядят на сайте

рис.1.7. Категории на сайте.png

 

Возьмем для примера категорию «Тестовая категория1».

рис.1.8. Категория до изменения..png

Так выглядит на сайте до изменения

рис.1.9. Категории до изменения на сайте.png

 

И изменим наименование, описание и родителя и запишем. Запрос для сайта будет выглядеть так: «POST /wp/v2/categories/<id>»

рис.1.10. Категория после изменения справочник.png

 

Изменим на сайте выбрав «Обновить (текущий)» 

рис.1.11. Категория после изменения ответ с сайта.png

 

Так стало выглядеть на сайте

рис.1.12. Категория после изменения на сайте.png

 

    Чтобы создать категорию/рубрику на сайте создайте элемент справочника, запишите и закройте его, после чего выбрав в списке пошлите запрос на сайт выбрав «Создать (один)».

Запрос для сайта будет выглядеть так: «POST /wp/v2/categories»

рис.1.13. Создание новой категории.png

 

Так выглядит на сайте

рис.1.14. Создание новой категории на сайте.png

 

    Ну и соответственно удалим тестовые категории. Элемент справочника помечается на удаление и у него удаляется id.

Запрос для сайта будет выглядеть так: «DELETE /wp/v2/categories/<id>»

рис.1.15. Удаление категории из 1С.png

 

Соответственно с сайта они исчезли

рис.1.16. Удаленные категории на сайте.png

Ну и запрос данных по конкретной категории выглядит так «GET /wp/v2/categories/<id>». Здесь пример приводить не стал, попробуйте сами.

И напоследок:

В обновленную конфигурацию добавлены демо-запросы к сайту.
Обновлена демо-обработка для тестов с новыми запросами, 

рис.2.0 Обработка.png

добавлена возможность посылать запросы «GET» к сайту по своим маршрутам.

рис.2.1 Обработка свой маршрут.png

 

На этом всё, вторая часть окончена.

Желаю приятных экспериментов на ниве обмена из 1С с сайтом WordPress. 

Продолжение следует.

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

Обработка тестировалась:

Тестировалось на моем сайте: перейти.

Версия WordPress: 5.2
MySQL Версия : 5.7.23-24
PHP Версия : 7.3.6
Платформа: 1С:Предприятие 8.3 (8.3.13.1644)


P.S. Если вам интересна описанная в публикации тема, вы готовы посвятить этому некоторое своё свободное время, есть желание, милости прошу присоединиться к моему проекту, пишите, не стесняйтесь.

 

Скачать файлы

Наименование Файл Версия Размер
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 2. Категории постов/страниц WordPress.Конфигурация:

.cf 167,61Kb
4
.cf 0.1.1 167,61Kb 4 Скачать
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 2. Категории постов/страниц WordPress.Демо-обработка:

.epf 10,69Kb
4
.epf 0.1.1 10,69Kb 4 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. twilight_dream 18.04.20 14:48 Сейчас в теме
С одной стороны метод весьма интересный в том смысле, что программист 1С контроллирует весь процесс. А в данном случае даже пользователь.. Однако есть и свои недостатки. Как, например, выгрузить картинки из 1С, или загрузить картинку товара с локальной машины, используя REST API и только его. А если надо подключать другие методы, тогда и собственно почему бы и всё не загрузить другими методами, написав небольшой плагин, чтобы base64-закодированную картинку(например) перекодировать во временный файл на сервере и перебрасывать в нужную папку.

Попробовал написать пару строк обработки для добавления категории. Не понравилось, что картинки копируются каждый раз из указанного ресурса на сайт. Ну, вобщем как то всё подозрительно. Или вы знаете, как просто можно указать через REST API урл картинки, которая уже лежит на своём месте?
2. osivv 232 18.04.20 15:15 Сейчас в теме
(1) Простите, но ничего не понял.
REST API WordPress дает только одну возможность публиковать медиа, если знаете еще, поделитесь, буду признателен.
Если имеете в виду под "ресурсом" (-> из указанного ресурса на сайт), ресурсы в сети интернет, то здесь никак не проконтролируешь.
А если ведется учет картинок в 1С, то здесь все просто, есть ID картинки (или урл картинки), то значит уже опубликован.

Как, например, выгрузить картинки из 1С, или загрузить картинку товара с локальной машины, используя REST API и только его

Ну, наверное, картинки должны храниться на общем сетевом ресурсе. В этой и других моих разработках, используется чистый REST API, без всяких сторонних плагинов и т.д. и т.п., более того, этим я хочу показать, что 1С самодостаточная система чтобы общаться с сайтом напрямую. без сторонних объектов и разработок.
3. twilight_dream 18.04.20 23:32 Сейчас в теме
(2)Уникальный ответ:
(вопрос)
- Как пройти на набережную, подскажите, я не знаю.
(ваш ответ)
- Простите, но ничего не понял. Есть только одна дорога на набережную, если знаете ещё, поделитесь.

Удачи Вам!
4. osivv 232 19.04.20 11:53 Сейчас в теме
(3)(2)
REST API WordPress дает только одну возможность публиковать медиа

Если вы об этом, то пожалуйста: POST /wp/v2/media
Ссылка: https://developer.wordpress.org/rest-api/reference/media/
5. twilight_dream 19.04.20 22:40 Сейчас в теме
Спасибо. Наверно был сонный, когда смотрел, прямо вот там же смотрел, а пункт "media" не увидел.

Я там не совсем понял, как всё же передавать сами данные медиафайла. Ну то ладно, может быть разберусь. К примеру я разобрался, и загрузил все нужные картинки в магазин в нужные папки. Но вот в чем проблема, надо загрузить ещё и товары, и в них указать как нибудь путь к этим картинкам. Берем пример из страницы описания (это создание категории POST https://example.com/wp-json/wc/v3/products/categories):
'{
  "name": "Clothing",
  "image": {
    "src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg"
  }
}'


Ну, у меня, естественно, своё местоположение вместо того, что в примере. Так вот эти картинки зачем-то копируются. То есть создается копия картинки из указанного SRC. Но они ведь уже лежат на нужном месте. Но всё равно делаются дубликаты.
7. osivv 232 20.04.20 12:58 Сейчас в теме
(5)
"src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg"

В данном примере как источник указывается внешний ресурс, из которого копируется картинка на локальный. В случае с 1С это приемлемо, если мы не имеем собственных, и хотим скопировать откуда-то.

(5)
Так вот эти картинки зачем-то копируются. То есть создается копия картинки из указанного SRC. Но они ведь уже лежат на нужном месте. Но всё равно делаются дубликаты.

Всё правильно, WordPress, "думает", что картинка находится на внешнем ресурсе, и копирует.
10. twilight_dream 20.04.20 16:31 Сейчас в теме
(7)
Всё правильно, WordPress, "думает", что картинка находится на внешнем ресурсе, и копирует.


А разве можно его заставить думать по-другому? Я просто за три дня пока этот вопрос изучаю, не много успел прочесть.Продукцию не пробовал грузить. Может там и по-другому.
Если там пытаешься указать локальный адрес, дает ошибку
code: woocommerce_rest_invalid_remote_image_url
code: message: Ошибка дистанционного получения изображения /home/мой.top/shop/wp-content/uploads/2020/04/50735555_c1e928327f1af2c1a04830f8c63­db868_800-2.jpg. Ошибка: Предоставлен неверный URL.
code: message: dat a: status: 400
6. twilight_dream 19.04.20 23:07 Сейчас в теме
То есть при выгрузке из 1С я предполагаю такую кривую схему: сначала картинки надо загрузить из 1С на отдельный ресурс, видимый с сайта. Затем надо при загрузке/обновлении категорий или товаров указывать url этих картинок, и сайт их будет снова скачивать в папку медиа. Уже двойная работа. А при следующей выгрузке создадутся дубликаты картинок, так как при обновлении так же создается копия. Пока что не верится, что разработчики rest API создали такую кривую систему загрузки медиа. Или нужно создавать какую-то процедуру, которая сначала загружает все картинки категорий и продуктов, затем при выгрузке проверяет, есть ли уже такая картинка у продукта. А для этого создавать какую-то систему именования картинок для связи с продуктом. Очень мрачная картина вырисовывается.
8. osivv 232 20.04.20 13:14 Сейчас в теме
(6)
То есть при выгрузке из 1С я предполагаю такую кривую схему

Вы не правильно полагаете, в моих разработках всё работает "как надо". Я также ошибался год назад, но потом понял, в чем была моя ошибка.

В данной разработке не рассматривается публикация категорий совместно с картинкой. Т.к. на то момент не было острой необходимости привязывать картинку к категории, полагал, что их не так много как товаров, и привязать можно вручную. Более насущная задача была в публикации товаров с картинками, и все силы я бросил на решение этой задачи. Которая была успешно решена. О чём вы можете почитать тут: https://infostart.ru/public/1222696/

Забегая чуть вперед скажу, что задача с привязкой картинки к категории тоже решена. Но это будет опубликовано в последующем.
11. twilight_dream 20.04.20 19:40 Сейчас в теме
(8)
Я также ошибался год назад

Я через год чтения и проб с этой системой тоже могу многое рассказать. Но пока что у меня 3-й день знакомства. Пока что пытаюсь выбрать что лучше - commerce ml, где вообще не нужно ничего программировать, но в случае нестандартных задач вероятно потребуется лезть и в код PHP тоже. Или же REST API, в котором запрограммировать придется всё, однако только со стороны 1С. Но ежели я выберу REST API, и затем придется лезть в код PHP чтобы поправить обмен - это фиаско.
Хотя всегда можно вернутся к старому доброму commerce ml :)
9. osivv 232 20.04.20 13:16 Сейчас в теме
(6)
Пока что не верится, что разработчики rest API создали такую кривую систему загрузки медиа.

Разработчики всё сделали как надо.

(6)
Или нужно создавать какую-то процедуру, которая сначала загружает все картинки категорий и продуктов, затем при выгрузке проверяет, есть ли уже такая картинка у продукта. А для этого создавать какую-то систему именования картинок для связи с продуктом.

Ничего выдумывать не надо, все решается элементарно просто тут: https://infostart.ru/public/1222696/
12. twilight_dream 20.04.20 19:41 Сейчас в теме
(9)
Разработчики всё сделали как надо

Уж и не ожидал встретить святую наивность в нашем то веке :)))
13. osivv 232 21.04.20 00:07 Сейчас в теме
(12)Рад что вам понравилось.
Если вы только 3 дня в теме, то вам "копать и копать".
CommerceML? Ну-ну, устаревшая технология от 1С, как обычно, у нас подбирают то, что на западе давно "никому не надь".
Мне смешно, честное слово, вы повторяете мой путь, 2-х летней давности. XML, PHP, внесение правок в код сайта.
Попробуйте REST API копнуть глубже, разобраться и вы поймете, что в 1С кода для обработки для REST API надо в несколько раз меньше, чем для обработки XML.
Поверьте на слово, REST API WordPress, достаточная система и доработок не требует. Во всяком случае с нашей стороны, я почему-то уверен, что там спецов достаточно, покруче нас с вами. С год назад списывался с программером разработчиком плагинов для WordPress, просил написать плагинчик. Он ответил, что ставка 100$ в час, написание плагина займет 2-3 часа.
Более того, уверен, что вы, как программист, никогда не догоните и не сможете даже трети функционала реализовать.
14. i.smirnova@aie 30.04.20 12:35 Сейчас в теме
Добрый день! Заинтересовала ваша часть про категории. А если нам не надо переносить категории из 1С вообще, потому что в 1С они - рабочие, удобные для сотрудников компании, а на сайте - немного другие, удобные для покупателей. Просто без категорий не переносится новый товар из 1С, а если переносим новый товар хотя бы с одной категорией из 1С, то все товары с сайты из своих категорий переносятся в корзину....
15. osivv 232 30.04.20 16:05 Сейчас в теме
(14)
Здравствуйте!
Во-первых эта статья про категории постов/страниц, категории товаров немного отличаются.
Переносить товары без категории можно. Если не указывать родительскую категорию товара, то товар по умолчанию попадет в категорию "без категории".
Думаю, что такой расклад вас тоже не устроит.
Как вариант могу предложить в где-нибудь в доп.свойствах товара хранить категорию товара сайта и при публикации в магазин использовать ее.
Оставьте свое сообщение

См. также

Интеграция с API WIldberries. Что нового в 2022 во взаимодействии 1С и Вайлдберриз Промо

WEB 8.3.14 8.3.8 1cv8.cf Абонемент ($m)

Демонстрация взаимодействия системы учета на 1С и АПИ Вайлдберриз. Готовое решение, которое можно доработать под ваши запросы. Новая версия API 1.0.2, расскажу, как получить supplierID, как создать карточки товара на вайлдберриз, как получить остатки и задать цены.

10 стартмани

09.01.2022    9757    35    kiv1c    25    

Исправление работы интернет-сервисов 1С (прокси сервер)

WEB Абонемент ($m)

Данный набор скриптов исправляет работоспособность интернет сервисов 1С (Интернет-поддержка, 1С-ЭДО и прочие) с помощью прокси сервера, который проходит проверку DDOS-Guard при запросах из 1С любых версий и конфигураций. Без каких-либо патчей.

1 стартмани

28.04.2022    1342    13    m0tion    3    

Описание API GlonassSoft

WEB Абонемент ($m)

Описание запросов получения данных по API GlonassSoft.

2 стартмани

14.04.2022    947    1    artemua    4    

Автоматизация REST интеграций

WEB 8.3.14 1cv8.cf Россия Абонемент ($m)

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

5 стартмани

18.02.2022    4591    8    kirflaer    3    

Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо

WEB v8 1cv8.cf Россия Абонемент ($m)

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020    11576    102    XilDen    15    

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

WEB v8 Абонемент ($m)

Сервис предназначен для передачи сообщений от сервера 1С клиентским сеансам. В простом случае полученное сообщение отображается у клиента в виде всплывающего окна (процедура 1С ПоказатьОповещениеПользователя). С использованием данного сервиса можно оповещать пользователей о новых задачах, полученных электронных письмах, менеджеров о новых заказах, загруженных с сайта и т. п. Дополнительно имеется возможность передавать произвольные данные и обрабатывать самостоятельно полученные сообщения на клиенте, что позволяет реализовать более сложные сценарии (чаты, отображение прогресса длительной операции на сервере и т. п.).

1 стартмани

02.02.2022    4951    20    ltfriend    5    

Создание интерактивных обучающих курсов с помощью Vanessa Interactive

Инструментарий разработчика WEB Идеи и тренды в разработке v8 1cv8.cf Россия Абонемент ($m)

Приветствую Вас, коллеги. Сегодня Вам предлагается рассмотреть технологию создания интерактивных обучающих курсов, системы Onboarding, интерактивной справки для любых конфигураций разработанных на базе платформы 1С при работе в web клиенте. Прошу посмотреть ролик, кому неинтересно, как это работает, можно дальше не читать. Тестировалось на 1С:Предприятие 8.3 (8.3.20.1646).

1 стартмани

02.02.2022    3492    0    Viktor_Ermakov    2    

Создание простых сайтов на основе http сервисов - tips and tricks

WEB v8 Абонемент ($m)

Универсальный метод, html шаблоны, страницы с авторизацией и без, многоязычность, страница авторизации, etc.

1 стартмани

22.01.2022    4669    7    vl-sher1    29    

Модуль обмена с QIWI Промо

Банковские операции WEB v8 1cv8.cf УУ Абонемент ($m)

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020    10890    1    Neti    10    

Меняем любой дизайн сайта на свой вкус (на примере infostart Dark theme)

WEB Работа с интерфейсом Абонемент ($m)

Для тех, кому хочется поменять дизайн сайта на темный или любой другой, на примере делаем это с сайтом infostart.ru за пару кликов, так вот есть такое решение, об этом речь пойдет ниже.

1 стартмани

01.01.2022    1827    0    kucar_ip    6    

Личный кабинет - делаем сайт с помощью 1С

WEB Работа с интерфейсом 8.3.14 1cv8.cf Абонемент ($m)

Пример создания современного сайта, серверная часть которого написана полностью на 1С.

30.11.2021    7356    23    elcoan    35    

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

WEB v8 1cv8.cf Россия Абонемент ($m)

Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.

1 стартмани

01.04.2021    12166    14    SaschaG    4    

BIM: взаимодействие с платформой Autodesk Forge Промо

WEB v8 1cv8.cf Строительство Абонемент ($m)

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    59175    13    kandr    3    

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

WEB Работа с интерфейсом Языки и среды v8 1cv8.cf Абонемент ($m)

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    15458    49    Parsec1C    18    

Отправка Push-уведомлений через сервис Firebase Cloud Messaging по протоколу FCM HTTP v1 API

WEB v8 Абонемент ($m)

При разработке нативного приложения Android для ТСД, в котором присутствует функционал отображения задач кладовщикам, созданных в 1С, возникла необходимость отправлять push-уведомления о появлении новых задач. Для отправки таких уведомлений было решено использовать сервис Firebase Cloud Messaging (FCM). Так как для 1С, в отличии от других языков программирования, не существует готовых библиотек, что вполне логично, то очевидным способом отправки является использование протокола HTTP. Однако, существующая информация в интернете в части 1С содержит только сведений об отправке push-уведомлений через этот сервис с использованием устаревшего протокола HTTP Firebase Cloud Messaging. Сам Google не рекомендует использовать данный протокол и настоятельно склоняет к переходу на новый протокол FCM HTTP v1 API. Что ж, пришлось разбираться самостоятельно.

1 стартмани

24.03.2021    11064    17    ltfriend    12    

Очередная попытка взаимодействия с JavaScript из клиента 1С. Расширение "Подключаемые Скрипты"

WEB 8.3.14 1cv8.cf Абонемент ($m)

Хотелось бы поделиться своими наработками в части использования возможностей HTML + JS из клиента 1С. Показанная в статье идея будет интересна тем, кто использует карты Yandex... или ещё какие-нибудь HTML извращения в конфигурациях 1С. Тестировал подход в тонком клиенте на версии платформы 8.3.18.1289, но должно работать на любой 8.3.14+ (движок webkit).

1 стартмани

09.02.2021    12271    31    savelievD    28    

Односторонний файловый обмен с сайтом по ftp (1C 2 Web) Промо

Файловые протоколы обмена (TXT, XML, DBF), FTP WEB v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Подходит под любую конфигурацию на управляемом интерфейсе на базе БСП 2.4.4 и выше. Позволяет гибко настроить выгрузку, практически любых, данных по расписанию на сервер ftp вашего ресурса. Ведение лога процесса выгрузки также предусмотрено.

3 стартмани

09.12.2019    15957    20    LamerSoft    0    

Powershell - отправка данных в http-сервис 1С (basic auth)

WEB Абонемент ($m)

Powershell - отправка данных в http-сервис 1С (basic auth). На примере открытия/закрытия инцидентов в конфигурации ЦКК.

1 стартмани

09.12.2020    3459    0    sdf1979    2    

Генератор маршрута по "документам отгрузки" в Google.Maps

Оптовая торговля Розничная торговля WEB v8 v8::ОУ УТ11 Россия УУ Абонемент ($m)

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

7 стартмани

08.11.2020    13372    17    quazare    21    

Продажи со склада поставщика WildBerries. Взаимодействие с АПИ из 1С

WEB Розничная торговля v8 УТ11 УУ Абонемент ($m)

Взялся я тут делать интеграцию с АПИ нового проекта Диких Ягод - Продажи со склада поставщика (ПССП). Это было нелегко. Никто же не читает инструкцию (уже аж 7 версии!), а зря! Для начала сделал получение списка товаров и обмен остатками.

5 стартмани

06.11.2020    37926    200    kiv1c    141    

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3 Промо

Обработка документов WEB v8 v8::УФ 1cv8.cf Россия БУ УУ Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.

4 стартмани

30.12.2019    24528    33    capitan    26    

1С + react native

WEB v8 1cv8.cf Абонемент ($m)

Пример реализации клиента для 1С на react native.

1 стартмани

09.10.2020    12984    8    van_za    9    

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

WEB v8 1cv8.cf Абонемент ($m)

Пошаговое руководство по созданию http сервиса (часть третья). Передача нескольких параметров в http сервис, a также формирование сложных JSON строк.

1 стартмани

02.10.2020    21031    7    hpi    17    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 1 - RabbitMQ

WEB v8 1cv8.cf Абонемент ($m)

Часто 1С не может взаимодействовать со сторонними продуктами, например для шины предприятия RabbitMQ создают внешние компоненты. В статье предлагается новомодный подход REST API реализованный на приложении прокладке Middleware, язык тоже трендовый Golang. В статье немного познакомлю Вас с языком Golang, опишу интеграцию на стороне 1С (8.3.16.1502). Если статья зайдет, напишу как выгружать журнал регистрации по этой схеме в ElasticSearch

1 стартмани

31.08.2020    12555    12    dmitry-irk38    15    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    42170    100    Ditron    115    

Загрузка файлов на сервер с использованием HTTP-сервиса 1С (multipart/form-data).

WEB Абонемент ($m)

Вариант загрузки файлов в составных данных методом POST (multipart/form-data) на примере демонстрационной базы.

1 стартмани

12.08.2020    13967    24    ltfriend    5    

Обмен через API с Честный знак (Система маркировки товаров)

Оптовая торговля WEB v8 1cv8.cf Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

Рассмотрен пример обмена через API с Честным знаком с использованием электронной подписи.

1 стартмани

10.08.2020    30726    114    vasilievil    25    

HTTP сервисы по OpenAPI спецификациям

WEB v8 1cv8.cf Абонемент ($m)

Начинаем путь разработки HTTP сервисов с создания спецификаций OpenAPI. Автодокументация сервисов формата Swagger UI без зависимостей. Настройка сервисов в режиме предприятия.

1 стартмани

29.06.2020    19912    20    shmalevoz    22    

Работа с релизами 1С и договорами ИТС Промо

WEB БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Работа с релизами 1С и партнерским кабинетом.

2 стартмани

15.08.2019    24512    65    RocKeR_13    38    

Интеграция с Системой быстрых платежей

WEB Россия УУ Абонемент ($m)

Система быстрых платежей (СБП), которая приходит на смену платежным (эквайринговым) терминалам позволяет не только существенно снизить комиссию, но и не потерять точность учёта выполненных операций. Расскажем о технологии, её применении для бизнеса, а также её интеграции с решениями на 1С, такими как УТ, КА и другие.

2 стартмани

10.06.2020    13847    18    Ley81    12    

Конструктор HTTP-соединений в 1С (обычные и управляемые формы)

WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Иногда возникают мысли о том, чтобы прикрутить сервисы, связанные с HTTP-соединениями, в 1С. Необходимо писать обработку и анализировать результат.

1 стартмани

02.06.2020    11039    35    Denr83    0    

DaJet QL - расширяемый язык запросов

WEB v8 Абонемент ($m)

DaJet QL поддерживает практический полный синтаксис SQL Server 2005-2016. Кроме этого это расширяемый язык запросов. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям этого языка запросов реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    15956    12    zhichkin    19    

Проверка VAT номеров Промо

WEB v8 1cv8.cf Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    21805    3    wtlz    1    

Обмен данными между OZON и 1С

Оптовая торговля WEB v8 v8::ОУ УТ11 УУ Абонемент ($m)

Данная подсистема позволяет загружать отправления «с моего склада» из OZON (в статусе «Ожидают сборки») в 1с Управление торговлей 11 по API. Так же есть возможность выгружать статусы отправлений «awaiting_deliver, т.е. Ожидает отгрузки» и «cancelled, т.е. Отменен» из 1с в OZON по API.

10 стартмани

09.04.2020    39209    239    vex2865    156    

Пример работы с Trello из 1С

WEB v8 1cv8.cf Россия УУ Абонемент ($m)

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

1 стартмани

15.02.2020    21254    60    terrorion    18    

Взаимодействие HTML (COM объект, WebKit) с 1С (обычные и управляемые формы)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Показан пример использования HTML (COM объект, WebKit) в 1С (8.3).

2 стартмани

18.01.2020    15644    33    Deniskinr83    0    

Конфигурация Парсер Сайтов Объявлений (Авито avito.ru) Промо

WEB v8 Россия Абонемент ($m)

Вкратце: Например, вы можете автоматически несколько раз в день (любое заданное время) загружать свежие объявления в категории Телефоны (любой категории или произвольный запрос) и отправлять сообщения тем, которые содержат слово «iphone 6S» и цена ниже 50 000 руб. Затем отправлять себе на почту отчеты о загруженных объявлениях и результатах рассылки. А можете загружать данные в основную учетную систему.

21.03.2016    41980    0    capitan    21    

Google drive - менеджер файлов

WEB Внешние источники данных v8 1cv8.cf Россия Абонемент ($m)

Синхронизация с гугл диском легко и просто!

10 стартмани

05.12.2019    28508    44    zykov_vitaliy    28    

Работа с Яндекс-картами в 1С (вывод меток, прокладка маршрута, отображение балуна, вывод меток в кластеры) (обычное и управляемое приложение)

WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Работа с Яндекс-картами в 1С (управляемое приложение). Обработка показывает, как можно найти адреса на карте Яндекс, проложить маршрут.

2 стартмани

20.11.2019    25500    167    Denr83    0    

Пример взаимодействия HTML (COM объект, WebKit) с 1С (динамический отбор) (обычные и управляемые формы)

WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Показан пример использования WebKit в 1С (8.3).

2 стартмани

18.11.2019    16804    19    Denr83    0    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты Промо

WEB Рабочее место v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка для работы с картами в 1С. Получения изображения с публичной кадастровой карты России, построения тематических карт

10 стартмани

31.08.2017    29058    24    vipchep    3    

Remotrix - простая консоль SQL-запросов к удаленной базе Bitrix через админку

WEB Абонемент ($m)

Время от времени требуется выполнять прямые запросы к базе сайта на Bitrix. Делать это через web-интерфейс в админке - не слишком удобно, так родился Remotrix.

1 стартмани

15.11.2019    5335    5    MadDAD    0    

Замена MS Project в интегрированных системах

WEB Работа с интерфейсом 1cv8.cf Абонемент ($m)

Сразу надо сказать, что речь идет о замене только наиболее сложной части - расчете расписания с выравниванием загрузки ресурсов. Рисовать и редактировать диаграмму Ганта, учитывать факт, сравнивать планы и разрабатывать отчеты придется самим. Хотя для разработчиков корпоративных систем все это не выглядит чересчур сложным.

1 стартмани

31.10.2019    9209    14    PeterAlmazov    0    

Яндекс сервисы [Расширение]

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

Расширение для работы с Яндекс-сервисами (предиктор,переводчик,проверка орфографии)

1 стартмани

24.10.2019    18228    11    noprogrammer    12    

Пример использования REST API Яндекс Диска Промо

WEB v8 1cv8.cf Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    38645    70    MKFreeUser    16    

Работа с публикациями "Инфостарт" Промо

Инфостарт WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    32097    16    RocKeR_13    16