|
Простой пример интеграции 1С с API для начинающего | ☑ | ||
---|---|---|---|---|
0
ac13
18.09.18
✎
17:08
|
У кого-нибудь есть или кто-нибудь знает где можно посмотреть простые наглядные примеры интеграции 1С с API, чтобы понять логику как это работает для начинающего или для дебила.
|
|||
1
Вафель
18.09.18
✎
17:12
|
какое именно апи? рест апи? или соап?
|
|||
2
Dmitry1c
18.09.18
✎
17:13
|
Срочно дайте человеку какой-нибудь API
|
|||
3
ac13
18.09.18
✎
17:15
|
например soap
|
|||
4
s03
18.09.18
✎
17:15
|
(0) API - Application Programming Interface, программный интерфейс приложения. Поэтому для каждого приложения будет свой API. Тебе пример интеграции 1С и чего именно надо?
|
|||
5
ac13
18.09.18
✎
17:18
|
(4) Да, я понимаю что у каждого приложения свой API. Мне нужен пример чего угодно, где можно увидеть и понять как это работает и с чего начинать.
|
|||
6
Asmody
18.09.18
✎
17:18
|
Вот тут написано про всякие API http://v8.1c.ru/metod/books/book.jsp?id=288
|
|||
7
ac13
18.09.18
✎
17:20
|
(6) спасибо!
|
|||
8
Вафель
18.09.18
✎
17:22
|
хочешь потренироваться - пиши клиента для реддит
https://www.reddit.com/dev/api/ |
|||
9
ac13
18.09.18
✎
17:32
|
(8) спасибо) теперь нужно понять с чего начинать в 1с
|
|||
10
PR
18.09.18
✎
17:38
|
Ироды окаянные :))
https://wonderland.v8.1c.ru/search/index.php?tags=OData |
|||
11
Cyberhawk
18.09.18
✎
17:49
|
Начни с онлайн-сервиса "морфер" и использования его АПИ в 1С
|
|||
12
Cyberhawk
18.09.18
✎
17:54
|
Хотя эти всякие WS могут показаться сложными. Лучше начни с какого-нибудь АПИ на хттп-сервисах. Например, Манго.
|
|||
13
d4rkmesa
18.09.18
✎
20:04
|
(0) Классический пример
https://habr.com/post/148658/ Ну или можно взять сервис проверки контрагента по ИНН/КПП. |
|||
14
d4rkmesa
18.09.18
✎
20:06
|
Еще с геокодером Яндекса побаловаться интересно:
https://tech.yandex.ru/maps/geocoder/ |
|||
15
DES
18.09.18
✎
20:43
|
(14) а есть чего нибудь примерного в 1с8 по этой темке?
|
|||
16
kumena
18.09.18
✎
20:58
|
(15) С каких то движков 8.3 (а может и раньше, я не следил) в структуре конфигурации появились http сервисы.
Можно сделать базу с вебсервисом, который будет допустим принимать текст запроса и в xml результат возрвращать. Опубликуй её на вебсервере вот тебе и вебсервис, который будет отвечать, api правда будет целиком на 1с, но нам же надо чтобы все было на 1с. |
|||
17
VS-1976
18.09.18
✎
23:53
|
(16) Это и в 8.1 было
А вообще полезная штука Яндекс диск, попробуй реализовать, там не сложно, единственно нужно генерировать ключ + права дать... |
|||
18
Чайник1983
19.09.18
✎
03:19
|
Очень хорошая тема тоже интересно)
|
|||
19
ac13
19.09.18
✎
08:52
|
(10), (11), (12) спасибо
(13) отлично, спасибо)) (14) благодарю попробую еще книженцию (6) по 1с приобрести кто-нибудь учился по учебникам, есть в них толк? |
|||
20
bolobol
19.09.18
✎
09:19
|
(19) Я учился. Хорошо превращают неосознанное незнание в осознанное незнание. Не более того.
|
|||
21
ac13
19.09.18
✎
09:43
|
(20) вот и мне изучение теории всегда казалось сомнительным занятием. эффективней всего разбирать конкретные решенные примеры на практике, но не всегда получается найти то, что нужно или более менее доступно для моего понимания
|
|||
22
yavasya
19.09.18
✎
10:03
|
(21) делай интеграцию HTTP . интеграция по api что в ней нового ? выплюнет набор текстовых полей которые нужно разобрать
|
|||
23
yavasya
19.09.18
✎
10:04
|
||||
24
kumena
19.09.18
✎
10:05
|
> Это и в 8.1 было
http появилось только в 8.3, и даже не с начала 8.3 |
|||
25
yavasya
19.09.18
✎
10:07
|
(16) так оно может стучаться к веб сайтам, можно с любого веб сайта стучаться к 1С и получать rest ответ и распознавать как массив.
|
|||
26
ac13
19.09.18
✎
10:10
|
(23) спасибо за ссылку
|
|||
27
yavasya
19.09.18
✎
10:25
|
Функция ПолучитьБанковскиеВыпискиПолучитьБанковскиеВыписки(Запрос)
//Ответ = Новый HTTPСервисОтвет(200); //Ответ.УстановитьТелоИзСтроки("Hello"); //Возврат Ответ; УстановитьПривилегированныйРежим(Истина); date1 = Запрос.ПараметрыURL["date1"]; date2 = Запрос.ПараметрыURL["date2"]; guid = Запрос.ПараметрыURL["guid"]; inn = Запрос.ПараметрыURL["inn"]; kpp = Запрос.ПараметрыURL["kpp"]; NameProcedure = Запрос.ПараметрыURL["NameProcedure"]; NumberAccount = Запрос.ПараметрыURL["NumberAccount"]; UIDaccount = Запрос.ПараметрыURL["UIDaccount"]; Текст64 = XMLСтрока(Новый ХранилищеЗначения(ТаблицаЗначений, Новый СжатиеДанных(9))); HTTPОтвет = Новый HTTPСервисОтвет(200); HTTPОтвет.Заголовки.Вставить("Content-Type","text/html; charset=utf-8"); HTTPОтвет.УстановитьТелоИзСтроки(Текст64); Возврат HTTPОтвет; Это база куда подключаемся Откуда подключаемся ДатаНачалаСтрокой = Преобразовать_в_формат_выгрузки(ДатаНачала); ДатаОкончанияСтрокой = Преобразовать_в_формат_выгрузки(ДатаОкончания); АдресСтраницы = "имя базы/hs/bank/"+ДатаНачалаСтрокой+"/"+ ДатаОкончанияСтрокой + "/" + Организация.УникальныйИдентификатор() + "/" + Организация.ИНН + "/" + Организация.КПП + "/" + ИмяДокумента + "/" + РасчетныйСчет.НомерСчета + "/" + РасчетныйСчет.УникальныйИдентификатор(); Хост = "имя хоста"; HTTPСоединение = новый HTTPСоединение(Хост); HTTPЗапрос = Новый HTTPЗапрос(АдресСтраницы); HTTPЗапрос.Заголовки.Вставить("Authorization", "Basic " + ЗакодироватьЛогинПароль("имя пользователя в базе подключения", "пароль")); Результат = HTTPСоединение.Получить(HTTPЗапрос); КодСостояния = "код состояния - " + Результат.КодСостояния; ОтветHTTPСтрока = Результат.ПолучитьТелоКакСтроку(); ВозвращаемоеЗначение = XMLЗначение(Тип("ХранилищеЗначения"),ОтветHTTPСтрока); Возврат ВозвращаемоеЗначение.Получить(); Функция ЗакодироватьЛогинПароль(Логин, Пароль) ВременныйФайл = ПолучитьИмяВременногоФайла(); Запись = Новый ЗаписьТекста(ВременныйФайл); Запись.Записать(Логин + ":" + Пароль); Запись.Закрыть(); ДвДанные = Новый ДвоичныеДанные(ВременныйФайл); Результат = Base64Строка(ДвДанные); УдалитьФайлы(ВременныйФайл); Возврат Сред(Результат, 5); КонецФункции |
|||
28
yavasya
19.09.18
✎
10:27
|
получил ТЗ закодировал в строку и обратно раскодировал в ТЗ
|
|||
29
1c-kind
19.09.18
✎
10:45
|
(6) Cпасибо за ссылку! Заказал.
|
|||
30
d4rkmesa
19.09.18
✎
10:58
|
(15) Есть несложный кусок кода, что-то посложнее не нашел сходу. Под 8.2, на 8.3 можно без WinHttp, вроде.
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); WinHttp.Option(2, "utf-8"); WinHttp.Open("POST", "https://geocode-maps.yandex.ru/1.x/",0); WinHttp.setRequestHeader("Content-Language", "ru"); WinHttp.setRequestHeader("Content-Charset", "utf-8"); WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); ПараметрыПОСТ = "geocode=" + КодированнаяСтрокаАдреса + "&key=" + ЯндексAPI; ИспользоватьПрокси = ПараметрыСеанса.новаТекущийПользователь.ИспользоватьПрокси; Если ИспользоватьПрокси Тогда WinHttp.SetProxy(2, ПараметрыСеанса.новаТекущийПользователь.ПроксиАдрес); WinHttp.SetCredentials(ПараметрыСеанса.новаТекущийПользователь.ПроксиПользователь, ПараметрыСеанса.новаТекущийПользователь.ПроксиПароль, 1); КонецЕсли; WinHttp.Send(ПараметрыПОСТ); Текст = Новый ТекстовыйДокумент; Текст.УстановитьТипФайла(КодировкаТекста.UTF8); Текст.УстановитьТекст(WinHttp.ResponseText()); Текст.Записать(КаталогВременныхФайлов()+ВременныйФайл); |
|||
31
ac13
19.09.18
✎
11:08
|
(27) (30) спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |