0. DmitrySinichnikov 179 18.10.17 10:40 Сейчас в теме

Начало работы с OneScript

Краткая инструкция по установке и начале работы с OneScript. Пишу потому что сам много шишек набил, пока нашел все инструменты.
В статье рассмотрены:
1) Установка OneScript.
2) Установка редактора кода.
3) Настройка редактора кода под OneScript.
4) Запуск скриптов из редактора кода
5) Полезные ссылки

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. baton_pk 394 18.10.17 15:58 Сейчас в теме
Минусы:

- Необходимы права администратора для установки


https://code.visualstudio.com/download , а там:
Прикрепленные файлы:
A_Max; JohnyDeath; DmitrySinichnikov; vikad; +4 Ответить
4. DmitrySinichnikov 179 18.10.17 17:23 Сейчас в теме
(1) Спасибо, поправил статью. Теперь это плюс)))
2. DenisCh 18.10.17 16:01 Сейчас в теме
А ванскрипт устанавливать не надо? Там админ нужен
3. Stepa86 1258 18.10.17 16:02 Сейчас в теме
(2) Не надо, так же можно в папочке оставить
5. sssss_aaaaa_2011 18.10.17 17:36 Сейчас в теме
Цитата из п.4
"Для "включения" подсветки необходимо сохранить файл с одним из расширений OneScript (*.bsl или *.os). После чего вы сразу же увидите раскраску синтаксиса."
Не совсем верно. Сохранять необязательно. Можно кликнуть по типу текста в правой части строки статуса (там все надписи кликабельны) и выбрать нужный из списка с контекстным поиском.
6. DmitrySinichnikov 179 18.10.17 22:56 Сейчас в теме
7. Evil Beaver 6312 19.10.17 11:33 Сейчас в теме
Там автор предлагает писать код в Notepad++. Идея неплохая, однако у Microsoft есть замечательный редактор кода


Отличная ремарка! Стоит, правда, заметить, автор этой статьи (он же автор 1script, то есть я) предлагал использовать N++, только потому, что ничего другого на тот момент не было. И именно поэтому, в сообществе родилась идея сделать полноценный редактор, который с блеском сделали @bambr1975 и @nixel2007.

Кстати, только что поймал себя на мысли, что у них у обоих в никах есть год. Забавное совпадение, да?

Вернемся, к статье. Спасибо, что написали, как раз не хватало такой, более современной. Теперь людям станет чуть проще начинать. Хотел бы, чтобы таких статей от вас стало еще больше. Нам, как авторам всего этого, часто сложно поставить себя на место человека, который все это видит в первый раз, т.к. у нас уже глаз замылился. Пишите еще!
mvxyz; Smirnov1980; +2 Ответить
9. DmitrySinichnikov 179 19.10.17 11:55 Сейчас в теме
(7) Спасибо за ваш комментарий. Я предполагал что на момент написания вашей статьи не было иных вариантов, специально смотрел дату публикации. Однако так как статья обновлялась решил не вдаваться в подробности и оставить ваш способ как аналогию, если мой вариант кому-либо не подойдет.
11. nvv1970 19.10.17 13:11 Сейчас в теме
(9)
Visual Studio Code был анонсирован 29 апреля 2015 года компанией Microsoft
14 апреля 2016 года Visual Studio Code вышел из стадии бета-тестирования

VSC условно два года... Меньше, чем OS. VSC - приятная штучка.
8. iolko 234 19.10.17 11:51 Сейчас в теме
А есть ли возможность запустить отладку скрипта, просмотр значений переменных в отладке, если да то как это сделать. Все вышеперечисленное настроил и все работает как надо, но вот про отладку ни где не нашел.
10. artbear 1158 19.10.17 12:04 Сейчас в теме
(8) Отладчик недавно заработал в ночной сборке.
Инструкции пока есть только где-то в основном чате проекта https://gitter.im/EvilBeaver/OneScript
12. grumagargler 612 19.10.17 17:55 Сейчас в теме
Парни, вопрос глупейший, но ответа не нашел, в двух словах – зачем оно? Ведь можно поставить стандартную 1С и возможностей будет существенно больше, работа с базой например. Если речь о стоимости лицензии – ну ведь можно учебную версию поставить. Если я сильно заблуждаюсь – ваш ответ будет полезен всем, у кого засел такой же вопрос.
13. Evil Beaver 6312 19.10.17 18:11 Сейчас в теме
(12) Ближайшая аналогия - bat файл. Или скрипт на питоне. Чтобы быстренько что-то автоматически сделать коротким куском кода. Например, отсортировать свои фотки и разложить по каталогам Год\Месяц

Ставить для этого учебную 1С с целой базой данных? Да ну, я лучше в блокнотике напишу маленький скрипт и выполню. И мне не придется учить питон или bat вспоминать, я напишу сразу на 1С
16. grumagargler 612 19.10.17 19:26 Сейчас в теме
17. artbear 1158 19.10.17 19:50 Сейчас в теме
(16) Опять же, версионировать текстовые файлы намного проще, чем код в 1С.
Часто бывает легче подключить на новой машине и т.п.
18. grumagargler 612 19.10.17 20:24 Сейчас в теме
(17) у меня видимо задач таких не стояло. Да, есть конечно служебная конфигурация с обработками, но мне там данные как правило нужны, настройки всякие, нужна отладка, рефакторинг, журнал регистрации, и другие привычные вещи. Также, не нужно думать стоит ли на сервере .нет4, редакторы с плагинами, библиотеки скриптов. Версионировать не приходилось, простой выгрузки/загрузки всегда было достаточно, всё в одном месте, в одном файле.
Но еще раз, разработчики onescript проделали огромную работу и кажется, что потенциал у решения огромный, просто пока не возникало необходимости.
19. Evil Beaver 6312 19.10.17 21:35 Сейчас в теме
(18) Как это не возникало? А базы 1С-ные вы обновляете? Неужто руками?

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

И релизы свежие качать самому, да в папки складывать не пристало дворянину. Пусть крепостные роботы занимаются.
20. grumagargler 612 19.10.17 22:10 Сейчас в теме
(19) имеется ввиду, что не требовалось версионировать сами скрипты (в моем случае - обработки). Они делают свою работу, да и всё. Если нужно что-то доработать - в этой служебной базе и дорабатывается. Там же и расписание делается. Всё топорно надо сказать, нет у меня разветвленной разработки служебных обработок, но нам пока хватает.
21. nvv1970 19.10.17 23:52 Сейчас в теме
(19)
Как это не возникало? А базы 1С-ные вы обновляете? Неужто руками?
Вероятно целевая аудитория функционально сильно разнится. Программисты, админы... Часто делят эти обязанности по разворотам баз, обновлениям тестовых и т.п. И в итоге оказывается, что "обновлениями" и прочей рутинной работой занимаются админы, знающие скрипты, но далекие от 1с. А программисты если занимаются какими либо "обновлениями", то это чаще может быть ручная работа, по выборочному переносу объектов и пр. Как-то так в жизни сложилось ( хотя у всех очень по разному.
Я вот облизываюсь функционалом, интересно, а применить негде и некогда...
"Чай пить и смотреть" ? ))) Грустно рассмешили. Обычно автоматизируемся, не для того, чтобы больше отдыхать, а для того, чтобы еще больше работать (((
DmitrySinichnikov; +1 Ответить
14. artbear 1158 19.10.17 19:01 Сейчас в теме
(12) 1С запускается долго, даже файловая база на ССД :(
скрипты работают намного быстрее.
15. Evil Beaver 6312 19.10.17 19:23 Сейчас в теме
(14) я к тому и веду. Скрипты - это простые текстовые файлы, которые можно запустить сразу же. Им не нужно создавать проект в IDE, не нужно запускать 1С... Написал и сразу запустил.
22. artbear 1158 20.10.17 00:30 Сейчас в теме
Ну почему негде применить?
для разработчика также полно задач.
1 Прогнать локальную сборку - собрать пустую тест.базу из исходников или из хранилища,
выполнить начальное заполнение для БСП-совместимых баз, выполнить первоначальное заполнение тестовыми данными,
выполнить прогон тестов (дымовые, приемочные и т.п.), получить успех/неуспех тестов, выполнить статический анализ кода,
получить нормальный отчет о тестировании.
2 синхронизировать хранилище 1С с гитом, чтобы получить всякие фишки - и связь с трекером задач, и статический анализ кода, и код-ревью, и т.п. и т.д.
3 запустить инструменты разработчика для нужной базы в нужном клиентском режиме с отключением ненужных вопросов
и т.п. и т.д.
23. grumagargler 612 21.10.17 04:35 Сейчас в теме
(22) т.е. сделать это на 1С, без onescript было бы невозможно?
Небольшое уточнение: мой изначальный вопрос был технологический, т.е. есть зачем onescript нужен как таковой, и ответ на этот вопрос я уже получил.
24. DmitrySinichnikov 179 21.10.17 06:57 Сейчас в теме
(23) возможно, только это вопрос можно задать любому языку. Зачем на вообще что-то еще если есть c++.
Везде есть свою бонусы, тут кстати проще всего выполнить задачи, описанные Артуром.
25. grumagargler 612 21.10.17 16:02 Сейчас в теме
(24) Конечно можно, только я не об этом говорю. Если бы я разработал свой компилятор к языку с++, я был бы готов к вопросам - а зачем вы это сделали? И ответ я получил - "наш компилятор лучше-выше-бестрее". А то, что на нем написаны библиотеки, уже немного не то, ведь их поидее, можно запускать и под обычной 1С (перевести в формат обработок).
26. Stepa86 1258 21.10.17 17:28 Сейчас в теме
(25) Приведу свои примеры.
1) ОСкрипт работает значительно шустрее, чем аналогичный код в обработке. Я это хорошо прощупал при разработке https://infostart.ru/public/635970/ .Т.к. в оскрипте отладчика еще нет, то я разрабатывал все форматирование в обычной обработке, а затем тупо копипастил в файл .os . И один и тот же код в скрипте отрабатывает значительно быстрее, чем в обработке. Да и не смог бы форматирование я сделать чисто на 1Ске - это или экземпляр держать, куда слать данные, либо каждый раз стартовать 1Ску, что несколько долго
2) Код в оскрипте это может быть один файл, который можно открыть любым редактором и который просто замечательно версионируется. Самая простая обработка раскладывается просто в кучу файлов, в которых значительно сложнее ориентироваться. Тут опять приходится запускать 1Ску и только 1Ску и смотреть, чо там.
3) Для околопрограммистких штук оскрипт подходит просто идеально. Я на нем написал скрипты по деплою и разворачиванию базы https://infostart.ru/public/617478/ которые очень помогают. Чтоб развернуть свежую копию из рабочей базы - мне нужно сделать двойной клик по одному ярлыку. И так же выкатывается обновление на рабочую базу
4) Стрельнуло тут получать в 1Ску данные из скуда оперативно по пикам с конкретного приемника. Админы не очень умеют в программирование, а программисты 1С не очень умеют в скуд. Нашли выход - на той машине, где крутится скуд валяется батничек от оскрипта. скуд его запускает и передает ИД карты и ИД приемника. Скрипт делает http-запрос в 1Ску и там уже нужная логика отрабатывает. Да, это все велосипеды и костыли, но было написано, запущено в бой и закрыло проблему за полдня.
akifjevda; i_a; gradi; Evil Beaver; grumagargler; +5 Ответить
27. artbear 1158 21.10.17 22:09 Сейчас в теме
Кстати, да, код 1скрипта работает значительно шустрее кода 1С :)
И это даже без доп.затрат на запуск самой простой базы 1С.
28. komradz 65 23.10.17 14:40 Сейчас в теме
Проект конечно интересный, но меня все равно не отпускает мысль почему бы для этого всего не использовать Python. Который имеет овердофига открытых библиотек по работе со всем чем только можно. А при желании можно было просто написать новый пакет для упрощения подключения\работе с 1С. Сам язык наипростейший и учится за пару вечеров.
29. baton_pk 394 23.10.17 14:57 Сейчас в теме
(28)
почему бы для этого всего не использовать Python

ну так почему бы и не использовать?
30. artbear 1158 23.10.17 15:45 Сейчас в теме
(28) Использовать можно, но кто, кроме автора, в дальнейшем сможет сопровождать/поддерживать/дорабатывать.

У нас уже есть такой опыт.
Ответ - никто :(
Evil Beaver; +1 Ответить
31. vikad 113 23.10.17 20:09 Сейчас в теме
Теперь необходимо нажать "F1" и выполнить следующую команду "Language 1C (BSL): Create tasks.json for current workspace", в результате должна появиться папка ".vscode".
Вышел новый релиз плагина https://github.com/xDrivenDevelopment/vsc-language-1c-bsl/releases/tag/v1.10.0
Удалена команда Create tasks.json for current workspace. Вместо нее используется TasksApi VSCode 1.17.Переработана работа с тасками - новое API от VSCode позволило избавится от необходимости создания tasks.json для запуска простейших задач.
Теперь, находясь в открытом os-файле достаточно просто нажать F1 - выбрать команду "Задачи:Выполнить задачу" (или даже сразу нажать комбинацию Ctrl+Shift+B, если нужно выполнить задачу запуска os-файла) и будет выведен выпадающий список, где доступны все основные команды запуска и обработки os-файлов
P.S. Есть тонкость - в каталоге .vscode открытой папки не должно содержаться файла task.json, где в качестве версии указана версия 0.1.0 - в этом случае новое API не срабатывает и отрабатывают задачи, указанные в файле task.json.
P.P.S. Более подробно о новом TasksApi VSCode можно прочитать по ссылке https://code.visualstudio.com/docs/editor/tasks
i_a; Evil Beaver; Kosstikk; artbear; +4 Ответить
32. DmitrySinichnikov 179 24.10.17 00:13 Сейчас в теме
(31) Спасибо, ознакомлюсь и поправлю статью
33. Crush 23.11.17 11:15 Сейчас в теме
Прикольная штука. Начал по инструкции, запутался, как то сам случайно поставил. Текст подсвечивается, код исполняется, отладчик останавливается на точке. В экзешник пока не разобрался как компилить, но это особо то и не важно. при необходимости в командной строке можно сделать.

Спасибо за интересный инструмент. Во вложении картинка чего устанавливал и какой результат в открытой папке получился.
Прикрепленные файлы:
34. tp_home@mail.ru 11.07.18 14:58 Сейчас в теме
Здравствуйте.
Помогите пожалуйста.
Про попытке закпуска скрипта выходит алерт (слева внизу).
Скрипт не исполняется.
Прикрепленные файлы:
35. tp_home@mail.ru 11.07.18 15:34 Сейчас в теме
(34)
Terminal with ID 1 does not exist (has it already been disposed?)
Error: Cannot read property 'provideBslScripts' of undefined
Прикрепленные файлы:
36. binex 262 14.10.18 15:30 Сейчас в теме
(35) Так и что это? Выяснили?
37. mirco 72 27.11.18 09:18 Сейчас в теме
(36) Возможно в PATH не прописан путь к
C:\Program Files (x86)\OneScript\bin (ну или какая там у вас директория)
38. s_vidyakin 21.03.19 14:22 Сейчас в теме
(37) у меня прописано, но ошибка есть. Напрямую в консоли скрипты выполняются
39. bogdan_sukonnov 57 20.05.19 16:01 Сейчас в теме
Подскажет ли кто-нибудь как получить подсказки по синтаксису установленных библиотек? oscript-config я вроде поставил (насколько могу судить). Или хотя бы направьте где искать или где задавать вопрос. Очень тяжело ориентироваться в этом всем почему-то....
40. nixel 796 14.06.19 16:08 Сейчас в теме
(39) если еще актуально - приходите в ишузы на https://github.com/1c-syntax/vsc-language-1c-bsl или в телеграм-чат https://t.me/oscript_library
41. Oldsad 24.06.19 11:17 Сейчас в теме
скачал редактор VSC, в нем все на английском, а на скриншотах в статье все меню на русском, ЧЯНД?
42. spacecraft 24.06.19 11:35 Сейчас в теме
(41) установить пакет русской локализации.
https://code.visualstudio.com/docs/getstarted/locales

Если кратко, то:
1. Ctrl+Shift+X Находим Russian Language Pack for VS Code. Устанавливаем.
2. Ctrl+Shift+P Находим Configure Display Language. Вместо en записываем ru
3. Перезагружаем VSC
43. Oldsad 25.06.19 03:57 Сейчас в теме
44. Solikamsk 2 12.07.19 14:40 Сейчас в теме
Скачал змею. Запустил. А почему я точку останова не могу поставить?
45. Solikamsk 2 25.07.19 14:43 Сейчас в теме
Может всё-таки кто-нибудь подскажет почему я не могу отладку запустить? Как только вхожу в режим отладки в логах ошибка
[2019-07-25 16:40:34.031] [renderer1] [error] net::ERR_NAME_NOT_RESOLVED: Error: net::ERR_NAME_NOT_RESOLVED
Прикрепленные файлы:
46. Solikamsk 2 25.07.19 15:57 Сейчас в теме
Я похоже на простой вещи туплю.. А как создаете .csproj ? Я его просто скопировал с типового HelloWorld. А иначе у меня вообще никак и никуда не двигалось..
Прикрепленные файлы:
48. vikad 113 25.07.19 18:51 Сейчас в теме
(46) Судя по скриншоту, вы не тот отладчик запускаете.
Цитата из https://infostart.ru/public/791568/#_Toc508101026
Для упрощения запуска и получения возможностей отладки, установим отладчик OneScript для Visual Studio Code. Если вы используете "стабильную" версию движка OneScript, то вы можете установить его через MarketPlace, встроенный в VSCode - имя пакета OneScript Debug. Если вы используете "ночную" версию движка, то необходимо скачать файл с расширением «vsix» со страницы http://oscript.io/downloads и установить его вручную через команду "Установка из VSIX" в VSCode

Перечитайте статью по ссылке, начиная со слов
Но мы же не просто так ставили отладчик?
49. Solikamsk 2 26.07.19 08:30 Сейчас в теме
(48)
вы не тот отладчик запускаете
Спасибо, заработало!
Работа с отладчиком в создании библиотек. Я эту статью на потом оставил, оказалось вот оно что :)
47. Evil Beaver 6312 25.07.19 18:00 Сейчас в теме
Вы чего то не то делаете, какой csproj?
50. NightBreez 15.08.19 13:18 Сейчас в теме
Подскажите пожалуйста, не получается подключить конфигурационный файл и перенастроить стандартные ограничения "maxMethodSize, maxLineLength". В инструкции сказано нужно создать файл ".bsl-language-server.json" и разместить его в рабочую область (я так понимаю в папку .vscode) примерно следующего содержания:

{
"diagnosticLanguage": "ru",
"diagnostics": {
"LineLength": {
"maxLineLength": 140
},
"MethodSize": false
}
}

Но даже при перезапуске отрабатывает стандартное ограничение.
Прикрепленные файлы:
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день

Программист 1С
Краснодар
зарплата от 80 000 руб. до 160 000 руб.
Полный день

Консультант 1 С
Краснодар
зарплата от 50 000 руб. до 150 000 руб.
Полный день

Консультант-методолог 1С
Краснодар
зарплата от 110 000 руб.
Полный день