Самый простой парсинг и обработка веб-страниц в 1С

Публикация № 1269023 07.08.20

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

парсинг web html клиент поле документа

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

Простой, примитивный

Сегодня пятница (на момент создания публикации), а значит можно коснуться какой-нибудь простой темы. Например - парсинг сайтов. Публикация ориентирована больше на новичков и кто только решил посмотреть на работу поля HTML-документа.

Тема не новая и каких только материалов нет на просторах сети. Кто-то парсит через DOM, кто-то регулярками и еще длинный список способов. Мы же пойдем самым простым способом - через поле HTML-документа. Тем более с появлением поддержки WebKit возможностей для его использования прибавилось.

Рассмотрим пару простых примеров и немного коснемся ограничений.

Большие ограничения

Данный материал не подойдет, если Вы решаете следующие задачи:

  • Получение и обработка данных на сервере регламентным заданием или любым другим.
  • Обработка очень большого массива данных.
  • Пытаетесь парсингом заменить работу через API из-за его отсутствия или недоступности.
  • Вам нужен надежный способ получения данных.

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

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

Однако, иногда выхода нет. Да и использование предлагаемого подхода можно считать этичным в каком-то плане, потому что создаем всего лишь помощника работы с браузером и автоматизируем действия пользователя на веб-странице. Хотя это вопрос "холиварный".

В чем плюсы

Все очень просто:

  • Использование поля HTML-документа выполняется полностью на клиенте и не требует серверных мощностей.
  • Выполняется полноценная работа с веб-страницей. Например, если выполнять получение данных веб-страницы с помощью HTTP-запросов, то не всегда можно получить привычную, готовую страницу, т.к. ее содержимое может зависеть от выполняемых JavaScript-скриптов и дополнительных действий.
  • Из второго плюса также можно выделить более простую работу с веб-приложением. Например, для прохождения формы аутентификации не обязательно изучать какие запросы выполняются на сервер и как выполнять обработку ответа. Вместо этого в самом браузере мы вставим значения логина и пароля в форму и просто программно нажмем кнопку "Вход".

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

Далее рассмотрим пару простых примеров. Решать использовать ли такие способы для решения задач только Вам.

Добрались до примера

Два небольших примера. От простейшего к сложному (ну, почти).

Просто получаем данные

А начнем мы с простого примера по парсингу площадки Яндекс.Маркет. Да, конечно, можно было сделать пример намного проще, но тут мы сразу рассмотрим основные способы работы с HTML-документов. Давным-давно, много лет назад, что-то подобное я выкладывал в разработке "Парсер товаров Яндекс.Маркет", но обработка сейчас уже не актуальна и больше служит примером работы с HTML-документов. Код там не лучшего качества :)

Когда мы закончим реализацию примера, то получим следующее.

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

Первое что нам нужно сделать - это добавить на форму поле HTML-документа и основные реквизиты для хранения данных.

 
 Настраиваем форму

Теперь настало время кода! При создании формы установим URL по умолчанию.

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ВебСтраница = "https://market.yandex.ru";
	
КонецПроцедуры

#КонецОбласти

Это позволит при открытии сразу же открывать нужный ресурс. Далее реализуем обработчики команд "Начать парсинг" и "Остановить парсинг".

#Область ОбработчикиКоманд

&НаКлиенте
Процедура НачатьПарсинг(Команда = Неопределено)
	
	ТекущаяОперация = "ПарсингТоваров";
	
	ИнформацияОТоварах.Очистить();
	НомерТекущейСтраницы = ИзвлечьНомерСтраницы();
	
	ПолученыДанные = ВыполнитьПарсингДанных();
	Если ПолученыДанные Тогда
		ВебСтраница = СформироватьАдресСледующейСтраницы();		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОстановитьПарсинг(Команда = Неопределено)
	
	ТекущаяОперация = "НеАктивно"
	
КонецПроцедуры

#КонецОбласти

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

#Область ОписаниеПеременных

&НаКлиенте
Перем НомерТекущейСтраницы;

#КонецОбласти

Номер страницы нужен для автоматического переключения на следующие вовремя парсинга. Сам номер страницы хранится в адресной строке в виде параметра "page". Если не указан, то это первая страница.

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

#Область ОбработчикиСобытийЭлементовФормы

&НаКлиенте
Процедура ВебСтраницаДокументСформирован(Элемент)
	
	Если ТекущаяОперация = "ПарсингТоваров" Тогда
		
		ПолученыДанные = ВыполнитьПарсингДанных();
		
		Если ПолученыДанные Тогда
			НомерТекущейСтраницы = ИзвлечьНомерСтраницы();
			ВебСтраница = СформироватьАдресСледующейСтраницы();
		Иначе
			ОстановитьПарсинг();	
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

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

Далее рассмотрим служебные процедуры работы с адресом и парсингом.

 
 Извлечение номера страницы из адреса
 
 Формируем адрес следующей страницы

А теперь перейдем к более сложной части - извлечению данных со страницы.

 
 Парсинг данных

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

Конечно, данное решение не идеальное, т.к. не учитывает множества факторов и вариантов страниц Я.Маркета, но мы этого и не пытались сделать. Это лишь простейший пример для понимания как это можно реализовать. Готовой обработки не выкладываю специально, потому что если разобраться самостоятельно, то это будет намного полезней.

Проходим авторизацию

Пример парсинга мы рассмотрели, но бывают ситуации сложнее. Например, перед парсингом может понадобиться пройти аутентификацию на сайте. Например, на сайте releases.1C.ru для просмотра списка релизов, даже те, которые недоступны, необходимо пройти аутентификацию. Конечно, можно использовать HTTP-запросы, проанализировать как именно нужно эти запросы сделать и все это поведение эмулировать. А можно пройти аутентификации с помощью поля HTML-документа, не погружаясь на низкий уровень запросов.

Например, для прохождения аутентификации на том же сайте с релизами достаточно использовать такой код:

&НаКлиенте
Процедура ВходНаСайтРелизов(Команда)
	
	Логин = "<Ваш логин>";
	Пароль = "<Ваш пароль>";
	
	// Внешний объект документа из поля HTML-документа
	document = Элементы.ВебСтраница.Документ;
	
	// Устанавливаем логин и пароль в поля ввода
	document.querySelector("#username").value = Логин;
	document.querySelector("#password").value = Пароль;
	
	// Нажимакм на кнопку "Войти"
	document.querySelector("#loginButton").click();
	
КонецПроцедуры

В режиме 1С:Предприятие выглядит это вот так.

Все просто как никогда и никаких HTTP-Запросов. Все что нужно - это получить CSS-селекторы, получить доступ к соответствующим элементам на странице, а дальше заполнить поля и нажать на кнопку "Войти". Далее можно парсить, но все на Вашей ответственности! :)

Парсинг это плохо

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

Все примеры здесь даны лишь в демонстрационных целях. Любое использование информации только на Вашу ответственность.

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

Удачи в делах и отличного настроения!

Другие ссылки

Авторские разработки

 
 Другие разработки (8 штук, бесплатные и за $m)

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Lansi 07.08.20 09:13 Сейчас в теме
Юрий отличная статья, как всегда написано в простой и понятной форме, однозначный плюс.
Было бы интересно еще узнать какие есть ограничения в работе у HTML-документа по сравнению с обычной работой в браузере, надеюсь увидеть в ваших будущих статьях.
botokash; YPermitin; +2 Ответить
2. пользователь 07.08.20 09:35
(1) спасибо!

Подумаю над этим. Но информацию подобную можно найти в публикациях, список которых в конце статьи.
12. Yashazz 4511 07.08.20 20:01 Сейчас в теме
(1) Ну, "работа HTML-документа" это слишком обще сказано. Есть ограничения по части деклараций и вообще допустимости некоторых блоков в head, есть ограничения на пространства имён, есть иногда проблемы с хаотично раскиданными кусками скриптов по коду (как это любит делать битрикс) и кстати с DHTML-ными фишками. Джумловое что-то, например, плоховато обрабатывается. Есть несколько ограничений на значения, возвращаемые функциями скриптов или получаемые в свойствах методов (1С их приводит к строке, иногда уродует). Есть ограничения с кодировкой, но это решается через 2 функции перекодирования (а не как мучились 10 лет назад). Есть в скриптах некоторые трудности (и в объектной модели, и в обещаниях, и в случае js-функций как переменных). Глобальные переменные js не работают и вообще глобальный контекст теряется. Ну и традиционно стык между 1С и хтмл для всего, кроме потоков, требует внимания. Всё, пожалуй.

А вот с DOM-моделью, и с трансляцией обычной разметки в подходящие объекты 1С (хмл или хтмл) проблем не замечено.
3. Ibrogim 1290 07.08.20 12:09 Сейчас в теме
получается практически Selenium и vebdriver
YPermitin; +1 Ответить
5. пользователь 07.08.20 12:26
(3) что-то вроде этого.

Я нашел еще способ использовать веб-клиент, хоть и не 1Сный, на стороне сервера.
Там не все просто, но можно теоретически и об этом написать или примеры дать.
Не знаю на сколько это нужно вообще коллегам.
7. Fox-trot 151 07.08.20 15:28 Сейчас в теме
слишком узковато для практического применения, так что вряд ли оно кому-то надо
YPermitin; +1 Ответить
4. bulpi 209 07.08.20 12:12 Сейчас в теме
Очень интересно . Вот бы еще дать примеры по таким методам :
"Можно явно указывать путь через элементы DOM, можно пытаться парсить страницу с помощью объекта ДокументDOM"
Я , увы, не знаю, как это сделать. И думаю, я не один такой.
YPermitin; +1 Ответить
6. пользователь 07.08.20 12:26
(4) А примеры все в конце публикации, набор ссылок "Другие ссылки".
По DOM вот коллега хорошо описал https://infostart.ru/public/314045/
8. Yashazz 4511 07.08.20 17:18 Сейчас в теме
(4) Советую глянуть https://infostart.ru/public/328533/ как одно из решений, и https://infostart.ru/public/280340/ как способ быстро и удобно искать информацию в DOM.
RustIG; YPermitin; +2 Ответить
9. Yashazz 4511 07.08.20 17:23 Сейчас в теме
А если честно, в этот раз не айс. Потому что получилось ни то, ни сё - ни обзор вариантов, как заявлено, ни пошаговое обучение подробно одному из вариантов, ни готовая разработка.

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

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

Советую прочитать https://infostart.ru/1c/articles/1196479/ - как раз по теме получения "сырья" для парсинга, коротко и понятно обо всех вариантах.
YPermitin; +1 Ответить
10. пользователь 07.08.20 17:29
(9) спасибо, яркий человек :)
11. Yashazz 4511 07.08.20 18:33 Сейчас в теме
(10) На самом деле тебе спасибо за статьи - иногда наводит на мысль чего-то самому раскопать, ранее некопанное.
YPermitin; +1 Ответить
13. Cyberhawk 133 14.08.20 08:36 Сейчас в теме
14. smirnovserg.s@gmail.com 14.08.20 08:58 Сейчас в теме
Самое большое зло из-за отсутствия АПИ - это получение релизов с сайта releases.1c.ru
Парсинг/авторизация по токенам и прочая головная боль
starik-2005; YPermitin; +2 Ответить
15. пользователь 14.08.20 09:20
16. DrAku1a 1590 15.08.20 16:00 Сейчас в теме
Прочитать со страницы сайта одно какое-то значение:
ТекстHTML = ПолучитьИсходныйТекстСтраницы();
НужнымМнеТекст = ТекстМежду(ТекстHTML, ТекстСлеваОтНужного, ТекстСправаОтНужного);

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

Примерно так:
ТекстHTML = ПолучитьИсходныйТекстСтраницы("https://yandex.ru/search/?text=current+time");
ТекстСлева = "yandex.ru/time"" data-counter=""[&quot;b&quot;]"">";
ТекстСправа ="</a>";
ТекВремя = ТекстМежду(ТекстHTML, ТекстСлева, ТекстСправа);
YPermitin; +1 Ответить
17. CyclesOfID 81 20.08.20 16:18 Сейчас в теме
"Парсинг сайтов - это плохо!!"


Другие ссылки:
Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM

Парсинг сайта без использования встроенного браузера для начинающих

Пример парсинга сайта средствами 1С

