Написание и выполнение кода 1С в Режиме 1С:Предприятие (консоль скриптов)






1С 8.2

Консоль скриптов 1С v3.1.
Применение:
-Написание и выполнение программного кода без захода в Конфигуратор.
Данная обработка выполняет код 1С в режиме работа 1С:Предприятие.
Для получения значений переменных после выполнения кода, их можно добавить в табло формул.

-Написание и выполнение программного кода без захода в Конфигуратор.

Работает на Толстом клиенте, не в управляемых формах. Время выполнения показывает только при выполнении на клиенте под Windows.

Спасибо всем, кто комментировал первую версию моей обработки. За сегодня по части замечания я подготовил исправления.

Версия 1.0(УФ)

Создана версия для Управляемых форм. Будьте внимательны — Обработки Версии 3.3 и Версии 1.0 (УФ) и файлы сохранения не совместимы.

Версия 3.3

Сохранение и восстановление изменений при открытии и закрытии обработки

Версия 3.2

Доработанная часть обработки запросов:

— автоматическое подставление типов значений параметров запросов

— удобное открытие значений результатов запросов

Версия 3.1

Теперь консоль скриптов совмещена с консолью скриптов

— Выполнение запросов в консоли

— Выполнение JavaScript в консоли

— Выполнение VBS в консоли

— Выполнение CMD в консоли

— Добавлено поле «Тип» — устанавливается тип модуля — Код 1С, Запрос 1С, VBS, JS, CMD. Рекомендую скачать сохраненный файл проверки работоспособности для версии 3.1 для ознакомления с возможностями.

— Удобное выполнения только необходимого части запроса ( можно выполнять подзапросы не создавая отдельных модулей). Для этого нужно — 1. Установить галку «Выполнять выделенный участок» (Действия -> Выполнять выделенный участок) 2. Выделить необходимую к выполнения часть запроса. 3. Нажать выполнить.

Версия 2.3

— Добавлена возможность сохранения и загрузки написанных файлов.

— Добавлена возможность использовать Возврат; (Не стабильная работа)

Версия 2.0

-Добавлено дерево модулей. Есть возможность добавлять/удалять неограниченное количество модулей, переходить между ними во время работы.

-Текст кода теперь с подсветкой кода 1С.

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

-Возможность выполнения выделенного кода модуля. Для этого необходимо включить в настройках возможности выполнения выделенных кусков кода (Верхнее меню: Настройка->Выполнять выделенный участок). После этого будет выполняться выделенный мышкой участок (если такой имеет) или же весь код (если выделенного участка нету).

-Вывод времени выполнения участка кода с разбиением до 0.01 сек.

90 Comments

  1. Kom-off

    (0) Вот, я бы подкорректировал этот текст в статье на месте автора:

    …для отладки.

    Какая отладка в команде Выполнить()? Путаница небольшая получается в понятиях. Отладка — как технический процесс выполнения отладки кода и отладка — как «творческий» процесс исправления собственных косяков и уточнения алгоритмов.

    Reply
  2. bobreks

    Тут уж как «творческий» процесс исправления собственных косяков и уточнения алгоритмов.

    Reply
  3. Поручик

    (0) Этих консолей-выполнялок кода на сайте как грязи со времён 8.1.

    Reply
  4. rjhonson

    Все довольно таки странно 🙂

    Reply
  5. yuraos

    (3) Поручик, ага, пойдешь лазить — не отмоешься!!!

    Но тут покрайней мере некое табло формул имеется — и то оригинально.

    😉

    В общем автору плус — в качестве моральной поддержки.

    Reply
  6. yuraos

    (2)

    млин!!!

    а ну «отлаживай» текст статьи!


    нативной процедурой «Вполнить()«.

    а то морально демотивирую !!!

    😉

    Reply
  7. yuraos

    (1)(2)

    Вместо «Таблица отладки»

    наверное более уместно в форме было бы написать «Табло формул».



    Штатным таблом я довольно часто пользуюсь.

    Reply
  8. andrewks

    (6) yuraos, вспомнилось: фигуры бывают выпуклые и впуклые… )

    Reply
  9. bobreks

    (5) yuraos, спасибо, это мой дебют здесь. надеюсь дальше будет лучше)

    Reply
  10. bobreks

    (3) Поручик, а мне на глаза как-то не попадались, самому в голову в процессе работы пришла идея такую обработку сделать. И как я заметил достаточно удобная штука для определенных задач.

    Reply
  11. makfromkz

    Интерпритатор замените, плииз, на Интерпретатор, глаза режет заголовок 🙁

    Reply
  12. catena

    Табла — это интересная идея, спасибо. Выполнялку себе давно сделала, но без каких-либо фишек.

    Reply
  13. catena

    Удобнее сделать тип значения колонки «Значение» составным — позволит просматривать найденные объекты.

    Reply
  14. yuraos

    (9)

    могу подсказать хороший «отладчик» для текста статьи.

    MS WORD называется.

    🙂

    Можешь сначала набивать текст в ворде, а

    потом через буфер вставить его в содержание публикации.

    там в командной панельке есть специальная кнопка

    «Вставить из ворда» — специально для этого.

    Reply
  15. yuraos

    Можно еще навернуть синтактический контроль

    как в этой консоли.

    Правда контроль бестолковый получается:

    на любую ошибку пишет — «Ошибка компиляции модуля» — и больше ничаго…

    🙁

    Reply
  16. yuraos

    (15)

    Так уж устроеная эта самая

    «нативная процедура Вполнить()»…

    ***

    PS

    К стати о причках …

    что получится если в тексте модуля в консоли

    написать такой такой простой код:

    Возврат;
    

    ?????

    Reply
  17. bobreks

    (11) makfromkz, спасибо за замечание, обязательно исправлю в следующей версии

    Reply
  18. bobreks

    (15) yuraos, (13) catena, спасибо, буду исправляться и дополнять обработку

    Reply
  19. MarSeN

    (16) yuraos

    Ошибка компиляции кода

    Reply
  20. SkorikA

    Если честно, не понимаю для чего может быть нужна данная обработка. Длинный код так не отладить (отсутствие синтаксис контроля, точек остановки и т.д.), результат выполнения небольшого кода — не сложно посчитать в голове. Лично меня не напрягает выполнить отладку кода (алгоритма) конфигуратором. Были бы еще какие-нибудь «фишки» — например замер времени исполнения, передача параметров, имхо, пользы от обработки было бы гораздо больше.

    Reply
  21. catena

    Еще можно добавить кнопку Добавить в табло (выделенный кусок кода) и попытку вычисления выражения. Есть где поиграться 🙂

    Reply
  22. Lo1jke

    (20) SkorikA,

    Поддерживаю, Вас.

    Решительно не могу понять практическую пользу данной обработки.

    Reply
  23. WKBAPKA

    пользы то и нету, а вот 20 плюсов наплюсовали 🙂

    Reply
  24. tormozit

    В подсистеме «Инструменты разработчика» в консоли кода есть

    — удобный синтакс контроль (показываются ошибки компиляции и выполнения прямо в тексте)

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

    — замер времени исполнения

    — трасса техножурнала

    — передача параметров при программном вызове, в т.ч. из точки останова в режиме отладки

    — автозаполнение параметров с учетом их направления вход/выход

    — сохранение и загрузка в/из элемент справочника или файл

    — более умная контекстная подсказка, чем в конфигураторе

    — более умный контекстный синтакс-помощник, чем в конфигураторе

    — указание контекста выполнения кода клиент/сервер

    — любые значения (таблицы значений и др. сложные объекты) параметров можно исследовать/редактировать

    — автовосстановление сессии консоли после аварийного завершения

    — удобная вставка ссылки на объект БД прямо в текст в виде внутреннего параметра

    Reply
  25. nikolega
    Давно уже сам пользуюсь, удобно бывает выполнить участок кода не делая внешних обработок.

    Поддерживает весь функционал кода 1С, то есть сам код выполняется нативной процедурой «Выполнить()».

    В табло формул можно добавить переменные, которые использовались в вывполняемом коде.

    По нажатии кнопки «Выполнить» происходит выполнение кода и пересчет значений переменных.

    И как только модераторы пропустили такое описание обработки ?

    А «аФФтору» не помешало бы научиться пользоваться Word-ом, если не в состоянии сам проверить орфографию.

    Инерпретатор

    Reply
  26. bobreks

    (25) nikolega, от чего столько негатива? все печатают выстро и многие не смотрят на текст, всякое бывает, но я никак не пишу «Отчетег» или «Документег»…

    Reply
  27. nikolega

    (26)

    все печатают выстро и многие не смотрят на текст, всякое бывает

    Не отрицаю, и специально для такого случая есть программы, проверяющие правильность написания текста.

    Не бойся, а радуйся , когда тебя критикуют , — критика в семь раз полезней похвалы.

    Но сам не упрекай и не критикуй , особенно бесплатно.

    Я не критикую тебя, а подсказываю пути к самосовершенствованию.

    Удачи в разработках)

    Reply
  28. yuraos

    (19) MarSeN,

    как ты наверное догадался вопрос был риторическим…

    🙂

    А что должно быть на самом деле при выполнии такого фрагмента кода??

    Почему нельзя внутри оператора Выполнить() использовать оператор Возврат ???



    Правда это больше вопросы к Борису Нуралиеву…

    ;)))

    Reply
  29. yuraos

    (28)

    к стати это ограничение приводит к заморочкам

    при программировании кода фактически выполняемого в 1С оператором Выполнить().

    К примеру такой фрагмент не канает:

    Если НЕ Проверка1() Тогда
    Отказ = Истина;
    Возврат;
    КонецЕсли;
    
    // ЛяЛяЛя1
    
    Если НЕ Проверка2() Тогда
    Отказ = Истина;
    Возврат;
    КонецЕсли;
    
    // ЛяЛяЛя2
    
    

    Показать

    Reply
  30. yuraos

    (29)

    приходится извращаться вот таким стилем написания кода:

    Если НЕ Проверка1() Тогда
    Отказ = Истина;
    Иначе
    
    // ЛяЛяЛя1
    
    Если НЕ Проверка2() Тогда
    Отказ = Истина;
    Иначе
    
    // ЛяЛяЛя2
    
    КонецЕсли;
    
    КонецЕсли;
    

    Показать

    Не знаю кому как …

    но я бы предпочел первый вариант, если бы он работал.

    Reply
  31. bobreks

    (27) nikolega, Спасибо)

    Reply
  32. pumbaE

    Поставьте метку Конец и тогда можно будет вместо Возврат использовать Перейти к метке.

    Reply
  33. yuraos

    (32) pumbaE, спасибо за идею.

    хочешь сказать вот такой вариант пройдет:

    Если НЕ Проверка1() Тогда
    Отказ = Истина;
    Перейти ~Возврат;
    КонецЕсли;
    
    // ЛяЛяЛя1
    
    Если НЕ Проверка2() Тогда
    Отказ = Истина;
    Перейти ~Возврат;
    КонецЕсли;
    
    // ЛяЛяЛя2
    
    ~Возврат:
    

    Показать

    ???

    Reply
  34. yuraos

    (33)

    Подтверждаю, что вариант рабочий!

    Ну хоть так!!!

    :)))

    Reply
  35. bobreks

    (33) yuraos, (32) pumbaE, супер идея. Такую штуку можно и в обработку включить, и делать через СтрЗаменить из Возврат переход по метке;

    Reply
  36. bobreks

    (7) yuraos, (21) catena, Спасибо за замечания, обработка была дополнена и выложена в новой версии (ссылка недействительна, так как выложил на этой странице) . С вашими замечаниями самому стало удобней работать.

    Reply
  37. KonstB

    (36) Новую версию можно было и в этой публикации выложить…

    Reply
  38. bobreks

    (37) KonstB, Спасибо, я не в курсе еще как сайт работает, буду знать

    Reply
  39. 26178_mail.ru

    неплохо попробуем проверим отпишимся по факту, идея неплохая посмотрим реализацию

    Reply
  40. pm74

    (30) yuraos,

    можно так

    Процедура ВыполнитьПроверку(Кнопка)
    Перем вз;
    Проверки=Новый Массив;
    Проверки.Добавить(«Сообщить(«»1″»);вз = Ложь;»);
    Проверки.Добавить(«Сообщить(«»Ошибка!»»);вз = Истина;»);
    ПРоверки.Добавить(«Сообщить(«»3″»);вз = Ложь;»);
    Для каждого Проверка  Из Проверки Цикл
    Проверить(Проверка,вз);
    Если  вз  тогда
    Возврат;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
    Процедура Проверить(КодПроверки,вз)
    Выполнить (КодПроверки);
    КонецПроцедуры

    Показать

    Reply
  41. yuraos

    (40) pm74,

    конечно дело вкуса,

    но вариант (32) pumbaE мне кажется более лаконичней.

    PS:

    —1—

    к тому же

    // ЛяЛяЛя1

    и

    // ЛяЛяЛя2

    в примере это не просто комментарии, а некоторые потоки исполнения.

    —2—

    и не всега удобно (или даже возможно) выполнить все проверки вначале.

    Reply
  42. yuraos

    Что-же делать тем несчастным…

    …кто до сих пор по каким-то причинам

    «варится» под 1с-8.1 и

    хотит воспользоваться этой чудо-консолью???

    :)))

    Reply
  43. yuraos

    (16)

    ииииище к стати о птичках

    ——-

    что получится если в тексте модуля в консоли

    написать такой … чуть менее простой код:

    Выполнить(ТекстВыполнения);
    
    

    ;)))

    Reply
  44. bobreks

    (43) yuraos, (42) yuraos,

    Выполнить(«Выполнить(«»…»»)») — работает, только не надо забывать про двойные-двойные ковычки,

    А вот под 8.1 никак, да и большинство перешло уже на 8.2 с конфигурацией запущенной с совместимостью 8.1

    Reply
  45. bobreks

    (44) Ну я надеюсь, если хоть кому-нибудь понадобиться под 8.1 эта обработка, то он напишет это в комментариях и я выложу версию под 8.1

    Reply
  46. catena

    (42)А в чем проблема? Я тоже под 8.1. Аааткрываем и копируем.

    Reply
  47. yuraos

    (44) ты не понял.

    попробуй буквально набрать в своей консоли

    вот этот код,

    как тут написано:

    Выполнить(ТекстВыполнения);
    
    
    

    🙂

    Reply
  48. yuraos

    (46) catena,

    правила вежливого тона предполагают

    предостовлять версии продукта для всех

    используемых версий платформы

    (в пределах совместимости),

    а не предлагать делать даун-грэйд обработки.

    Конечно в данном случае

    (обработка можно сказать очень проста, если не примитивна)

    СДАУНГРЭЙДИТЬ ЭТУ КОНСОЛЬ ОСОБЫХ ПРОБЛЕМ НЕ СОСТАВЛЯЕТ…

    …но все же…

    Reply
  49. catena

    (48)Ну так в описании к публикации

    Платформа: 1C: Предприятие 8.2

    Так-то по Вашей логике и клюшечную версию надо делать 😉

    Reply
  50. 1cmax

    у tormozit и правда все поинтересней

    Reply
  51. bobreks

    (47) yuraos, Бесконечная рекурсия)

    Спасибо, буду править, и выложу вместе с возможностью использовать слова «Возврат;», которую уже сделал. Как раз выложу для всех 8-ок

    Reply
  52. tormozit

    В консоли кода ИР кстати возврат возможен через «Перейти ~Конец;» (переход к предопределенной метке за последним оператором). Для быстрой вставки такого фрагмента кода в подменю Вставка есть команда «Возврат».

    Reply
  53. yuraos

    (51)

    правильно!

    Бесконечная рекурсия которая убивает 1С-ку.

    ***

    Я смотрю ты сделал в консоли «ДеревоСкриптов»

    наподобие дерева запросов из консоли запросов.



    сделано на скорую руку,

    там например нельзя сменить родителя у текущей строки

    и выполнить скрипт при клике по строке

    ну да ладно



    Расмотрим ситуацию:

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

    (блин! сохранить бы это добро — да ладно!)

    и взял сдуру и решил в какой-то из строк выполнить следующий

    достаточно простой код:

    ДеревоМодулей.Колонки.Очистить();
    
    

    И что мы получим в итоге ?????

    Reply
  54. yuraos

    (53)

    для большей эффектности

    рекомендую насоздавать в дереве много строчек

    ну и для полного кайфа дополнить

    исполняемый код следующим образом:

    ДеревоМодулей.Колонки.Очистить();
    ТаблицаОтладки.Колонки.Очистить();
    
    ЭлементыФормы.ДеревоМодулей.СоздатьКолонки();
    ЭлементыФормы.ТаблицаОтладки.СоздатьКолонки();
    
    

    😉

    Reply
  55. yuraos

    Так-то по Вашей логике и клюшечную версию надо делать 😉

    (49) Катя, ты меня уважаешь ???

    Reply
  56. yuraos

    (55)

    у нас в конторе главная база на 1с-8.1 вертится



    и знаешь, не то чтобы мой начальник не хочет ее на 8.2 перевести,

    но как толь-ко мы подумаем в какой это геммор может вылиться…

    сразу появляются более приоритетные задачи

    вроде переезда отдела с 8-го этажа на 5-тый

    Reply
  57. bobreks

    (52) tormozit, а я сделал СтрЗаменить(ТекстВыполнения, Символ.ПС + «Возврат;», МеткаНаКонец)

    Reply
  58. tormozit

    (57) Неплохое решение, но не будет правильно работать на собственном коде.

    Reply
  59. bobreks

    (58) tormozit, отчего же работать не будет? просто сначала надо сделать набор «СтрЗаменить»

    СтрЗаменить(ТекстВыполенения, Символ.Тб(Не помню как табуляция будет, вроде так), » «(пробел));

    СтрЗаменить(ТекстВыполенения,» «(два пробел), » «(один пробела)); — пока все двойные пробелы не уберутся,

    СтрЗаменить(ТекстВыполнения, Символ.ПС + «Возврат;», Переход на конец);

    СтрЗаменить(ТекстВыполнения, Символ.ПС + » Возврат;»,Переход на конец);

    И Это уже описывает уже 99% случаев. Для любителей писать все в одну строчку можно сделать.

    СтрЗаменить(ТекстВыполнения, «; Возврат;»,Переход на конец);

    но тут уже не сделаешь Сообщить(«Выполняется код; Возврат;»)

    Reply
  60. tormozit

    (59) Да, согласен. Строго говоря конкретно эта строка кода не подвергнется нежелательному изменению. Однако этот 1%, о котором речь, мне в практике встречался не раз. Поэтому я не сторонник таких «легких» путей. К тому же после возврата может быть сколько угодно каких угодно символов, включая печатные, например «Возврат (23+23)

    ;». В общем я считаю, что лучше делать видимые преобразования, т.е. сделать кнопку для явной замены всех возвратов на «Перейти ~Конец», чем невидимые. Тогда пользователь хотя бы сможет быстро разобраться где консоль некорректно обрабатывает текст.

    Reply
  61. yuraos

    (60) tormozit,

    полностью согласен.

    задача усложняется еще возможностью

    использования в коде вариаций с регистром символов,

    например такой: ВОзврАТ;

    вряд ли стоит городить свой парсер и изменять выполнямый код.

    при неудачном изменении кода может быть получен совсем не тот результат,

    который ожидается.

    🙂

    Reply
  62. yuraos

    (47)(54)

    собственно к чему я привел эти примеры кода ???

    А к тому, что выполнение произвольного кода оператором Выполнить()

    потенциально опасно для данных самой обработки.

    как для пользовательских данных (в нашем случае самого набранного кода)

    так и для системных данных (в нашем случае структуры таблиц формы консоли).

    в примере (47) исполняемый код просто убивает сеанс 1С с потерей набранного кода.

    в примере (54) получается более обидно:

    теряем набранный код и имеем в результате нерабочую консоль.

    Reply
  63. yuraos

    (62)

    ну и мораль всей этой истории заключаеся в том,

    ЧТО, как верно заметил tormozit в (24),

    АКТУАЛЬНО


    — автовосстановление сессии консоли после аварийного завершения
    Reply
  64. tormozit

    По поводу применения грязного контекста — очень распространенная ошибка при работе с методом Выполнить. В консоли кода ИР код выполняется в гораздо более изолированном контексте (общего модуля) с минимальными рисками выполнить незапланированные действия.

    Reply
  65. yuraos

    (63)

    PS

    при этом желательно,

    чтобы при восстановлении работоспособности консоли

    так же восстанавливались из какой-нибудь резервной

    копии пользовательские данные (в нашем случае исполняемый код).

    Reply
  66. yuraos

    (64) tormozit,

    несомненно в общем модуле можно обеспечить более безопасное выполнение кода.

    как вариант — можно выполнять его и в контексте модуля объекта обработки.

    что менее безопасно, но это делает обработку более универсальной,

    как это сделано в «Консоли запросов 1С + ADO«.

    Так же в этой обработке реализовано восстановление пользовательских данных

    из резервной копии во временном файле при аварийном завершении работы консоли.

    Reply
  67. Jogeedae

    Как уже написали, таких выполняльщиков очень много.

    Сам грешу ими 🙂 половина «ленивых» обработок пишется в предприятии.

    Из явных неудобностей таких реализаций:

    -рекурсия (можно реализовать через замудрённый goto, есть размыЩления на форуме);

    -отсутствие функций (можно реализовать через некое «табло методов» и глобальные переменные);

    -отсутствие контекстных подсказок (левые приложения);

    Тем не менее теститровать кусок кода или некую конструкцию очень удобно. 🙂

    Reply
  68. Yashazz

    Совершенно ничего нового, хоть бы мою публикацию насчёт произвольных алгоритмов взять. Формульная механика тоже уже на ИС публиковалась. Не осознаю причниы такого количества плюсов за такой баян. Дерево алгоритмов худо-бедно даже в старом УПОб было. А уж что за «подсветка» кода — и вовсе не понимаю, достаточно нужное расширение указать. Или вы сделали всплывающие подсказки?

    Или вот если б вы, автор, отладку или хоть «переход к определению» сделали, тогда да.

    Reply
  69. ApocalypseNTC

    Переделывай на управляемые формы и отправляй в 1С

    Reply
  70. bobreks

    (69) Спасибо, но думаю в 1С и без меня обработок хватает. Сейчас работа. над версией 3.0, уже добавил возможность переключать режим между «консоль кода»/»Консоль запросов». То есть один или несколько отдельных модулей из дерева модулей можно делать запросами. Планах добавить возможность выполнения в обработке javascript(уже почти закончил), vbs или же dos command.

    После этого уже приступлю и к работе в тонком клиенте/уф.

    Так же хотел добавить возможность вызывать другие модули.

    Reply
  71. KonstB

    (70) интересно как Вы реализуете:

    возможность выполнения в обработке javascript(уже почти закончил), vbs или же dos command

    Переключатели? — это vbs, это javascript

    или реально будете парсить написанный код и «понимать» что написано (вот это интересно…)

    А переключатели — пфф..

    Вот еще: Есть ли возможность получить какю нибудь «переменную» и вызвать другой код, передав «переменную» в него?

    Наппример (Ваш скрин):

    Выполняем текст из «ЗапросТоваров» результат которого дает нам ТЗ товаров (тзТоваров) и далее вызываем текст «Запрос контрагентов» у которого на входе будет (тзТоваров) (что-то типа Вызвать.ЗапросКонтрагентов(тзТоваров)).

    Вопрос, для tormozit, а в Ваших «Инструменты Разработчика» это возможно (что-то давно ими не пользовался)?

    А так по сути ничего нового, наверное каждый для себе писал нечто подобное…

    Reply
  72. tormozit

    (71) KonstB, здесь видимо справочник ирАлгоритмы и функции для выполнения кода из его элементов подходят

    http://devtool1c.ucoz.ru/index/spravochnik_algoritmy/0-9, тема форума по похожему вопросу http://devtool1c.ucoz.ru/forum/3-45-1#196

    Reply
  73. KonstB

    (72) tormozit, ага, то что доктор прописал 🙂 Спсаибо.

    «Если что-то придумал — проверь, быть может это придумано до тебя»

    Reply
  74. bobreks

    (71) KonstB, Передача переменных пока не осуществлена, но я думаю о написании парсера, который сможет парсить нечто «Функция <Название модуля>(<структура параметров>)», сейчас подготавливаю процедуры с чем-то на подобие «регулярных выражений».

    А тип модуля будет переключаться переключателем. Парсинг — хорошая идея, но все равно его надо оставить только как советчик или первое переключение, а решение все равно должен принимать пользователь. Уверен найдутся тысячи случаев когда определить тип кода будет не так уж и просто или даже невозможно (если брать в учет и js и vbs).

    Reply
  75. bobreks

    (73) В любом случае я делаю это «для себя», а если это кому-либо будет полезным, то почему бы и нет =) тем более в комментариях море полезных советов и замечаний =)

    Reply
  76. Yashazz

    *задумчиво

    Неужели подсистема настолько менее удобна, чем внешняя обработка, что моя, почти аналогичная, хренечка удостоилась 8 плюсов, а эта — ажно целых уже 46?

    Автор, слабо задействовать команду «Выполнить» в com-соединении?

    Reply
  77. bobreks

    (76) Yashazz,

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

    Reply
  78. Yashazz

    (77) Это очевидно. А все тексты алгоритмов, сохранённые в дереве, тоже будете туда-сюда таскать?

    Reply
  79. bobreks

    (78) Yashazz, дерево в файлик. В зависимости от задачи открываю нужный файлик и работаю.

    Вот лично по мне, это не доставляет неудобства. Еще раз повторюсь, что обработку эту делаю так, как удобно мне самому, потому что сам ею пользуюсь. Лично мне намного удобней перекинуть файлик с текстами, чем думать каким образом уговорить заказчика добавить лишнюю подсистему в его базу.

    Reply
  80. zarucheisky

    (79) У tromozit-f есть комплект и без подсистемы:

    Мобильные «Инструменты Разработчика»

    см.

    http://infostart.ru/public/145611/

    А вообще не вижу смысла публиковать подобное.

    У самого есть такая же поделка, да еще и в управляемом интерфейсе работает и на сервере может выполнять

    и на клиенте.

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

    Reply
  81. bobreks

    (80) Как видите, кому-то она оказалась полезной. Отчего ж тогда не стоит выкладывать?

    Может блогодаря этой статье люди узнают о подсистеме tromozit-f и будут ей пользоваться, если именно эта не нравится.

    Или я интернет захломляю? 😉

    Reply
  82. bobreks

    Вышла новая версия обработки.

    Теперь есть возможность выполнять:

    — Код 1С

    — Запросы 1С

    — JS

    — VBS

    — CMD

    Reply
  83. AVMCo

    Обработка действительно стоящая. Автор продолжай её развивать, а на критику не обращай внимания. Спасибо!

    Reply
  84. Lo1jke

    Автору ОГРОМНОЕ спасибо. Пару раз спасала ОЧЕНЬ сильно. Развивайте проект, удачи!

    Reply
  85. Alex1Cnic

    Ставлю твердый ПЛЮС!

    Reply
  86. relanium86

    Отличная обработка, скиньте версию 3.3 а то баксов не хватает.

    Reply
  87. bobreks

    (86) Eugeneer, Подсветка синтаксиса в текущей версии 1С в УФ отсутствует. Тут ничего не поделать

    Reply
  88. alexsh76

    Спасибо, очень хорошая вещь.

    Reply
  89. vit1c

    Да вещь приятная

    Reply
  90. dobrynin.i.s

    где в уф 1.0

    Теперь консоль скриптов совмещена с консолью скриптов

    — Выполнение запросов в консоли

    — Выполнение JavaScript в консоли

    — Выполнение VBS в консоли

    — Выполнение CMD в консоли

    ?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *