Ну половину я уже показывал в ролике по разработке внеш. компоненты на с++. Тут эта часть такая же. И вторая часть это разработка библиотеки на rust, которая экспортрует фукнции. Потом эта библитека подключается к коду на с++ собирается уже в общую dll (или so для linux). Может позже сделаю ролик по разработке по подобной технологии. В итоге большая часть логики (90% или больше) на rust
Вопрос. В предыдущих видео была схема работы 1С + FastAPI на python. Не проще ли для простого обмена использовать SDK на python pika, а отправлять из 1С и толкать в 1С через простой http-сервис?
Для простого обмена можно использовать КД2/КД3 хоть через файл, хоть "прямое подключение" если базу-приемник "видно"... А тут - через TCP - читай через инет... Через какую технологию можно больше и быстрее передавать - нужно померить... RMQ - некий "стандарт" - в 1С пришел "из-вне"...
Денег не жалко, но вопрос в надежности работы. Если у компоненты есть контроль лицензирования, т.е. привязка к ключу, к аппаратному обеспечению сервера и т.д., то есть риск потери работоспособности системы при замене оборудования, обновлении сервера, потери/поломки ключа. И кто то должен знать и помнить, что у какой то dll-ки есть ключ лицензии. Админы меняются, никто не вспомнит об маленькой компоненте.
Контроль очень просто реализован, ключ вставляется прямо в код обработки. Там пара: имя пользователя, токен. И эта пара проверяется при создании. Больше никаких привязок нет. Ничего не слетит. Теоретически её можно на другой сервер поставить, но я надеюсь что этим не будут злоупотреблять
У вас платформа 32х разрядная значит. Ошибка об этом говорит. Я не собирал библиотеки для 32х разрядных. Так как в реальности, скорее всего 32х разрядную мало кто использует, а мне тратить каждый раз время на сборку
Сложнее намного. На с++ уже есть готовый API, проще написать библиотеку на rust и использовать ее на с++. Там тесно все завязано на с++. Классы, аллокаторы памяти которые 1С передает в компоненту и через которые надо выделать память.
09:20 Я бы архитектурно сделал немного подругому (если это возможно) . После создания Подключение все последующие методы привязал туда Подключение.ЭтоОшибка(); Подключение.СоздатьКанал(). Так бы выглядело проще и логичнее.
Подключение это структура, у неё методы не вызовешь. Это тогда надо возвращать не структуру, а экземпляр обработки, чтобы можно было потом у неё методы вызывать. Но тогда не удобно будет результат смотреть, в структуре всё нагляднее. В итоге, сделал так. Хотя у меня была такая же идея, как у вас.
Легенда! Самое интересное это конечно посмотреть как сама компонента под капотом работает, а не использовать готовое.
Ну половину я уже показывал в ролике по разработке внеш. компоненты на с++. Тут эта часть такая же. И вторая часть это разработка библиотеки на rust, которая экспортрует фукнции. Потом эта библитека подключается к коду на с++ собирается уже в общую dll (или so для linux). Может позже сделаю ролик по разработке по подобной технологии. В итоге большая часть логики (90% или больше) на rust
Элегантное решение 👍 Пока нет задач по обмену через Кролика, но при случае опробую, спасибо!
Буквально новое решение моего проекта! Как всегда с новым роликом что-то уникальное, Вы лучший!!!😍
Уже писал, но напишу еще раз. Топ канал. Жаль не заслужено мало подписчиков. Поднимаешь очень интересные темы.
Спасибо большое за информацию. Было интересно. Всегда выпускаешь видосы который взрывают мозг в хорошем смысле.
Классно! Спасибо! Буду знать и пробовать=)
Лучший из 1с. Хоть кто то показал про кролика.
Давай хоть донат скину
Вопрос. В предыдущих видео была схема работы 1С + FastAPI на python. Не проще ли для простого обмена использовать SDK на python pika, а отправлять из 1С и толкать в 1С через простой http-сервис?
Для простого обмена можно использовать КД2/КД3 хоть через файл, хоть "прямое подключение" если базу-приемник "видно"...
А тут - через TCP - читай через инет...
Через какую технологию можно больше и быстрее передавать - нужно померить...
RMQ - некий "стандарт" - в 1С пришел "из-вне"...
Денег не жалко, но вопрос в надежности работы. Если у компоненты есть контроль лицензирования, т.е. привязка к ключу, к аппаратному обеспечению сервера и т.д., то есть риск потери работоспособности системы при замене оборудования, обновлении сервера, потери/поломки ключа. И кто то должен знать и помнить, что у какой то dll-ки есть ключ лицензии. Админы меняются, никто не вспомнит об маленькой компоненте.
Контроль очень просто реализован, ключ вставляется прямо в код обработки. Там пара: имя пользователя, токен. И эта пара проверяется при создании. Больше никаких привязок нет. Ничего не слетит. Теоретически её можно на другой сервер поставить, но я надеюсь что этим не будут злоупотреблять
не получается подключится к сервису cloudamqp
Error: Возможно подключить только на windows или linux и ТОЛЬКО на х64!
У вас платформа 32х разрядная значит. Ошибка об этом говорит. Я не собирал библиотеки для 32х разрядных. Так как в реальности, скорее всего 32х разрядную мало кто использует, а мне тратить каждый раз время на сборку
@@fastAbout1s имеется в виду 1С 32х разрядная?
@@user-sl1tw9vg8x Да
@@fastAbout1s Перешел на 64 разрядную: сообщение в cloudamqp отправляется, но сама 1С при этом отключается не сохранив создаваемый элемент справочника
@@user-sl1tw9vg8x Какая у вас версия платформы и какая ОС? (windows/linux)? 1С отклюается, это значит закрыавется окно 1С?
А что на прямую Rust нельзя никак соединить с 1С?
Сложнее намного. На с++ уже есть готовый API, проще написать библиотеку на rust и использовать ее на с++. Там тесно все завязано на с++. Классы, аллокаторы памяти которые 1С передает в компоненту и через которые надо выделать память.
09:20 Я бы архитектурно сделал немного подругому (если это возможно) . После создания Подключение все последующие методы привязал туда Подключение.ЭтоОшибка(); Подключение.СоздатьКанал(). Так бы выглядело проще и логичнее.
Подключение это структура, у неё методы не вызовешь. Это тогда надо возвращать не структуру, а экземпляр обработки, чтобы можно было потом у неё методы вызывать. Но тогда не удобно будет результат смотреть, в структуре всё нагляднее. В итоге, сделал так. Хотя у меня была такая же идея, как у вас.