Всем Hi!!
Я вот немного не пойму зачем создавать свой язык скриптов (немного непривычный и не очень функциональный) когда есть уже готовые наработки типа Fastscript. Не проще ли просто встроить его в Digitals тем более что успешные движения по этому направлению уже были (спасибо огромное разработчику TCPScript).
Дело в том, что не так просто встроить Fastscript в Digitals. А команды для инструментальных панелей уже существовали, были лишь добавлены команды условного перехода, введено понятие переменных и т.д. Для новичка не отягощенный правилами свой язык скриптов будет проще для изучения (сравните описание языка скриптов Digitals и учебник по Pascal).
А є якась інструкція (текстова) з описом команд , крім короткого опису, який виводиться у вікні редактора скриптів? Просто зручніше, якби весь список з поясненнями був у тебе перед очима.
У меня просто визникла такая ситуация:
Есть база данных (SQL) обменных файлов, около 50000 обьектов, почти половина параметров вычисляется автоматом (через формулы, списки, и т.д.). С этой базы приходится выбирать участки и делать техническую документацию. Fastreport сразу отклонил ввиду недостаточной гибкости в настройке и редактировании после формирования, пользуюсь TCPScript+Word. когда база была 10000-20000 обьектов - еще можно было работать а когда перевалило через 30000 то больше времени уходит на открытие и обновление базы чем на саму работу.
Из за чего возникла идея все вычисляемые строки обрабатывать в Fastscript и потом просто одноразово записывать в соответствующие параметры.
В результате ускоряется открытие и обновление карты и намного большая гибкость в обработке параметров.
Однако вполне реально приблизить такие скрипты к ядру дигитала избавившись от прослойки TCP/IP.
Идея на поверхности - принципы работы будут те же, что и в реализации TCPScript, т.е. посредством командных строк, но без громоздкой передачи через клиент-сервер. Попутно избавляемся от болезни ограничения длины пакета (тема поднималась).
Воспользуйтесь справкой которая идет в комплекте с TCPScript, она не претендует на полную справку но описание основных команд Вы там найдете, просто долгое время интереса к данному вопросу небыло и справка не пополнялась.
Посмотрите здесь:
[url]Отличные новости для любителей автоматизации и тулбаров!]
Очень приятно что кому-то пригодился TCPScript особенно в связке с Word! Жаль что нет обмена скриптами и идеями, возможно моя вина:)
Очень даже поддержую:) мне кажется что стоит использовать dll на пример (command.dll)
в котором собрать все команды меню, TCP, панелей инструментов и.т.д., в дальнейшем заменив dll получаем доступ к новым функциям. Думаю тогда и встроить Fastscript в Дигиталс будет проще и скорость обработки будет выше чем через TCP/IP.
TCPScript очень даже пригодился (ОГРОМНОЕ СПАСИБО ПОПОВУ ВЛАДИМИРУ) успешно пользуюсь уже больше года.
По поводу идей: было б очень неплохо ввести поддержку модулей, а то очень часто используются одни и теже функции.
Для тех кому интересно поделюсь скриптом и шаблоном документации под него.
Скрипт выполняется только с обменными файлами. Количество файлов неограничено.
Script.rar (39.3 KB)
Было б не плохо просто сделать формулу, которая ссылалась бы на ТХТ документ(в котором бы был записан паскалевский скрипт), запускала б какой нить модуль по обработке этого файла и возвращала в параметр полученные результаты. Не пришлось бы ничего особого внедрять в диг, и новичку этот модуль было бы незачем (до поры до времени) ![]()
экспорт проводить аналогично репорту, добавить в настройки соответствующею константу, управляющую запуском сего модуля
Может я не в тему.
вот пример скрипта, который должен менять ДС.
$t=@Map.Object[1].Parameter[DS] 0010389
@dialog.message $t
Получается только меседж “0010389”, а эффекта относительно параметра никакого. Может я что то делаю не так
Проверил - работает, то есть меняет параметр DS. Может надо обновить Digitals.
Согласен. Спасибо