Парсинг (сканирование) сайта из 1С на примере сайта по криптовалюте....
YPermitin; +1 Ответить
18. пользователь 20.08.20 16:20
19. piton66 2 04.03.21 13:46 Сейчас в теме
А как парсить например такое? На странице кнопка показать телефон. По кнопке открывается окно с телефоном.
20. starik-2005 2831 17.03.21 14:19 Сейчас в теме
(19)
По кнопке открывается окно с телефоном.
Ну так кнопка или дергает запрос, или просто hide=false для элемента делает, в который телефон мутится. Так что или где-то на странице этот телефон есть, или нужно дернуть запрос (авиты и всякие такие сайты). Но спамерам помогать - себя не уважать.
Capitullo; +1 1 Ответить
21. piton66 2 18.03.21 09:23 Сейчас в теме
Сам уже разобрался. Запрос отдельный.
Зачем обзываешься урюк.. я не спамер.
22. Boudybuilder 35 26.04.21 23:01 Сейчас в теме
23. binex 274 01.10.21 00:03 Сейчас в теме
У меня ругается на querySelector - Метод объекта не обнаружен (querySelector)

Как подружить?

	document = Элементы.ХТМЛДокумент.Документ;
	queryResult = document.querySelector("#__APP > div > main");
24. voleg2 09.12.21 14:12 Сейчас в теме
Что то ваш парсинг криво работает. Когда запускаешь, через 8 часов сьедает всю оперативку.
25. voleg2 09.12.21 14:14 Сейчас в теме
"Парсинг сайтов - это плохо!!"


Другие ссылки:
Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM

Парсинг сайта без использования встроенного браузера для начинающих


А как ты собрался парсить если интерактивная Java?
26. пользователь 09.12.21 14:31
(25) Вот поэтому я и перестал писать статьи на ИС и отвечать на комментарии.

>> Что то ваш парсинг криво работает
Ни конкретного вопроса, ни желания самому разбираться что там и как. Почему?

>> А как ты собрался парсить если интерактивная Java?
Мы уже на ты?) И причем тут Java в браузере?

>> "Парсинг сайтов - это плохо!!"
>>Другие ссылки:
>>Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM
>>Парсинг сайта без использования встроенного браузера для начинающих
И троллинг.

Вот они все комментарии :)

Неужели после таких вопросов ждут люди ответов?

Наверное стоило и дальше игнорировать комментарии. Так что после этого продолжу :D
27. Serginio 918 17.12.21 11:19 Сейчас в теме
Я бы еще оставил свое поделие
https://infostart.ru/1c/articles/466196/

https://infostart.ru/1c/articles/466052/

Учитывая развитие anglesharp https://anglesharp.github.io/ можно использовать JavaScript для формирования HTML
или
Я бы еще добавил Silenium прежде всего как построитель DOM в заскриптованных таблицах http://www.seleniumhq.org/docs/05_selenium_rc.jsp#c

Для того что бы добраться до сформированного DOM можно использовать вместо PageSource
вычисляемый скрипт

http://stackoverflow.com/questions/26584215/selenium-page-source-does-not-return-modified-dom-tree

var pageSource = (string)driver.ExecuteScript("return document.body.outerHTML");
28. user1828764 15.08.22 16:51 Сейчас в теме
Добрый день!
Интересует возможность написания парсера для загрузки данных в 1С.
Вы занимаетесь данным написанием?
29. Pluto 04.11.22 11:08 Сейчас в теме
И всё бы ничего, но данным методом даже не открывается требуемая страница.
При попытке зайти на https://agent.taxcom.ru просто тихо и молча закрывается вся платформа 1С. Без всяких ошибок, сообщений, тупо берёт и закрывается. Вот такое поведение мне честно говоря вообще не понятно.
30. user1888681 25.12.22 20:31 Сейчас в теме
Оставьте свое сообщение

См. также

Обмен 1С с порталом госзакупок (ЕИС)

Оптовая торговля WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Данное расширение позволяет выгрузить универсальный передаточный документ (УПД) и счет-фактуру на портал Госзакупок (44-ФЗ). Выгрузка документов производится из 1С в XML файл для дальнейшей загрузки в ЕИС из 1С Бухгалтерия, редакция 3.0.

18000 руб.

19.08.2022    14811    64    48    

31

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Данная обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.

6000 руб.

02.02.2021    12570    28    43    

15

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ 3. Отчеты по данным загруженным в регистры сведений. Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен.

11856 руб.

25.05.2021    9556    6    4    

6

Драйвер облачной кассы для Бизнес.РУ Чеки

ККМ WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Универсальный драйвер для фискализации чеков для сервиса Бизнес.РУ. Чеки (https://online-check.business.ru/). Работает с любой кассой, подключенной к сервису, в том числе и без физической кассы (Аренда облачной ККТ в датацентре). Принцип работы аналогичен наличию физической кассы, подключенной к рабочему месту 1С. Фискализация выполняется с любого рабочего места через интернет. Нет ограничений на количество рабочих мест, касс, компьютеров. Поддерживает печать с нескольких рабочих мест на одну кассу. Работает в любой операционной системе (Windows, Linux) и в любом клиенте (Тонкий, Толстый, Web, Мобильный клиент).

6000 руб.

03.06.2021    10631    8    0    

5

Contragent+ 9.1 для 1С 8.2/8.3

Обработка справочников Обмен с ГосИС Взаиморасчеты WEB-интеграция Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Платные (руб)

Универсальная обработка для экспресс-регистрации новых и обновления реквизитов существующих элементов справочников «Контрагенты» & «Организации» по данным Федеральной Налоговой Службы РФ (ЕГРЮЛ&ЕГРИП). Минимизация ручного ввода и соответствие данных 1С учредительным сведениям юр. лиц & ИП.

3600 руб.

13.12.2012    88827    173    308    

248

SALE! 10%

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

10600 9540 руб.

28.05.2015    81583    25    51    

49

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    22952    7    0    

6

Расширение 1СПАРК риски для 1С:Документооборот 8 КОРП

WEB-интеграция Управление взаимоотношениями с клиентами (CRM) Документооборот и делопроизводство (СЭД) Взаиморасчеты Платформа 1С v8.3 1С:Документооборот Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для конфигурации 1С:Документооборот 8 КОРП, позволяющее с помощью сервиса "1СПАРК риски" проверять благонадежность контрагентов непосредственно из программы 1С.

7200 руб.

23.05.2018    26925    17    7    

14

Sync1C: Синхронизация 1С и OpenCart

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

Внешняя обработка для обмена данными с интернет-магазином OpenCart. Позволяет быстро наполнить магазин товарами, затем обновлять цены и добавлять новые товары. Далее можно средствами OpenCart настраивать и дополнять карточки товаров как надо для магазина, при этом связь товаров с 1С не теряется.

3840 руб.

30.03.2018    39736    73    133    

77

Справочник кодов ТНВЭД

Обработка справочников WEB-интеграция Операции по ВЭД Учет ТМЦ Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием Платные (руб)

Загрузка справочника ТНВЭД в базу данных 1С без изменения конфигурации. База кодов загружается с сайта www.nalog.ru или локального ресурса. После загрузки - справочник всегда под рукой! Реализован поиск по загруженной базе. Доступны примечания для групп справочника (комментарии налогового органа). Дополнительно реализовано занесение кодов ТНВЭД в справочники ИБ (например, справочник Номенклатура) как реквизита или свойства справочника. Подходит для всех стандартных конфигураций (БП 2.0, УПП 1.3, КА 1.1, УТ 10.3, Розница 1 и пр., написанных под обычные формы).

3100 руб.

29.09.2015    51752    13    4    

36

Прайс-лист с фотографиями, выгрузкой в Excel с подсчетом суммы заказа, загрузкой заказа в Управление торговлей 11 (Россия) и Управление торговлей для Беларуси 3

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    117827    41    105    

51

Яндекс.Метрика - загрузка статистики в 1С:Предприятие 8

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

Хорошая основа вашего решения импорта данных статистики Яндекс.Метрики в информационную базу 1С. Получение счетчиков, запрос статистики, получение данных - все в одной обработке.

3600 руб.

21.06.2022    6370    1    0    

3

Заполнение контрагентов по ИНН для УТ 10.3

Обработка справочников WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 10 Россия Абонемент ($m)

Заполнение контрагентов по ИНН (1С: Управление торговлей 10.3).

6 стартмани

17.05.2022    7794    37    kostyan7    20    

1

Интеграция 1С:БИТ.Управление медицинским центром и amoCRM

Управление взаимоотношениями с клиентами (CRM) WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Здравоохранение, медицина, стоматология Россия Управленческий учет Платные (руб)

Это законченное решение, которое позволяет в amoCRM получать данные о врачах и их свободном времени, в 1С создавать документ "Заявка", выгружать оплаты от клиента в лид. Тестировалось на конфигурации БИТ.Управление медицинским центром (2.0.46.43), платформа 1С:Предприятие 8.3 (8.3.16.1063), версия Python 3.10.1.

5400 руб.

28.01.2022    9533    1    2    

2

Обмен со СДЭК

WEB-интеграция Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Обработка позволяет производить обмен между 1С Альфа Авто 5.1 и СДЭК по протоколу API.

6000 руб.

21.12.2021    8558    1    0    

2

Интеграция с КОМТЕТ Касса Курьер

WEB-интеграция Учет ТМЦ Платформа 1С v8.3 1С:Управление торговлей 10 Платные (руб)

Внешняя обработка предназначена для интеграции конфигурации Управление торговлей 10.3 с веб-сервисом КОМТЕТ Касса Курьер. КОМТЕТ Касса Курьер это сервис с возможностью распределения заказов по курьерам, быстрой корректировке заказов в момент доставки, печати чеков по 54-ФЗ в момент расчета с покупателем.

3480 руб.

20.12.2021    7815    1    0    

1

HTTP-клиент

WEB-интеграция Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    17053    55    SpaceOfMyHead    51    

94

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

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

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

28.12.2020    12911    comol    32    

108

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

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Строительство Абонемент ($m)

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

1 стартмани

25.11.2020    83301    16    kandr    3    

6

Поиск номенклатуры в интернете (Розница 2.3, Управление торговлей 11.4)

Розничная торговля WEB-интеграция Поиск данных Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Альтернатива сервису 1С Номенклатура, не требует подписки ИТС, ищет данные в открытых источниках. Для поиска товара по штрихкоду в сети интернет, полезно для первоначального заполнения базы.

1999 руб.

15.10.2020    15886    20    55    

23

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

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

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

2 стартмани

30.06.2020    19366    148    XilDen    19    

28

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

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

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

5 стартмани

25.05.2020    17329    4    Neti    10    

16

Форма выбора (подбор) в управляемых формах

Универсальные функции Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    179284    user5300    40    

290

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

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

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    18560    informa1555    35    

150

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

Обработка документов WEB-интеграция Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бухгалтерский учет Управленческий учет Абонемент ($m)

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

4 стартмани

30.12.2019    32671    43    capitan    30    

1

Сходство Джаро - Винклера. Нечеткое сравнение строк

Универсальные функции Платформа 1С v8.3 Россия Бесплатно (free)

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

25.12.2019    11304    brooho    21    

170

Интеграция с Onliner.by API

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

Расширение для добавления товаров, обновления цен на площадку Onliner.by.

6800 руб.

21.11.2019    14559    5    5    

7

html + css + js в поле HTML документа 1С на примере решения задачи ханойских башен

Универсальные функции Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Рассматривается пример использования html + css + js в полеHTMLдокумента 1с. Вызов функций javascript со стороны 1С с передачей параметров. Решение головоломки "Ханойская башня" с визуализацией в среде 1С.

1 стартмани

11.11.2019    16358    13    mangushov    0    

27

Интеграция базы данных автомобилей, марок, моделей в УНФ

WEB-интеграция Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Автомобили, автосервисы Россия Платные (руб)

Интеграция базы данных автомобилей, марок, моделей (https://auto.basebuy.ru/) в УНФ - взаимосвязь номенклатуры/характеристики с подробной базой автомобилей

4000 руб.

22.10.2019    8559    3    0    

8

Swagger для 1С.

OneScript WEB-интеграция Бесплатно (free)

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    24171    botokash    54    

233

Полезные процедуры и функции для программиста

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

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

07.10.2019    47982    HostHost    41    

284