PinkRabbitMQ - Native API компонента 1С с открытым исходным кодом, для обмена сообщениями через RabbitMQ

Публикация № 1099423

Разработка - Разработка внешних компонент

Бесплатно free RabbitMQ Обмен

PinkRabbitMQ представляет собой Native API компоненту для 1С Предприятия 8 (Windows 32bit и 64bit) с открытым исходным кодом на с++ (можно собрать компоненту самостоятельно). PinkRabbitMQ это низкоуровневая компонента которая реализует обмен по протоколу AMQP с брокером сообщений RabbitMQ. Для организации высокоуровнего обмена между информационными базами предназначен Адаптер. Компонента разрабатывается в рамках проекта Адаптер.

Предпосылки создания своей компоненты

  • Мы активно развиваем свой проект Адаптер (о нем мы уже писали на инфостарте), в котором реализован обмен через RabbitMQ
  • Т.к. 1С напрямую не поддерживает протокол AMQP (а для обмена с брокером RabbitMQ через http есть ограничения) нам потребовалась внешняя компонента
  • Раньше мы использовали стороннюю компоненту Yellow RabbitMQ, но для некоторых наших заказчиков было важно избежать зависимости от конкретного поставщика, и наличие закрытого кода (в виде скомпилированной компоненты) являлось важным аргументом против использования Yellow RabbitMQ
  • Технически создание своей компоненты нам казалось не сложным
  • У нас уже был весь набор тестов для Адаптера, который позволил нам быть уверенными, что наша компонента работает
  • Хотелось получить возможность самостоятельного развития компоненты

 

Наши цели публикации исходных кодов компоненты Pink RabbitMQ:

  • Она у нас все равно есть, и для нас это "ничего не стоит"
  • Мы хотим улучшить код компоненты
  • Мы хотим "продвинуть кролика в массы", как "среду" обмена данными, и как средство для построения событийно-ориентированных интеграций
  • Мы надеемся, что это будет полезно и для нашего Адаптера, как инструмента организации обмена

 

Особенности компоненты Pink RabbitMQ:

  • Описание API компоненты содержится в https://github.com/BITERP/PinkRabbitMQ/blob/master/README.md
  • Представляет собой Native API компоненту для 1С Предприятия 8 (Windows 32bit и 64bit). Для Linux мы не компилировали, но радикальных препятствий для этого нет (примерно понятно, какие нужно для этого сделать доработки)
  • С точки зрения API компонента практически полностью совместима с  Yellow RabbitMQ т.е. в Адаптер мы просто замени компоненту на нашу, но те механизмы, которые не нужны в Адаптере мы не реализовывали
  • В основе компоненты лежат "свежие" библиотеки
    •  AMQP-CPP - асинхронный клиент для работы  c протоколом AMQP
    •  POCO C++ - только для работы с tcp socket
  • Для обеспечения совместимости с Yellow RabbitMQ мы внутри компоненты превратили асинхронные методы библиотеки в синхронные, что немного повлияло на производительность
  • При разработке исходный код компоненты проверяются Sonar Cube и тестируются BDD тестами Адаптера (см. бэджи в репозитории)

 

Вопросы производительности

Поскольку мы использовали ранее Yellow RabbitMQ, то и сравнивали с ней:

Простой синтетический тест

Метод

Yellow RabbitMQ

Pink RabbitMQ

Последовательная отправка 1000 сообщений (сек)

28.30

57.54

Последовательное получение 1000 сообщений (с отправкой 2000 логов) (сек) 220.41 390.70

 

Тест на реальном проекте где в Адаптере компонента Yellow RabbitMQ была заменена на Pink RabbitMQ.

У нас не было цели провести отдельный чистый тест, мы просто хотели убедиться, что на одном из наших проектов, на котором мы недавно перешли с обмена БСП (не типового) на обмен через RabbitMQ при переходе на компоненту Pink RabbitMQ не будет проблем с производительностью.

В рамках теста из базы УТ10.3 в базу ERP переносился 1241 документ и проводился в ERP (реализации товаров превращались в поступления)

Метод

Yellow RabbitMQ

Pink RabbitMQ

План обмена из БСП в формате КД2

Длительность отправки из УТ 10.3 (час) 1:47 2:19 1:38
Длительность загрузки в ERP (час) 3:10 2:48 3:36
Общая длительность от момента как начали отправлять до момента, что все получили (час) 3:12 2:51 3:47


т.е. мы видим, что на реальном проекте

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

по этому пока мы не считаем меньшую производительность Pink RabbitMQ проблемой

 

API

Компонента имеет ряд методов для работы из встроенного языка 1С. Параметры с тегом [НЕ РЕАЛИЗОВАНО] имеют пустую реализацию, но передавать их все равно требуется. Параметры с тегом [НЕОБЯЗАТЕЛЬНЫЙ] можно не передавать. Список методов:

Connect - устанавливает соединение с сервером RabbitMQ

Параметры:

  • host - Строка - Адрес сервера RabbitMQ
  • port - Число - Порт работы через tcp (обычно 5672)
  • login - Строка - Имя пользователя
  • pwd - Строка - Пароль пользователя
  • vhost - Строка - Vhost пользователя
  • pingRate - Число - [НЕ РЕАЛИЗОВАНО][НЕОБЯЗАТЕЛЬНЫЙ]. Частота пульса

DeclareExchange - Объявить точку обмена

Параметры:

  • name - Строка - Имя exchange
  • type - Строка - Тип точки обмена. Поддерживаются "direct", "fanout", "topic"
  • onlyCheckIfExists - Булево - [НЕ РЕАЛИЗОВАНО] Не создавать новую, выбросить исключение, если такой точки нет.
  • durable - Булево - Сохранять сообщения на диске на случай рестарта RMQ (не рекомендуется)
  • autodelete - Булево - Удалить после того, как от точки будут отвязаны все очереди.

DeleteExchange - Удаляет очередь с сервера

Параметры:

  • name - Строка- Имя точки обмена.
  • ifunused - Булево - Удаление будет выполнено, только если точка обмена не используется.

DeclareQueue - Объявить очередь

Параметры:

  • name - Строка - Имя объявляемой очереди.
  • onlyCheckIfExists - Булево - [НЕ РЕАЛИЗОВАНО] Не создавать очередь с таким именем, использовать существующую
  • save - Булево - Кешировать сообщения на диске, на случай падения RMQ.
  • exclusive - Булево - [НЕ РЕАЛИЗОВАНО] Только текущее соединение может иметь доступ к этой очереди.
  • autodelete - Булево - Удалить очередь если к ней был подключен, а затем отключен читающий клиент.

Возвращаемое значение:

  • Имя очереди, заданное явно в 1-м параметре.

DeleteQueue - Удаляет очередь с сервера

Параметры:

  • name - Строка - Имя очереди
  • onlyIfIdle - Булево - Удаление будет выполнено, только если очередь не используется
  • onlyIfEmpty - Булево - Удаление будет выполнено, только если очередь пуста

BindQueue - Установить связь очереди. Создает маршрут от точки обмена до очереди.

Параметры:

  • queue - Строка - Имя очереди
  • exchange - Строка - Имя точки обмена
  • routingKey - Строка - Rлюч маршрутизации.

UnbindQueue - Отсоединяет очередь от точки обмена.

Параметры:

  • queue - Строка - Имя очереди
  • exchange - Строка - Имя точки обмена
  • routingKey - Строка - Rлюч маршрутизации.

BasicPublish - Отправить сообщение

Параметры:

  • exchange - Строка - Имя точки в которую отправляется сообщение
  • routingKey - Строка - Ключ маршрутизации (см. руководство RMQ)
  • message - Строка - Тело сообщения
  • livingTime - Число - [НЕ РЕАЛИЗОВАНО] Время жизни сообщения в миллисекундах
  • persist - Булево - [НЕ РЕАЛИЗОВАНО] Сбрасывать сообщение на диск

BasicReject - Отказывается от последнего полученного сообщения. Работает по принципу Ack, но в обратную сторону.

Параметры отсутствуют

BasicConsume - Начать чтение. Регистрирует потребителя сообщений для очереди.

Параметры:

  • queue - Строка - Очередь из которой будем читать сообщения.
  • consumerId - Строка - [НЕ РЕАЛИЗОВАНО] имя потребителя. Если не задан, то имя потребителя сгенерирует сервер и вернет из метода
  • noConfirm - Булево - [НЕ РЕАЛИЗОВАНО] не ждать подтверждения обработки. Сообщения будут удалены из очереди сразу после отправки на клиента.
  • exclusive - Булево - [НЕ РЕАЛИЗОВАНО] монопольно захватить очередь
  • selectSize - Число - [НЕ РЕАЛИЗОВАНО] количество сообщений единовременно отправляемых клиенту. Оптимизационный параметр, если > 1 усложняет программирование клиента

Возвращаемое значение:

  • Строка. Имя потребителя, сгенерированное сервером или переданное в параметре ИмяПотребителя.

BasicConsumeMessage - Получить сообщение

Параметры:

  • consumerId - Строка - [НЕ РЕАЛИЗОВАНО] Имя зарегистрированного потребителя
  • outdata - Строка - Выходной параметр. Тело сообщения.
  • timeout - Число - Таймаут ожидания сообщения в миллисекундах. 0 означает без ожидания

BasicCancel - Закрывает канал для чтения сообщений

Параметры:

  • channelId - Строка - Имя созданного ранее потребителя.

BasicAck Отсылает серверу подтверждение (ack), что сообщение обработано и его можно удалить. Подтвердить можно только последнее прочитанное сообщение.

Параметры отсутствуют

GetLastError - получает информацию о последней ошибке

Параметры отсутствуют

Возвращаемое значение:

  • Строка - Последнее сообщение ошибки

 

Наши ближайшие планы:

  • Мы собираемся поддерживать компоненту, т.к. она является частью нашего решения Адаптер
  • С точки зрения функционала ходим добавить в компоненту асинхронные методы (как в 1С), что увеличит скорость работы и немного упростит алгоритмы Адаптера

 

Как начать использовать Pink RabbitMQ:

  • Скачать демонстрационную обработку, приложенную к статье (компонента находится в ней в виде макета)
  • Скачать из репозитория исходники и воспользоваться инструкцией из readme.md

 

Интересные технические особенности:

  • Источником вдохновения послужила статья https://habr.com/ru/post/253317/
  • Сборка компоненты осуществляется как через sln проект на VS Studio 2019, так и через cmake (см. readme.md)
  • Все зависимости проекта (в частности POCO и AMQP) поставляются прекомпилированными либами для простоты сборки (поэтому репозиторий много весит, но проект собирается элементарно )

Как стать контрибьютером:

  • Репозиторий проекта https://github.com/BITERP/PinkRabbitMQ
  • Как обычно, создавайте issues, делайте форки, вносите доработки, собирайте и проверяйте компоненту и делайте пулл-реквест
  • Мы со своей стороны будем принимать пулл-реквесты после
    • прохождения проверок Sonar Cube и BDD тестами Адаптера
    • оценки соответствия предлагаемых изменений концепции/планам развития Pink RabbitMQ

 

Ждем ваших вопросов/замечаний/предложений

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

Наименование Файл Версия Размер
PinkRabbitMQ - Native API компонента 1С с открытым исходным кодом, для обмена сообщениями через RabbitMQ:

.zip 654,98Kb
29.07.19
462
.zip 654,98Kb 462 Скачать бесплатно
Демонстрационная обработка

.epf 695,44Kb
29.07.19
495
.epf 695,44Kb 495 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. barelpro 1184 29.07.19 13:37 Сейчас в теме
Когда-то это должно было случится! ) Спасибо!
zakiap; Pavl0; Gureev; maxopik2; +4 1 Ответить
2. Evil Beaver 6884 29.07.19 14:22 Сейчас в теме
Вот так придумаешь на внутреннем совещании звучное название, напишешь компоненту, научишь людей Кролику, а они тебе за это сравнение производительности не в твою пользу, плагиат-троллинг названия, скопированный 1-в-1 API (который ты мучился сочинял, чтобы удобно было) и даже никаких спасибо. Ну бывает, чего. Не любят у нас в отрасли спасибо говорить.
paybaseme; i.kovtun; kolya_tlt; skeptik2105; propellerads; ZeratulAyuris; ZhdanovR; Bronislav; johnnyshut23; zurapa; JohnyDeath; philya; alexey.karmanov; 🅵🅾️🆇; Scorpion4eg; new_user; Soloist; ingmar; sm.artem; 9-pm; YPermitin; vandalsvq; testnv0; baton_pk; ArchLord42; acanta; Infactum; artbear; +28 3 Ответить
3. Begemoth80 165 29.07.19 14:48 Сейчас в теме
(2)
а они тебе за это сравнение производительности не в твою пользу


Почему? Я же явно пишу в разделе "Простой синтетический тест" что Желтый кролик в 1,5 раза быстрее?
7. Evil Beaver 6884 29.07.19 16:03 Сейчас в теме
(3) А в соседнем - не пишете :)

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

Представьте, что кто-то начал выпускать автомобили FasterAudi с четырьмя кольцами по кругу или компьютеры GreenApple, где яблоко не откушено. Какое ощущение возникает? Кроссовки Abadis! С соответствующим отношением.
new_user; +1 Ответить
10. Begemoth80 165 29.07.19 16:21 Сейчас в теме
(7)
А в соседнем - не пишете

Цитирую соседний раздел "по этому пока мы не считаем меньшую производительность Pink RabbitMQ проблемой"

перевирать названия

Pink - один из наших корпоративных цветов
RabbitMQ - стандартная часть названия, указывающая с кем обмениваемся
11. Evil Beaver 6884 29.07.19 16:22 Сейчас в теме
(10) Ой, блин, ну продолжайте делать вид, что названия вообще никак не коррелируют в семантике
new_user; berezdetsky; nvv1970; +3 1 Ответить
41. theshadowco 164 30.07.19 16:28 Сейчас в теме
(10)
RabbitMQ - стандартная часть названия, указывающая с кем обмениваемся

(10) В поддержку названия (и только его) посмотрите на github https://github.com/search?p=5&q=RabbitMQ&type=Repositories
4. Gureev 29.07.19 15:32 Сейчас в теме
(2) Сейчас спасибо говорят на гитхабе. Учтите на будущее ;)
5. Tahallus 427 29.07.19 15:36 Сейчас в теме
(2)
даже никаких спасибо. Ну бывает, чего. Не любят у нас в отрасли спасибо говорить

Андрей, не обижайся на меня, но я вот заметил ты часто пишешь про это, как будто обижен, все лавры достаются всем кроме тебя.
Все друг друга копируют таков сейчас мир, это не хорошо и не плохо. Такое чувство что при каждом упоминание 1С+RabbitMQ нужно писать/говорить спасибо.
Irwin; chemezov; lunjio; A_Max; Gorus; user774630; Aptem199; eleva; Gureev; +9 1 Ответить
6. Evil Beaver 6884 29.07.19 15:59 Сейчас в теме
(5) Нет, это не обида и не жажда славы (у меня ее хватает и так), но я, возможно, так воспитан, что считаю нормой выражать признательность тем, у кого я учился или тем, кто как-то иначе мне помог. Если я что-то публикую, то считаю нормой упомянуть как минимум источники, на которых основывался.

Здесь я среагировал тон статьи, название, основанное на названии конкурирующего продукта и увидел выделенные жирным цифры производительности. Это все в совокупности выглядит, как "а мы на*бали серебряную пулю, мы молодцы".

Скажем, если бы статья называлась "MegaRMQ - Бесплатный клиент RabbitMQ для 1С" и предлагаемое API было бы отличным от YellowRMQ - вообще никаких вопросов.

А здесь - прямое копирование с целью заменить и никакого стеснения перед авторами: да, чуваки, мы взяли ваше API, вашу работу по популяризации кролика, даже ваше название, но ничего личного, just business.
SerebanSK; new_user; YPermitin; berezdetsky; mvxyz; artbear; +6 1 Ответить
8. Tahallus 427 29.07.19 16:10 Сейчас в теме
(6) славы у тебя хоть отбавляй и знающие люди понимают с кого началось движение, клиентов думаю они у вас не сильно отберут, все таки больше покупают опыт чем команду в придачу к инструменту. С названием они конечно переборщили согласен. На счет API, опять же это у все так, возьми amazon и их api, почти все взяли чтобы конкурировать в облаках, и чтобы для конечного пользователя переход был менее болезненным.
A_Max; Gorus; izidakg; +3 Ответить
9. Evil Beaver 6884 29.07.19 16:20 Сейчас в теме
(8) Ну, во-первых, клиентов отберут не у меня, я не работаю в SB. Согласны, что с названием переборщили, и то ладно. И все-таки, в посте, о том "как мы сделали аналог платного продукта" я ожидал увидеть хотя бы минимальный обзор этого продукта и хоть какой-то tribute.
12. Begemoth80 165 29.07.19 16:23 Сейчас в теме
(9)
я ожидал увидеть хотя бы минимальный обзор этого продукта


В статье содержится 3 прямые ссылки на Yellow RabbitMQ (в самых первых разделах) и по тексту он упоминается несколько раз
13. Evil Beaver 6884 29.07.19 16:29 Сейчас в теме
(12) ну блиин, вы серьезно считаете "упоминание" и "обзор" синонимами?
14. Begemoth80 165 29.07.19 16:40 Сейчас в теме
(13)
Возьмем к примеру ПароВоз и ТеплоВоз.
Кажется что:
1.То что в этих словах часть слова одинаковая не является проблемой или перевиранием названия
2.В статье на WiKi про ТеплоВоз не должно быть обзора ПароВоза, но должна быть на него ссылка
Irwin; pfilyk; +2 Ответить
15. Evil Beaver 6884 29.07.19 16:49 Сейчас в теме
(14) вы сейчас на какую мою фразу отвечаете? Если вверх по ветке переписки, то в этой ветке нет ничего про названия, эта ветка про обзор.
18. Begemoth80 165 29.07.19 17:11 Сейчас в теме
(15) я отвечаю на фразы из (13) и (11) одним примером
16. oleg-x 16 29.07.19 16:49 Сейчас в теме
(14) С названием продукта все очень сложно. Например попробуйте выпустить свой продукт (компьютер/планшет/телефон/часы и прочие технологические продукты) с названием Apple, налетят юристы и начнут судится, за плагиат торговой марки.
24. Begemoth80 165 29.07.19 19:49 Сейчас в теме
(6)
название, основанное на названии конкурирующего продукта


Мне кажется что компонента PinkRabbitMQ не является конкурентом продукту Yellow RabbitMQ, также, как она не является конкурентом нашему же продукту Адаптер(иначе мы бы ее не публиковали, так ведь?).

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

Т.е. в том же Адаптере, на мой взгляд, ценность не в транспорте, а в том, что он на типовых (и не типовых) конфигурациях позволяет сделать обмен из коробки.


С другой стороны чем больше людей познакомятся с новой технологией, тем лучше (а открытый код компоненты этому способствует)
Shmell; Irwin; chemezov; A_Max; izidakg; Aptem199; Gureev; +7 Ответить
57. minimajack 71 31.07.19 13:38 Сейчас в теме
Вот не понимаю я SB.

(2)
на утреннем совещании звучное название, напишешь компоненту, научишь людей Кролику, а они тебе за это сравнение производительности не в твою пользу, плагиат-троллинг названия, скопированный 1-в-1 API (который ты мучился сочинял, чтобы удобно было) и даже никаких спасибо. Ну бывает, чего


Я бы еще понял претензии если бы вы компоненту писали работая в первом бите...а так либо работая в SB или по заказу SB.

Давайте трезво:
- Сравнение производительности - еще осталось добавить "ЗАПРЕТИТЬ ВЫКЛАДЫВАТЬ РЕЗУЛЬТАТЫ ЛУЧШЕ ЧЕМ ХХХХХХ"
- SILVER BULLETES - хм...тоже цвет первый, совпадение....а давайте Yellow (желтая программа 1С) и RabbitMq сольем...вот круто будет! УНИКАЛЬНОСТЬ прям 100-го левела.
- Написали обертку на популярную, или как нынче можно говорить - ХАЙПОВУЮ, технологию. Ну уж ampq-либы явно не сами писали. Как там в комплекте с поставкой от SB лицензии на opensource либы прикладываются?
- Что то нет в опенсорсе "yellow rabbitmq" за что спасибо?
- Спасибо за обучение технологией которую сами же и впариваете, REALLY?

з.ы. Без обид парни...не храните все яйца в одной корзине. Я понимаю бизнес-шмизнес, но к такому надо быть готовым.
з.з.ы. сори за срач не по теме
Dach; Irwin; pfilyk; lunjio; zurapa; sashocq; +6 Ответить
68. zurapa 01.08.19 10:11 Сейчас в теме
(57) А, вот, аргументированно даже. Вовсе не срач! Просто правда с говницом в лицо. Я это люблю.
Вот, если у жёлтокролика не открыт код, то тогда действительно уже спасибо не за что говорить. Концепции все друг у друга перенимают, и как бы на это не стоит залупаться. Другое дело если код скопировали в чистую и не упомянули, тогда да. А API, я правильно понимаю, это набор команд к сервису, чтобы с ним общаться. Его для того и делают похожим максимально на аналогичную технологию, чтобы пользователям удобно было переходить - есть такое выражение - удобство пользователя.
Бывает же так, что создатель продукта выбрал не ту технлогию, не тот язык и повесил свою идею на не совсем эффективные технологии. Почему нельзя скопировать идею и сделать аналогичное на другом, быть может даже более эффективном? Кому от этого плохо стало? При том, что в историю вы уже записаны, а на другие языки это же переписывать вам лень, ибо сейчас интересно другое.
Разработчики как дети - Не играй в мою машинку пусть лежи. Я ей тоже играть не буду, но пусть лежит, я сказал!
17. vandalsvq 1170 29.07.19 17:10 Сейчас в теме
А что с БИТ случилось? Я что-то пропустил и они начинают превращаться в корпорацию "добра"?
Или стартапу БИТ:ERP вдруг дали немного больше привилегий, чем остальным?
smirnov.es; glebushka; berezdetsky; +3 1 Ответить
23. Tahallus 427 29.07.19 19:31 Сейчас в теме
(17) БИТ вообще волшебная компания, сотрудник БИТ-а чтобы обучиться БИТ:Адаптер должен сам заплатить деньги в размере 50к, внезапно )), так что похоже на чье-то несогласованное действие. Предвижу что либо удалять все это, либо больше не будут обновлять репозиторий.
25. Begemoth80 165 29.07.19 19:51 Сейчас в теме
(23)
ибо удалять все это


Как можно удалить опубликованный и 7 раз "форкнутый" репозиторий? ;-)
27. Tahallus 427 29.07.19 20:26 Сейчас в теме
(25) не так выразился бро, удалять статью и обсуждение, забросят репозиторий.
29. Begemoth80 165 29.07.19 20:44 Сейчас в теме
(27)
удалять статью и обсуждение, забросят репозиторий


Зачем? Я вроде попытался описать нашу мотивацию в статье и в этом комментарии (24).

Т.е. это не баг, это фитча :-)

И да, мы ожидаем, что в результате публикации компоненты https://github.com/BITERP/PinkRabbitMQ придут разработчики, и помогут сделать ее лучше
chemezov; +1 Ответить
30. Begemoth80 165 29.07.19 20:48 Сейчас в теме
(27)
удалять статью и обсуждение


Зачем? Я вроде в статье и в комментарии (24) попробовал описать нашу мотивацию.

Т.е. это не баг, это фича :-)

И да, мы заинтересованы в том, чтобы на GitHub в репозиторий компоненты пришли разработчики, и помогли сделать компоненту лучше.
chemezov; zurapa; +2 Ответить
26. glebushka 245 29.07.19 20:13 Сейчас в теме
(23)
(17) БИТ вообще волшебная компания, сотрудник БИТ-а чтобы обучиться БИТ:Адаптер должен сам заплатить деньги в размере 50к, внезапно )).


Это сейчас было сугубо для пущего эпатажа? Если нет, прошу сообщить (можно в личку) конкретику: кто, когда, кому и при каких обстоятельствах в компании Первый БИТ предложил курс сотруднику за 50 тыс. руб.?
Сотрудникам компании офисом-разработчиком (БИТ:ERP) предоставляются скидки для повышения квалификации, и по имеющейся практике офисы, где работает сотрудник, компенсирует затраты на обучение и сертификацию по БИТ.Адаптер вплоть до 100% от стоимости (но это зависит от офиса, сотрудника и его руководства).
28. Tahallus 427 29.07.19 20:28 Сейчас в теме
(26) И правда попутал, БИТ стал великодушен и для собственных холопов сделал скидку.
Прикрепленные файлы:
triviumfan; zurapa; user774630; +3 1 Ответить
32. TODD22 18 29.07.19 21:48 Сейчас в теме
(28)
И правда попутал, БИТ стал великодушен и для собственных холопов сделал скидку.

Скоро придётся доплачивать за работу в БИТе:
-Вам выпала великая честь работать в нашей компании, с нашими отраслевыми продуктами, с вас 50 тыс руб в месяц и на работу просим не опаздывать.
chemezov; zurapa; izidakg; +3 1 Ответить
37. qwed557 30 30.07.19 12:44 Сейчас в теме
(28) И правда волшебная контора, своих же сотрудников для работы со свей же разработкой обучать за деньги сотрудников.
chemezov; zurapa; +2 1 Ответить
110. mpeg1989 31.10.19 15:24 Сейчас в теме
(28) Ребят, вы не вникаете в тему, потом говорите. Как старухи на заваленке, чесслово. Как сотрудник бита, который прошел данный курс, могу заявить, что мне это не стоило ни копейки, если не пересчитывать время, потраченное на подготовку, в деньги по стоимости часа. Вся данная фишка заключается в возможности подсчета эффективности/прибыльности филиала.
73. kembrik 3 01.08.19 12:45 Сейчас в теме
(17) Корпорация добра? Нет, не про них. Сам Адаптер как то "внезапно" со 150 подорожал до 200, плюс агрессивно навязывается недешевый саппорт. Ах вы купили год назад и не оплатили саппорт? Ну бывает. Надумали внедрять? Ну, хорошо. Оплатите саппорт за то время, которое не платили и ещё купите годик, будем разговаривать. Комплект поставки адаптера вообще за гранью, это конвертик с лицензией. Всё! Т.е за эти бабки мы даже инструкции "В бумаге" не получили
79. glebushka 245 01.08.19 14:14 Сейчас в теме
(73)
Приношу извинения. Скорее всего вас неверно информировали. У нас изменилась не только цена. Было введено требование обязательного наличия квалифицированного специалиста в команде внедрения/поддержки.
Мы не сможем у вас принять деньги за саппорт. Поскольку, как я понял из вашего сообщения, у вашей компании нет специалиста с действующим сертификатом "БИТ.Профессионал по интеграции".Это сейчас проверяется при каждой отгрузке. Поэтому если сертификата на этапе отгрузки не окажется, то мы возвращаем деньги (без отгрузки). Обратите внимание, чтобы не терять время.

PS. Прошу вас написать в личку рег. номер и имя менеджера, который вас консультировал, мы проведем работу, чтобы ситуация не повторилась.
80. vandalsvq 1170 01.08.19 14:50 Сейчас в теме
(79) т.е. надо ещё м сертифицировать своего сотрудника чтобы с БИТ работать? А затраты на сертификацию бит компенсирует?
82. glebushka 245 01.08.19 16:33 Сейчас в теме
(80) Нет, не компенсирует. Стоимость обучения и сертификации специалиста здесь: https://bit-erp.ru/adapter#edu
86. kembrik 3 02.08.19 16:04 Сейчас в теме
(79) Это достаточно новая инициатива, на момент покупки нами адаптера таковой не было. То есть, получается что затраты на Адаптер сейчас составят 200 тысяч за конвертик с лицензией, 50 тысяч за доступ на месяц к курсам (эффективность их и наполнение под большим вопросом) и 20 тысяч за сертификат специалисту, заплатить 67 тысяч за обновление и каждый год потом ещё оплачивать 67+20 (обновления плюс подтверждение сертификата). Не знаю как у вас, но у меня перед глазами стоит Золотая антилопа.

А нет ли лёгкого диссонанса с утверждением:

Мы продаем решение, которое состоит из коробки, готовых шаблонов интеграций между популярными системами и курсом (с сертификацией) для специалистов заказчика. По практике спец, который ранее занимался обменами на КД2/3 в течение недели начинает делать обмены на БИТ.Адаптер, в течение двух недель скорость разработки интеграций становится не меньше чем раньше, а в течение месяц интеграции разрабатываются быстрее. При этом сообщения мелкие, передаются часто, доставляются быстро и надежно. Разница очевидна при этом не только спецам, но и конечным пользователям.


Фирма же, которая по новым правилам приобрела Адаптер, купила доступ на месяц к курсам и провела сертификацию специалиста, при увольнении данного специалиста получает неработающий немасштабируемый блок, сравнимый по стоимости с ERP

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

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

Вы молодцы, тут вопросов нет, светлые головы, жадные до денег, вот только денег вам дарить больше не хочется, лучше дождаться когда 1С в типовых добавить "обмен через кролика" и мне всё равно чью внешнюю компоненту они возьмут за основу, из данного топика или "ту, другую"
berezdetsky; +1 Ответить
90. glebushka 245 03.08.19 22:24 Сейчас в теме
(86)
Вы, в целом, корректно описали состояние БИТ.Адаптер по состоянию на год назад: это была подсистема, которая имела сложную структуру, имеющая поддержку обмена разными форматами несовместимыми друг с другом, и поддерживающая, помимо прочего веб-сервисы. При этом имеющая высокий порог вхождения. В тот момент покупали систему или наши клиенты в рамках проектов, или "энтузиасты", которые в любом случае хотели перевести интеграции на событийную модель, и для многих наших ранних покупателей это, действительно, позволило сократить затраты и ускорить выпуск MVP.

Но для массового рынка продукт был не готов, и, кажется, мы вовремя поняли это и внесли соответствующие изменения:
1. Разработали интерактивный курс обучения и аттестации в виде выполнения практического задания и собеседования с экзаменатором в режиме телеконференции
2. Экзамены принимают исключительно сами разработчики продукта (это позволяет им быть как можно ближе к рынку, а студентам получить ответы на вопросы в контексте конкретной ситуации в их компании)
3. После экзамена у студентов остается на весь срок действия сертификата доступ в закрытый канал Slack, где они могут задавать вопросы и советоваться по сложным случаям напрямую с разработчиками продукта (с одним из которых "познакомились" на аттестации)
4. Сам продукт претерпел существенные изменения: количество опций в интерфейсе радикально сократилось, при одновременном увеличении числа сценариев интеграции, поддерживаемом из коробки
5. В продукт постоянно добавляются новые шаблоны интеграции (в котором аккумулирован наш проектный опыт), а курс - постоянно дорабатывается, с большими обновлениями каждый квартал
6. Именно прямая обратная связь непосредственно от разработчиков на конкретных внедрениях позволила нам уверенно отказаться от части неиспользуемого кода, а также добавить в продукт недостающий функционал (например, в ближайшее время в бит.адаптер будет добавлен функционал, который позволит выбирать между JSON/xml, при этом сохранив обратную совместимость. Это мы делаем, так как оказалось, что БИТ.Адаптер оказался очень популярным решением для реализации интеграции с веб-сайтами (битрикс, битрикс 24, atlassian и т.п.).
7. Последние два двухнедельных спринта идет рефакторинг кода, поскольку по обратной связи от студентов стек вызовов был слишком запутанный и, иногда, нелогичный. Использование CI-контура позволяет нам быть уверенными в минимизации числа проблем у наших клиентов, связанных с этой работой
8. Наконец, мы приняли коммерчески спорное решение: запретить продажи клиентам, у которых нет специалиста с действующим сертификатом БИТ.Адаптер.

Что касается вашего расчета стоимости - там есть неточности. С одной стороны, стоимость курса включает одну попытку сдачи, с другой - мы категорически рекомендуем через год оплатить заново обучение: это точно будут совершенно другой курс и продукт :)

PS. Я очень сожалею что у вас есть негативный опыт использования ранней версии БИТ.Адаптер. В качестве компенсации могу предложить следующее: вам (или вашему специалисту) мы дадим доступ к курсу и сертификации бесплатно. В случае успешной сдачи экзамена, и вашей заинтересованности, мы "простим" пропущенные периоды обновления, предоставив вам возможность, оплатив обновления, получить новую версию продукта и получать обновления в течение года. Уверен, что пройдя курс вы измените свое отношение к продукту.
Если актуально - прошу написать в личку ваши контакты для связи, а также рег. номер и дату покупки БИТ.Адаптер.
93. kembrik 3 05.08.19 14:38 Сейчас в теме
(90) "Сообщение не отправлено, отложенная группа", что бы это ни значило. ник в Tg @Kembreg
19. ZLENKO 387 29.07.19 17:52 Сейчас в теме
Ждем реализацию вендором протокола AMQP :-)
20. Begemoth80 165 29.07.19 18:15 Сейчас в теме
(19) А чем это будет лучше/полезней чем компонента с открытым исходным кодом (кроме маркетинга)?
Т.е. если посмотреть код компоненты, то никакой "хитрой" логики там нет, это всего-лишь небольшая надстройка над типовой библиотекой AMQP-CPP для взаимодействия с 1С.
Что бы 1С могла туда полезного добавить с точки зрения функций или технологий?
chemezov; +1 Ответить
21. TODD22 18 29.07.19 18:20 Сейчас в теме
(20)
Что бы 1С могла туда полезного добавить с точки зрения функций или технологий?

Поддержку из коробки, без всяких компонент.
izidakg; ZLENKO; +2 Ответить
22. Begemoth80 165 29.07.19 19:05 Сейчас в теме
(21) А чем поддержка
из коробки, без всяких компонент
лучше чем внешняя компонента с открытым кодом?
Т.е. с точки зрения кода 1С отличие в 2 сточках, где подключается компонента.
31. TODD22 18 29.07.19 21:39 Сейчас в теме
(22)
лучше чем внешняя компонента с открытым кодом?

А чем хуже?
33. Begemoth80 165 29.07.19 21:51 Сейчас в теме
(31) На мой взгляд особой разницы нет, по этому будет сложно просить
реализацию вендором протокола AMQP
45. leemuar 30.07.19 18:47 Сейчас в теме
(33) ЕМНИП внешние компоненты не умеют работать с коллекциями (массивы, структуры) и другими встроенными объектами (потоки, например). Это не всегда удобно
64. Begemoth80 165 01.08.19 07:23 Сейчас в теме
(45) Ну вроде в нашем конкретном случае это не является проблемой.
Кажется, что проблема обходится, если вместе с компонентой делать некий общий модуль-обертку, в котором "спрятаны" подобные особенности. А функции этого модуля если смотреть "снаружи" уже не имеют таких ограничений.
70. zurapa 01.08.19 10:31 Сейчас в теме
(45) Зачем в 1С весь сброд тащить. Компоненты весьма приемлемая вещь, если она не в особом ходу. Кому кролик нужен? Покажите пальцем. Просто чтобы погонять? Или действительно нужен?

Давайте начнём с того, что до кучи разработчиков обмены делают на файловых шарах. Вот так вот просто берут, шарят папку, в неё выгружают, а потом другим сервером это забирают. И всё бы ништяк, но они это делают и на сильно удалённых друг от друга системах, да ещё и по слабым каналам связи, а потом залупаются, что обмен херовый в 1С. И им даже не в домёк это делать хотя бы по почтовому протоколу. Вообще в принцыпе на слабо нагруженных системах, ну или так, не сильно нагруженных системах, можно справится и почтовым транспортом, который в том числе есть и в кролике, но нам нужен кролик. Нахера нам стандартный почтовый протокол и умение 1С работать с SMTP?!

А потом, когда достаточно кроликов и прочих хреней напихали в 1С и она стала что-то тормозить, потом начнём залупаться на быстродействие 1С и искать, что-нибудь получше. Это вот типичная проблема современного IT сообщества - хвататься за хайповые неотлаженные вещи, принебрегая известными отлаженными годами протоколами. Я понимаю, когда это про нагрузку, но в большинстве случаев, это говёно спроектированная архитектура, а нагрузка лишь показывает говёность проекта.

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

Вот веб-сервер строить в 1С, наверное полезно будет, чтобы не мыкаться с апатчами, при том, что веб-сервер, прям, очень в ходу в 1С.
DSergunov; +1 2 Ответить
75. Rashid80 28 01.08.19 13:54 Сейчас в теме
(71)
Если это ответ мне то я прекрасно знаю как работает кролик ибо использую его в других языках. Именно поэтому я и удивился как они скрестили обмен и кролика. По факту это просто rpc.
Прежде чем рвать тельняшку и доказывать очевидное можно выдохнуть и спросить
81. zurapa 01.08.19 15:48 Сейчас в теме
(75) Из вопроса было понято, что вы пытались запихать туда большое. А это только могут делать те, кто не знает особенностей, поэтому меня тут прорвало.
Если вы это знаете, то могли бы намекнуть как-то в своём сообщении. Забавно же получилось в примером, про "срать ракетами"?.. ;)
Не обижайтесь. Этим своим ответом вы полностью реабилитировались. А я получил возможность в несколько юморной форме подчеркнуть особенность кролика для тех, кто не в теме, но по каким-то причинам читает эти комментарии.
Мир вам.
83. Begemoth80 165 01.08.19 16:34 Сейчас в теме
(75)
По факту это просто rpc

Уточните пожалуйста, что вы здесь имеете в виду?

Что кролика можно использовать только для реализации RPC (remote procedure call) и нельзя/не эффективно использовать для передачи данных (даже если это просто информация о событии, например Создан контрагент ООО "Молоко")?
36. Begemoth80 165 30.07.19 11:39 Сейчас в теме
34. Rashid80 28 30.07.19 01:16 Сейчас в теме
"В рамках теста из базы УТ10.3 в базу ERP переносился 1241 документ и проводился в ERP (реализации товаров превращались в поступления)
...
План обмена из БСП в формате КД2"

Не понятно - вы гоняли тяжелые XML через кролик или что? В чем заключается обмен с помощью кролика?
35. Begemoth80 165 30.07.19 06:32 Сейчас в теме
(34) Обмен с использованием Pink RabbitMQ и Yellow RabbitMQ выполняется с помощью Адаптера, там свой достаточно легковесный формат (в принципе у нас есть в общедоступной документации, но могу отдельно про него написать). Данные передаются через кролика.

Обмен "из БСП в формате КД2" выполняется через файлы (т.е. "типовой обмен", кролик тут не участвует)
59. mybracho 31.07.19 15:31 Сейчас в теме
(35) Где почитать про ваш внутренний легковесный формат?
60. Begemoth80 165 31.07.19 15:37 Сейчас в теме
71. zurapa 01.08.19 10:34 Сейчас в теме
(34) Мужик! Это просто жесть! Ты когда берёшь технологию, ты хотя бы посмотри чуть-чуть видосики от разрабов объясняющие, как это рабтает и для каких целей. Везде где говорят о кролике, говорят о том, что он для мелких порций данных но очень частых. Большое в него сувать - это как пытаться срать ракетами - будет очень больно и смертельно даже. Не спрашивай такие вещи! Их даже читать не нужно, об этом рассказывают!..
38. Gureev 30.07.19 13:06 Сейчас в теме
Сделать открытый продукт и выложить исходники это гораздо круче, чем написать тулзу за деньги, и это достойно уважения.
Не слушайте завистников и злопыхателей.

Комерсы всегда будут втыкать палки в колеса технического прогресса.
Dach; Irwin; chemezov; sashocq; eleva; ripreal1; alprk; izidakg; Aptem199; +9 4 Ответить
39. artbear 1202 30.07.19 14:33 Сейчас в теме
(38) Коллега, Вы бы почитали (2) (6) (8) и задумались, что, возможно, ситуация с "новым" продуктом все-таки сильно (!) отличается от простого "Сделать открытый продукт и выложить исходники" :(
berezdetsky; +1 Ответить
40. Gureev 30.07.19 15:01 Сейчас в теме
(39) Я все прочитал.
Воровство кода доказано? - Нет.
Название? - Я думаю Битлз были первыми.
API? - Ну логично, что будет что-то совместимое. Программист же не идиот, делать несовместимый продукт с написанной инфраструктурой.

Я помню ситуацию с маней, когда кто-то написал аналог его супер-пупер "продукта", сколько было вони.
А потом как маню феерично выпилили с ИС из-за жадности.
chemezov; eleva; Gorus; glebushka; +4 2 Ответить
48. Evil Beaver 6884 31.07.19 07:42 Сейчас в теме
(40) воровства кода нет. Я даже посмотрел в код - написано очень по 1совски "в лоб". Даже кажется знаю почему оно медленнее. Омнокод.

И вообще, воровство в IT плоходоказуемое, ибо это на 80% идеи и лишь на 20% код.

Еще раз повторюсь: сделать конкурирующий продукт это нормально. Сделать его бесплатным - нормально. В чистую содрать АПИ (недореализовав heartbeats, потому что ниасилили) и поведение, накрыв это ёрничающим названием - некрасиво. Просто некрасиво. Но легально
chemezov; artbear; +2 1 Ответить
49. genayo 31.07.19 07:58 Сейчас в теме
(48) С названием несколько промахнулись, белый кролик имело бы намного более глубокий подтекст :))
54. glebushka 245 31.07.19 12:07 Сейчас в теме
(49) это имя уже занято в 2012 году: https://github.com/kakaranet/white_rabbit :) Причем там практически все варианты сочетаний с белым есть.
66. Begemoth80 165 01.08.19 08:04 Сейчас в теме
(48)
Даже кажется знаю почему оно медленнее. Омнокод.


Подскажите пожалуйста, "куда копать" (мы не большие специалисты в с++)?

Кажется для партнеров было-бы очень полезным, если бы в компоненте не было явного Омнокода, который к тому-же влияет на ее работу (а именно на производительность)
67. Evil Beaver 6884 01.08.19 09:28 Сейчас в теме
(66) Ну не, посоны, давайте сами и без обид.
ZhdanovR; +1 Ответить
42. izidakg 161 30.07.19 17:07 Сейчас в теме
Сейчас мало кто выкладывает исходный код, даже уже "устаревших" решений и уже поэтому автору спасибо, а учитывая актуальность темы - СПАСИБО
Если получится, с большим удовольствием поучаствую хотя бы в тестировании.
Что касается благодарности, то как понимаю вопрос не в отсутствии, а качестве))) Ну а по претензии что API 1-в-1 вопрос: кто помнит про такое понятие как СТАНДАРТЫ, ГОСТ? В конце концов даже в публикации от Yellow RabbitMQ есть раздел "Без имени нет предмета".
Получается при желании разработать свой продукт, разработчик должен придумать все свои наименования объектов, команд? Возможно есть ситуации где это реально необходимо, но в большинстве случаев это глупость мешающая развитию.
А в целом статья Yellow RabbitMQ мне очень понравилась, для важно было подробное описание элементарных вещей, жаль нет возможности поработать с компонентой без оплаты. Эта статья по сути как продолжение, что-то вроде технического описания с приложенным функционалом для работы
46. Begemoth80 165 30.07.19 20:08 Сейчас в теме
(42)
Если получится, с большим удовольствием поучаствую хотя бы в тестировании.


Да, вы бы могли очень помочь проекту.

Сейчас у нас выполняется автоматическое тестирование сборок компоненты с использованием ADD (он тоже есть на GitHub, его делает Артур, он тоже участвует в этом обсуждении).

ADD нам полностью подходит, но сама проверка выполняется на тестах Адаптера.

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

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

Т.е. для того, чтобы все кто скачивает компоненту могли ее доработать и сами проверить, что ничего не сломалось, нужно:
1. Разработать некий минимальный (но полный) набор BDD тестов которые проверяют именно работу компоненты, например используя ADD
2. Включить эти тесты в репозиторий PinkRabbitMQ

Тогда любой, кто клонирует репозиторий сможет внести свои изменения, пересобрать компоненту (мы постарались максимально облегчить этот процесс включив зависимости) и сразу проверить, что ничего не сломалось.

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

Мы чуть позже выложим в репозиторий файлик CONTRIBUTING.MD в котором опишем правила, как можно вносить изменения в репозиторий. Но если вам интересна такая задача, то можно прямо сейчас начать с создание соответсвующей issue в репозитории.
52. ripreal1 517 31.07.19 09:42 Сейчас в теме
(46) О том как поучаствовать в проекте см. файл CONTRIBUTING.MD
62. Evil Beaver 6884 31.07.19 17:41 Сейчас в теме
(42) демо-версия YRMQ бесплатная, насколько я знаю.
96. Alex_Smolensky 104 07.08.19 19:05 Сейчас в теме
(62) может она бесплатная для избранных. Мне не удалось достать ни демо-версию ни описание к ней ни через сайт ни через телефон.
43. hawk911 30.07.19 18:05 Сейчас в теме
Представители Пули не возмущаются, значит они в курсе - а возможно, продали данный продукт... а БИТ пиарится.
44. artbear 1202 30.07.19 18:08 Сейчас в теме
(43) Представители Пули "офигели" от такого "нахальства коллег" :(

Андрей как автор кода выше уже отписался, например, смотри (2) (6) (8)
Я как человек также участвовавший в проекте Желтого Кролика, с ним абсолютно согласен.
47. hawk911 31.07.19 03:52 Сейчас в теме
(44) тогда, да - некрасиво получается.
50. izidakg 161 31.07.19 08:50 Сейчас в теме
(44) и все таки кто-то чего-то не договаривает и под "нахальства коллег" похоже имеется что-то другое, а не описанное в постах (2) (6) (8)
про использование API 1-в-1 даже в (8) написано что это норма, продуктов похожих\идентичных много и требовать другие наименования команд глупо.
еще хотя основная мысль в этих трех постах что было слизано название, которое рождалось в муках творчества и это в серьез? в (6) даже высказано что авторы этой публикации должны были убрать из названия "Rabbit". Вопрос только один - а разве представители Пули являются разработчиком "Rabbit"? Если да, тогда они в праве требовать что-либо на эту тему.
о претензии что Yellow RabbitMQ популизировало кролика, а тут приперлись на все готовое также раздута. Про кролика больше ни кто не пишет?
Да статья получилась немного не политкорректна, ссылок на конкурента хватает. И как понимаю ключевая проблема в исходниках, что в наше время среди "крутых" разработчиков не принято.
Разработчики как понимаю с нуля написали свою компоненту, если есть факты воровства кода, то должны быть приведены факты.
Irwin; chemezov; eleva; barelpro; glebushka; ripreal1; Gorus; +7 1 Ответить
51. ripreal1 517 31.07.19 09:38 Сейчас в теме
Кстати, YellowRabbitMQ API - не что-то эдакое особенное, а просто переадресация и адаптация под 1С части методов либы, вероятно использованной в ее основе http://alanxz.github.io/rabbitmq-c/docs/0.5.0/annotated.html. Да и вообще обе либы ничего сами не делают по сути, а просто перенаправляют вызовы для их понимания 1С-ом. Нормальный С++ прогер может написать эту либу за 2 дня. И стоит ли ради таких вещей разводить споры?

НО!
chemezov; Gureev; zurapa; minimajack; +4 Ответить
53. Infactum 291 31.07.19 11:54 Сейчас в теме
(51) 2 дня - это слишком оптимистичная оценка.
Тесты? Причем не только юниты на уровне C++, но и интеграционные на 1С. Кросплатформенность? Да и ссылку вы дали на С библиотеку.
А уж найти С++ разраба, который знает современные плюсы, а не пишет код по стандарту двадцатилетней давности, да еще и за 1С готов взяться, мягко говоря не просто.
Evil Beaver; +1 Ответить
55. minimajack 71 31.07.19 13:08 Сейчас в теме
(53) ссылка на rabbitmq-c не относится к PinkRabbitMQ

В статье все ссылки на либы : с++ и кроссплатформенные.
2 дня - это как раз норм для MVP; что бы работало хоть как то.

Тесты не обязательно как бы. Кому нужны могут сделать pull request.
56. Infactum 291 31.07.19 13:22 Сейчас в теме
(55) Ну а кому нужен MVP? Тем, кто просто хочет хайпануть, рассказывая , что использует "кролик" ?
Реальному бизнесу нужен продукт. Надежный и протестированный. И на сколько я вижу PinkRabbit так и позиционируется. Хоть и сыроват пока.
Так что фраза про 2 дня выглядит неуместной. Особенно в контексте этой темы, где постоянно сравнивают с продуктом пули.
58. minimajack 71 31.07.19 14:07 Сейчас в теме
(56) MVP - minimum viable product. Даже если это будет работать медленно, синхронно, только получать сообщения - это все равно продукт который можно использовать в бизнесе.
Понятно что есть риски, но зачем продавать со своей подсистемой "левую" компоненту, когда можно написать свою?

Бит:Адаптер и "Событийная интеграция" - никто не сравнивает, сравниваются NativeApi компоненты в конкретной задаче.

з.ы. Я не смог бы заопенсорсить продукт который ломает бизнес другим...но прогресс не может стоять на месте
61. glebushka 245 31.07.19 17:24 Сейчас в теме
(58)
Я не смог бы заопенсорсить продукт который ломает бизнес другим...но прогресс не может стоять на месте


Вообще я не согласен, например, мы начали и не доделали https://github.com/BITERP/vanessa_debugger/
Но мы всё-равно выложили. Вдруг кто доделает? Зачем велосипед с нуля делать?
В общем, разумеется, не нужно вводить в заблуждение, но не выкладывать что-то потому что "вдруг у кого чего сломает" - имхо, неправильно.

Но конкретно к данной компоненте это не относится. Используется уже на нескольких "нагруженных" внедрениях, и имеет вполне себе CI (отчет по которому доступен с гитхаб)
chemezov; +1 Ответить
63. minimajack 71 31.07.19 17:55 Сейчас в теме
(61) Спасибо убедили.
Все что не выложено - исключительно по причинам личного характера. Если это кому нибудь надо - даешь опенсорс!!!
65. izidakg 161 01.08.19 07:57 Сейчас в теме
(51) нескольких ссылок на их публикацию мало? если бы на инфостате не было публикации, то да. В конце концов Yellow RabbitMQ в первую очередь должен был дать ссылку на себя
69. Eret1k 01.08.19 10:17 Сейчас в теме
Хорошее решение, но кое-чего все же не хватает.

Почему не реализовали метод BasicGet?
Вам не кажется что это, выглядит как минимум странно:
Потребитель = КлиентКомпоненты.BasicConsume(ИмяОчереди, "", Истина, Ложь, 0);
КлиентКомпоненты.BasicConsumeMessage("", ОтветноеСообщение, 5);
КлиентКомпоненты.BasicAck();
Если уж вы пишите native и намекаете на использование consumer-a, то имеет смысл попробовать реализовать передачу "Описание оповещения" или "ДобавитьОбработчик"

То что Я описывал на основании COM куда проще.
Результат = Модель.BasicGet(ИмяОчереди, Ложь);


Нет методов: QueueDeclarePassive() и ExchangeDeclarePassive(), а ведь они очень удобно позволяют проверять наличие обмена и очереди на сервере.

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

P/S/
Спасибо за OpenSource! В мире 1С этого всегда не хватает.
Но мне кажется, что мое описание через com все же проще: https://infostart.ru/public/1051620/
77. ripreal1 517 01.08.19 13:56 Сейчас в теме
(69)
Метод BasicGet() забирает только одно сообщение из очереди. На практических задачах требуется обычно забрать все сообщения из очереди. Поэтому его нет. Можно реализовать самому, т.к. он достаточной простой через issue и пулл реквест.

Компонента не использует Внешние события, вт.ч. ОбработчикОповещение, т.к. все это работает только на клиенте. Это не очень удобно, учитывая, что полученное сообщение обычно сразу нужно записать на сервере. Поэтому на проектах компонента изначально инициализируется на сервере.

По поводу QueueDeclarePassive() и ExchangeDeclarePassive(), В API компоненты в методах DeclareQueue и DeclareExchange предусмотрен параметр onlyCheckIfExists. Она еще не реализован, т.к. не было необходимости.

"Headers" в данной компоненте вообще не поддерживаются. Если кому-то потребуется на реальных задачах можно завести issue на гитхабе, чтобы ускорить процесс
85. Eret1k 02.08.19 10:04 Сейчас в теме
(77)
Метод BasicGet() забирает только одно сообщение из очереди. На практических задачах требуется обычно забрать все сообщения из очереди. Поэтому его нет.


Со всем уважением к данным трудам, но в данной реализации:
КлиентКомпоненты.BasicConsumeMessage("", ОтветноеСообщение, 5) Тогда
КлиентКомпоненты.BasicAck();
И
Результат = Модель.BasicGet(ИмяОчереди, Ложь);
делают абсолютно одно и тоже.

Если Я правильно понимаю API, чтобы забрать все сообщения через компоненту, нужно:
Потребитель = КлиентКомпоненты.BasicConsume(ИмяОчереди, "", Истина, Ложь, 0);
МассивСообщений = Новый Массив;
ОтветноеСообщение = "";
Пока КлиентКомпоненты.BasicConsumeMessage("", ОтветноеСообщение, 5) Цикл
	КлиентКомпоненты.BasicAck();
	МассивСообщений.Добавить(ОтветноеСообщение);
КонецЦикла;

Если бы реализовали Метод BasicGet() и MessageCount() было бы так:
МассивСообщений = Новый Массив;
Пока КлиентКомпоненты.MessageCount(ИмяОчереди) Цикл
	Результат = КлиентКомпоненты.BasicGet(ИмяОчереди, Ложь);
	МассивСообщений.Добавить(Результат.Сообщение);
КонецЦикла;

Второй вариант красивее и более интуитивно понятный чем имеющийся на данный момент.
88. ripreal1 517 03.08.19 12:26 Сейчас в теме
(85) Не получится так сделать. Нет метода, который позволяет получить количество сообщений в очереди. Кроме того мы делали API совместимое с серебрянной пулей.
78. glebushka 245 01.08.19 13:59 Сейчас в теме
(69) (77) реально ускорит процесс примеры из жизни, где бы потребовался указанный функционал, которые бы были релевантны реальным или потенциальным пользователям БИТ.Адаптер.
Если же это специфическое требование, нужное (69), то самый надежный способ: сделать самому и сделать пулл-риквест.
72. zurapa 01.08.19 11:13 Сейчас в теме
А у меня тут вопрос возник по обоим кроликам. Зачем они, если есть такие разработчики, которые не понимают его концепции и пихают туда большое, при том что 1С уже умеет SMTP, в который можно пихать и большое. Почтовик это вполне пережуёт и отправит и даже на говёных каналах связи это просрётся с какой-то там попытки. Но, почему-то мы все говорим о кроликах, которые не умеют срать ракетами, но каждый заурядный программист пытается выяснить величину ракеты, с которой кролик порвётся и перестанет бегать между серверами. А потом ещё и выступают на конференциях со своими открытиями.

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

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

Так вопрос снова - На... Зачем нужен кролик?! - если надежность и гарантия доставки падает, появляется куча других неизвестных, хоть и доставляется всё вроде бы быстрей.

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

И вы со своим кролём пытаетесь эту технологию перевести на некий иной уровень, когда это будет работать непонятно как, вам потребуются неслабые знания в работе кроля, и понимание всех тонкостей одновременной работы с одинми и теми же данными из разных мест.
Значимость свою повышаете? Денег больше хотите? У вас это получится.

Только, когда вы станите очень крутыми руководителями, знающими весь этот багаж технологий: кролей, молей, постгресов - вам придётся искать себе в подчинение специалистов на эту инфраструктуру сложную, и там вы увидите то, что вижу я... Специалистов таких не будет. У вас будет отдельно специалист по постгресу, но не знающий 1С, и будет хотеть кучу денег за свои экспертные знания, у вас будет спец по кролику, который будет хотеть за свои знания много денег, но не будет хотеть разбираться в 1С, а ещё у вас будет системный администратор, который совершенно не за хочет знать 1С, но будет круто знать почтовики ( но увы не postfix, а Exchange).... Там бескончено можно продолжать. В общем у вас будет возможность раздуть бюджет IT до невообразимых размеров и потом хвастать на конференции, какой вы молодец, что вы всё это тяните шибко не вдаваясь в подробности, как это работает.
А если у вас фирмочка не транснациональная, то вы со всем этим сядите в лужу, потому, что такого многоликого спеца с нужным стеком знаний нет, а вам одобрили взять только двух, и вы будете выбирать между умным или дешёвыми двумя, которых ещё придётся доучивать. Но ни тот умный, ни те два тупых не закрывают ваших необузданных фантазий.

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

Кролик - весьма сомнительная технология, как и кафка для 1С. В больших корпорациях это может и стрельнит, но в среднем бизнесе это лишь удорожает весь процесс решая всё тот же круг задач.
Dach; botokash; DSergunov; nicxxx; +4 6 Ответить
76. glebushka 245 01.08.19 13:55 Сейчас в теме
(72)
Кролик - весьма сомнительная технология, как и кафка для 1С.


А кто вам сказал что клиентам нужно продавать кролика и данную компоненту к кролику? Это оупенсоурс, и незаконно :)
Мы продаем решение, которое состоит из коробки, готовых шаблонов интеграций между популярными системами и курсом (с сертификацией) для специалистов заказчика. По практике спец, который ранее занимался обменами на КД2/3 в течение недели начинает делать обмены на БИТ.Адаптер, в течение двух недель скорость разработки интеграций становится не меньше чем раньше, а в течение месяц интеграции разрабатываются быстрее. При этом сообщения мелкие, передаются часто, доставляются быстро и надежно. Разница очевидна при этом не только спецам, но и конечным пользователям.
А для корпораций есть версия КОРП, которая дополнительно и готовый CI-контур содержит. Но тут я соглашусь, для среднего бизнеса это пока слишком дорого в первичной настройке и обслуживании.
Поэтому мы и не паримся, и вложили в опенсоурс. Так как те, кто пользуются нашей компонентой это:
1. или энтузиасты, которые как минимум помогут улучшить и компоненту, и БИТ.Адаптер, как максимум - наши будущие сотрудники :)
2. или наши будущие клиенты, которые столкнувшись с описанными проблемами, сформируют как раз ту потребность, которую закрывает БИТ.Адаптер.
PS. С точки зрения сложности внедрения, поддержки и диагностики проблем традиционные решения гораздо сложнее чем кролик
84. zurapa 01.08.19 17:12 Сейчас в теме
(76) Позвольте я перефразирую ваши слова в контексте своего мнения как это выглядит на мой взгляд.

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

Это, как делать всё более требовательные к ресурсам приложения, чтобы покупали более дорогие и современные смартфоны.

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

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

Если вы такие прогрессивные за OpenSource сделайте так, чтобы нужно было платить за поддержку, обучении, сделайте продукт свободным для скачивания, а не 200-500 тыс. руб. Если продукт того стоит, то, думаю корпорации поддержат его рублём. Или нет?

С 1С'овской иглой и так всё понятно, к ней привыкли, с неё не соскочить. А ваша иголка очень дорогая. Но если 1С упирается где-то в потолок своих возможностей, и компания позволяет содержать штат разработчиков, то я бы что-нибудь своё, или из opensource взял и допиливал в складчину с другой такой же отчаянной компанией, нежели платил бы за очередной костыль для 1С, который всё равно упрёт меня в потолок но чуть позже.

П,С.: OpenSource можно продавать, и это законно. Вы всего лишь должны полностью открыть код для разработчиков, чтобы они могли его взять и поправить. Так работает BSD лицензия. Вы можете взять любой BSD код и продавать его. Можете его скопировать, модифицировать, закрыть и продавать. OpenSource - открытый код. Там не сказано про запрещение продавать. И даже в GPL если не ошибаюсь можно продавать такой код - только закрывать нельзя.
74. acanta 01.08.19 12:59 Сейчас в теме
Пока фирма 1с не сделает собственную сертификацию по постгресу и вообще каждый отдельной поддерживаемой СУБД как предшествующую экзамену на эксплуататора...
87. kabanoff 41 02.08.19 16:08 Сейчас в теме
Не получается проверить вашу компоненту.
Создал себе тестовый стенд на cloudamqp.com, в демонстрационной обработке прописал параметры подключения. При попытке подключиться обработка напрочь зависает как на клиенте, так и на сервере. Зависает на методе КлиентКомпоненты.Connect().
89. ripreal1 517 03.08.19 12:28 Сейчас в теме
(87) Компонента зависает, если пытается подключиться к порту, которого не сущесвует на сервере. Поэтому скорее всего неправильно прописан порт.
91. kabanoff 41 05.08.19 09:57 Сейчас в теме
(89) Да, всё получилось. Спасибо!
92. altu71 05.08.19 12:27 Сейчас в теме
Напишите, пожалуйста, поподробнее, что нужно сделать, чтобы заработала ваша компонента на сервере под Линуксом? Достаточно собрать с указанием нужной платформы или нужно вносить изменения в исходный код компоненты? Если второе, то планируете ли вы в ближайшее время это сделать? В наше импортозамещаемое время это было бы актуально для многих, мне кажется.
94. ripreal1 517 05.08.19 15:49 Сейчас в теме
(92)
Код нуждается в небольшой доработке. Кроме этого нужно пересобрать 2 зависимости, а также сделать новый конфиг в sln проекте для запуска под линукс. Пока таких планов нет. Контрибьюторы приветствуются.
95. artbear 1202 07.08.19 14:44 Сейчас в теме
(92) В исходном платном компоненте YellowRabbitMQ есть поддержка и Linux, и Win.
97. leobrn 416 19.08.19 11:05 Сейчас в теме
а как в компоненте закрыть соединение ? .Close() не отрабатывает, в документации компоненты не нашел.
98. ripreal1 517 19.08.19 20:37 Сейчас в теме
(97)
Соединение закрывается автоматически при очищении NativeAPI объекта. Нужно установить переменную компоненты в Неопределено. Метода Close() не предусмотрено.
Оставьте свое сообщение

См. также

Miracle Native - ВК для V8 Промо

Разработка внешних компонент v8 Россия Бесплатно (free)

Настоящая ВК написана по технологии 1С-Native. По методам и свойствам является наследницей MIracveV8 с планируемым развитием функционала. Версия 1.2.1.1 Не триальная, подправлена некорректная работа под х64

23.04.2012    32636    0    Abadonna    81    

Реально ли запустить 1С:ERP 2 на градообразующем предприятии за 3 месяца?

Управление проектом v8 ERP2 БУ УУ Бесплатно (free)

ERP – сложный программный продукт, который требует от внедренцев не только знаний и опыта, но и корректного общения с заказчиком и пользователями. Некоторыми секретами при запуске 1С:ERP 2 с участниками конференции Infostart Event 2019 Inception поделился руководитель офиса БИТ:ERP компании Первый БИТ Глеб Стальной.

28.08.2020    1512    glebushka    7    

Внешняя компонента для ping (под win)

Разработка внешних компонент v8 1cv8.cf Бесплатно (free)

Цель: выполнение ping из 1С без использования команд системы. Может быть полезна разработчикам для проверки доступности компьютеров.

05.01.2019    5975    3    milut    4    

Распутывая узлы интеграции: Построение архитектуры слабосвязанных систем, или Кролики наступают

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

Речь пойдет об интеграции систем. Кому вообще стоит обратить внимание на эту статью? Если у вас всего лишь две типовые конфигурации, то вам, наверное, эта тема будет не очень интересна – у вас нет тех проблем, с которыми сталкиваются люди, имеющие три системы и более. Но если у вас есть больше двух систем, а особенно, если есть веб-сайт, который обменивается с 1С, вам точно стоит это прочитать.

28.05.2018    21407    Evil Beaver    25    

Простая подсистема обмена данными для 1С на платформе RabbitMQ (Адаптер 3)

Внешние источники данных Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Платные (руб)

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

200000 руб.

24.01.2018    15797    0    16    

Мини-Эверест: Native ВК для 8.х

Разработка внешних компонент v8 1cv8.cf Бесплатно (free)

Список и свойства HDD, список и свойства ОЗУ, список запущенных процессов (для терминала - всех пользователей с указанием номера сессии), список запущенных сервисов, характеристики BIOS

20.08.2014    16804    0    Abadonna    7    

ВК для работы с файлами FilesNative.dll

Разработка внешних компонент v8 1cv8.cf Бесплатно (free)

Компонента реализует некоторые методы работы с файлами (архивами). Поддерживаемые форматы распаковки архивов: ZIP, JAR, XPI, BZ2, BZIP2, TBZ2,TBZ,RAR, R00, ARJ, Z, TAZ, LZH, LHA, 7Z, CAB, LZMA, LZMA86, ISO, XAR, MSI,RPM, TAR, GZ, TGZ, TPZ

18.06.2014    17706    0    Abadonna    9    

NetNative: ВК для работы с сетью

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

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

23.02.2014    19649    0    Abadonna    10    

Отслеживание изменений каталога в REAL-TIME: Native ВК для 8.х

Разработка внешних компонент v8 Россия Бесплатно (free)

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

09.10.2013    20893    0    Abadonna    38    

Трей-мессенджер: Native ВK для 8.х

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

Иконка 1С в трее с popup-mеnu, баллуны, оповещения, обратная связь. Выполнена по технологии Native, не требует регистрации в реестре и особых прав пользователя. Имеет обратную связь с 1С через генерацию внешних событий. Имеет popup-menu на иконке в трее для управления окном 1С (закрыть, скрыть, показать+ 2 пункта генерации событий). Есть возможность убрать кнопку главного окна из панели задач.

23.09.2013    26647    0    Abadonna    121    

Внешняя компонента для работы со строками

Разработка внешних компонент v8 Россия Бесплатно (free)

ВК по технологии Native для работы со строками: хеши по различным алгоритмам, крутое шифрование, вычисление релевантности (схожести) строк. Событие переключения подсистем.

20.03.2013    25991    0    Abadonna    105    

ВК для 1С:Предприятие 8.2 NativeAPI на Delphi (запуск приложений, раскладка клавиатуры, события и др.)

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

Внешняя компонента на основе разработки Крипича http://infostart.ru/public/81644/ - NativeAPI на Delphi реализует запуск процесса с заданным приоритетом и видимостью окна, переключение раскладки клавиатуры, всплывающие сообщения в трее, паузу sleep без загрузки процессора и внешние события.

01.08.2011    46426    0    romix    57    

Драйвер клавиатурного сканера

Разработка внешних компонент v8 Россия Бесплатно (free)

Драйвер сканеров USB-HID (эмуляция клавиатуры) для 1С Предприятие 8.2. Дополнительно может отсылать текст на дисплей покупателя Posiflex PD2601.

13.07.2011    10718    0    Ma_X_X    12    

Thermal Print Library - ActiveX библиотека для печати на термопринтерах Godex BZB2/EZ2/EZ4, C.Itoh EZ2/EZ4, Citizen CLP-521/621

Разработка внешних компонент v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

Библиотека Thermal Print Library является COM сервером и предназначается для использования в любых средах, которые в состоянии выступить в роли OLE-клиента (MS Office, 1С Предприятие, VB, VBScript, и т.д.). Допускается применение со следующими моделями термопринтеров : Godex BZB2/EZ2/EZ4, C.Itoh EZ2/EZ4, Citizen CLP-521/621.

20.09.2010    22110    0    GreenLab    23    

[BackgroundWorker] - Фоновые задания в файловом режиме 1С 8.x

Практика программирования Разработка внешних компонент v8 1cv8.cf Бесплатно (free)

ActiveX-компонента позволяет выполнять задачи в фоне с индикацией прогресса и возможностью прерывания выполнения. Также работает и клиент/серверном варианте, в качестве альтернативы типовым фоновым заданиям

04.03.2010    23318    0    Душелов    15    

Архивация базы 1С-Предприятие

Разработка внешних компонент Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Используем стандартный планировщик Windows и файл Visual Basic Script с файлом настроек, для плановой выгрузки базы данных.

29.12.2009    10927    0    alves    4    

ActiveX - плейер для 1С

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

Для тех, кто любит всё внутри 1С ;) Форматы: mp3 и wav

01.12.2009    17682    0    Abadonna    39    

Использование визуальных (ActiveX) компонент в тонком клиенте 1С 8.2

Разработка внешних компонент Администрирование данных 1С v8 1cv8.cf Россия Бесплатно (free)

В данной статье рассматривается вопрос использования визуальных компонент (ActiveX) на форме тонкого клиента 1С 8.2 и веб-клиента на базе MS Internet Explorer.

19.11.2009    40797    0    Душелов    59    

Хранитель COM - объектов

Разработка внешних компонент Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Позволяет сохранять COM - объект между серверными вызовами в 8.2. Сохраняет и получает ссылку на объект в ROT (Running Object Table). БЕТА!

18.11.2009    12571    0    Hadgehogs    14    

[SendGoogleSMS] Отправка SMS уведомлений через сервис Google Calendar

WEB SMS рассылки Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Компонента генерирует события в Google Calendar с извещением по SMS. В архивах ВК для 7.7 (работает и в 8-ке) и ActiveX - для работы в контексте сервера 1С 8.х

07.08.2009    29682    0    Душелов    37    

[PDF Viewer] - Просмотр PDF в 1С

Разработка внешних компонент Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

ActiveX-компонента для просмотра PDF. Позволяет сохранить в виде текста, картинки и PostScript. Реализованы механизмы поиска текста и печати.

15.07.2009    34931    0    Душелов    57    

Подпись к полю ввода в самом поле

Работа с интерфейсом Разработка внешних компонент v8 1cv8.cf Бесплатно (free)

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

30.04.2009    16584    0    Stepa86    22    

[IFilter] Поиск в содержании файлов из 1С (ВК, .NET)

Разработка внешних компонент Поиск данных v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Компонента для работы с фильтрами поисковых систем. Получает текст из файла по установленном в системе фильтрам. Индексирует и ищет файлы по их содержанию (аналог Desktop Search) Поддерживает *.doc, *.xls, *.txt, *.ppt. Дополнительные фильтры можно скачать с http://www.ifilter.org/Links.htm

24.03.2009    32868    0    Душелов    44    

[Сервер событий] Клиент + Сервер + Внешние события

Разработка внешних компонент Перенос данных из 1C8 в 1C8 1С7.7<->1C7.7 v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Средство для генерирования событий между разными сеансами, базами и платформами 1С

17.03.2009    20865    0    Душелов    32    

[RClassMngr] ООП для V8. Добавляем наследование v.1.1

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

Посвящается 1С++. Добавляем в V8 наследование свойств и методов объектов.

15.03.2009    18287    0    Robert    94    

[Генератор внешних событий] Внешняя компонента для 1С

Практика программирования Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Компонента генерирует внешние события с заданным интервалом и с заданными значениями.

06.03.2009    38745    0    Душелов    81    

[Мониторинг изменения файлов] - ActiveX-компонента для 1С 8.х + ВК для 7.7

Практика программирования Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Компонента следит за изменениями файлов в заданных каталогах, без таймеров и опросов файловой системы. Использует события Windows.

05.03.2009    24580    0    Душелов    53    

[Проверка правописания] - ActiveX-компонента для 1С

Практика программирования Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Компонента проверяет правописание текста. Основана на технологии OpenOffice MySpell. Не требует установленного офиса. В комплекте словари для 5 языков, включая русский (с "ё").

09.02.2009    29041    0    Душелов    66    

[ExcelEditor] Чтение/запись файла Excel напрямую из 1С без Excel (формат 97/2003)

Загрузка и выгрузка в Excel Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Чтение и запись файла Excel напрямую из 1С Компонента читает и редактирует напрямую файл Excel без загрузки самого Excel (формат Microsoft Office 97/2003)

08.01.2009    46675    0    Душелов    92    

Защита информации при обмене данными между информационными базами "Управление производственным предприятием"

Защита и шифрование Разработка внешних компонент Обмен через XML v8 УПП1 Бесплатно (free)

Защита информации при обмене с распределенной базой данных. В крупной фирме имеется одна центральная информационная база 1С:Предприятие 8.1 "Управление производственным предприятием" и несколько периферийных баз, обмен данными происходит через файлы XML. После выявления многочисленных случаев несанкционированного доступа к конфиденциальной информации, а именно кассовым и банковским документам при обмене данными, руководством было решено защитить данные при обмене информацией между центральной базой и периферийными базами. Перемещение данных между базами происходит через файлы XML, по нескольким каналам связи FTP, HTTP, POP, SMTP, а также на сменных носителях (типа USB Flash Drive). В связи с этим решено использовать внешнюю компоненту для шифрования файлов XML и небольшой доработки конфигурации баз данных.

25.11.2008    14616    0    astracrypt    13    

"Захват окон" - ActiveX-компонента для 1С

Разработка внешних компонент Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Захватывает открытые окна и помещает их в 1С, так же получает скриншот выбранного окна. Хотите играть в пасьянс в 1С, смотреть кино или просматривать секретные документы ;) и не светить эти окна на рабочем столе, тогда эта компонента для Вас :)

20.11.2008    23978    0    Душелов    64    

"WebCam" - ActiveX-компонента для 1С

WEB Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Компонента работает с устройствами, поддерживающими Twain32 драйвер (вебкамеры, фотоаппараты и др.)

28.09.2008    41680    0    Душелов    77    

COM-объект, реализующий метод Sleep

Разработка внешних компонент Универсальные функции v8 1cv8.cf Бесплатно (free)

COM-объект, реализующий метод Sleep. Может использоваться на сервере 1С, в win x86 и x64

13.08.2008    19587    0    ValeriVP    26    

1С: Предприятие 8, не работает прерывание по Ctrl+Break

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

В 1С: Предприятии 8 для прерывания выполнения операций используется комбинация клавиш <Ctrl>+<Break>. На практике, на некоторых компьютерах эта комбинация не работатет, что вызывает некоторые неудобства (нет возможности прервать длительную операцию).

31.07.2008    19485    0    vovk_v    3    

"Аналоговые часы" - ActiveX-компонента для 1С

Разработка внешних компонент Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

"Аналоговые часы" - ActiveX-компонента для 1С 8.х Небольшое "украшательство" для форм 1С.

20.05.2008    21460    0    Душелов    23    

НЕТЛЕНКА

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

Многообъектная внешняя компонента дополнительного функционала.

06.03.2008    49975    0    Hadgehogs    152    

ВК дополнительного функционала

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

Дополнительный функционал для 1С. Работа с окнами, событиями Windows, звуком, и.т.д.

26.12.2007    55429    0    Hadgehogs    30    

Перехватчик нажатий клавиш (ActiveX)

Разработка внешних компонент Сканер штрих-кода Розничная торговля Розничная торговля v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

Примитивная компонента ActiveX, перехватывающая нажатия клавиш и принудительно возвращающая фокус компоненте при его потере. Искал в свое время для внедрения в интерфейс кассира. Может, кому еще пригодится.

14.12.2007    20527    0    MRAK    18    

Плагин TotalCommander-а просмотра файлов 1C v8

Разработка внешних компонент v8 1cv8.cf Россия Бесплатно (free)

lister-plugin для TotalCommander-а для просмотра содержимого файлов 1С 8-й версии. v1.0.0.14

04.12.2007    32253    0    MMF    112