![]() |
|
Что это за стили в http сервисе | ☑ | ||
---|---|---|---|---|
0
Глупый ответ
18.11.20
✎
13:48
|
Решил http сервис палкой потыкать, сделал простой сервис который возвращает "hello world", а что оно мне какой то фигни в секцию стайл натолкало?
http://joxi.ru/1A5VOEgtbGQ5Nr программный код. Функция homegetTest(Запрос) Ответ = Новый HTTPСервисОтвет(200); Ответ.Заголовки.Вставить("Content-type","text/html;charset=utf8"); Ответ.УстановитьТелоИзСтроки("Hello world"); Возврат Ответ; КонецФункции где я просил 1С вот это все напихать в какой строке? |
|||
1
ДенисЧ
18.11.20
✎
13:52
|
А где ты этот веб-сервис опубликовал? Локально на 127,0,0,1?
Или где-нибудь у дядиДжо в юсайе? Такое ощущение, что это у тебя провайдер такой добрый... |
|||
2
Глупый ответ
18.11.20
✎
13:52
|
и как мне просто html документ послать с тегами? Что там за оператор?
справка там просто божественная УстановитьТелоИзСтроки (SetBodyFromString) Синтаксис: УстановитьТелоИзСтроки(<Тело>, <Кодировка>, <ИспользоватьBOM>) Параметры: <Тело> (обязательный) Тип: Строка. Строка, которая будет записана в тело ответа УстановитьТелоИзДвоичныхДанных(<Данные>) Параметры: <Данные> (обязательный) Тип: ДвоичныеДанные. Двоичные данные, которые будут записаны в тело HTTP-ответа. |
|||
3
Глупый ответ
18.11.20
✎
13:54
|
(1) да это моя локальная сеть. На виртуал боксе поднят windosw server 2012, на нем sql сервер, 1С и сервер 1С. айпи компьютера в сети 192.168.1.100
|
|||
4
ДенисЧ
18.11.20
✎
13:55
|
(3) Тогда ищи друзей в компе. Какие-нибудь прокси, надстройки в бровзере и тепе.
А ещё лучше - через curl проверь, что тебе веб-сервис отдаёт напрямую. |
|||
5
Глупый ответ
18.11.20
✎
13:57
|
(4) да это только в опере, в мозиле все нормально http://joxi.ru/ZrJvZx1cnM6PXr
|
|||
6
Глупый ответ
18.11.20
✎
13:58
|
а я на 1С думал, думал это разработчики 1С там какой то херни напихали.
|
|||
7
Глупый ответ
18.11.20
✎
13:59
|
Тогда вопрос номер 1 снят. Вопрос 2. Как мне просто html документ вернуть с тегами. Могу я какой то шаблон сделать и пихнуть его с помощью hhtp сервиса.
|
|||
8
Глупый ответ
18.11.20
✎
13:59
|
*http
|
|||
9
Глупый ответ
18.11.20
✎
14:00
|
а может быть у меня плагинов наставлено на оперу, и какие нибудь из них чудят, например addblock.
|
|||
10
Глупый ответ
18.11.20
✎
14:04
|
могу я сделать какой нибудь шаблон и пихнуть его через http в виде html документа? Есть в 1С какое нибудь подобие шаблонизатора? Как мне описать html документ, строкой только?
|
|||
11
ДенисЧ
18.11.20
✎
14:04
|
Так ты просто его и возвращаешь. А адблок тебе уже рекламу блокирует. Вот таким способом. Обрати внимание на урлы.
|
|||
12
Глупый ответ
18.11.20
✎
14:06
|
(11) проехали уже стили, понятно что это addblock пихает скорее всего. Есть шаблонизатор в 1С?
|
|||
13
ДенисЧ
18.11.20
✎
14:07
|
(12) нет, разумеется
|
|||
14
Глупый ответ
18.11.20
✎
14:08
|
(13) почему разумеется? А чего делать? Как html сформировать? Только получается json и на месте приложением каким то читать?
|
|||
15
Глупый ответ
18.11.20
✎
14:16
|
как мне из строки запилить html документ с тегами? Какую ему строку дать, чтобы он вернул, что то типа
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h1></h1> <p></p> </body> </html> |
|||
16
Юрий Лазаренко
18.11.20
✎
14:21
|
(15) Собирай свой html или построчно, или сначала формируй ДокументDOM, а из него получай html. И потом HttpОтвет.УстановитьТелоИзСтроки(ТвойТекстHtml)
|
|||
17
Глупый ответ
18.11.20
✎
14:21
|
(16) кинь примеры кода, чтобы грабли не собирать.
|
|||
18
Глупый ответ
18.11.20
✎
14:22
|
+(17) пожалуйста.
|
|||
19
Глупый ответ
18.11.20
✎
14:23
|
Еще вопрос есть. Зашел на сервис с планшета, зашел с компьютера. А на сервере только 1 коннект висит, это значит можно 50 устройств на один сервис повесить или на каждый коннект лицензия нужна?
|
|||
20
ДенисЧ
18.11.20
✎
14:25
|
(14) "почему разумеется?"
Потому что 1с не хтмл-движок. хттп-сервисы по определению отдают жисон |
|||
21
Глупый ответ
18.11.20
✎
14:30
|
(20) спасибо. Ну теперь буду знать. Да и пофиг, все равно эти шаблоны уже вчеранший день, сейчас модно джейсонами плеваться.
|
|||
22
Глупый ответ
18.11.20
✎
14:33
|
хотя прикольно бы было, если бы они какую нибудь команду сделали типа ЗапилитьМакетвHTMLДокумент(Макет). я думал такая есть.
|
|||
23
ДенисЧ
18.11.20
✎
14:34
|
(22) Напиши на питоне с фласком и отдавай ему жисон, а от него уже шаблонный хтмл ))
|
|||
24
Глупый ответ
18.11.20
✎
14:37
|
(23) так уже никто не работает, сейчас модно/молодежно json вместо html отдавать. Просто хотел для общего кругозора ознакомится с возможностями 1С.
|
|||
25
Юрий Лазаренко
18.11.20
✎
15:06
|
(17) В интернетах полно статей, вот например: https://1c-programmer-blog.ru/programmirovanie/http-servisy-v-1s.html
(19) На каждый коннект лицензия не нужна. Если база на сервере 1С, то лицензия нужна только на сервер 1С, соединения через http-сервисы не лицензируются. Даже если ты подключил 50 коннектов и для их обработки создалось 5 сеансов на сервере, то клиентские лицензии не будут использованы вообще. В файловой базе, когда подключаешься первым коннектом, запускается сеанс 1С, съедается лицензия. Сеанс обрабатывает входящий http-запрос, возвращает http-ответ, коннект разрывается. Сеанс потом висит некоторое время разогретым. Если в этот момент, пока он еще висит, первый коннект уже свой ответ получил и отключился, а второй подключается, то он подсосется к уже созданному ранее сеансу. То есть, коннекта было два, а сеанс в 1С только один. Тут все как в макдональдсе. Пришел покупатель, стал в очередь в кассу - считай на этой кассе запустился сеанс, лицензия съелась. Покупатель ушел - кассир еще минут 20 стоит за кассой. Если в это время заходит второй покупатель, то он сразу подходит на эту кассу - лицензия все еще одна, хотя клиентов уже двое. Если же третий покупатель зайдет, пока второй еще стоит у кассы, то для третьего покупателя открывают вторую кассу - съедается вторая лицензия. И т.д. Пока запросы успевают выполняться, не пересекаясь друг с другом, достаточно одного сеанса. Как только создается очередь - запускаются новые сеансы 1С и при каждом сеансе съедается лицензия. Как только лицензии закончатся, новых касс не будет и начнет собираться очередь запросов. С точки зрения посетителя макдака это "блин, у каждой кассы по 2 человека в очереди", у пользователя это будет "блин, страница раньше открывалась за полсекунды, а теперь открывается 5 секунд". При дальнейшем увеличении количества запросов они начнут отваливаться по таймауту. На клиент-серверной базе то же самое: кассы открываются при необходимости, но количество касс ограничено не лицензиями, а только возможностями "ресторана": рано или поздно перегрузится или файловая система, или оперативка, или проц, и запросы точно так же станут в очередь. Подробности вот тут можно почитать: http://catalog.mista.ru/1c/articles/883068/ |
|||
26
Юрий Лазаренко
18.11.20
✎
15:07
|
(22) Такое есть уже много лет. Сохраняешь макет в html, читаешь как текстовый файл, возвращаешь его текст в теле http-ответа.
|
|||
27
Юрий Лазаренко
18.11.20
✎
15:12
|
(20) http-сервисы по определению отдают либо строку, либо двоичные данные. Что у тебя будет в строке: html, json, просто "Hello world" - неважно. Никто не мешает генерить в ответе сразу html. Единственное ограничение тут - "это немодно, сейчас принято отдавать джисон". Но это ограничение сродни "ты че на механике, сейчас модно на автомате" или "1С это немодно, сейчас все идут в веб" или еще штук 500 аналогичных примеров можно подобрать.
|
|||
28
Глупый ответ
18.11.20
✎
15:12
|
(26) Спасибо почитаю. Ну и как такое востребовано? Типа свой веб клиент на 1С.
|
|||
29
Юрий Лазаренко
18.11.20
✎
15:16
|
(28) Востребовано, но сильно узким кругом заказчиков. Они что попало не купят. Ток что готовься стать на место Шарика из Простоквашино:
- Я два года кодил, чтобы свой веб-клиент на 1С сделать. - Теперь еще 2 года потратишь. - Это на что еще? - А чтобы кому-нибудь его продать. Там подводных камней столько, что пока сваяешь что-то готовое к продаже, пройдут многие месяцы. |
|||
30
Глупый ответ
18.11.20
✎
15:17
|
(25) статья так себе. Примеров кода нет вообще.
|
|||
31
Глупый ответ
18.11.20
✎
15:19
|
(29) Да я особо и не собирался. Зачем? Лично я просто для кругозора. Все через обмен с сайтом работают, я думаю такие решения трудно будет продать. Разработчик на java script дороже стоит, проебизнес удавится по 180 килорублей еще и js/react разработчику зп платить.
|
|||
32
Юрий Лазаренко
18.11.20
✎
15:20
|
(30) Здрасьте. А это что? Как раз сборка ответа в виде строки и возврат его браузеру.
Функция ШаблонGetInfo(Запрос) тОтвет = "HTTPМетод - "+Запрос.HTTPМетод+" "; тОтвет = тОтвет+"БазовыйURL - "+Запрос.БазовыйURL+" "; тОтвет = тОтвет+"ОтносительныйURL - "+Запрос.ОтносительныйURL+" "; Для Каждого тЭлем Из Запрос.ПараметрыURL Цикл тОтвет = тОтвет+" "+"ПараметрыURL["+тЭлем.Ключ+"]"+" - "+тЭлем.Значение; КонецЦикла; тОтвет = тОтвет + " "; Для Каждого тЭлем Из Запрос.ПараметрыЗапроса Цикл тОтвет = тОтвет+" "+"ПараметрыЗапроса["+тЭлем.Ключ+"]"+" - "+тЭлем.Значение; КонецЦикла; тОтвет = тОтвет + " "; Для Каждого тЭлем Из Запрос.Заголовки Цикл тОтвет = тОтвет+" "+"Заголовки["+тЭлем.Ключ+"]"+" - "+тЭлем.Значение; КонецЦикла; HTTPОтвет = Новый HTTPСервисОтвет(200); HTTPОтвет.УстановитьТелоИзСтроки(тОтвет); HTTPОтвет.Заголовки["Content-Type"] = "text/html; charset=utf-8"; //сообщаем что это html Возврат HTTPОтвет; КонецФункции |
|||
33
Глупый ответ
18.11.20
✎
15:22
|
+(31) Т.е. интернет магазин/сайт на битрикс, а с 1с обмен. Наиболее распространенная схема. Я ради интереса просто полез палкой потыкать.
(32) ясно, я промотал просто. Я бы хотел, что нибудь со сквозным примером от а до я, а не так чтобы кусок из контекста. Ладно спасибо. |
|||
34
Глупый ответ
18.11.20
✎
15:24
|
Зато мы наконец то поняли, чем ты там последние лет 5 занимался. Ниша интересная слабоконкурентная, но и маловостребованная.
|
|||
35
Глупый ответ
18.11.20
✎
15:26
|
Да и хрен с ними с этими примерами, зачем их разбирать заучивать, если потом все равно через json работать. Ну любое приложение(1С,мобильное, web) его парсит и дальше уже с данными работает, без всей этой html мишуры, если надо само что надо рисует.
|
|||
36
Юрий Лазаренко
18.11.20
✎
15:30
|
(33) Сквозных от а до я вряд ли в одном месте нарыть получится. Только кусками искать.
(34) Если бы 5. Уже 12 с лишним. |
|||
37
mistеr
18.11.20
✎
16:03
|
(0) Значок VPN подозрителен. Может он всю эту хрень вставляет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |