0. dsdred 999 28.09.18 22:21 Сейчас в теме

HTTP Сервисы: Путь к своему сервису. Часть 4

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 3». В предыдущих частях мы уже о многом поговорили. В этой части поговорим про размер сообщений, о файлах, о порциях и немножко, о регламентах.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. apostal86 206 03.10.18 11:18 Сейчас в теме
Сейчас пока добавил в избранное. Но подсказывает интуиция, что "не за горой" момент, когда опыт, изложенный в данной публикации, может пригодиться.
eeeio; dsdred; +2 Ответить
2. nicxxx 226 02.01.19 19:29 Сейчас в теме
Вместо метода ПолучитьДатуВремяИзСтроки() можно применить платформенный XMLЗначение():
XMLDate = СтруктураЗапроса.ПараметрыЗапроса.Получить("Date");
Date = XMLЗначение(Тип("Дата"), XMLDate);
3. dsdred 999 04.01.19 18:08 Сейчас в теме
(2)Вариантов масса. Можно и в ПрочитатьJSON указать тип
4. user805602 16.04.19 12:49 Сейчас в теме
На Java работа с Web-сервисами проще. А в 1С, после ваших статей, я выберу для обмена Com.
Обмен через блокнот, выглядит проще.
5. dsdred 999 16.04.19 13:11 Сейчас в теме
(4)
На Java работа с Web-сервисами проще.

Чем проще?

А в 1С, после ваших статей, я выберу для обмена Com.
Обмен через блокнот, выглядит проще.

Это только выглядит. Чем Вас так напугали http-сервисы?
6. user805602 17.04.19 04:27 Сейчас в теме
(5) Статья мне понравилась.
На первый взгляд я не увидел шаблонизаторов, помогающих делать веб-страницу. У вас данные возвращаются в текстовом виде.
А в самом 1с много чего не хватает. Например, коллекций, приходится в основном всё пихать в таблицу значений.
Про выгрузку в текстовый документ я упомянул потому, что результат будет такой же, только не надо разворачивать IIS/Apache
7. dsdred 999 17.04.19 21:20 Сейчас в теме
(6)
Про выгрузку в текстовый документ я упомянул потому, что результат будет такой же, только не надо разворачивать IIS/Apache


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

Одно скажу, Com уже более 4-х лет не использую. Показываю только для того чтобы оценили их тормознутость и согласились идти другими способами. Показывал как то один тестовый пример, обходил справочник используя Com проверяя реквизит на определенное значение. Тоже самое делал по OData.
В итоге Com молотил 30 с чем то минут, OData около 3 минут. Удивленные лица многого стоят.
user805602; +1 Ответить
8. newbigrator 20.04.19 21:58 Сейчас в теме
Я вот что не понял в варианте с планом обмена - вы понаписали кучу функций и кода, ок.
Но ведь подразумевается что при использовании OData 1C просто открывает свои объекты, доступные по этому интерфейсу. А тут получается что все равно нужно дописывать функции.
То есть я всегда воспринимал OData как вариант, когда ничего делать не надо. А тут получается надо и только тогда взлетает.
Чем тогда он отличается от веб сервисов то..
9. dsdred 999 21.04.19 11:10 Сейчас в теме
(8)Odata показывал только вариант с использованием $top и $skip напрямую к справочнику без использования плана обмена. Соответственно код был только для организации порционного вывода в обработке.
Если вы откроете Результат, то увидите там непосредственно ссылки которые формируются для получения данных.

Запрос: http://127.0.0.1/DemoSSL3_0_1_231/odata/standard.odata/Catalog_КлассификаторБанков/$count?$select=Ref_Key,Description,Code,DeletionMark,IsFolder&$format=json;odata=nometadata

Запрос: http://127.0.0.1/DemoSSL3_0_1_231/odata/standard.odata/Catalog_КлассификаторБанков?$top=1000&$skip=0&$select=Ref_Key,Description,Code,DeletionMark,IsFolder&$format=json;odata=nometadata
...
Запрос: http://127.0.0.1/DemoSSL3_0_1_231/odata/standard.odata/Catalog_КлассификаторБанков?$top=1000&$skip=4000&$select=Ref_Key,Description,Code,DeletionMark,IsFolder&$format=json;odata=nometadata

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


Вариант с планом который я показал, был через http-сервис. (Не по OData)
Поясню:
По Odata мы открываем объекты, можем даже план обмена открыть, но в плане есть атворегистрация и программная регистрация. Чаще всего авторегистрация не годится для нормального обмена с разными складами\магазинами\организациями, так как нужна некая фильтрация данных в разрезе Склада\организации\магазина и тут в принципе без программного вмешательства не обойтись чтобы раскидывать по узлам.
10. newbigrator 21.04.19 16:37 Сейчас в теме
(9) Теперь понял.
Но хочу уточнить, все таки при OData не годится для случая когда нужно вычитать какую то Изменившуюся порцию.
Вы согласны?

Ваш пример про top и skip хорош и в целом позволяет читать порции, но это количественные порции.
А прочитать изменившуются порцию через OData как я понимаю не получится, ну то есть подключить функционал плана обмена и через него соединится с таблицами изменениями.. или все таки можно?
11. dsdred 999 21.04.19 21:58 Сейчас в теме
(10)Можно по ODate получать из Плана изменившуются порцию -> https://its.1c.ru/db/v8314doc#bookmark:dev:TI000001394

Пробовал года 2 назад через postman с бухгалтерии получать, вот пример запроса:
http://127.0.0.1/BuhObmenVesi/odata/standard.odata/SelectChanges?DataExchangePoint='http://127.0.0.1/BuhObmenVesi/odata/standard.odata/ExchangePlan_ПоОрганизации(guid'1c95d6bd-4942-11e7-8430-d897ba0899c9')'&MessageNo=0&$format=json;odata=nometadata

Не помню почему сделал в итоге через http-сервис... Давно было,. не вспомню.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
Полный день

Работа от Инфостарт
Санкт-Петербург
Временный (на проект)

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Ведущий программист 1С
Сочи
зарплата от 82 500 руб. до 99 000 руб.
Полный день