Получение html-кода страницы. JS из 1С

Публикация № 1196479 18.02.20

Интеграция - WEB-интеграция

html парсинг source исходник сайта разбор

Получение исходника страницы, выполнение произвольного js-кода. Теперь с WebKit от 1С.

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

 

Мы имеем дело с HTML5 и спецификациями этого поколения, и с WebKit, которое с релиза 8.3.14.1565 вместо старого IE (подробнее об эпичном переходе здесь). Но приходится учитывать различные "особенности реализации" в 1С, которые иногда приводят к неожиданным результатам.

Работа ведётся на клиенте 1С в управляемой форме.

Работа с HTML-документом (далее "документ") может осуществляться либо через com-объект HTMLFile, либо через элемент формы HTML-документа (не путать с ActiveX или ОболочкаHTMLДокумента). В первом случае это делается так:

// ПолучитьCOMОбъект не применять, чаще вызывает ошибку создания объекта по классу
хтмл=Новый COMОбъект("HTMLFile");
хттп=Новый COMОбъект("winhttp.winhttprequest.5.1");
хттп.Open("GET", "httрs://infostart.ru");
хттп.Send();
хтмл.Write(хттп.Responsetext); // синхронная обработка
стрТело=хтмл.body.outerText; // и так далее, обрабатываем как COM-объект

Следует учитывать, что используемые объекты зависят от MSIE и зарегистрированного класса, обрабатывается всё средствами ОС и может быть устаревшей версии; ну и COM не кроссплатформенно к тому же. Поэтому далее мы такое не рассматриваем.

Во втором случае на форме размещается реквизит типа "Строка" неограниченной длины, с видом "Поле HTML документа", и ему присваивается локальный или сетевой URL. В момент присвоения начинается загрузка документа. Здесь и далее документ определяется как

хтмл=Элементы.ПолеХТМЛ.Документ;

Окончание загрузки правильнее всего определять по совокупности двух факторов: возникновения события ЭУ 1С "ДокументСформирован" и по выставлении свойства "readyState", равному "complete". Замечено, что, несмотря на теорию, в текущих релизах эти события не синонимичны; полагаю, потому, что событие 1С срабатывает при "interactive", когда уже загружена страница и построено DOM-дерево, но картинки и айфреймы ещё догружаются (т.е. вызвано не Load, а DOMContentLoaded). Либо, возможны новые изменения-догрузки сразу после первой загрузки. Разумно делать обработчик ожидания с выключением в момент полной загрузки.

Мы можем оперировать DOM-моделью документа, методами документа и его элементов. Проверено, что все методы HTML5 работают корректно, с двумя скверными особенностями - они далеко не всегда вызывают ошибки (так, "removeAttribute" при указании несуществующего атрибута никак не ругается) и "пустое" значение js не синонимично пустому в 1С (так, правильнее проверять не "ЗначениеЗаполнено(хтмл)", а "ТипЗнч(хтмл)=Тип("Неопределено") и т.д.)

Мы не можем работать с глобальными переменными - они не сохраняются между сеансами обращения к документу. Т.е. в некоем контексте, в т.ч. контексте документа в целом, можно объявить переменную, и в рамках фрагмента кода js она будет, но следующее обращение столкнётся даже не с пустой переменной, а с её отсутствием.

Не рекомендую ни в каком месте js-кода использовать this - оно или пусто, или некорректно. Возможно, это исправят в других релизах, но надёжнее указывать полный путь к объекту. Если объект создан динамически, тоже пишите его явно.

Вместо "parentWindow" используем "DefaultView", хорошо известное как Document.Window, и можем вызывать скрипты страницы. Также, можем добавлять собственные скрипты (что мне представляется более верным и менее травматичным для документа, нежели подвешивание кусков кода на события и вызов этих событий, как предложено в статье 2016 года). Делается это так:

&НаКлиенте
Функция ДобавитьСкрипт(рТекстСкрипта,рИдСкрипта="")
	хтмлДокумент=Элементы.ПолеХТМЛ.Документ;
	Если ПустаяСтрока(рИдСкрипта) Тогда
		рИдСкрипта="Add"+Строка(хтмлДокумент.scripts.length+1);
	КонецЕсли;
	//
	хтмлСкрипт=хтмлДокумент.getElementById(рИдСкрипта);
	Если ТипЗнч(хтмлСкрипт)=Тип("Неопределено") Тогда
		хтмлСкрипт=хтмлДокумент.createElement("script");
		хтмлСкрипт.id=рИдСкрипта;
		хтмлСкрипт.setAttribute("type","text/javascript"); // в хтмл5 не надо, но пусть...
		хтмлСкрипт.setAttribute("async",Ложь); // т.к. по умолчанию создаёт Истина
		хтмлСкрипт.innerText=рТекстСкрипта;
		// вносим
		хтмлДокумент.head.appendChild(хтмлСкрипт);
	КонецЕсли;	
	//
	Возврат хтмлСкрипт;
КонецФункции

Можно вносить не в скрипты head'a, а в конец body. Документ уже загрузился, всякие асинхроны своё отрабатывают без учёта наших скриптов, Defer всё равно ни на что не влияет. Перезагрузка страницы при этом не происходит, designMode="on" включать не обязательно. Но важно учитывать, что, если текст скрипта не обёрнут в функцию, то он выполнился сразу в момент срабатывания appendChild, поэтому советую в скрипты класть именованные функции js или осознанно применять эту фичу. А вообще см. тут.

Поместив в код js функцию, например вида "function Math1(a, b) {return a+b;}", мы далее в любой момент этого и другого фрагментов кодов можем обращаться к этой функции:

рез=Элементы.ПолеХТМЛ.Документ.DefaultView.Math1(100,50); // и получим 150

Это удобнее, чем присваивать результаты неким свойствам неких объектов и вычитывать их оттуда, или ловить в параметрах событий через createEventObject() и брать из Event.data. Кроме того, не все типы данных могут пережить это преобразование (так, для ArrayBuffer или Blob у меня не сработало, да и про объекты js есть сомнения). А так мы имеем прямое обращение к функции js из языка 1С. Для входных параметров ограничений или искажений экспериментально не обнаружено.

Замечу, что можно многократно добавлять функцию с тем же именем, js просто перезаписывает её код поверх старого (и, кстати, известная разница между "a=func1 и a=func1()" наблюдается и в 1С). Также замечу, что можно добавить одним куском кода в один скрипт сразу несколько функций. Если скрипт добавлен, а обращение по имени вызывает ошибку (1С пишет, что метод не найден), значит, где-то в коде js ошибка, он не скомпилировался и не добавился - так можно себя проверять "на лету".

Задействовать Eval мне не удалось - ошибки не происходит, но и ничего не делает.

 

Теперь переходим к решению заявленной задачи.

1. Можно обратиться к свойству outerHTML:

// получим всё, кроме самых базовых объявлений и узлов вроде DOCUMENT_TYPE_NODE
стрИсходник=Элементы.ПолеХТМЛ.Документ.documentElement.outerHTML;

// или так:
// получим только head и body
стрИсходник=Элементы.ПолеХТМЛ.Документ.head.outerHTML+Элементы.ПолеХТМЛ.Документ.body.outerHTML;

// или так (хотя не лучший вариант)
стрИсходник=Элементы.ПолеХТМЛ.Документ.getElementsByTagName('html')[0].innerHTML;

Но нам-то надо получить вообще всё, все объявления.

Конечно, можно кропотливо собрать эту информацию по свойствам и подузлам, вроде Документ.contentType, doctype.name, по nodeType, но, например, коллекции вроде doctype.childNodes пусты, да и вообще есть шанс что-то потерять.

2. Можно использовать Node.js - сильно могучую штуковину, имеющую возможности различной сериализации и выгрузки, которую, однако, надо инсталлировать; потому отпадает. Тем, кто соберётся: обязательно всюду, где только можно, явно указывайте всякие encoding и charset по Документ.inputEncoding, взятому из документа, иначе жесть.

3. webBrowser.DocumentText неприменимо, т.к. нет такого ЭУ - webBrowser (если, конечно, не мучиться долго и старательно с обёртками и актив-иксинами), и опять же, он не кроссплатформенный. Можно, конечно, сделать com-объект MSIE.Application и дёргать его, но зачем?..

4. Можно так:

рАсинхронно=Истина;
рОбъект=Новый COMОбъект("MSXML2.XMLHTTP");
рОбъект.Open("GET","httрs://infostart.ru", рАсинхронно);

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

 

5. Можно использовать (и мне понравился этот способ) объект XMLSerializer. Это часть современной js, и у неё есть метод сериализации всея документа в строку:

var S1 = new XMLSerializer();
var StrSource = S1.serializeToString(document); // или любой элемент-подузел

В этом случае будет возвращено всё, включая декларацию <!DOCTYPE html>, хтмл с его объявлениями пространств имён, скриптами и т.д., словом, то, что надо. Кодировка UTF-8, и, судя по утверждениям гуру с хабра, с кодировкой он не лажает. Правда, немного жаль, что для этого же сериализатора метод serializeToStream, описанный здесь, более не работает. Кстати, теперь у нас есть возможность обработать двоичный поток, и можно было бы сделать нечто такое:

рЧтение=Новый ЧтениеHTML;
рЧтение.ОткрытьПоток(рПоток,"UTF-8"); // где рПоток напрямую получен из js-функции, а там из serializeToStream

но увы, это уже не поддерживается.

Правда, можно поиграть с XMLHttpRequest, вместо .responseType="text" и responseText читая результат из собственно response в виде arraybuffer или blob (в 1С уже есть инструменты работы с ними), или даже в виде "ms-stream", если только для IE. Но: этот объект требует асинхронного вызова, а с этим у js-в-1С некоторые трудности. Проще говоря, ни fetch, ни промисы адекватно не отрабатывают либо даже не компилируются. Мне не удалось даже подвесить функцию на событие OnLoad для ХHR, и ничего лучше тупого цикла по статусу реквеста не взлетело.

Таким образом, синхронное получение исходного текста документа загруженной страницы html это:

function getContentAsString(elem) {return new XMLSerializer().serializeToString(elem);}

Добавляем скрипт с этой функцией. Вызываем:

рИсходныйКод=Элементы.ПолеХТМЛ.Документ.DefaultView.getContentAsString(Элементы.ПолеХТМЛ.Документ);

Наблюдаем свежедобавленный скрипт среди прочих в head...

Вот, собственно, и всё. В прежние времена писали ОболочкаХТМЛ.ПолучитьТекст() и были счастливы, но прогресс не стоит)

 

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

 

P.S. Если вдруг захочется использовать возможности js, можно сделать совсем пустой документ (благо, теперь это всего лишь 6 тегов без хитрых объявлений), и добавлять вышеописанным способом свои скрипты в него. По сути, динамически набросать модуль из js-функций, сохранить в файл и юзать по необходимости.

Опыты проводились на 1С х86 8.3.16.1063

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. andrei.k 28.02.20 08:55 Сейчас в теме
Вот это уже интересно, спасибо за статью.
2. maxx 976 15.07.21 14:54 Сейчас в теме
рез=Элементы.ПолеХТМЛ.Документ.DefaultView.Math1(100,50);

выдаёт, что такого метода не обнаружено? что может быть . Скрипт с функцией точно добавлен.
3. Yashazz 4507 15.07.21 15:13 Сейчас в теме
(2)
Если скрипт добавлен, а обращение по имени вызывает ошибку (1С пишет, что метод не найден), значит, где-то в коде js ошибка, он не скомпилировался и не добавился
Думаю, ошибка где-то у вас. Или попробуйте объявить функцию как public, или ещё посмотрите насчёт доступа и настроек браузера, мало ли что.
4. maxx 976 15.07.21 17:38 Сейчас в теме
(3) да спасибо. действительно была ошибка в сам скрипт добавлял конструкцию <sc ript> ещё раз
5. maxx 976 15.07.21 17:42 Сейчас в теме
Подскажите может сталкивались.

Есть страница где есть кнопка на скачивание файла. Ссылка не статичная, просто input и где-то как-то скрипты срабатывают открывается видимо поток скачивания и в браузере начинает скачиваться файл.

Если эту страницу загрузить HTML документ, то как этот файл скачать/ получить там?

Добавлю что при нажатии на такой ссылке в HTML содержимое такое становится ( в браузере скачивается PDF):

<ht ml><body marginwidth="0" marginheight="0" style="background-color: rgb(38,38,38)"><emb ed width="100%" height="100%" name="plugin" src="blob:https://XXXXXXXXXXXXXXXXX/8865afc6-27cf-4781-b5ba-e358761ae3a5" type="application/pdf"></body></html>
6. Yashazz 4507 15.07.21 18:05 Сейчас в теме
если есть некая внятная ссылка на файл, то качнуть с помощью хттп-механизма 1С, штатного платформенного, нечто вроде
хттпОтвет=хттпСоединение.Получить(хттпЗапрос, ПутьИмяФайла);
7. maxx 976 15.07.21 18:06 Сейчас в теме
(6) нет ссылки. к тому же ещё авторизация, сессия, т.е. сам по себе файл не качается отдельно вне страницы
8. Yashazz 4507 15.07.21 19:56 Сейчас в теме
(7) а разве то, что в теге src, это не адрес?
9. maxx 976 15.07.21 22:05 Сейчас в теме
(8) я видимо не понимаю как сохранить файл в html документе выраженный blob ( https://learn.javascript.ru/blob ), т.е. как получить такой файл из html документа 1с
10. Yashazz 4507 16.07.21 08:14 Сейчас в теме
(9) я бы попробовал для начала качнуть то, что после blob: идёт, а уж дальше попробовал что-нибудь из https://qna.habr.com/q/301282
11. maxx 976 16.07.21 09:46 Сейчас в теме
(10) спасибо, что отвечаете.

Думал задача будет решаться просто, а она такая:
"Пользователь в 1С открывает карточку договора и к нему нужно прикрепить скан-договора. Скан договора лежит в веб-системе (внешняя, нельзя на неё влиять), в ней авторизуются , находят договор и там сканы. Так вот хочется, чтобы пользователь из 1С , открывая карточку договору, далее нажал кнопку "Найти и прикрепить файл" выходил в обработку с HTML документом скачивал файл и файл прикреплялся к справочнику договоры".

В итоге ковыряясь в хроме выяснилось следующее, что на странице нажимая "скачать файл pdf" делается XHR (XMLHttpRequest) запрос GET на скачку файла с передачей кучи всех параметров включая токены авторизация, куки, однако в HTML документе 1С непонятно как-то это отрабатывается, файла нигде не вижу, ошибок тоже никаких не. Веб-система на движке каком-то написано js , так что там всё сложно разобраться.
12. Yashazz 4507 16.07.21 09:51 Сейчас в теме
(11)
запрос GET на скачку файла с передачей кучи всех параметров включая токены авторизация, куки
Так вам тогда не надо с хтмл-полем связываться, говорю же. Делаете такой же запрос средствами хттп, и дёргаете его чисто 1С-ным образом, в т.ч. при работе с полем. Если все параметры и куки аккуратно повторить, то должен качать. И вообще с этим лучше в личку.
13. maxx 976 16.07.21 10:00 Сейчас в теме
(12)
Так вам тогда не надо с хтмл-полем связываться, говорю же. Делаете такой же запрос средствами хттп, и дёргаете его чисто 1С-ным образом, в т.ч. при работе с полем. Если все параметры и куки аккуратно повторить, то должен качать.


Так я не знаю параметров скачивания файла заранее , не знаю ссылки , там похоже скрипт всё это делает и всё. А параметры заголовков запроса откуда брать (токены, сессии), вот на скриншоте прикладываю.
Прикрепленные файлы:
Оставьте свое сообщение

См. также

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    12904    comol    32    

108

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

WEB-интеграция Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

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

10.03.2017    28861    ruha    21    

36

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

Внешние источники данных WEB-интеграция Обмен между базами 1C Платформа 1С v8.3 Россия Бесплатно (free)

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

11.04.2013    44878    Infostart    46    

59

Методика интеграции HTML редакторов в поле HTML документа базы 1С

WEB-интеграция Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

В статье описаны критерии WYSIWYG HTML редакторов и общая картина интеграции с платформенными механизмами. На момент платформы 1С 8.3 и возможно для будущих релизов описание будет скорее всего актуально. Апробировано на 1С 8.3.20 и 8.2.12, а также на мобильной платформе 8.3.19.59.

12.04.2022    1950    user1206119    2    

13

Что делать, когда методы объекта ПолеHTMLДокумента.Документ (УФ) недоступны?

WEB-интеграция Управляемые формы 8.3.14 Бесплатно (free)

Начиная с версии 8.3.14 некорректно загружаются некоторые веб-страницы в поле HTML-документа на УФ - методы ПолеHTMLДокумента.Документ недоступны. Методом "научного втыка" удалось обойти этот глюк системы.

27.02.2023    534    romasna    2    

8

Возможности доработки выгрузки из 1С в Битрикс

WEB-интеграция Платформа 1С v8.3 Управленческий учет Бесплатно (free)

В статье собраны некоторые полезные и интересные примеры доработок выгрузки из 1С на сайты на платформе Битрикс (Возможно, что-то подойдёт и для WordPress и других платформ, принимающих типовую выгрузку на сайт из 1С). Доработки рассмотрены без привязки к конкретным конфигурациям, примеры кода взяты в основном из доработок УТ 10 и 11. Некоторые доработки требуют изменений на стороне Битрикса, некоторые укладываются в типовой функционал. Примеры взяты из личного опыта, возможно, описание где-то не полное, т.к. доработки делались в разное время. Если материал будет интересен или будут аналогичные актуальные задачи, буду стараться дополнять статью более подробным описанием и примерами.

01.11.2022    1446    de0nis    2    

13

Подключение к HTTP-сервису с авторизацией посредством передачи клиентского SSL-сертификата

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

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

07.12.2021    11493    kholkin    12    

106

Подробная настройка работы с сервисом 1С:Сверка

WEB-интеграция Анализ учета Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

19.01.2023    731    Koder_Line    0    

0

Пагинация в 1С

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Те, кому приходилось делать REST API на базе HTTP-сервисов 1С, могли в какой-то момент столкнуться с необходимостью разработки методов, которые позволяли бы возвращать данные с пагинацией, т.е. последовательными порциями. В языках общего назначения пагинация реализуется простым использованием операторов OFFSET и LIMIT в SQL-запросе к базе данных. В языке запросов 1С оператора OFFSET нет, поэтому всем приходится решать эту задачу обходными способами. Один из таких обходных способов представлен в этой статье.

09.01.2023    2740    aleksei_adamov    36    

21

1С бакэнд (каталог товаров)

WEB-интеграция Платформа 1С v8.3 1С:Розница 2 Россия Бесплатно (free)

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

01.01.2023    1548    aldar    7    

20

Новый SimpleWEB – тот же Simple, теперь еще web

WEB-интеграция Мобильная разработка Мобильная платформа Бесплатно (free)

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

19.12.2022    2835    informa1555    9    

39

Goods info - приложение для получения информации о товарах

WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Бесплатно (free)

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

04.09.2020    2431    hpi    11    

6

Реализация нестандартных (для 1С) интерфейсных решений в Web-клиенте

WEB-интеграция Идеи и тренды в разработке Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Онлайн-сервисы, построенные на 1С, могут использовать все многообразие веб-технологий. О том, как спроектировать, реализовать и красиво оформить интерфейс продукта 1С, в докладе на конференции Infostart Event 2021 Post-Apocalypse рассказал CTO компании WiseAdvice Олег Филиппов.

21.10.2022    7103    comol    15    

70

Модуль переводов и платежей QIWI

Розничная торговля WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Инструкция по установке и работе "Модуля переводов и платежей QIWI" для УТ11.4. Публикация создана с целью размещения актуальной онлайн инструкции по работе пользователей с функционалом оформления платежей или переводов КИВИ через РМК в УТ11.4, а также для описания установки модуля в УТ 11.4 и размещения необходимых библиотек dll.

03.06.2022    761    Rastopchinss    5    

2

Rest API от чайника для чайников

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

На написание статьи побудило чтение книги "Технологии интеграции "1С:Предприятия 8.3"" Хрусталевой Е.Ю. В первой главе там постоянно чередуются слова REST, REST-интерфейс, архитектура REST и т.д. Мне стало интересно, я начал копать, что это такое, и тема оказалась достаточно интересной.

06.06.2022    14534    zeltyr    2    

11

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

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

05.10.2020    3001    malikov_pro    2    

17

Загрузка выпусков подкаста Радио 1С Энтерпрайз

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Код для загрузки всех выпусков подкаста Радио 1С Энтерпрайз для оффлайн-прослушивания.

29.04.2022    1232    q_i    9    

16

УПП: Ошибка при взаимодействии с ФСС

Регламентированный учет и отчетность WEB-интеграция Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

При обновлении релиза УПП до 1.3.178.2 пользователи начали жаловаться, что не отправляются в ФСС документы "Ответ на запрос ФСС для расчета пособия" и "Сведения о застрахованных лицах, ФСС". В статье предложен вариант обхода данной ошибки, возможно, это кому-то поможет.

28.04.2022    1532    alex_bob    8    

3

Создание кодогенератора для Postman

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Опишу порядок разработки кодогенератора для Postman c использованием OneScript и HTTPКоннектор.

13.03.2022    1552    malikov_pro    4    

9

Как из 1С отдать миллионы строк в BI и успеть это сделать быстро

Консолидация данных Анализ и проектирование ИТ-систем WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

На онлайн-митапе «Бизнес-анализ по данным базы 1С. Интеграция c платформами BI» выступил ведущий разработчик WiseAdvice.tech Дмитрий Фурцев. Дмитрий рассказал о том, как отдать миллионы строк из 1С в платформу бизнес-аналитики и не потратить на это сутки.

14.02.2022    5369    Fudj1k    11    

22

Передача сообщений из 1С в MS Teams

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример организации уведомлений в канал MS Teams.

09.02.2022    2307    Alex_YAM    4    

24

Работа с 1С через протокол OData

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В данной статье мы будем рассматривать работу с данными информационной базы через протокол OData (далее OData).

17.12.2021    35018    ProgrammingStore    27    

88

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С (Часть 2)

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Это вторая часть цикла статей, посвящённых типовому модулю интеграции 1С Предприятия и Битрикс24. Цель данной части: рассмотреть тонкости, связанные с обменом товарами и сопутствующими сущностями (спойлер - единицы измерения и свойства товаров). Также затронем некоторые нюансы связи сущностей 1С и Б24 (относящиеся не только к товарам) и их побочное влияние при переносе данных из модуля в модуль (при смене конфигурации, переустановки или обновлении модуля).

27.11.2021    9203    freegman74    16    

19

Web консоль управления сеансами 1С

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Мы дали ему название adm1c, он позволяет посредством веб доступа удалять или смотреть на сеансы в 1С базах и при необходимости удалять их. Да и что тут такого, сказали бы, есть же консоль на win, с нее же это можно делать, и все верно, но есть пара но.

26.11.2021    3156    4ernuy    16    

28

Реализация перевода текста средствами Azure

WEB-интеграция Локализация решений Платформа 1С v8.3 Россия Бесплатно (free)

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

19.11.2021    764    user1559835    2    

4

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

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

02.07.2020    14623    malikov_pro    14    

87

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Цель статьи - указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

07.11.2021    13007    freegman74    13    

37

Окей, Google

WEB-интеграция Платформа 1С v8.3 Россия Бесплатно (free)

Пример интеграции Google Ассистента с 1С. В основе которого лежит платформа Dialogflow CX для понимания естественного языка.

28.10.2021    2176    Soloist    6    

29

Повышение производительности веб-сервисов. Переиспользование сеансов

WEB-интеграция HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021    4942    sorter1    3    

47

WEB/HTTP сервисы. Базовые отличия и применение на практике

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Рассказываем о WEB и HTTP сервисах, их практическом применении, о шишках, которые мы набили, и о выводах, которые сделали. Спойлер: тех, кто дочитает статью до конца, ждет бонус от автора.

04.10.2021    30059    Neti    23    

114

Быстрое чтение составных http сообщений multipart/form-data

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Алгоритм быстрого разбора составного http сообщения multipart/form-data.

26.09.2021    3146    cherkasovvitalik    4    

56

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

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

08.07.2020    15100    malikov_pro    8    

19

Интеграция 1С с Битрикс24 через вебхуки

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Пример получения токена и http запрос к API битрикса.

15.09.2021    9772    TyurinArt    11    

32

Обмен с HTTP сервисом файлами по формату multipart/form-data

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Потребовалось отправить картинку в теле запроса в HTTP сервис методом POST, куча реализаций, но есть маленькие нюансы, если хотя бы кому-то поможет, то уже это было не напрасно.

07.09.2021    11416    ix5s    25    

67

Разработка гибридного web-приложения на 1С, возможности и ограничения

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Все чаще разработчики склоняются к использованию 1C в качестве бэкенда при разработке веб-приложений. Но благодаря встраиванию веб-клиента 1С в сайт можно получить еще больше готовой функциональности. О том, как реализовать гибридное приложение за счет связки 1С с другими веб-технологиями, рассказал разработчик компании Neti Эльдар Мингалиев.

06.09.2021    5297    Бэнни    12    

51

Работа с WEB-сервисами под HTTPS на примере прямого обмена между базами (1С – 1С) 

WEB-интеграция Платформа 1С v8.3 Россия Бесплатно (free)

Использование веб-сервисов 1С при обмене 1С – 1С позволяет быстро передавать достаточно большие объемы данных из базы-источника в базу-приемник в объектах языка 1С. Данный метод обмена может применяться при бесшовной интеграции между двумя базами 1С, но требует определенной серверной инфраструктуры (установленного и настроенного WEB-сервера).

03.09.2021    12254    UltraUnion2005    9    

35