Очередная попытка взаимодействия с JavaScript из клиента 1С. Расширение "Подключаемые Скрипты"

Публикация № 1259487 09.02.21

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

JavaScript WebKit

Хотелось бы поделиться своими наработками в части использования возможностей HTML + JS из клиента 1С. Показанная в статье идея будет интересна тем, кто использует карты Yandex... или ещё какие-нибудь HTML извращения в конфигурациях 1С. Тестировал подход в тонком клиенте на версии платформы 8.3.18.1289, но должно работать на любой 8.3.14+ (движок webkit).

Сразу прошу прощения за не самую лёгкую подачу информации - мне всегда сложно давалось написание текста. Просто хотелось поделиться своими идеями.

Я думаю, все со мной согласятся, что для решения почти любой бизнес-задачи возможностей экосистемы 1С Предприятие более чем достаточно. Однако, изредка, могут появиться особо требовательные к интерфейсу заказчики, которым кровь из носу надо кликать по карте и автоматически заполнять данные адреса в карточке контрагента и тд. К сожалению для реализации таких требований приходится плясать с бубном вокруг нового типа "ВнешнийОбъект". Как потом отлаживать и поддерживать решения, написанные наполовину на javascrу я вообще молчу . В результате таких плясок и родилась идея написания подсистемы, которая позволит реализовать бОльшую часть логики на 1С, где будет легко её отлаживать, расширять и поддерживать. В статье изложу основную идею, и приложу первую версию моей подсистемы. Конечно там ещё много чего надо сделать и имеется куча идей куда можно развиваться. Итак, приступим.

Для начала необходимо реализовать возможность вызова функции eval из контекста 1C, так как она в ПолеHTML изначально не работает. При этом eval доступна при вызове из javascript. Это открывает перед нами возможность перехитрить платформу и переопределить вызов функции.

Для добавления скриптов к документу ХТМЛ я использую событие формы "ПриСозданииНаСервере". Добавим к нашему ХТМЛ документу тег SCRIPT в котором переопредели вызов функции eval так, чтобы он стал доступен из 1С.

Перед подключение дополнительных скриптов к html документу надо учесть следующее ограничение:

  • Реквизит поля ХТМЛ должен содержать текст HTML документа, а не  адрес расположения страницы (чтобы мы могли программно изменить DOM модель документа и подключить дополнительные файлы скриптов). Идея с добавлением тега script с помощью вызова функций addChild у меня почему-то не сработала. Видимо WebKit не выполняет скрипты, если они были добавлены после загрузки страницы. А без возможность вызова функции eval мы не можем добавлять свои функции в контекст js динамически. Получается замкнутый круг.
 
 Переопределим вызов функции eval:

Теперь нам доступно выполнение произвольного кода javascript из 1С. Для примера вычисление суммы с помощью функции eval:

 
 Пример вычисления суммы:

Вызов javascript из 1С мы реализовали. Теперь надо реализовать вызов кода 1С из javascript. Данные из JS можно передать в 1С, если перехватывать событие элемента формы "ПриНажатии". Для этого добавим функцию вызова 1С из контекста JS.

 
 Вызов события "ПриНажатии" с передачей произвольных данных

 

Таким образом мы заложили основу. Имея возможность выполнять произвольный код JS и перехватывать события - мы можем реализовать любую логику в коде 1С. Несомненным плюсом является нормальная отладка решения в контексте 1С, без необходимости использовать отладчик WebKit (который частенько роняет платформу). Однако для реализации сложной логики придётся добавить кучу новых событий и их обработчиков, в итоге получится не самый простой и читаемый код.

Я же хотел сделать универсальный программный интерфейс в 1С, который позволит практически без использования кода на JS создавать решения с HTML интерфейсом.

Моя основная идея заключается в использовании системы событий javascript (addEventListener), в связке с использованием объектов 1С "ОписаниеОповещения". Для этого необходимо выполнить следующую последовательность действий:

  1. создать описание оповещения с присвоением ему уникального идентификатора.
  2. "Закешировать" в клиентской переменной идентификатор и обработчик оповещения (в моей подсистеме я использую глобальную клиентскую переменную, но можно использовать и переменную на форме).
  3. создать обработчик события на элементе DOM модели документа, и присвоить ему обработчик, который будет вызывать функцию sendEvent и передавать в данные события идентификатор конкретного описания оповещения.
  4. Реализовать обработчик, на стороне 1С для события документа "ПриНажатии", который по идентификатору обработчика оповещения найдёт в клиентском Кеше и вызовет обработчик 1С, передав в него данные события JS.

Плюсы такого подхода очевидны - почти вся логика реализуется кодом 1С, решение легко поддаётся отладке и его намного проще расширять и дорабатывать при необходимости. Не затрагивая при этом основной блок взаимодействия 1C <-> JS.

Сам проект доступен в репозитории на github. Буду рад, если кто-то захочет помочь в развитии, так как сам не особо шарю в javascript, да и свободного времени не столь много.

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

В подсистему включён макет, добавляющий функции js. Сейчас реализовано:

  1. функция Eval, предоставляющая доступ к вызову функции eval и возвращающая объект с результатом выполнения или описанием ошибки.
  2. переопределение прототипа функций addEventListener и removeEventListener, для возможности получения списка активных подписок на события по каждому элементу DOM модели документа.
  3. добавлен объект, для управления текущими интервалами и таймаутами, с возможностью получения списка обработчиков. (setTimeout и setInterval).
  4. функции, для исследования объектов, переданных в метод (можно передавать объекты типа ВнешнийОбъект и получать структуру всех методов , свойств и итераторов объекта).
  5. функции, для вызова события элемента формы "ПриНажатии" с передачей особых управляющих событий. Сейчас реализованы события 
    • message1C(вызывает функцию 1С Сообщить в контексте текущей формы, позволяет показывать сообщения из кода js)
    • error1C(вызывает исключение с текстом, переданным из js)
    • log1C(производить запись в журнал регистрации из js)
    • callback1C(вызывает определённый обработчик оповещения в 1С по сохранённому идентификатору). Реализует основную идею моей подсистемы.
  6. функция, позволяющая вызывать у объекта с типом ВнешнийОбъект любой метод по имени с передачей произвольного количества параметров. Параметры также могут представлять из себя Внешние Объекты (например ссылки на другие функции).
  7. Функция, позволяющая прочитать текущее свойство внешнего объекта по имени. По сути вызов функции идентичен получению значения свойства из ВнешнегоОбъекта через точку, но есть подозрение, что js выполняется в отдельных потоках и не привязан к основному потоку выполнения клиента 1С. А значит текущее значение в поле внешнего объекта может отличаться от реального...Но это не точно.. возможно 1С реализовали опрос текущего значения свойства внешнего объекта каждый раз при обращении, так как по сути внешний объект является ссылкой на конкретный объект JS и вполне реально при каждом обращении к его свойствам зачитывать текущее состояние из js.

Для кеширования обработчиков оповещения используется глобальная клиентская переменная. Хранения данных в ней реализовано в разрезе конкретной формы и поля с типом ДокументHTML. Тоесть в случае использования нескольких форм у нас сохранённые данные не перемешаются.

Чтобы использовать возможности расширения в своих разработках достаточно на форме при создании на сервере вызвать метод расширения ПодключитьРасширенныеСкрипты (чтобы изменить документ HTML и 1С его перезагрузила, тем самым выполнив наши подключаемые скрипты - надо делать это с сервера).

 
 Примеры использования расширения:

Ну и на сладенькое - Реализация обмена с 1С через WebSocket в пару строк:

 
 Обмен через WebSocket:

 

Ну вот и всё, что на данный момент реализовано.

В планах на будущее:

  • Реализация справочника "Подключаемые библиотеки", который позволит сохранять внешние библиотеки JS и CSS. Типа Amcharts, Bootstrap и тд..
  • Доработка программного интерфейса, для подключения внешних библиотек в конкретным формам и полям HTML.
  • Реализация обработки для настройки способов подключения файлов, указание порядка загрузки файлов. Настройка места подключения - в header или в теле документа.
  • ну и на самую далёкую перспективу - реализация конструктора html, для создания интерфейса в самой 1С, визуальная настройка, привязка обработчиков и событий элементов DOM модели js к именам обработчиков 1С - думаю по имени модуля и имени процедуры обработчика. Как будут настраиваться дополнительные параметры при создании описания оповещения пока не придумал... (сейчас довольно призрачное представление, как всё это будет выглядеть).

Скачать файлы

Наименование Файл Версия Размер
Расширение "Подключаемые Скрипты"

.cfe 36,01Kb
41
.cfe 36,01Kb 41 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. John_d 4395 10.02.21 09:47 Сейчас в теме
за статью плюс.
я так делал взаимодействие с js:
https://infostart.ru/1c/articles/1355214/
Что думаете о моем способе?
2. savelievD 68 10.02.21 10:53 Сейчас в теме
(1) имеется в виду использовать какой-нибудь объект DOM модели документа, для передачи в него текста и последующего чтения этих данных из 1С? Как по мне, то в такой схеме инициатором события может быть только 1С, что существенно ограничивает возможности. Ну а вообще конечно - всё зависит от задачи, которую хотим решить. Если способ работает, то почему бы и нет))
9. John_d 4395 11.02.21 09:19 Сейчас в теме
(2) можете подсказать как пользоваться расширением.
Что нажимать чтобы получить результат?
Нажимаю на кнопки получаю разные ошибки
Прикрепленные файлы:
10. savelievD 68 11.02.21 09:33 Сейчас в теме
(9) расширение предоставляет в основном программный интерфейс, для разработки своих решений. У вас открыта форма тестирования. Текст, который вы вводите в поле будет выполнен не в 1С, а в javascript. попробуйте
alert("Привет мир")
11. John_d 4395 11.02.21 10:04 Сейчас в теме
(10) ошибку выдает
Прикрепленные файлы:
12. savelievD 68 11.02.21 10:07 Сейчас в теме
(11) жми сюда..
Прикрепленные файлы:
13. John_d 4395 11.02.21 10:09 Сейчас в теме
(11) а все понял нужно зеленую кнопку нажимать.
Но я бы хотел получить результат как у вас в статье. Какие действия нужно сделать чтобы получить ответ от сокета?
Прикрепленные файлы:
14. savelievD 68 11.02.21 10:21 Сейчас в теме
(13) ещё раз повторю - это форма для тестирования и делал я её на скорую руку, просто, чтобы показать как это работает.
Если хочется попробовать, то проверь/укажите свой адрес сокет сервера в процедуре "КомандаНовыйВебСокет".
далее по нажатию на кнопку КомандаНовыйВебСокет в контексте js будет создана переменная "f", которой присвоится новый объект WebSocket. далее через строку ввода команды можно посылать данные серверу - f.send("Привет мир"). при получении сообщений от сервера они выведутся в сообщение на клиенте. закрыть сокет можно командой f.close(). ну или вызвав процедуру пс_СкриптыКлиент.ЗакрытьСокет(сюда передать переменную внешний объект - ссылку на сокет)
3. VitaliyCeban 450 10.02.21 12:09 Сейчас в теме
Насчет библиотек: Делаю РМК (на основе РМК из Розницы) на HTML + Vue.js. Естественно, там куча файлов. Хранить всё это в 1С не разумно, да и отладка - сущий ад.

Пошел по другому пути: разрабатываю в Visual Studio Code, как обычный проект Vue, с хранением в репозитории Git. Отладка в Google Chrome (это дает: отладку javascript / HTML / CSS, доступ к DOM, доступ к console, замеры производительности, поключение расширений браузера конкретно для отладки Vue). Ничего этого при разработке прямо в 1С - нет.

На стороне 1С, при включенном режиме разработки (константа 1С) в поле HTML документа загружен минимальный документ-прослойка, который общается с Chrome по WebSocket-у (при запуске отладки проекта на Vue, запускается простенький WebSocket-сервер, единственная функция которого - переправлять сообщения от одного клиента другому, и к нему подключаются документ из Chrome и документ из поля html документа).

Когда настает момент сделать production версию, весь Vue проект собирается в один единственный файл (и html, и css, и js), и уже этот файл помещаю в макет обработки 1С. Константу "Включен режим разработки" выключаю, и в поле HTML документа открывается уже не прослойка, а этот полноценный макет, и общаюсь уже не по websocket, а непосредственно вызовом функций. Программный интерфейс у прослойки и у собранной production версии - одинаковый, РМК на стороне 1С даже не знает (кроме момента выбора - какой макет загружать - dev или prod) где открыт документ, в поле HTML или в Chrome.
unichkin; portwein; JohnyDeath; AleksandrFil; +4 Ответить
4. savelievD 68 10.02.21 12:23 Сейчас в теме
(3) Интересное решение. Раз так много логики зашито в РМК, то думаю лучше делать морду РМ в виде микросервиса, а не запаковывать всё это дело в макет 1С.
5. VitaliyCeban 450 10.02.21 12:33 Сейчас в теме
(4) Так смысл в том чтобы работать в тонком клиенте 1С, а не в браузере (хотя и это можно, пока только в режиме разработки). Работать в 1С нужно для того, чтобы можно было бесшовно открывать нативные объекты/формы 1С. Например, те же отчеты на СКД. На данном этапе, скажем, форма простой оплаты у меня уже на html, а форму комбинированной оплаты я еще не переделал, и пока открывается 1Сная форма, "бесшовно". А если перейти на связку "браузер + http-сервис" - думаю что быстродействие будет страдать, надо будет играться с пулом сеансов и временем засыпания сеанса 1С. Ну и СКД не сделать, разве что только визуализацию готового отчета в PDF.
6. savelievD 68 10.02.21 12:47 Сейчас в теме
(5)я и имел в виду работать через клиента 1с. Просто храниш в константе адрес микросервиса. И открываешь его в поле хтмл документа)
7. VitaliyCeban 450 10.02.21 12:54 Сейчас в теме
(6) Ну это уже не универсально, надо будет на клиентской машине разворачивать собственно этот микро-веб-сервер, и еще поддерживать его запущенное состояние. А в текущей реализации, в production режиме никакие приложения, помимо 1С - запускать не нужно. С макетом работает почти отлично - разве что нашел (не)один баг в платформе, из макета документ открывается в Quirks Mode (BackCompat), а если по URL - то в Standards Mode (тут зарепортил: https://partners.v8.1c.ru/forum/topic/1970293 ), но можно обойти.
8. savelievD 68 10.02.21 12:58 Сейчас в теме
(7)во всем есть свои плюсы и минусы) микросервис можно дорабатывать без обновления 1с, если не нарушать api. Да и поднимать его не на клиенте а на сервере. Но это более глобальная разработка)
15. AleksandrFil 18 11.02.21 22:05 Сейчас в теме
(3) Интересно было бы посмотреть как визуально выглядит ваше РМК на Vue. И еще, сборка проекта на Vue в один файл каким образом осуществляется?
17. VitaliyCeban 450 11.02.21 22:56 Сейчас в теме
16. VitaliyCeban 450 11.02.21 22:55 Сейчас в теме
Видео РМК см. в вложении. Продолжаю активно разрабатывать.
Снималось на экране с разрешением 1024х768, чтобы симулировать реальные условия рабочего места. Точнее, на FullHD мониторе, с разрешением 1024х768, странно почему разрешение видео получилось 1512x1080.

Сборка осуществляется с помощью Vue CLI, который в свою очередь использует Webpack.
Часть файла vue.config.js, ответственная за сборку в один файл: https://pastebin.com/hmfqZWDQ
Прикрепленные файлы:
SLRestoran.mp4
pm74; Neitron4ik; Dach; AleksandrFil; JohnyDeath; +5 Ответить
18. AleksandrFil 18 12.02.21 10:32 Сейчас в теме
(16) Очень круто! Насколько я понимаю это тиражное решение?
20. Neitron4ik 12.02.21 16:01 Сейчас в теме
19. Dach 358 12.02.21 14:46 Сейчас в теме
(16) Красиво! А статью не планируете написать?
21. portwein 15.02.21 09:44 Сейчас в теме
Интересное решение.
Но я в какой то момент понял, что если решение требует участия технологий не относящихся к 1С, то такие решение лучше всего выносить в отдельную разработку не на 1С. Так повышается удобство разработки и поддержки, главное изначально определить некий контракт и описание api микросервиса и далее четко его соблюдать. Сам сервис не обязательно писать на чем то тяжелом (Java/Spring), иногда достаточно простого сервиса на Node/Express - эта связка тоже очень неплохо держит нагрузку. А уже сам сервис общается с 1С посредством http запросов и отдает только нужную информацию.
22. alexcid 146 16.06.21 23:59 Сейчас в теме
Дмитрий, спасибо за такое расширение.

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

Значение не является значением объектного типа (eval)
{JS ОбщийМодуль.пс_СкриптыКлиент.Модуль(240)}: Результат = ИнтерприаторСкриптов(Поле).adapter.eval(ТекстСкрипта);
{JS Обработка.пс_РедакторКода.Форма.Форма.Форма(11)}: Результат = пс_СкриптыКлиент.ВыполнитьКоманду("monaco.languages.getLanguages()", Элементы.ХТМЛ);


Не подскажете, что может быть не так? Пробовал в 1С 8.3.17 и в 8.3.19
23. savelievD 68 17.06.21 22:14 Сейчас в теме
(22) Я переносил функции взаимодействия с 1С в отдельный объект "adapter" и одно время на гите лежали исходники с данной ошибкой. В текущей ветке мастер проблем быть не должно.
24. alexcid 146 18.06.21 07:32 Сейчас в теме
(23) Я забрал мастер. Я вижу, что на сервере происходит формирование объекта полеHTML, вижу что в него подключаются файлы (тот же Общиймакет). Но на клиенте при просмотре объекта ХТМЛ в отладке, методов из js нет. Сам файл из временного хранилища в полеHTML... document.script[0].src есть.
25. savelievD 68 18.06.21 09:58 Сейчас в теме
(24) Думаю разобрался в чём дело. Редактор кода на базе monaco на текущий момент у меня работает только в клиент серверном варианте. Как правильно подключать файлы из временного хранилища при файловом варианте пока не разобрался.. возможно придётся распаковывать файлы скриптов на диск на клиенте.. чего бы очень не хотелось.
26. savelievD 68 18.06.21 10:58 Сейчас в теме
Поместил в репозиторий фикс для файловых баз. Если интересно - для html адрес файла во временном хранилище можно определить вот так:
КодироватьСтроку(ПолучитьНавигационнуюСсылкуИнформационнойБазы(),СпособКодированияСтроки.URLВКодировкеURL) + "/" + {АдресВременногоХранилища}
27. alexcid 146 18.06.21 16:57 Сейчас в теме
Попробовал и так и так. Т.е. у меня есть и клиент-серверная и файловая. И там и там таже ошибка. Не видит методов.
А какая у тебя версия С-ки?
28. savelievD 68 18.06.21 17:31 Сейчас в теме
Оставьте свое сообщение

См. также

Перевод строк в 1С с помощью ЯндексCloud

Инструментарий разработчика WEB-интеграция 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

Перевод строковых значений в 1С с помощью яндекс переводчика.

1 стартмани

30.01.2023    1097    0    PonomarevAR    0    

3

Интеграция 1С и Google Forms (Гугл Формы)

WEB-интеграция 8.3.14 Конфигурации 1cv8 Абонемент ($m)

Рассмотрим возможность получения ответов из Google Forms в 1С для последующей обработки и анализа.

1 стартмани

26.01.2023    2788    12    elcoan    7    

31

Интеграция 1С и Yandex Forms (Яндекс Формы)

WEB-интеграция 8.3.14 Конфигурации 1cv8 Абонемент ($m)

Рассмотрим возможность получения ответов из Yandex Forms в 1С для последующей обработки и анализа.

1 стартмани

24.01.2023    3920    5    elcoan    13    

37

Загрузка отдельного файла из zip архива, расположенного на WEB-ресурсе

Файловый обмен (TXT, XML, DBF), FTP WEB-интеграция 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

Обработка предназначена для скачивания отдельных выбранных файлов из больших (или маленьких) ZIP архивов, расположенных на WEB - ресурсах. Работает в тонком клиенте на конфигурациях с БСП. Платформа 8.3.14.

1 стартмани

08.12.2022    1335    2    Kobra_RU    0    

8

Интеграция с сервисом Альянс Авиа для 1С:Бухгалтерии

WEB-интеграция Бухгалтерский учет 8.3.14 1С:Бухгалтерия 3.0 Транспорт, автопарки, такси Россия Бухгалтерский учет Абонемент ($m)

Интеграция с сервисом позволяет загружать операции с билетами и сами билеты в 1С:Бухгалтерию в фоновом режиме.

1 стартмани

22.11.2022    1272    0    human_new    0    

3

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Хранение полезных интернет ссылок в 1С

Адаптация типовых решений WEB-интеграция 8.3.14 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

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

1 стартмани

17.11.2022    1658    3    human_new    8    

6

Получение/отправка сообщений RabbitMQ через REST API

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

Простой пример получения и отправки сообщений в брокер сообщений RabbitMQ через REST API из 1С без сторонних компонент и middleware.

1 стартмани

23.09.2022    6205    17    NikeeNik    16    

44

Автоматическая передача остатков в HOFF через JSON

Оптовая торговля WEB-интеграция 8.3.14 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Управленческий учет Абонемент ($m)

Обработка для автоматической передачи остатков товаров на маркетплейс HOFF через API / JSON - Список товаров определяется значениями двух дополнительных реквизитов - продается в HOFF и в код номенклатуры HOFF, которые нужно установить самостоятельно - Поддерживается передача остатков с нескольких складов и нескольких комиссионеров.

1 стартмани

06.09.2022    1903    4    yam    5    

1

Выгрузка из УТ 11.5 на Авито с отборами и остатками в объявлении

Оптовая торговля Розничная торговля WEB-интеграция 8.3.14 8.3.6 8.3.8 Конфигурации 1cv8 Россия Абонемент ($m)

Помогает быстро зайти с каталогом и оперативно управлять каталогом объявлений на авито.

1 стартмани

15.08.2022    2108    3    Pass2    0    

3

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    7955    21    huxuxuya    29    

75

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

В помощь фрилансеру: парсим объявления о фрилансе и публикуем их в телеграм-канале

WEB-интеграция 8.3.14 Абонемент ($m)

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

1 стартмани

15.07.2022    2387    3    elcoan    1    

6

Распознавание текста из изображений и PDF с помощью нейросетей Yandex Vision и 1С

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

Если вам нужно с помощью компьютерного зрения от Yandex быстро распознавать текст из документов и изображений, эта статья для вас!

5 стартмани

13.07.2022    7700    9    kiv1c    5    

35

Расширение для 1С:Бухгалтерия предприятия 3.0, реализующее отслеживание статусов самозанятых.

WEB-интеграция Адаптация типовых решений 8.3.14 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

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

1 стартмани

20.06.2022    1962    4    sergling    1    

1

Api идеи для начинающих

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

Данная обработка подойдет тем, кто только начинает знакомиться с механизмами api в 1С. В обработке представлены взаимодействия с 12 простыми сайтами на примерах. Решения не затрагивают полной документации, а носят лишь ознакомительный характер. Делал на платформе 8.3.20.

1 стартмани

16.06.2022    8720    25    user676027_svikator    5    

70

Работа с крипто провайдером Узбекистана e-imzo.uz (Web-Socket)

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

Внешняя обработка для работы из 1С с крипто провайдером Узбекистана. Потребность возникла в изучении вопроса, из-за отсутствия примеров интеграции с поставщиком электронных цифровых подписей в Узбекистане. Разработчик предоставляет пример интеграции, размещенный на их ресурсе. Но чтобы упростить работу с используемым Web Socket, пришлось написать компоненту и обработку.

1 стартмани

10.06.2022    2635    4    AlexPAS    5    

5

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

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

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

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

6 стартмани

17.05.2022    5813    35    kostyan7    20    

1

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

02.05.2022    8083    124    Steelvan    0    

66

Обмен данными с Web-сервисами

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

Обработка предназначена для быстрой настройки обмена данными с Web-сервисами из пользовательского интерфейса.

10 стартмани

29.04.2022    5939    33    ns_bulatov    4    

37

Определение вхождения координат в заданную область на карте OSM. Взаимодействие JavaScript и 1С

WEB-интеграция 8.3.14 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

04.03.2022    3738    5    Woody56RF    3    

11

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Автоматизация REST интеграций

WEB-интеграция 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

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

5 стартмани

18.02.2022    7526    13    kirflaer    3    

59

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

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

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

1 стартмани

02.02.2022    12199    38    ltfriend    9    

87

Создание интерактивных обучающих курсов с помощью Vanessa Interactive

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

Приветствую Вас, коллеги. Сегодня Вам предлагается рассмотреть технологию создания интерактивных обучающих курсов, системы Onboarding, интерактивной справки для любых конфигураций разработанных на базе платформы 1С при работе в web клиенте. Прошу посмотреть ролик, кому неинтересно, как это работает, можно дальше не читать. Тестировалось на 1С:Предприятие 8.3 (8.3.20.1646).

1 стартмани

02.02.2022    6519    1    Viktor_Ermakov    2    

34

Создание простых сайтов на основе http сервисов - tips and tricks

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

Универсальный метод, html шаблоны, страницы с авторизацией и без, многоязычность, страница авторизации, etc.

1 стартмани

22.01.2022    8518    11    vl-sher1    29    

38

Просмотр полученных данных с API Yahoo Finance

WEB-интеграция 8.3.14 Конфигурации 1cv8 Финансовые услуги, инвестиции Абонемент ($m)

Внешняя обработка для просмотра информации о финансовых активах, которую можно получить с помощью API Yahoo Finance.

1 стартмани

17.01.2022    3171    1    RomikMf    4    

2

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Работа с сайтом "Первая и самая полная поисковая система тендеров и закупок России и СНГ" BiCo (Business Connect)

Оптовая торговля WEB-интеграция 8.3.14 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m)

Решение на платформе 1С:Предприятие для начала автоматизации тендерного отдела. Расширение предназначено для участников тендеров, выступающих в качестве потребителя товаров и услуг. УТ 11.

2 стартмани

23.12.2021    3266    3    babys    0    

2

Личный кабинет - делаем сайт с помощью 1С

WEB-интеграция Работа с интерфейсом 8.3.14 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

30.11.2021    15175    111    elcoan    41    

108

Интеграция с UDS Game для Розницы 2

Розничная торговля WEB-интеграция 8.3.14 1С:Розница Розничная и сетевая торговля (FMCG) Россия Управленческий учет Абонемент ($m)

Интеграция с UDS Game для Розницы 2.3.10. Две версии: 1. Учет всех товаров; 2. Не учитывается табак.

7 стартмани

24.11.2021    3890    9    Mopnex03    1    

1

Работаем с HTTP сервисами 1С. MVC, Twig и прочие радости Web разработчика

WEB-интеграция 8.3.14 Конфигурации 1cv8 Абонемент ($m)

На Инфостарте уже достаточно много статей о том, как начать пользоваться HTTP сервисами и как сделать "Hello world" на странице браузера средствами 1С. Но что дальше? Если вы пробовали сделать хотя бы небольшой сайт в 1С - наверняка знаете, с какими сложностями можно столкнуться. Понимая все эти нюансы разработки сайтов в 1С, у меня и поселилась идея сделать эту разработку. Эдакое превращение разработки HTML страниц средствами 1С в полноценное MVC

1 стартмани

09.11.2021    5484    6    opx    5    

19

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Редактирование и публикация товарных предложений из 1С на сайт Юла (youla.ru)

WEB-интеграция 8.3.14 1С:Управление нашей фирмой 1.6 Абонемент ($m)

Внешняя обработка, которая позволяет опубликовать товары на площадке Юла (youla.ru) сразу из системы 1С. Используется механизм загрузки товаров через файл YML с полной поддержкой категорий, свойств и значений товаров из каждой категории.

1 стартмани

06.08.2021    5154    2    elcoan    0    

3

Интеграция 1С и Viber с помощью API

WEB-интеграция 8.3.14 Конфигурации 1cv8 Абонемент ($m)

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

16.07.2021    9135    38    elcoan    23    

19

Выгрузка остатков на сервис INSCOM

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

Обработка для выгрузки отчета остатков в формате CSV для сервиса "INSCOM". Работает на УТ 11.4 Дописок базы не требует, в рамках штатной конфигурации.

2 стартмани

16.06.2021    4440    0    hottion    0    

1

Расчет расстояния от МКАД

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

Обработка определяет, находится ли адрес доставки внутри или вне МКАД, и если вне, то строит маршрут и считает расстояние от ближайшего съезда со МКАД до адреса доставки.

1 стартмани

30.04.2021    5573    2    Torin99    4    

4

Выполнение задач через браузер в КА, ERP, ЗУП и БП (расширение)

Управление проектом (PMO, EPM) WEB-интеграция Платформа 1С v8.3 8.3.14 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Управленческий учет Абонемент ($m)

Расширение позволяет с помощью http сервиса выполнять простые задачи в браузере из КА 2, ERP 2, ЗУП 3 и БП 3. Стояла задача: руководителям оперативно выполнять задачи по согласованию, от мобильного приложения отказались, т.к. у всех разные телефоны и сложности сборки, в частности, для IOS. Решили делать через http сервис, который реализует веб-морду по просмотру и выполнению задач. Расширение может использоваться как готовое (проверял на демо базах работу), так и как основа для доработки под свои нужды.

2 стартмани

13.04.2021    5568    2    77dream77    2    

1

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

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

Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.

1 стартмани

01.04.2021    17638    20    SaschaG    4    

64

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

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

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    23448    70    Parsec1C    20    

80

Отправка Push-уведомлений через сервис Firebase Cloud Messaging по протоколу FCM HTTP v1 API

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

При разработке нативного приложения Android для ТСД, в котором присутствует функционал отображения задач кладовщикам, созданных в 1С, возникла необходимость отправлять push-уведомления о появлении новых задач. Для отправки таких уведомлений было решено использовать сервис Firebase Cloud Messaging (FCM). Так как для 1С, в отличии от других языков программирования, не существует готовых библиотек, что вполне логично, то очевидным способом отправки является использование протокола HTTP. Однако, существующая информация в интернете в части 1С содержит только сведений об отправке push-уведомлений через этот сервис с использованием устаревшего протокола HTTP Firebase Cloud Messaging. Сам Google не рекомендует использовать данный протокол и настоятельно склоняет к переходу на новый протокол FCM HTTP v1 API. Что ж, пришлось разбираться самостоятельно.

1 стартмани

24.03.2021    17851    27    ltfriend    16    

34

api query (данные 1С там, где они действительно нужны)

WEB-интеграция 8.3.14 Конфигурации 1cv8 Абонемент ($m)

Данные в excel из 1С, просто и быстро, альтернатива "OData".

10 стартмани

09.02.2021    6234    3    Legavaz    0    

3