Опыт использования 1С: Исполнитель (версия 2.0)

26.09.22

Разработка - Инструментарий разработчика

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

Дисклеймер

Статья написана по результату 2х-дневного взаимодействия с 1С:Исполнитель в режиме выходных дней. Поэтому по мере появления новых деталей будет дополняться или переписываться. Прошу отнестись с нисхождением и в комментариях накидывать полезную информацию.

 

Предыстория

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

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

Часть этой истории нашла отражение в статье про работу с файловой системой методами Асинх , но полноценно Асинх методы не решают проблему. Поиск файлов, это лишь часть работы. Далее система должна определить, это xml или gsfx; если файл подходит, надо проверить наличие в нем определенных маркеров (по содержимому), чтобы пользователю подсказать более корректные действия. Так вот, все эти действия вполне можно выполнить на клиенте, без необходимости передачи файла на сервер. Ну почти можно, об этом небольшая ремарка ниже.

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

 

Сложность выбора (и эффект Даннинга – Крюгера)

Продумывая варианты реализации, мне в голову пришло две идеи

  • запуск еще одного сеанса 1С (подсказал товарищ)
    • плюсы: одна кодовая база, понятная реализация
    • минусы: лицензия
    • вопросы: контроль сеанса, фоновый режим (без окна приложения)
  • сторонняя программа/скрипт (вспомнилось из опыта развлечений в devops)
    • плюсы: не требует лицензии, скрытый режим
    • минусы: разная кодовая база, реализация http-сервиса
    • вопросы: возможность установки

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

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

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

Инструменты:

  • javascript - знаю, но активно использовал достаточно давно
  • python - не знаю, ну вот прямо почти никак
  • ... - с другими вариантами не около 1С тут все, подсказывайте
  • onescript - честно скажу, поскольку ограничение по времени 1-2 дня, был в приоритете. Близко, понятно, доступно. Андрею Овсянкину и всем разработчикам в проекте респектище
  • 1С:Исполнитель - вспомнился не сразу, но потом немного погуглив и почитав про версию 2.0 плюс изучив документацию, я соблазнился наличием portable версии и решил попробовать. Была и еще одна причина посмотреть, что это такое, так сказать на будущее

Все сообщество onescript, прошу пинать не сильно и не долго. Возможно со временем появится оба варианта, ибо наличие возможности запуска в macos - весомое преимущество.

Опять таки, для внимательного читателя. А у onescript есть (будет) portable версия?

Установка и настройка

По состоянию на конец сентября 2022 официальная версия 1С:Исполнитель это 2.0 (бета) и документация по ней расположена тут. Скачать дистрибутив можно на портале 1C:Обновление программ, однако по состоянию на 26.09.2022 доступ к дистрибутиву (как я понял) есть только у партнеров 1С, а также клиентов имеющих стандартную подписку на ИТС

Явно напрашивается вопрос, а доступ для разработчиков? За разъяснениями обратился в телеграмм-канале, думаю ответят в ближайшее время.

Описание установки и использования выполнено хорошо, проблемы не вызвало. Тем более, если имели дело с Visual studio code проблем не вызывает вовсе. Поэтому сколь-либо подробно данный процесс описывать не вижу смысла. Единственное скажу, сначала я купился на portable версию и не поставил OpenJDK 11. И думал если поставить плагин, указать путь к portable версии, то плагин будет работать.

Однако, документацию читать надо внимательнее )))
Для работы плагина требуется 64-разрядная Java Platform, Standard Edition версии 11.

Ну собственно и все, перезапускаем VSC, создаем файл sbsl, пишем

метод Скрипт()
    Консоль.Записать("Здравствуй, Мир!")
;

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

 

На что обратить внимание

Собственно, начинать я рекомендую с того, что прочитать основные отличия языка 1С:Исполнителя от встроенного языка «1С:Предприятия». То, что сразу бросилось в глаза человеку "привыкшему к 1С"

  • Регистрозависимый. Даже не знаю хорошо это или плохо, это факт
  • Нет окончаний КонецЕсли, КонецФункции и т.п., вместо них ";", ну и соответственно нет ";" в конце простых конструкций. Мне нравится
  • Статическая типизация. Сначала вам будет больно, потом вы привыкнете, потом проникнетесь, потом не захотите жить без нее
  • Нет деления Функция или Процедура, есть Метод. И поверьте, вам этого хватит

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

Просто небольшой пример:

// пример лямбда-выражения и его использования
// Маркер1 = "а1,а2", Маркер2 = "а3,а4"
пер Подстроки = (Стр: Строка) -> Стр.Разделить(",")

знч а1 = Подстроки(Маркер1) // а1 = ["а1","а2"]
знч а2 = Подстроки(Маркер2) // а2 = ["а3","а4"]

//--------------------------------------------------------------

// обычный метод без лямбда-выражения
метод Подстроки(Стр: Строка): Массив<Строка>
    возврат Стр.Разделить(",")
;

 

Базовые типы

В принципе тут ничего особенного, ну разве что, "простые типы" с точки зрения платформы 1С, это объекты в исполнителе. Вот пример типа "Строка" как объект:

знч А: Строка = "" // переменная А - это строка, простой тип

А.ВВерхнийРегистр() // но у него есть методы
.ВНижнийРегистр() // а еще эти методы могут вызываться один за другим
.Сократить() // то есть перетекать друг в друга

Кроме этого, например в строке можно использовать выражения интерполяции.

// Полная форма - %{выражение}
пер Длина = 100
пер Ширина = 30
пер Сообщение = "Площадь равна %{Длина * Ширина} м2"

И еще я не сразу обратил внимание на тип Закрываемое. Все мы знаем, что в 1С есть объекты, которые хорошо бы после использования закрыть, а еще лучше уничтожить (сжечь, а пепел развеять). Например это: ЧтениеДанных. Так вот, тут я не сразу обратил внимание на этот указатель в описании свойств и методов. В итоге сначала не совсем понимал, что от меня хотят ошибки в терминале. А потом "как понял". В общем если что, я вас предупредил.

 

Операции

Здесь основные особенности:

  • в сравнении "==" это "=", "!=" это "<>" ну или "НЕ ... = ..."
  • можно писать "А += 1" и это все равно что "А = А + 1"
  • тернарный оператор выглядит так "<выражение условия> ? <выражение истина> : <выражение ложь>"
  • проверка на тип выполняется при помощи операции "это"
  • использование "!" и "?." как возможность не заботиться о возможных "Неопределено" в цепочке вызова, просто как говорится, наслаждайтесь результатом или ловите исключение

Например:

// переменная А может быть строкой или Неопределено
пер А: Строка?

// если А это строка, тогда ДлинаА это число равное длине строки
// если А == Неопределено, тогда ДлинаА равна Неопределено тоже
знч ДлинаА = А?.Длина() 

// если А это строка, результат аналогичный
// но если А == Неопределено, будет вызвано исключение
знч ДлинаА = А!.Длина()

 

Инструкции

Немного интересного тут выглядит так:

  • для 1С:Исполнитель инструкция "Импорт" не применяется
  • есть конструкция "Выбор... Когда..."
  • "ИначеЕсли" пишется раздельно "иначе если"
  • инструкции цикла идентичны платформе 1С, кроме того факта, что не надо писать КонецЦикла (и ; в конце)
  • "попытка - поймать - вконце - ;" и это еще не все, рекомендую почитать повнимательнее

 

Коллекции

Сначала я не нашел структуру, потом не понял, что такое множество. А потом просто прочитал документацию. Объявление структуры - это просто "мое почтение". Хотел бы в 1С такое + конечно же с типами переменных "знч" и "пер". И типизацией... в общем вот вам просто пример:

перечисление ТипВремени
    Работа,
    Отдых,
    Веселье
;

структура Тест
    пер ТипВремени: ТипВремени = ТипВремени.Работа
    пер Длительность: Число = 0
    пер Начало: ДатаВремя
    пер Конец: ДатаВремя
;

 

Всякое интересное

  • регулярные выражения. Работать с ними удобно. Каких-то пожеланий пока не имею. Скорее бы и в платформе было
  • чтение zip без необходимости распаковки в ФС, то есть сразу в поток данных. Хотелось бы уже и в платформу это
  • в описаниях объекта Файлы есть упоминание MacOs, но вроде бы исполнитель не работает под маками, к чему бы это
  • лямбда-выражения удобная вещь, но это скорее удобство, чем необходимость. Более того, в руках особо "талантливых" ребят, можно написать такое красивое...
  • не хватает возможность сворачивать области в коде или я не нашел
  • объект ЧтениеДанных имеет метод "ПропуститьДо" и в случае передачи массива маркеров невозможно понять на каком маркере остановилось чтение. А ведь вернуться назад не получится. В итоге вместо "ПропуститьДо" используешь "ПрочитатьДо", но мне что-то подсказывает, что пропуск был бы эффективнее
  • а что там с публичными и приватными методами? подождем "Импорт" и увидим?

 

Итоги и один вопрос

Я перенес практически всю логику анализатора файлов в скрипт и он успешно обменивается информацией через rest-интерфейс с конфигурацией. Сейчас осталось решить некоторые вопросы: адаптировать и проверить работу в Linux; продумать как правильнее организовать вызов скрипта и его контроль (логирование); реализовать интерфейс установки и настройки 1С:Исполнитель в конфигурации; придумать как быть с Mac-оводами; доработать rest интерфейс и продумать организацию доступа скрипта к нему....

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

Ну и один вопрос меня интересует. Как бы то ни было, мы опять имеем дело с закрытым продуктом без возможности создания собственных модулей вне объектной модели исполнителя. Или я что-то не понял? 

 

Обещанное: об Асинх методах замолвите слово

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

Казалось бы, Асинх методы особенно востребованы в режиме работы веб-клиента. Но тут незадачливого пользователя ждал подвох. Достаточно открыть синтаксис-помощник по методам Асинх объекта ЧтениеДанных, чтобы понять, веб-клиент почему-то был обделен. Хотя аналогичные методы с обработчиками оповещения веб-клиентом поддерживались. Сдается мне, это просто упущение 1С. Ведь если бы были конкретные ограничения по работе с файлами, то не было бы никаких методов. И по состоянию на версию платформы 8.3.23, увы, всё удовольствие от использования Асинх методов испытать не получится. А хотелось бы.

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

 

Пасхалка

В документации есть рекомендации. И как минимум одну из них я нарушил. Какую?

См. также

SALE! %

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    161240    892    399    

872

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    8554    65    29    

76

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    15675    38    8    

73

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    23835    70    45    

119

SALE! %

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

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

15000 10000 руб.

10.11.2023    10655    38    27    

63

SALE! %

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

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    188483    1142    0    

913

SALE! %

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 15000 руб.

07.10.2021    17552    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7829    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. JohnyDeath 302 26.09.22 21:51 Сейчас в теме
Я что-то в итоге так и не понял, есть ли Асинх в Исполнителе. Ведь всё ради этого затевалось.
Как у тебя сейчас выглядит схема? Ты дергаешь rest-сервис, который написан на исполнителе и который начинает считывать файл.
А HTTP-вызов из 1с продолжает ждать парсинга и ответа со стороны исполнителя. Так?
Что в итоге выиграл (ну кроме того, что познакомился со вкусностями Исполнителя)?
2. vandalsvq 1590 27.09.22 00:51 Сейчас в теме
(1) в исполнителе асинх методов нет. Rest-сервис на нем тоже не напишешь, не хватает объектном модели. Сейчас схема выглядит так:
- пользователь указывает каталоги, которые требуется регулярно «осматривать»
- скрипт запрашивает инфу о наличии таких каталогов
- в каждом каталоге скрипт проверяет наличие изменённых файлов с последней даты обновления
- при наличии файлов выполняет анализ каждого и собранную информацию отправляет по rest в базу данных
- по окончанию тоже сообщает в базу данных

В схеме пока не реализовано: запуск скрипта при начале сеанса или запуске анализатора; не выполняется полная сверка всех файлов для проверки удаленных.

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

Но следует ещё довести все до конца и понять лицензионную политику 1С.
3. al.gerasimov 27.09.22 06:29 Сейчас в теме
(2)
Запуск скрипта не требует установки каких-либо программ
А как же ява? А почему не написать на С#? Cинтаксис исполнителя похоже списан оттуда, судя по скобочкам женериков, нуль-коалесенс-операторов и т.п. Ну разви что неопределено нулем называется. И да, там уже работает Асинк Авэйт или, как его, Ждать!
4. vandalsvq 1590 27.09.22 09:26 Сейчас в теме
(3) есть версия исполнителя portable, скачал архив, распаковал и можно запускать.
Что касается c# я с ним знакомился в далеких студенческих и с тех пор помню только что он существует. Подскажи пожалуйста, трудоемкость от старта до подобного функционала сколько времени займёт? Набор действий: обмен по rest json паркетами, обращение к файловой системе, чтение содержимого файлов потоком, распаковка zip. Буду благодарен
14. Darklight 33 29.09.22 16:01 Сейчас в теме
(4)в месяц уложитесь - а если умеете боле-менее хорошо програмvить не только на 1С - то и недели хватит - доков на эту тему много под C#
vandalsvq; +1 Ответить
15. vandalsvq 1590 29.09.22 16:04 Сейчас в теме
(14) более менее вне 1С умею, редко практикую, поэтому всерьез и не говорю, что навыки есть. Спасибо за ответ. Я конечно в текущих реалиях с удовольствием месяц потрачу на другие увлечения, но если что, буду иметь в виду и возможно попробую.
Еще раз спасибо за ответ
5. SerVer1C 816 27.09.22 17:56 Сейчас в теме
(3) Заменяйте Исполнитель на Python и/или Go и живите спокойно !
6. JohnyDeath 302 27.09.22 20:12 Сейчас в теме
(5) потом все равно на Элемент переходить. Так что все нормально с исполнителем. Надо изучать
20. maksa2005 551 30.09.22 09:17 Сейчас в теме
(5)Привет. пишу тебе в личку, не отвечаешь. можешь помочь раскодировать модуль кода (конечно не бесплатно)
12. Darklight 33 29.09.22 15:55 Сейчас в теме
(3)Не с C#, а с Kotlin'а больше всего синтаксис списан + небольшие веянья из Python + некоторая примесь отсебятины (которая ни с одним известным языком не совместима и выглядит отвратительно)
Не знаю - на кой чёрт вообще они новый синтаксис изобретают для JVM - взяли бы Kotlin - и не парились бы!
13. vandalsvq 1590 29.09.22 16:00 Сейчас в теме
(12) в свое время Алексей Лустин высказал достаточно любопытную идею, которая не лишена смысла. Если пишешь код для "русско-язычного" потребителя, то и язык программирования должен быть таким же. У этой мысли есть определенное здравое зерно. Хотя и "но" тоже много. Каждый найдет свое и для себя решит какой ответ более корректный
Perfolenta; kild; +2 Ответить
16. Darklight 33 29.09.22 16:18 Сейчас в теме
(13)Все идентификаторы и литералы можете писать на любом языке. В чём загвоздка? В англоязычных ключевых словах? Ну тут два пути:
1. Либо настраивать клавиатурные авто подстановки с русскоязычных синонимов в англоязычные (к счатью ни Kotlin ни Исполнитель не многословны на ключевые слова) - это может делать сам редактор IDE или можно настроить индивидуально - да хоть через Autohotkey только для применения внутри IDE
2. Либо внести правки в код синтаксического разбора кода и включить автоподдержку русских синонимов
И то и другое элементарно (у Kotlin опенсорс компилятор, например, возможно ключевые слова там вообще вынесены в какие-либо настройки - так что их правка - должно быть плёвым делом).
В ЯП ещё входят стандартные библиотеки - вот тут уже чуть сложнее:
На типы нужно будет псевдонимы настроить, а для функций - создать функции расширения - те же псевдонимы (в Kotlin можно глобальный контекст расширять, а не только методы классов). И то и другое можно делать без вмешательства в компилятор.
Ну а ещё есть "готовая" русскоязычная Перфолента c 1C-овским базовым синтаксисом (но под .NET)

Вот только одно но - сейчас разработка ПО (в т.ч. конфигураций) давно стала трансконтинентальной с мультиязыковым распределённым коллективом - т.е. ПО пишут не только под свой регион культуры - поэтому практически уже стандарт де факто в разработке - это английский язык - даже комментарии все стараются писать на английском, а пользовательские тексты сразу выносят в ресурсы и обращаются через внутренние идентификаторы (на английском - впрочем это можно и потом обработать, даже в 1С есть решение) - потом будет меньше проблем с распространением и поддержкой по всему миру (правда да - России это пока на долго вряд ли будет касаться теперь, но всё же - не стоит привыкать к ненормативному стилю).
И да - сейчас современных программистов (даже в России) русский код в 1С Предприятие очень сильно отпугивает: устаревший ЯП + русский текст = все программисты обходят стороной 1С - ибо уж больно сильно он идёт в разрез с тем, как сейчас пишут императивный код в 99% случаев! Это отвращает!
Унифицированный кодинг на английском + ориентация на повторное использование кода (библиотеки и разные алгоритмы и шаблоны через Gist) - залог успешной разработки и поддержки!

На крайняк - можно было бы прям в IDE встроить быстрое переключение (конверсию) представления кода с одного языка на другой - это вообще не проблема! Вон в миркрософт вообще сделали конверсию C# из/в VB.NET почти один в один (там есть некоторые закавыки с особым синтаксисом VB.NET и он вроде бы не регистрозависимый).

Только не надо подымать холи вор на эту тему. Я за английский язык рьяно не агитирую!
SerVer1C; +1 Ответить
17. vandalsvq 1590 29.09.22 16:34 Сейчас в теме
(16) дело думаю не в инфраструктуре или платформе. А в разработчиках 1С и "заботе о них" со стороны вендора. Я не хочу сильно вдаваться в эту тему, ибо можно лихо уйти в дикий холивар. Просто скажу так, имхо: вендор печется не только о нас (кто не боится или что-то умеет), сколько делает так, чтобы те кто не умеет и не пробовал, пытались выйти из столь любимой платформы немного наружу. Есть момент связанный с тем, что поддерживая текущее положение на рынке, они потенциально создают большие проблемы в будущем и не столь отдаленном.
Но тут вариант такой, идти в 1С и пытаться достучаться и поменять там что-то )))) тем более они открыты для новых взглядов вполне.
18. Darklight 33 29.09.22 16:40 Сейчас в теме
(17) Вообще не понял Вашу мысль, простите
19. vandalsvq 1590 29.09.22 18:14 Сейчас в теме
(18) ну ладно, не суть. Я просто думаю что понимаю почему 1С поступает именно так как есть. Я могу быть не прав, так что и не важно.
7. NikitaIvanchenko 277 28.09.22 14:38 Сейчас в теме
1) оскрипт можно запустить на маке
2) на оскрипте можно запустить рест сервис
3) оскрипт при желании можно сделать портабл или даже скомпилить в .ехе
8. vandalsvq 1590 28.09.22 16:04 Сейчас в теме
(7) про мак на оскрипте обратил внимание и это было весомым плюсом. Сам рест сервис избыточен, он не нужен совершенно. На клиенте запускать рест сервис ради анализа отдельных каталогов? А то что можно, ещё когда onescript.web появился, я один из первых его попробовал, даже в небольшом хакатоне участвовал на Инфостарт и мышку в подарок Андрей вручил. Кстати мышь офигенная, с тех пор только такими и пользуюсь.
А вот скомпилировать портабл боюсь не осилю. Если существуют или вдруг появились бы такие поставки, с удовольствием реализовал бы и на нем «чтобы был».
9. JohnyDeath 302 28.09.22 16:26 Сейчас в теме
(8)
А вот скомпилировать портабл боюсь не осилю.

а что там осиливать? Вроде ж просто всё:
oscript.exe -make <файл-скрипта> <файл-exe>

Но в 2.0 по-моему это пока(?) не работает
10. NikitaIvanchenko 277 28.09.22 16:28 Сейчас в теме
(9)
oscript.exe -make

да я про oscript.exe -make и говорил
11. vandalsvq 1590 29.09.22 09:06 Сейчас в теме
(9) ааааа.... я то думал что речь идет о компиляции самого oscript-а. И exe файл в итоге ведь только для windows, или я чего-то не знаю/не умею/не понимаю?
21. o.nikolaev 216 30.09.22 10:14 Сейчас в теме
Но тут незадачливого пользователя ждал подвох.

О, эту фразу надо вынести в эпиграф статьи!
Оставьте свое сообщение