Pull to refresh
2
0
Andrew Vasilyev @retran

User

Send message
Работал в отделе, который про платформу.

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

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

Самое ужасное — совершенно отвратительная столовая.
платформа позволяет.
примеры выше были


salesforce streaming api не поддерживает вебсокеты.
Я перестал понимать чего вы от меня хотите.

Моя позиция по поводу сравнения теплого с мягким есть вот тут — habr.com/en/company/lsfusion/blog/468415/#comment_20703735 и ниже по ветке.

Если вы меня хотите убедить, что 1С — это хорошо, так я с этим не спорю, 1С все еще лучше большей части ERP-платформ с которыми я сталкивался.

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

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

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

Я в очередной раз напомню, что речь о очень банальной задаче.
То есть мы имеем вроде бы переносимую платформу, но я не могу решить проблему на компьютере с Windows, так чтобы решение из коробки заработало на компьютере с Linux или MacOS.

Считает, что платформа должна реализовывать на все случаи жизни ситуации?


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

Это очень далеко от «написал на встроенном языке один раз и заработало везде одинаково».
небольшой адаптер-конвертер на другом языке


Кроссплатформенно и переносимо?
wonderland.v8.1c.ru/blog/sistema-vzaimodeystviya


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

UPD Точнее это не те вебсокеты, с помощью которых вы можете проинтегрироваться с внешними апи.

А конкретная задача про биржевые котировки, что тут приводилась, может быть решена и вообще иначе в 1С
infostart.ru/public/819178


Это джаваскрипт, а не 1с. На сервере тоже будете фейковую страничку открывать… где?

Или вот можно с внешней компонентой решить ту же задачу infostart.ru/public/434771


Это не эта задача. Ну и внешняя компонента — это не 1С и не переносимо.
Занимался, а не полностью решил.
И я очень хорошо понимаю, почему описанные задачи являются типовыми для современной ERP.


Оказывается, что я на прошлой работе полгода занимался нецелевой проблемой :(
задач которые не являются целевыми для прикладной платформы


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


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


Я еще раз повторю — long polling.
Ждать его от внешней системы удерживая http-соединение и параллельно занимаясь другими делами, не занимая фоновым заданием рабочий поток, который мог бы делать что-то полезное.

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


Потому что существующий инструментарий разрабатывался не для этого и не решает проблему.
Предположим, что есть внешнее API отдающее поток событий через long polling. Реализовать обработку потока событий на 1С таким образом, чтобы минимизировать занятие потока фоновым заданием (потому что пока мы висим на long polling хотелось бы и другие задания повыполнять), без холостых оборотов процессора (потому что Thread.Sleep() у вас нет) и без пересоздания фоновых заданий(потому что в 1с создание фонового задания — это очень дорого и медленно).

Это очень большой класс задач, если что, которые реально пытаются решать на 1С — от телеграм-ботов до торговых терминалов.
Не будет у них примера, в 1С сейчас нет stackless корутин ни в каком виде. Асинхронность есть, аналогичная APM (BeginInvoke/EndInvoke).
1С умеет то что умеет async/await


Нет, не умеет, совсем. И это одна из реальных проблем, да.

Information

Rating
Does not participate
Date of birth
Registered
Activity