0. Evil Beaver 6230 03.02.15 16:52 Сейчас в теме

Как решать повседневные задачи с помощью OneScript

Если вам не нравится выполнять рутинные операции вручную. Если вы 1С-ник, который хоть раз в жизни писал BAT-CMD-файлы для автоматизации, или который время от времени вынужден вспоминать особенности черной магии Powershell, то эта статья для вас. Теперь можно все это делать на языке 1С. Интересно? Читайте дальше!

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

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо
99. Evil Beaver 6230 27.11.15 09:50 Сейчас в теме
(98) nipil, у меня не просит админских прав, N++ установлен по умолчанию в Program Files, Windows 7,8,10 никаких доп. прав не выдавалось - работает из коробки. Я не готов поддерживать инструкцию по всем возможным вариантам настроек систем. Имеющий руки да настроит. Имхо, в 95% случаев статья описывает все что нужно для быстрого старта.
w22u; JohnyDeath; artbear; +3 Ответить
102. nipil 28.11.15 15:55 Сейчас в теме
(99) (101) artbear, Спасибо за ответы и статистику. Потестировал систему. При повторных установках OS не требовала повышения прав. Поведение не локализовал, поскольку на смог вспомнить ночную последовательность действий.

За OneScript ещё раз спасибо.
106. nipil 30.11.15 15:50 Сейчас в теме
(102) nipil, Нашел! После работы инсталятора OneScript и до перезагрузки системы переменная среды Path имеет разные значения. При запуске cmd с повышением прав (от имени "Администратора") возвращает новое значение с установленным OneScript. При запуске cmd без повышения - остается старое. Проверенно на 2х системах Win7 Win8.
В статье описано - "нужно перезайти" я, в свою очередь, запустил cmd c повышением прав. Получив положительную реакцию на "oscript" запустил Notepad++ без повышения прав и соответственно получил указанную ошибку.
Таким образом все претензии к статье снимаются. Не бейте меня! Я мягкий и пушистый. Не нужно работать по ночам.
101. artbear 1149 27.11.15 10:29 Сейчас в теме
(98) Я также ставлю Notepad++ по умолчанию и все работает. На 6 машинах ставил, проблем нет
103. Lapitskiy 902 29.11.15 09:16 Сейчас в теме
Да, сайт все так же недоступен...
104. Evil Beaver 6230 29.11.15 21:45 Сейчас в теме
(103) Lapitskiy, доступен. Какой IP у вас пигнуется?
105. Lapitskiy 902 30.11.15 13:57 Сейчас в теме
107. vec435 15 02.12.15 12:44 Сейчас в теме
когда увидит свет российская ОС - скрипты под нее уже есть
108. dis_2015 12 30.12.15 17:04 Сейчас в теме
Коллеги, подскажите как на onescript организовать взаимодействие с пользователем. Мне нужно при запуске скрипта спрашивать у пользователя путь к файлу.
110. Evil Beaver 6230 31.12.15 11:02 Сейчас в теме
(108) dis_2015, в скриптинге так не принято. Обычно пользователя просят передать что-либо в качестве аргументов командной строки.

Т.е. нужно не выдавать пользователю запрос "введите путь", а описать в справке параметр "Путь" и при запуске требовать, чтобы его передавали.
JohnyDeath; +1 Ответить
111. ahyahy 12.01.16 02:00 Сейчас в теме
Очень заинтересовала данная публикация. Давно искал движок скрипта на русском языке. И нашел.
Спасибо! Предлагаю расширить возможности 1Script всё таки добавив к нему GUI. В том смысле что я
разработал возможность применения в скрипте библиотеки KiXforms Version 2.47, библиотека ведь
бесплатная.
Надеюсь пригодится, и для организации диалога с пользователем тоже. Перевел справку KiXforms,
повозился с нежеланием KiXforms работать для 1Script и вроде получилось. Предлагаю потестить.
Примеры из справки можно сохранять в "*.os" и запускать. Стоит ли двигаться в этом направлении?(108) dis_2015,
Прикрепленные файлы:
kixforms_v247-ru40.chm
vasiliy_b; +1 Ответить
112. ahyahy 12.01.16 02:05 Сейчас в теме
Да, на всякий случай, если kixforms_v247-ru40.chm не показывает разделы, в свойствах файла нажмите Разблокировать. (108) dis_2015,
113. Evil Beaver 6230 12.01.16 15:01 Сейчас в теме
(112) ahyahy, справка нерабочая.
Сам по себе, я не сторонник GUI для скриптов, но если кто-то считает, что это будет полезно - я всеми руками ЗА. Если у Вас есть наработки по данной библиотеке (первый раз слышу про нее) - выкладывайтесь на гитхаб или еще куда. Там и мы все посмотрим, о чем речь, и помощники смогут подключиться, если сочтут нужным.

Иными словами, да, замечательно, что у вас есть интерес развивать GUI и участвовать в проекте. Я, со своей стороны, всегда готов помочь.
JohnyDeath; +1 Ответить
115. ahyahy 13.01.16 02:17 Сейчас в теме
(113) Исправил, на ресурсе bitbucket.org/ahyahy/gui-1script лежит русская справка KiXforms в html, dll и примеры "*.os". Справку и примеры буду дополнять, накопал недокументированные возможности.
vasiliy_b; +1 Ответить
117. JohnyDeath 294 13.01.16 23:40 Сейчас в теме
(115) ahyahy, я не совсем понимаю, для чего конкретно вы это делаете. Для каких задач?
Но если востребовано, то конечно пусть будет.

Посмотрел мельком пару файлов из вашего репо. Навскидку совет: сделайте уж сразу обертку над всеми объектами и переведите на русский все их методы и свойства.
Чтобы не переключать раскладку по 10 раз в таких строках:
СписокЭлементов1.Clear();	
СписокЭлементов1.Columns.Add("Цвет",120,0);

а сразу писать:
СписокЭлементов1.Очистить();
СписокЭлементов1.Колонки.Добавить("Цвет",120,0);
118. ahyahy 14.01.16 04:04 Сейчас в теме
(117) JohnyDeath, О, для чего конкретно я и сам наверное четко не сформулирую, хотя можно попробовать. Начну с того, что просто
интересно кодировать и много свободного времени. Увидел скриптовый язык привычного синтаксиса и загорелось, не
потушишь. Просто болезнь какая то. Пока болею может что полезное сделаю. Мне-то точно, но может ещё и другим
пригодится. Идеи какие подкинет, на мысли хорошие наведёт. Идём дальше.
Ученые из ЦЕРНа (у меня нет там знакомых...) так прямо и отвечают - Ну не знаем мы, что нам этот бозон Хиггса даст,
но искать будем, только денег пожалуйста дайте. Ну не знаю я пока что из этого вырастет. Пусть растёт деревце,
если вырастет яблоня, яблоки будем кушать. Идём дальше.
Линус Торвальдс, когда писал свой эмулятор терминала, тоже бы четко не ответил. Ты чё парень, у нас же уже есть
UNIX, а он "заболел" и нате вам Linux. Идём дальше.
Да замечательно, теперь с 1Script мне автоматизировать легко и просто, ну легче и проще. Но привык я к GUI. Может
кто к другому привычнее, а я к GUI. Это не порок. Для пользователя опять же можно будет минипрограммки-подсказки
штамповать. Там и поля ввода можно отформатировать, чтобы лишнего не набили, и подсказок напридумывать.
Заботиться о пользователе надо. Кто кроме админа его пожалеет?
Можно этот GUI держать в стороне на полочке, и без него можно обойтись, а если понадобится так вот оно уже есть,
пользуйся, дополнительное лезвие в швейцарском ноже. И 1С по поводу лицензии к нам без претензий. Большие
программы конечно не напишешь, так ведь инструмент надо применять по назначению. Для админов самое то.
Будет востребовано или нет, мне и самому очень хочется знать, может я не один такой?
Да не хочу я 1С повалить. Там ребята молодцы, да и девчонки тоже, дело своё делают помаленьку. У них своё дело
, у нас своё. Думаю мы друг другу не мешаем.
Методы и свойства на русском тоже хочу, но не сразу Москва строилась! Я только недавно вплотную
KiXforms занимаюсь. Был ещё кандидат в виде WSO от Александра Веретенникова, но там всё очень громоздко
получилось и медленно. Да и подучить кое что надо. Ах, ах, у меня большие пробелы в знаниях. Осваиваю по мере
необходимости и интереса. Но в планах есть конечно. С самого начала было.
Надеюсь как-то ответил.
Насчет справки, после очередного теста нашел нестабильность формы, уже исправил, но новые версии справки и
примеров только собираюсь сформировать. Будет kf247ru50.
biformatus; Evil Beaver; JohnyDeath; +3 Ответить
114. JohnyDeath 294 12.01.16 20:40 Сейчас в теме
(112), (113)
Далее появится "конвертер управляемых форм в KiXforms", параллельно ему допилят ODBC-обертку и вуаля, убийца 1С готова )))
116. Evil Beaver 6230 13.01.16 23:05 Сейчас в теме
(114) JohnyDeath,
вуаля, убийца 1С готова )))

Чур-меня, чур. Изыди, еретик! )))
119. Darklight 19 20.01.16 11:38 Сейчас в теме
Скрипты это хорошо. Но для скриптов очень важно
а) Повторное использование кода (подключение библиотек)
б) Набор нативных возможностей, дающих доступ к тем или иным ресурсам локального/удалённого компьютерного оборудования, и к WEB-ресурсам
в) Шаблоны и макросы - позволяющие "управляемо" разворачивать алгоритмы в более сложные структуры, позволяющие получать массово клонируемые полиморфные стукрутыр алгоритмов на основе "простых" исходных образцов. Скрипты, генерирующие по паттернам скрипты и их исполняющие их.
Для эффективной реализации пунктов а) и б) нужны простые механизмы подключения уже созданных библиотек: скриптов + возможность подключать свои библиотеки (на той же dot NET) для расширения нативных библиотек.
А для последнего пункта нужен особый синтаксис для реализации макрошаблонов (в 1С 8 такого нет, но очень не хватает; но есть, например, dot NET языке Nemerle).
И тогда это будет мощный инструмент.

Да, и ещё вопрос. А как тут с поддержкой работы с базами данных (хотя бы через ADO SQL) и есть ли поддержка OLE Automation Clinet (хотя бы для подключения к 1С: Предприятие)?
120. Evil Beaver 6230 20.01.16 16:20 Сейчас в теме
(119) Darklight,

а) Повторное использование кода (подключение библиотек)

Есть http://oscript.io/library (полный список на гитхабе по ссылке)
б) Набор нативных возможностей, дающих доступ к тем или иным ресурсам локального/удалённого компьютерного оборудования, и к WEB-ресурсам

Есть (чего не хватает - сообщайте):
  • Файлы
  • Запуск приложений
  • Чтение потоков ввода/вывода
  • XML
  • TCP\
  • HTTP
  • ZIP
  • COM-объекты
  • И вообще, все здесь: http://oscript.io/syntax

в) Шаблоны и макросы - позволяющие "управляемо" разворачивать алгоритмы в более сложные структуры

Нету. Но и далеко не в каждом скриптовом языке есть.
Да, и ещё вопрос. А как тут с поддержкой работы с базами данных (хотя бы через ADO SQL) и есть ли поддержка OLE Automation Clinet (хотя бы для подключения к 1С: Предприятие)?

Задача на собственные классы к БД есть, но не реализована. А через ADO - хоть сейчас.
Кроме того, прямой проброс библиотек .NET в скрипты - делается несложно, планы такие есть.

Иными словами, непонятна критика - большая часть того, что вы перечислили есть уже сейчас, а метапрограммирование штука хорошая, но без нее жить вполне можно.
123. andy23 422 31.03.16 17:32 Сейчас в теме
(120) работа с FTP очень бы пригодилась
121. shalimski 5 25.01.16 09:56 Сейчас в теме
122. Evil Beaver 6230 26.01.16 12:46 Сейчас в теме
(121) shalimski, Это класс, выдающий информацию о сценарии (скрипте). Существует два способа получения информации о скрипте:

Метод ТекущийСценарий()
Метод СтартовыйСценарий()

СтартовыйСценарий() описан в синтакс помощнике в разделе "Глобальный контекст"

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

Что касается того, как с этим работать - то очень просто.

ЭтотСкрипт = ТекущийСценарий();
Сообщить(СтрШаблон("Выполняется скрипт %1", ЭтотСкрипт.Источник));
shalimski; +1 Ответить
124. MishaD 12 31.03.16 18:13 Сейчас в теме
Ага, столкнулся с задачей качать по расписанию большой файл с фтп с докачкой. Поискал в гугле, спросил на мисте, нашел ncftp. Да качает с докачкой, но надо знать имя файла. А про файл известно только то, что он по дате последний на фтп лежит.
125. eugeniezheludkov 32 01.04.16 08:18 Сейчас в теме
Обнаружил первоапрельскую багу в разнице поведения с 1С:
кк=2;Для i = 0 По 1000000 Цикл 	кк = кк * Цел((i+2)/2) * 2 /(Цел((i+1)/2) * 2 + 1);	КонецЦикла;	Сообщить(кк);

этот код нормально выполняется в 1Script, но в 1С 8.2 зависает навсегда, сделайте чтоб и у вас зависал.
126. baton_pk 393 01.04.16 09:08 Сейчас в теме
(125) eugeniezheludkov, будь это на перле, я бы не рискнул запускать это :-D
Evil Beaver; +1 Ответить
127. Evil Beaver 6230 05.04.16 10:37 Сейчас в теме
(126) baton_pk, z я даже читать не рискнул, не говоря уже о запуске ))
128. eugeniezheludkov 32 12.04.16 06:33 Сейчас в теме
не вздумайте запускать тот код, я ничего не писал, это сделал известный ботнет от инфостарта
129. PerlAmutor 45 12.04.16 08:30 Сейчас в теме
1С придумывает велосипеды, разработчики 1С придумывают велосипеды. Когда это уже закончится? EcmaScript/JavaScript, на худой конец просто Java синтаксис во все приложения и будет вам низкий порог вхождения и ничего никогда забывать не придется. Что уж говорить о том, что в 21 веке в 1С до сих пор нет регулярных выражений, а работа с датами и строками - хождение по мукам, не говоря уже об отсутствующих функциях для работы с бинарными файлами (COM объекты - зло)...
130. Evil Beaver 6230 14.04.16 11:13 Сейчас в теме
(129) PerlAmutor, а почему сразу Java[Script]? Оно что, лучше остальных?
131. PerlAmutor 45 24.04.16 19:08 Сейчас в теме
(130) лучше конечно. C++ подобный синтаксис. А это сразу низкий порог вхождения для разработчиков из многих языков программирования: Java, C#, C/ObjectC...OpenCL Полный список тут.

Стоит ли говорить, что именно благодаря подобному синтаксису огромное количество портов программ из одного языка в другой и огромное сообщество кодеров, которое может помочь в составлении алгоритмов?
132. Evil Beaver 6230 25.04.16 15:04 Сейчас в теме
(131) PerlAmutor, вы не уловили иронии. Ну да бог, с ним... Язык не важен. Совсем. Добавление [choose a language] не изменит порог вхождения.
133. PerlAmutor 45 30.04.16 13:58 Сейчас в теме
(132) синтаксис очень важен. Все это влияет на скорость разработки и ёмкость кода. Я писал макросы Excel(Visual Basic), на WindowsShell (VBscript, jScript), PowerShell, BAT/CMD, AutoIt, Lua, Perl, Python, PHP. Последние 3 еще ничего. Но вот все остальное (включая синтаксис и набор методов 1С) стоят на первой ступени развития эволюции. В то время как синтаксис других языков ушел достаточно далеко. Одни лямбды с регулярными выражениями чего стоят. Подобные глупости вообще вымораживают:
НомерСтроки = НомерСтроки + 1;
А чего не "НомерСтроки++" ?
Или
SQLзапрос = "INS ERT IN TO table ("
"|id, "
"|1,"
"|2)";

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

SQLзапрос = "INS ERT IN TO table (
id, 
1,
2
";
[/IS-QUOTE]

А комментарии и излишний текст?:

[1C-CODE]
// Пар1 - число, Пар2 - строка, Пар3 - массив
Процедура ИмяПроцедуры(пар1, пар2, пар3)
КонецПроцедуры;
Показать


Так поинтереснее будет:
function main(argc, argv /*комментарий в любом месте кода*/)
{

}


Это вообще классика:

СтрШаблон("Ошибка в данных в строке %1 (требуется тип %2)", 2, "Дата")


А как вам такой вариант (C++):
std::cerr << "Cannot open file for writing: "
              << qPrintable(file.errorString()) << std::endl;


Или PHP:
$var = 'my variable';
echo "I love {$var}";


Вот зачем кодерам жизнь усложнять? Возьми экспортируй весь набор типов данных, классов, методов, процедур, функций и т.д. и т.п. из своей библиотеки и позволь выбрать любой язык программирования для работы с этим.
134. Evil Beaver 6230 07.05.16 23:45 Сейчас в теме
(133) PerlAmutor,
экспортируй весь набор типов данных, классов, методов, процедур, функций и т.д. и т.п. из своей библиотеки и позволь выбрать любой язык программирования для работы с этим

Экспортировать мало. А рантайм (выполнялку) где брать? Т.е. еще надо поддержать в платформе движки PHP, JS и питона? Чтобы сервер предприятия запускал нужные скрипты на желаемом языке, так получается?
135. PerlAmutor 45 08.05.16 08:52 Сейчас в теме
(134) также как и с подключаемыми модулями в 1С. Сначала экспортируешь типы, функции, интерфейсы из ядра. Пишешь 1-2 стандартных подключаемых модуля, например под поддержку EcmaScript и Python. Чтобы было доступно из коробки. Дальше уже сторонние разработчики пишут свои плагины/подключаемые модули под другие языки, например под .cs (C#) скрипты. В результате имеем механизмы для работы и создания приложений любой сложности, а главное его можно разрабатывать в любой IDE и интерфейс описывать на любом декларативном языке. В общем что-то типа QtQuick, только со специализированным ядром учетной системы.
136. Evil Beaver 6230 12.05.16 22:01 Сейчас в теме
(135) PerlAmutor, там придется серьезно переписать ядро самой платформы, чтобы такие плагины стали возможны. (Ну или если там это есть - то все это придется серьезно задокументировать, а потом поддерживать)

И тут встанет вопрос "Где деньги, Зин?" Какой профит принесет компании вложение ресурсов в подобную доработку платформы? Мы, например, тут можем придумать ответ на данный вопрос и попытаться донести его до 1С. Если наше предложение действительно будет приносить прибыль, уверен, 1С займется этой работой.

Возьметесь сформулировать?
137. PerlAmutor 45 20.05.16 22:16 Сейчас в теме
(136) определенно надо часть ядра переносить в OpenSource среду и позволить всем программистам вносить свою лепту. Если все идет в сторону HTML5 и JavaScript, то надо перестраиваться. WMF/EMF иконки выкинуть, сделать поддержку .svg/.svgz, webp/webm и т.д. Встроить Chrome движок в ядро, а не полагаться на InternetExplorer. Apple пошла этим путем, взяла все свободные разработки сделанные другими людьми бесплатно, сделали форки, чуток изменили и начали продавать как готовый собственный продукт. Исков не избежали. Но и продавать меньше не стали после этого. Надо соответствовать мировым стандартам и обратить "мозги" находящиеся зарубежом на пользу собственной стране не зацикливаясь на синтаксисе с русским языком.
138. JohnyDeath 294 21.05.16 09:29 Сейчас в теме
139. cool.vlad4 45 22.05.16 04:20 Сейчас в теме
(137) PerlAmutor, осталось только понять, если вы знаете эти крутые банальностиистины, то почему не взяли как Apple и не подкрутили там, сям и не получили на выходе продукт? вы даже на гитхабе не смогли найти данную разработку, но уже беретесь о ней судить. C# скрипты не надо изобретать, они уже есть. http://scriptcs.net/
141. cool.vlad4 45 22.05.16 04:31 Сейчас в теме
(137) PerlAmutor,
сделали форки, чуток изменили
и нифига они не чуток изменили. там дохрена человекочасов потрачено. а автор скриптового языка 1С сделал его не чтобы
соответствовать мировым стандартам и обратить "мозги" находящиеся зарубежом на пользу собственной стране не зацикливаясь на синтаксисе с русским языком.

об этом хорошо на кухне говорить. а чтобы был скриптовый язык, совместимый до некоторой степени с языком 1С. как я писал выше, мне он не нужен вообще. но другим вполне может быть полезным. это не велосипед ни разу, поскольку нет ни одного совместимого скриптового языка с языком 1С(на уровне копипейста. это может быть даже покрывает некоторые кейсы при программировании на самой 1С, - например проще тестировать некоторые куски кода). все остальные замечания по поводу отставания (с которыми я ксатит могу быть согласным) , надо писать на почту 1С, а не сюда.
ps в 1С можно и на английском кодить. че-то я не заметил , чтобы мировые мозги зациклились на 1С. на сегодняшний день, 1С, это чисто российский продукт, рассчитанный на постсоветское пространство, где польуется популярностью для учета программа 1С. не надо строить иллюзий.
142. Evil Beaver 6230 24.05.16 11:52 Сейчас в теме
(141) cool.vlad4,
это чисто российский продукт, рассчитанный на постсоветское пространство


В последний год 1С стала активно прикладывать усилия для продвижения за рубюежом. Курсы 1С на английском, офисы в Германии, Турции, США.

Продукт accountingsuite продвигается в Америке http://www.accountingsuite.com/

Видео со знакомым UI: https://www.youtube.com/watch?v=95X7yXP5BME

И демо-версия http://apps.1c-dn.com/1cas/en_US/

1C это весьма современный фреймворк. Совсем не хуже прочих, что используют в западном Enterprise.
140. cool.vlad4 45 22.05.16 04:26 Сейчас в теме
(134) я бы лучше ему задал другой вопрос. написал ли он хоть один язык или хоть пытался. любой, - скриптовый или компилируемый, неважно. а то такие фразы
экспортируй весь набор типов данных, классов, методов, процедур, функций и т.д. и т.п. из своей библиотеки и позволь выбрать любой язык программирования для работы с этим

выдают, что месье теоретик в кубе. есть такой проект Nitra (https://github.com/JetBrains/Nitra), который начат JetBrains, взяв под крыло мэйтейнеров Nemerle, вот уже пару лет пытаются допилить. и чего-то как-то до сих пор. а тут энтузиасты на вольных хлебах в свободное от работы время замутят. всего лишь возьмут разработку опенсурс и все само собой накодится.
143. Drak0n 168 01.07.16 09:46 Сейчас в теме
При попытке свернуть комментарий перед процедурой/функцией - вылет.
144. Evil Beaver 6230 03.07.16 22:06 Сейчас в теме
145. Drak0n 168 04.07.16 16:59 Сейчас в теме
146. Evil Beaver 6230 04.07.16 18:15 Сейчас в теме
Спасибо. на всякий случай, напомню, что TestApp используется нами для отладки движка и не является полноценным редактором кода.

Полноценный редактор: http://infostart.ru/public/450868/ (по функциональности редактирования 1С лидирует VS Code)

И общепринятой практикой является сообщать об ошибках непосредственно в багтрекере проекта (https://github.com/EvilBeaver/OneScript/issues ). Так сообщение быстрее попадет к авторам.
147. newdigger 15.09.16 16:24 Сейчас в теме
Решаю админские задачи, не связанные с 1С, средствами платформы 1С. Очень порадовало решение. Спасибо разработчикам! Один скрипт уже портировал. Очень жду поддержки работы с электронной почтой (мне нужна только отправка писем).

P.S. В документации не нашел функции СокрЛП, хотя по факту она есть...
148. json 06.10.16 20:01 Сейчас в теме
решил научиться пользоваться данным инструментом. Подскажите, пжалста, статья еще актуальная? Не нашел инсталлятора, как в статье. Какой файл тыкнуть, чтобы он установился?
149. baton_pk 393 06.10.16 20:11 Сейчас в теме
150. json 06.10.16 20:17 Сейчас в теме
(149) baton_pk, благодарю, помогло
151. hostguy 12.12.16 17:58 Сейчас в теме
Коллеги, подскажите пожалуйста в каком редакторе в Linux (OpenSUSE или Ubuntu) можно настроить подсветку синтаксиса аналогично Notepad++? Можно, конечно, писать скрипты в любом текстовом редакторе, но хочется с комфортом и красиво.
152. pumbaE 627 12.12.16 20:07 Сейчас в теме
153. hostguy 19.12.16 17:58 Сейчас в теме
(152) Евгений, благодарю за подсказку.
Еще вопрос - у меня подсветку синтаксиса в NP++ сделать получилось, но контекстной подсказки нет. Когда начинаешь набирать, например, Удалить - то контекста нет, и в англоязычном варианте тоже нет... Что я сделал не так и как прикрутить контекст?
154. JohnyDeath 294 19.12.16 23:58 Сейчас в теме
(153) может все-таки по ссылке перейдете и установите то, что советуют?
В NP++ не будет никакого контекста. Там только раскраска была, а все "подсказки" - штатные редактора, т.е. просто слова по текущему файлу
155. hostguy 20.12.16 12:24 Сейчас в теме
(154) Я именно так и сделал, перешел по ссылке и установил все что советуют. Подсветка синтаксиса и запускальщик в NP++ у меня прекрасно работают. Я спрашивал про контекстные подсказки, т.к. увидел контекст на картинке. Вы развеяли мои недоразумения, теперь содержимое картинки с контекстом мне понятно как и то, что я все сделал правильно и у меня все работает. Благодарю.
156. hostguy 20.12.16 12:31 Сейчас в теме
(152) Евгений, примите еще раз мою благодарность. Установил себе на LinuxMint редактор VSC и, воспользовавшись проектом xDrivenDevelopment/1c-syntax на GIT, подключил подсветку синтаксиса и контекст. Установил oScript и написал скриптик для подъема 2х файловых баз из архивов для обмена данными (рутинная операция, отнимавшая время каждый месяц). Могу сказать что это очень удобно, особенно когда немного привыкнешь к редактору и подсветке синтаксиса. Теперь на очереди скрипт для сортировки и удаления ненужных архивов 1С.
Еще раз спасибо!
Evil Beaver; artbear; +2 Ответить
157. JohnyDeath 294 20.12.16 14:59 Сейчас в теме
(156) многое уже сделано до вас. Вот стандартные библиотеки: https://github.com/oscript-library . Есть еще несколько отдельный проектов
Вливайтесь в чатик, спрашивайте, вам обязательно помогут: https://gitter.im/EvilBeaver/oscript-library
158. AKV77 237 30.12.16 14:38 Сейчас в теме
Коллеги добрый день ! Всех с наступающим Новым Годом ! Успехов, процветания и мира в ваших домах !

Решил воспользоваться oScript , установил , запустил тестовый батник, в итоге получил ошибку : (показана на рисунке)

Подскажите, в чем может быть причина.
Спасибо.



Прикрепленные файлы:
160. JohnyDeath 294 31.12.16 09:14 Сейчас в теме
(158) пиши подробнее в чат https://gitter.im/EvilBeaver/oscript-library с какими параметрами вызываешь и где платформа стоит.
159. AKV77 237 30.12.16 14:48 Сейчас в теме
в дополнение использую скрипт
Прикрепленные файлы:
uni_script.zip
161. DIvanmgn 11.05.17 22:04 Сейчас в теме
Здравствуйте. У меня ошибка (см. скриншот). Подскажите, пожалуйста, что не так?
Прикрепленные файлы:
163. Evil Beaver 6230 14.05.17 22:50 Сейчас в теме
(161) Точки с запятой после КонецПроцедуры запрещены синтаксисом. В 1С будет тоже ошибка, только звучать по-другому.
162. tivanitsky 12 12.05.17 10:22 Сейчас в теме
Пользуюсь не первый день ;-)
Evil Beaver; +1 Ответить
164. artbear 1149 15.05.17 08:53 Сейчас в теме
(0) Андрей, добавь в начало статьи вставку, что работа через Notepad++ морально устарела и рекомендуется VSC c нашим плагином.
Видишь, народ до сих пор юзает N++ :(
Evil Beaver; +1 Ответить
165. Evil Beaver 6230 18.05.17 00:58 Сейчас в теме
(164) А у нас есть где-то похожая детальная инструкция по превращению VSC в редактор 1Script?

Надо дать на нее ссылку.
166. JohnyDeath 294 18.05.17 08:00 Сейчас в теме
167. user736995 18.05.17 09:22 Сейчас в теме
Классная вещь! Надо попробовать!
168. Lucechiaro 10.10.17 09:47 Сейчас в теме
Добрый день!
Вопрос от начинающего пользователя onescript. Хочу написать сценарий сжатия файла журнала регистрации (sqlite). Одним из этапов планируется остановка службы сервера 1С, применение команды vacuum для файла базы sqlite и запуск службы сервера 1С.
Можно ли реализовать такое средствами onescript?
169. Evil Beaver 6230 10.10.17 12:54 Сейчас в теме
(168) Посмотрите в сторону пакета для работы с базами данных ( https://github.com/oscript-library/sql ) Я не являюсь автором и не могу сказать, поддерживает ли он sqlite. Но если поддерживает, то скорее всего, задачу реализовать можно.
170. artbear 1149 10.10.17 15:12 Сейчас в теме
(169) Поддерживает. У автора даже на Инфостарте статья об этой библиотеке есть.
173. Lucechiaro 11.10.17 09:59 Сейчас в теме
(169) Спасибо, Андрей. Буду пробовать.
171. oldfornit 10.10.17 15:23 Сейчас в теме
(168) рекомендую перейти на старый формат ЖР. Да, рекомендация совершенно левая, но зато здорово поднимает производительность сервера, особенно если ЖР занимает более 10-и гигов.
baton_pk; JohnyDeath; +2 Ответить
172. Lucechiaro 11.10.17 09:58 Сейчас в теме
(171) Спасибо. Действительно, периодически задумываюсь об этом.
174. Evil Beaver 6230 11.10.17 10:19 Сейчас в теме
(171) Рекомендация не левая. На частой записи в ЖР старый формат лучше. Если надо искать в ЖР и писать туда не в режиме HighLoad, то новый формат самое то. Однако, на больших нагрузках - лучше себя показывает старый формат. А для поиска ЖР можно переливать в ElasticSearch.
175. Lucechiaro 11.10.17 10:47 Сейчас в теме
(174) Да, я как раз смотрю в сторону Elastic. Скорее не из-за HighLoad, а из-за жестких ограничений на объём дисков C на нашей ИТ-инфраструктуре. Раздувание ЖР сейчас для меня является большой головной болью.
176. maikl007 83 30.10.17 07:41 Сейчас в теме
Доброе время. Есть в onescript какой нибудь транслятор в другой язык скажем в VBS, просто нужно что код выполнялся на любой машине где есть OS WINDOWS?
177. Evil Beaver 6230 30.10.17 13:18 Сейчас в теме
(176) Нет. Есть функция упаковки в независимый EXE, но она не приветствуется и вообще развивается неохотно (но можно развить самостоятельно, т.к. open source)

Тем не менее, несложный набор скриптов превратить в exe возможно.
178. baton_pk 393 30.10.17 13:33 Сейчас в теме
(176) (177)
несложный набор скриптов превратить в exe возможно

но всё равно помимо OS WINDOWS нужен будет установленный .NET Framework 4.5. То есть, на XP не запустится в любом случае.
179. Evil Beaver 6230 31.10.17 11:38 Сейчас в теме
(178) Кто сидит в 2017 году на вирусячном дырявом ведре выпуска 2002 года, тот я даже не знаю кто.
180. artbear 1149 31.10.17 12:13 Сейчас в теме
199. strange2007 131 15.08.18 17:31 Сейчас в теме
(179) Мне 98-я винда нравилась. Но эти злостные продвигатели новых осей совсем жить не давали. Злые вы)))))))
181. eugeniezheludkov 32 02.11.17 03:48 Сейчас в теме
Предлагаю еще немного популяризировать проект добавив его в качестве одного из ЯП для участия в чемпионате:
с 7 ноября стартует очередной чемпионат http://russianaicup.ru/ с призами и большим количеством программистов участников.
Каждый год список заявленных языков программирования пополняется "на лету".
Достаточно на добавляемом языке описать структуры данных обмена (они будут выложены 7 ноября на сайте) и написать клиента обмена с сервером (примеры будут так же выложены 7 ноября) через сокеты (http://oscript.io/syntax/page/TCP%D0%A1%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5­%D0%BD%D0%B8%D0%B5) используя описанную структуру (бинарные данные).
Протестировать решение с помощью утилиты localrunner.
Написать организаторам приложив ссылку на интерпретатор (oscript) и свой созданный языковой пакет.
182. eugeniezheludkov 32 02.11.17 06:20 Сейчас в теме
Может кому пригодится моя функция сжатия текста по алгоритму LZ77 ?
работает в oscript ))) поэтому кидаю в эту ветку и стираю с жесткого диска )

Функция СжатьLZ77(ВходнаяСтрока)
	ВыходнаяСтрока = "";
	Для i = 1 По СтрДлина(ВходнаяСтрока) Цикл 
		best = 0;
		bestLength = 0;
		Для  j = 1 По i Цикл 
			k = 0;
			Пока k + j < i и Сред(ВходнаяСтрока, k + i, 1)= Сред(ВходнаяСтрока, k + j, 1) Цикл 
				k = k + 1;
			КонецЦикла;     
			Если k > bestLength Тогда
				bestLength = k ;
				best = j   ;
			КонецЕсли;
		КонецЦикла;
		bestLength = Мин(bestLength, 30);
		Если bestLength < 3 Тогда 
			ВыходнаяСтрока = ВыходнаяСтрока + Сред(ВходнаяСтрока, i, 1);
		Иначе
			ВыходнаяСтрока = ВыходнаяСтрока + Символ(best + 2048 * bestLength);
			i = i + bestLength - 1;
		КонецЕсли;
	КонецЦикла;
	
	Возврат ВыходнаяСтрока;	
КонецФункции

Функция РазжатьLZ77(ВходнаяСтрока)
	t="";
	СтрМакс = 2048;
	for П=1 to StrLen(ВходнаяСтрока) do 
		С=Mid(ВходнаяСтрока,П,1);
		К=CharCode(С);
		t=t+?(К<СтрМакс,С,Mid(t,К%СтрМакс,К/СтрМакс));
	enddo;
	Возврат t;
КонецФункции
Показать


поскольку в 1Скрипт нет функции Выполнить или Вычислить, то вариант sfx кода отпадает (((( разве что через временные файлы
Evil Beaver; +1 Ответить
183. baton_pk 393 02.11.17 09:38 Сейчас в теме
(182)
нет функции Выполнить или Вычислить

появились

разве что через временные файлы

"ЗагрузитьСценарийИзСтроки"
Evil Beaver; +1 Ответить
184. Evil Beaver 6230 02.11.17 22:16 Сейчас в теме
(182) Сижу вот и думаю: а куда бы ее применить?
209. Perfolenta 30.10.18 15:16 Сейчас в теме
(182)
работает в oscript

очень странно работает :)
Например,
СказкаКолобок = "
|Жили-были старик со старухой.
|Вот и говорит старик старухе:
|— Поди-ка, старуха, по коробу поскреби, по сусеку помети, не наскребешь ли муки на колобок.
|Взяла старуха крылышко, по коробу поскребла, по сусеку помела и наскребла муки горсти две.
|Замесила муку на сметане, состряпала колобок, изжарила в масле и на окошко студить положила.
|";
получаем результат сжатия/разжатия и видим:
Жили-были старик со старухой.
Вот и говорит старик старухе:
о ст Поди-ка, старухи-кпо коробухи-скребиухи-ксусекробуметребне нахи-скешь ли мукибнекполобок.
Взялака, стар крылышкоухи-кпо коробухи-склрухи-ки-ксусекробВзямукиобухи-с ли мугорсти две.
Замесиухи-с уукибсобуане-каостряпаВзянекполо, изжариВзяв маслебВзям окоылы студитьхи-ложмес.

Не спорю, коробухи-скребиухи звучит прикольно, но на исходный текст не похоже.... :)
210. Evil Beaver 6230 30.10.18 19:50 Сейчас в теме
(209) вы какой версией это запускали?
211. Perfolenta 31.10.18 13:03 Сейчас в теме
(210) 1.0.20.108 но OneScript не виноват по-моему... я на своем языке программирования запускал этот же код, результат тот же... проблема в алгоритме... во-первых, алгоритм не поддерживает символы с кодом больше 2048, а в этом тексте такие есть ("—" длинный дефис), а во-вторых, алгоритм не пригоден для длинных текстов из-за малого числа разрядов под хранение смещения (я только кусочек в комментарий вставил, текст был длиннее)...
185. ahyahy 09.12.17 13:32 Сейчас в теме
Только что увидел версию 1.0.18. Почитал описание, просто СУПЕР! Проект развивается. Отладчик, функции «Выполнить», «Вычислить» и особенно «ЗагрузитьСценарийИзСтроки» для меня обещают много интересного... Спасибо разработчикам!
186. baton_pk 393 09.12.17 14:33 Сейчас в теме
(185)
Только что увидел версию 1.0.18

мы тут 19-ю к новому году выпустить собираемся.
187. Evil Beaver 6230 11.12.17 00:06 Сейчас в теме
(185) Спасибо и вам! А еще и среда разработки на базе VSC сделала много шагов вперед.
188. biformatus 23.12.17 23:09 Сейчас в теме
Есть снегопат, и хотел писать скрипты в конфигураторе, но файла addins.ini не нашел.
189. Evil Beaver 6230 25.12.17 23:43 Сейчас в теме
(188) Новая версия Снегопата (которая reborn 2.0) пока не интегрирована с 1Script. Ждем энтузиастов, у самих рук не хватает пока сделать то, что для Снегопата 1.х уже было. (((
190. biformatus 18.01.18 00:10 Сейчас в теме
Можно ли обновить версию движка не скачивая дистрибутив?
191. Evil Beaver 6230 18.01.18 10:19 Сейчас в теме
(190) Это как? Силой мысли?

Если речь о "нескачивании" setup.exe - то да, можно. Но тогда придется скачать вариант дистрибутива ZIP и распаковать его в нужную папку. Так, чтобы совсем ничего не скачивать - это я не знаю как ))
192. biformatus 26.01.18 20:00 Сейчас в теме
(191) какой нибудь скрипт который скачает и обновит уже установленный из дистрибутива движок.
193. artbear 1149 26.01.18 20:12 Сейчас в теме
(192) Таких скриптов у нас несколько.
Сейчас заканчивается разработка удобного инструмента OneScript Version Manager
https://github.com/silverbulleters/ovm

с его помощью можно легко управлять версиями установленного/используемого движка

у меня уже заработала дев-версия.
194. Glebis 11 18.04.18 11:01 Сейчас в теме
Замечательная штука, но, как я понял, для выполнения скрипта на каком-то конкретном компьютере требуется чтобы был установлен OneScript.
Поэтому у меня 2 вопроса (предложения сделать):
1) Можно ли запустить один и тот же скрипт на нескольких ПК без установленных на них OneScript используя telnet или winRM (*nix аналога)?
2) Планируется ли создание компилятора osTOexe для быстрого развертывания на клиентских компьютерах без проблем с установкой OneScript и необходимостью поддерживать последние версии библиотек?
195. JohnyDeath 294 18.04.18 12:53 Сейчас в теме
(194) делать exe из скрипта можно уже довольно давно. И он не потребует установленного OneScript.
Правда есть проблемы, если скрипту требуются бинарники. Они в пак не входят
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

Бизнес-аналитик 1С
Москва
зарплата от 140 000 руб. до 200 000 руб.
Полный день

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


Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день