gifts2017

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

Опубликовал Виталий Якубов (bobreks) в раздел Программирование - Инструментарий

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 сек.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Интерпретатор v3.3
.epf 19,01Kb
05.08.13
145
.epf v3.3 19,01Kb 145 Скачать
Интерпретатор v1.0 (УФ)
.epf 16,26Kb
13.12.13
71
.epf v1.0 UF 16,26Kb 71 Скачать
Интерпретатор v2.3
.epf 12,60Kb
16.04.13
42
.epf 12,60Kb 42 Скачать
Интерпретатор v3.1
.epf 18,63Kb
18.04.13
21
.epf 18,63Kb 21 Скачать
Сохраненный файл проверки работоспособности для версии 3.1
.1c 4,97Kb
16.04.13
7
.1c 4,97Kb 7 Скачать
Интерпретатор v3.2
.epf 18,83Kb
13.12.13
90
.epf 18,83Kb 90 Скачать
Интерпретатор v2.0
.epf 11,42Kb
10.04.13
132
.epf 11,42Kb 132 Скачать
Интерпретатор v1.0
.epf 8,54Kb
20.03.13
53
.epf 8,54Kb 53 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Kom-off (Kom-off) 19.03.13 11:46
(0) Вот, я бы подкорректировал этот текст в статье на месте автора:
...для отладки.

Какая отладка в команде Выполнить()? Путаница небольшая получается в понятиях. Отладка - как технический процесс выполнения отладки кода и отладка - как "творческий" процесс исправления собственных косяков и уточнения алгоритмов.
2. Виталий Якубов (bobreks) 19.03.13 14:46
Тут уж как "творческий" процесс исправления собственных косяков и уточнения алгоритмов.
3. Сергей Ожерельев (Поручик) 19.03.13 15:35
(0) Этих консолей-выполнялок кода на сайте как грязи со времён 8.1.
Yashazz; wowik; PowerBoy; yuraos; +4 Ответить 2
4. rjhonson 19.03.13 15:37
Все довольно таки странно :)
5. Юрий Осипов (yuraos) 19.03.13 18:18
(3) Поручик, ага, пойдешь лазить - не отмоешься!!!

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

В общем автору плус - в качестве моральной поддержки.
6. Юрий Осипов (yuraos) 19.03.13 18:24
(2) bobreks,
млин!!!
а ну "отлаживай" текст статьи!

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

а то морально демотивирую !!!
;)
7. Юрий Осипов (yuraos) 19.03.13 18:35
(1)(2)
Вместо "Таблица отладки"
наверное более уместно в форме было бы написать "Табло формул".
---
Штатным таблом я довольно часто пользуюсь.
8. andrewks 19.03.13 19:36
(6) yuraos, вспомнилось: фигуры бывают выпуклые и впуклые... )
CratosX; yuraos; +2 Ответить
9. Виталий Якубов (bobreks) 19.03.13 20:59
(5) yuraos, спасибо, это мой дебют здесь. надеюсь дальше будет лучше)
10. Виталий Якубов (bobreks) 19.03.13 23:16
(3) Поручик, а мне на глаза как-то не попадались, самому в голову в процессе работы пришла идея такую обработку сделать. И как я заметил достаточно удобная штука для определенных задач.
11. Мухтар (makfromkz) 20.03.13 06:57
Интерпритатор замените, плииз, на Интерпретатор, глаза режет заголовок :(
12. Екатерина Соколова (catena) 20.03.13 07:00
Табла - это интересная идея, спасибо. Выполнялку себе давно сделала, но без каких-либо фишек.
13. Екатерина Соколова (catena) 20.03.13 07:44
Удобнее сделать тип значения колонки "Значение" составным - позволит просматривать найденные объекты.
14. Юрий Осипов (yuraos) 20.03.13 09:24
(9) bobreks,
могу подсказать хороший "отладчик" для текста статьи.
MS WORD называется.
:)

Можешь сначала набивать текст в ворде, а
потом через буфер вставить его в содержание публикации.
там в командной панельке есть специальная кнопка
"Вставить из ворда" - специально для этого.
15. Юрий Осипов (yuraos) 20.03.13 09:30
Можно еще навернуть синтактический контроль
как в этой консоли.
Правда контроль бестолковый получается:
на любую ошибку пишет - "Ошибка компиляции модуля" - и больше ничаго...
:(
16. Юрий Осипов (yuraos) 20.03.13 09:41
(15)
Так уж устроеная эта самая
"нативная процедура Вполнить()"...
***
PS
К стати о причках ...
что получится если в тексте модуля в консоли
написать такой такой простой код:
   Возврат;


?????
17. Виталий Якубов (bobreks) 20.03.13 10:23
(11) makfromkz, спасибо за замечание, обязательно исправлю в следующей версии
18. Виталий Якубов (bobreks) 20.03.13 10:30
(15) yuraos, (13) catena, спасибо, буду исправляться и дополнять обработку
19. Сергей Марченко (MarSeN) 20.03.13 10:31
(16) yuraos
Ошибка компиляции кода
20. Andre Skorik (SkorikA) 20.03.13 10:44
Если честно, не понимаю для чего может быть нужна данная обработка. Длинный код так не отладить (отсутствие синтаксис контроля, точек остановки и т.д.), результат выполнения небольшого кода - не сложно посчитать в голове. Лично меня не напрягает выполнить отладку кода (алгоритма) конфигуратором. Были бы еще какие-нибудь "фишки" - например замер времени исполнения, передача параметров, имхо, пользы от обработки было бы гораздо больше.
wowik; Lo1jke; +2 Ответить 1
21. Екатерина Соколова (catena) 20.03.13 10:55
Еще можно добавить кнопку Добавить в табло (выделенный кусок кода) и попытку вычисления выражения. Есть где поиграться :)
Прикрепленные файлы:
22. Роман Верховых (Lo1jke) 20.03.13 11:45
(20) SkorikA,
Поддерживаю, Вас.
Решительно не могу понять практическую пользу данной обработки.
23. Ярослав Радкевич (WKBAPKA) 20.03.13 12:39
пользы то и нету, а вот 20 плюсов наплюсовали :)
24. Сергей Старых (tormozit) 20.03.13 13:08
В подсистеме "Инструменты разработчика" в консоли кода есть
- удобный синтакс контроль (показываются ошибки компиляции и выполнения прямо в тексте)
- опциональная генерация динамической внешней обработки по написанному коду и даже ее быстрое открытие в конфигураторе, что позволяет производить полноценную отладку конфигуратором написанного кода в виде внешней обработки с точками останова и всеми пряниками
- замер времени исполнения
- трасса техножурнала
- передача параметров при программном вызове, в т.ч. из точки останова в режиме отладки
- автозаполнение параметров с учетом их направления вход/выход
- сохранение и загрузка в/из элемент справочника или файл
- более умная контекстная подсказка, чем в конфигураторе
- более умный контекстный синтакс-помощник, чем в конфигураторе
- указание контекста выполнения кода клиент/сервер
- любые значения (таблицы значений и др. сложные объекты) параметров можно исследовать/редактировать
- автовосстановление сессии консоли после аварийного завершения
- удобная вставка ссылки на объект БД прямо в текст в виде внутреннего параметра
CratosX; Jogeedae; wowik; 1cmax; KonstB; yuraos; mtv:); Trof@; SkorikA; +9 Ответить 1
25. Олег Никоноров (nikolega) 20.03.13 13:09
Давно уже сам пользуюсь, удобно бывает выполнить участок кода не делая внешних обработок.

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

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

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


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

Инерпретатор
26. Виталий Якубов (bobreks) 20.03.13 13:26
(25) nikolega, от чего столько негатива? все печатают выстро и многие не смотрят на текст, всякое бывает, но я никак не пишу "Отчетег" или "Документег"...
27. Олег Никоноров (nikolega) 20.03.13 16:40
(26)
все печатают выстро и многие не смотрят на текст, всякое бывает

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

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

Я не критикую тебя, а подсказываю пути к самосовершенствованию.
Удачи в разработках)
28. Юрий Осипов (yuraos) 20.03.13 17:47
(19) MarSeN,
как ты наверное догадался вопрос был риторическим...
:)
А что должно быть на самом деле при выполнии такого фрагмента кода??
Почему нельзя внутри оператора Выполнить() использовать оператор Возврат ???
---
Правда это больше вопросы к Борису Нуралиеву...
;)))
29. Юрий Осипов (yuraos) 20.03.13 17:52
(28)
к стати это ограничение приводит к заморочкам
при программировании кода фактически выполняемого в 1С оператором Выполнить().
К примеру такой фрагмент не канает:
Если НЕ Проверка1() Тогда
   Отказ = Истина;
   Возврат;
КонецЕсли;

// ЛяЛяЛя1

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

// ЛяЛяЛя2

...Показать Скрыть
30. Юрий Осипов (yuraos) 20.03.13 17:58
(29)
приходится извращаться вот таким стилем написания кода:

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

   // ЛяЛяЛя1

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

      // ЛяЛяЛя2

   КонецЕсли;

КонецЕсли;
...Показать Скрыть


Не знаю кому как ...
но я бы предпочел первый вариант, если бы он работал.
31. Виталий Якубов (bobreks) 20.03.13 19:11
32. Евгений Сосна (pumbaE) 20.03.13 20:24
Поставьте метку Конец и тогда можно будет вместо Возврат использовать Перейти к метке.
CratosX; bobreks; yuraos; +3 Ответить 3
33. Юрий Осипов (yuraos) 20.03.13 20:34
(32) pumbaE, спасибо за идею.
хочешь сказать вот такой вариант пройдет:

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

// ЛяЛяЛя1

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

// ЛяЛяЛя2

~Возврат:
...Показать Скрыть

???
34. Юрий Осипов (yuraos) 20.03.13 20:38
(33)
Подтверждаю, что вариант рабочий!
Ну хоть так!!!
:)))
35. Виталий Якубов (bobreks) 20.03.13 20:44
(33) yuraos, (32) pumbaE, супер идея. Такую штуку можно и в обработку включить, и делать через СтрЗаменить из Возврат переход по метке;
36. Виталий Якубов (bobreks) 20.03.13 20:54
(7) yuraos, (21) catena, Спасибо за замечания, обработка была дополнена и выложена в новой версии (ссылка недействительна, так как выложил на этой странице) . С вашими замечаниями самому стало удобней работать.
37. Konstantin Konstantin (KonstB) 20.03.13 22:12
(36) bobreks, Новую версию можно было и в этой публикации выложить...
38. Виталий Якубов (bobreks) 20.03.13 22:38
(37) KonstB, Спасибо, я не в курсе еще как сайт работает, буду знать
39. Сергей Сергей (26178@mail.ru) 25.03.13 15:28
неплохо попробуем проверим отпишимся по факту, идея неплохая посмотрим реализацию
40. p m (pm74) 27.03.13 12:02
(30) yuraos,
можно так

Процедура ВыполнитьПроверку(Кнопка)
	Перем вз;
	Проверки=Новый Массив;
	Проверки.Добавить("Сообщить(""1"");вз = Ложь;");
	Проверки.Добавить("Сообщить(""Ошибка!"");вз = Истина;");
	ПРоверки.Добавить("Сообщить(""3"");вз = Ложь;");
	Для каждого Проверка  Из Проверки Цикл
		Проверить(Проверка,вз);
		Если  вз  тогда
			Возврат;
		КонецЕсли;
	КонецЦикла; 	
КонецПроцедуры
Процедура Проверить(КодПроверки,вз)
	Выполнить (КодПроверки);
КонецПроцедуры
...Показать Скрыть
41. Юрий Осипов (yuraos) 27.03.13 17:39
(40) pm74,
конечно дело вкуса,
но вариант (32) pumbaE мне кажется более лаконичней.

PS:
---1---
к тому же
// ЛяЛяЛя1
и
// ЛяЛяЛя2
в примере это не просто комментарии, а некоторые потоки исполнения.
---2---
и не всега удобно (или даже возможно) выполнить все проверки вначале.
42. Юрий Осипов (yuraos) 27.03.13 18:33
Что-же делать тем несчастным...
...кто до сих пор по каким-то причинам
"варится" под 1с-8.1 и
хотит воспользоваться этой чудо-консолью???
:)))
43. Юрий Осипов (yuraos) 27.03.13 18:40
(16)
ииииище к стати о птичках
-------
что получится если в тексте модуля в консоли
написать такой ... чуть менее простой код:

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


;)))
44. Виталий Якубов (bobreks) 27.03.13 20:19
(43) yuraos, (42) yuraos,

Выполнить("Выполнить(""..."")") - работает, только не надо забывать про двойные-двойные ковычки,

А вот под 8.1 никак, да и большинство перешло уже на 8.2 с конфигурацией запущенной с совместимостью 8.1
45. Виталий Якубов (bobreks) 27.03.13 20:20
(44) bobreks, Ну я надеюсь, если хоть кому-нибудь понадобиться под 8.1 эта обработка, то он напишет это в комментариях и я выложу версию под 8.1
46. Екатерина Соколова (catena) 28.03.13 06:01
(42)А в чем проблема? Я тоже под 8.1. Аааткрываем и копируем.
47. Юрий Осипов (yuraos) 28.03.13 09:12
(44) bobreks, ты не понял.
попробуй буквально набрать в своей консоли
вот этот код,
как тут написано:

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


...Показать Скрыть

:)
48. Юрий Осипов (yuraos) 28.03.13 09:18
(46) catena,
правила вежливого тона предполагают
предостовлять версии продукта для всех
используемых версий платформы
(в пределах совместимости),
а не предлагать делать даун-грэйд обработки.

Конечно в данном случае
(обработка можно сказать очень проста, если не примитивна)
СДАУНГРЭЙДИТЬ ЭТУ КОНСОЛЬ ОСОБЫХ ПРОБЛЕМ НЕ СОСТАВЛЯЕТ...
...но все же...
49. Екатерина Соколова (catena) 28.03.13 09:27
(48)Ну так в описании к публикации
Платформа: 1C: Предприятие 8.2

Так-то по Вашей логике и клюшечную версию надо делать ;)
50. Maximilian Alekseevich (1cmax) 28.03.13 09:42
у tormozit и правда все поинтересней
51. Виталий Якубов (bobreks) 28.03.13 13:13
(47) yuraos, Бесконечная рекурсия)
Спасибо, буду править, и выложу вместе с возможностью использовать слова "Возврат;", которую уже сделал. Как раз выложу для всех 8-ок
52. Сергей Старых (tormozit) 28.03.13 13:37
В консоли кода ИР кстати возврат возможен через "Перейти ~Конец;" (переход к предопределенной метке за последним оператором). Для быстрой вставки такого фрагмента кода в подменю Вставка есть команда "Возврат".
53. Юрий Осипов (yuraos) 28.03.13 18:45
(51) bobreks,
правильно!
Бесконечная рекурсия которая убивает 1С-ку.
***
Я смотрю ты сделал в консоли "ДеревоСкриптов"
наподобие дерева запросов из консоли запросов.
...
сделано на скорую руку,
там например нельзя сменить родителя у текущей строки
и выполнить скрипт при клике по строке
ну да ладно
...
Расмотрим ситуацию:
Нарисовал я много кода в разных строках ветвистого дерева
(блин! сохранить бы это добро - да ладно!)
и взял сдуру и решил в какой-то из строк выполнить следующий
достаточно простой код:

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


И что мы получим в итоге ?????
54. Юрий Осипов (yuraos) 28.03.13 18:52
(53)
для большей эффектности
рекомендую насоздавать в дереве много строчек
ну и для полного кайфа дополнить
исполняемый код следующим образом:

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

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

...Показать Скрыть

;)
55. Юрий Осипов (yuraos) 28.03.13 19:40

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


(49) Катя, ты меня уважаешь ???
56. Юрий Осипов (yuraos) 28.03.13 19:44
(55)
у нас в конторе главная база на 1с-8.1 вертится
...
и знаешь, не то чтобы мой начальник не хочет ее на 8.2 перевести,
но как толь-ко мы подумаем в какой это геммор может вылиться...
сразу появляются более приоритетные задачи
вроде переезда отдела с 8-го этажа на 5-тый
57. Виталий Якубов (bobreks) 29.03.13 00:53
(52) tormozit, а я сделал СтрЗаменить(ТекстВыполнения, Символ.ПС + "Возврат;", МеткаНаКонец)
58. Сергей Старых (tormozit) 29.03.13 01:09
(57) Неплохое решение, но не будет правильно работать на собственном коде.
59. Виталий Якубов (bobreks) 29.03.13 07:11
(58) tormozit, отчего же работать не будет? просто сначала надо сделать набор "СтрЗаменить"
СтрЗаменить(ТекстВыполенения, Символ.Тб(Не помню как табуляция будет, вроде так), " "(пробел));
СтрЗаменить(ТекстВыполенения," "(два пробел), " "(один пробела)); - пока все двойные пробелы не уберутся,
СтрЗаменить(ТекстВыполнения, Символ.ПС + "Возврат;", Переход на конец);
СтрЗаменить(ТекстВыполнения, Символ.ПС + " Возврат;",Переход на конец);

И Это уже описывает уже 99% случаев. Для любителей писать все в одну строчку можно сделать.
СтрЗаменить(ТекстВыполнения, "; Возврат;",Переход на конец);

но тут уже не сделаешь Сообщить("Выполняется код; Возврат;")
60. Сергей Старых (tormozit) 29.03.13 11:35
(59) Да, согласен. Строго говоря конкретно эта строка кода не подвергнется нежелательному изменению. Однако этот 1%, о котором речь, мне в практике встречался не раз. Поэтому я не сторонник таких "легких" путей. К тому же после возврата может быть сколько угодно каких угодно символов, включая печатные, например "Возврат (23+23)

;". В общем я считаю, что лучше делать видимые преобразования, т.е. сделать кнопку для явной замены всех возвратов на "Перейти ~Конец", чем невидимые. Тогда пользователь хотя бы сможет быстро разобраться где консоль некорректно обрабатывает текст.
CratosX; orefkov; yuraos; +3 Ответить 1
61. Юрий Осипов (yuraos) 29.03.13 19:28
(60) tormozit,
полностью согласен.

задача усложняется еще возможностью
использования в коде вариаций с регистром символов,
например такой: ВОзврАТ;

вряд ли стоит городить свой парсер и изменять выполнямый код.
при неудачном изменении кода может быть получен совсем не тот результат,
который ожидается.
:)
62. Юрий Осипов (yuraos) 29.03.13 19:52
(47)(54)
собственно к чему я привел эти примеры кода ???

А к тому, что выполнение произвольного кода оператором Выполнить()
потенциально опасно для данных самой обработки.

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

в примере (47) исполняемый код просто убивает сеанс 1С с потерей набранного кода.
в примере (54) получается более обидно:
теряем набранный код и имеем в результате нерабочую консоль.
63. Юрий Осипов (yuraos) 29.03.13 19:58
(62)
ну и мораль всей этой истории заключаеся в том,
ЧТО, как верно заметил tormozit в (24),
АКТУАЛЬНО

- автовосстановление сессии консоли после аварийного завершения
64. Сергей Старых (tormozit) 29.03.13 20:01
По поводу применения грязного контекста - очень распространенная ошибка при работе с методом Выполнить. В консоли кода ИР код выполняется в гораздо более изолированном контексте (общего модуля) с минимальными рисками выполнить незапланированные действия.
65. Юрий Осипов (yuraos) 29.03.13 20:03
(63)
PS
при этом желательно,
чтобы при восстановлении работоспособности консоли
так же восстанавливались из какой-нибудь резервной
копии пользовательские данные (в нашем случае исполняемый код).
66. Юрий Осипов (yuraos) 29.03.13 20:09
(64) tormozit,
несомненно в общем модуле можно обеспечить более безопасное выполнение кода.
как вариант - можно выполнять его и в контексте модуля объекта обработки.

что менее безопасно, но это делает обработку более универсальной,
как это сделано в "Консоли запросов 1С + ADO".

Так же в этой обработке реализовано восстановление пользовательских данных
из резервной копии во временном файле при аварийном завершении работы консоли.
67. PlatonovStepan (Jogeedae) 02.04.13 03:19
Как уже написали, таких выполняльщиков очень много.
Сам грешу ими :) половина "ленивых" обработок пишется в предприятии.
Из явных неудобностей таких реализаций:
-рекурсия (можно реализовать через замудрённый goto, есть размыЩления на форуме);
-отсутствие функций (можно реализовать через некое "табло методов" и глобальные переменные);
-отсутствие контекстных подсказок (левые приложения);

Тем не менее теститровать кусок кода или некую конструкцию очень удобно. :)
68. Яков Коган (Yashazz) 03.04.13 10:35
Совершенно ничего нового, хоть бы мою публикацию насчёт произвольных алгоритмов взять. Формульная механика тоже уже на ИС публиковалась. Не осознаю причниы такого количества плюсов за такой баян. Дерево алгоритмов худо-бедно даже в старом УПОб было. А уж что за "подсветка" кода - и вовсе не понимаю, достаточно нужное расширение указать. Или вы сделали всплывающие подсказки?

Или вот если б вы, автор, отладку или хоть "переход к определению" сделали, тогда да.
69. Андрей Чунихин (ApocalypseNTC) 10.04.13 17:26
Переделывай на управляемые формы и отправляй в 1С
70. Виталий Якубов (bobreks) 10.04.13 23:50
(69) Спасибо, но думаю в 1С и без меня обработок хватает. Сейчас работа. над версией 3.0, уже добавил возможность переключать режим между "консоль кода"/"Консоль запросов". То есть один или несколько отдельных модулей из дерева модулей можно делать запросами. Планах добавить возможность выполнения в обработке javascript(уже почти закончил), vbs или же dos command.
После этого уже приступлю и к работе в тонком клиенте/уф.
Так же хотел добавить возможность вызывать другие модули.
71. Konstantin Konstantin (KonstB) 11.04.13 00:35
(70) bobreks, интересно как Вы реализуете:
возможность выполнения в обработке javascript(уже почти закончил), vbs или же dos command


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

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

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


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

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



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

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

А так по сути ничего нового, наверное каждый для себе писал нечто подобное...
72. Сергей Старых (tormozit) 11.04.13 00:56
(71) KonstB, здесь видимо справочник ирАлгоритмы и функции для выполнения кода из его элементов подходят
http://devtool1c.ucoz.ru/index/spravochnik_algoritmy/0-9, тема форума по похожему вопросу http://devtool1c.ucoz.ru/forum/3-45-1#196
73. Konstantin Konstantin (KonstB) 11.04.13 01:16
(72) tormozit, ага, то что доктор прописал :) Спсаибо.

"Если что-то придумал - проверь, быть может это придумано до тебя"
74. Виталий Якубов (bobreks) 11.04.13 01:49
(71) KonstB, Передача переменных пока не осуществлена, но я думаю о написании парсера, который сможет парсить нечто "Функция <Название модуля>(<структура параметров>)", сейчас подготавливаю процедуры с чем-то на подобие "регулярных выражений".

А тип модуля будет переключаться переключателем. Парсинг - хорошая идея, но все равно его надо оставить только как советчик или первое переключение, а решение все равно должен принимать пользователь. Уверен найдутся тысячи случаев когда определить тип кода будет не так уж и просто или даже невозможно (если брать в учет и js и vbs).
75. Виталий Якубов (bobreks) 11.04.13 01:50
(73) В любом случае я делаю это "для себя", а если это кому-либо будет полезным, то почему бы и нет =) тем более в комментариях море полезных советов и замечаний =)
76. Яков Коган (Yashazz) 11.04.13 11:24
*задумчиво
Неужели подсистема настолько менее удобна, чем внешняя обработка, что моя, почти аналогичная, хренечка удостоилась 8 плюсов, а эта - ажно целых уже 46?

Автор, слабо задействовать команду "Выполнить" в com-соединении?
77. Виталий Якубов (bobreks) 11.04.13 12:44
(76) Yashazz,
Я могу ответить почему мне удобней внещняя обработка - мне надо что-либо делать с конфигурацией, чтобы применить обработку. Я ее всегда смогу запустить и на чужих базах и там где закрыт доступ в конфигуратор
78. Яков Коган (Yashazz) 11.04.13 13:28
(77) Это очевидно. А все тексты алгоритмов, сохранённые в дереве, тоже будете туда-сюда таскать?
79. Виталий Якубов (bobreks) 11.04.13 15:17
(78) Yashazz, дерево в файлик. В зависимости от задачи открываю нужный файлик и работаю.
Вот лично по мне, это не доставляет неудобства. Еще раз повторюсь, что обработку эту делаю так, как удобно мне самому, потому что сам ею пользуюсь. Лично мне намного удобней перекинуть файлик с текстами, чем думать каким образом уговорить заказчика добавить лишнюю подсистему в его базу.
80. Евгений Заручейский (zarucheisky) 12.04.13 10:48
(79) У tromozit-f есть комплект и без подсистемы:
Мобильные "Инструменты Разработчика"
см.
http://infostart.ru/public/145611/

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

Понятное дело, что при урезанных правах с сервером и вызовом из привелигированных модулей могут быть траблы из-за защищенного режима.
81. Виталий Якубов (bobreks) 12.04.13 14:48
(80) Как видите, кому-то она оказалась полезной. Отчего ж тогда не стоит выкладывать?
Может блогодаря этой статье люди узнают о подсистеме tromozit-f и будут ей пользоваться, если именно эта не нравится.
Или я интернет захломляю? ;-)
82. Виталий Якубов (bobreks) 16.04.13 13:15
Вышла новая версия обработки.
Теперь есть возможность выполнять:
- Код 1С
- Запросы 1С
- JS
- VBS
- CMD
83. Александр Леженин (AVMCo) 25.06.13 09:39
Обработка действительно стоящая. Автор продолжай её развивать, а на критику не обращай внимания. Спасибо!
84. Роман Верховых (Lo1jke) 03.08.13 16:41
Автору ОГРОМНОЕ спасибо. Пару раз спасала ОЧЕНЬ сильно. Развивайте проект, удачи!
85. Алекс Одинэсник (Alex1Cnic) 16.10.13 10:12
86. Eugeneer (Eugeneer) 15.02.14 02:38
Почему в версии УФ нет подстветки кода как в конфигураторе. Меня этот вопрос скорее интереусет, тк ищу как это сделать на УФ.
87. Сергей Бушмакин (relanium86) 17.02.14 12:36
Отличная обработка, скиньте версию 3.3 а то баксов не хватает.
88. Виталий Якубов (bobreks) 09.10.14 11:22
(86) Eugeneer, Подсветка синтаксиса в текущей версии 1С в УФ отсутствует. Тут ничего не поделать
89. Алексей Шошин (alexsh76) 25.03.15 13:54
Спасибо, очень хорошая вещь.
90. Виталий (vit1c) 22.06.15 16:19
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа