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

13.12.13

Разработка - Инструментарий разработчика

1С 8.2

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

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

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

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

Работает на Толстом клиенте, не в управляемых формах. Время выполнения показывает только при выполнении на клиенте под 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 сек.

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    119904    656    389    

701

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    7003    20    6    

37

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    3242    10    1    

31

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 руб.

14.01.2013    177339    1070    0    

846

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99202    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    17909    6    8    

38

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    27945    3    10    

14

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23486    15    15    

31
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Kom-off 19.03.13 11:46 Сейчас в теме
(0) Вот, я бы подкорректировал этот текст в статье на месте автора:
...для отладки.

Какая отладка в команде Выполнить()? Путаница небольшая получается в понятиях. Отладка - как технический процесс выполнения отладки кода и отладка - как "творческий" процесс исправления собственных косяков и уточнения алгоритмов.
1Cuser666; Famza; +2 Ответить
7. yuraos 991 19.03.13 18:35 Сейчас в теме
(1)(2)
Вместо "Таблица отладки"
наверное более уместно в форме было бы написать "Табло формул".
---
Штатным таблом я довольно часто пользуюсь.
36. bobreks 154 20.03.13 20:54 Сейчас в теме
(7) yuraos, (21) catena, Спасибо за замечания, обработка была дополнена и выложена в новой версии (ссылка недействительна, так как выложил на этой странице) . С вашими замечаниями самому стало удобней работать.
37. KonstB 180 20.03.13 22:12 Сейчас в теме
(36) Новую версию можно было и в этой публикации выложить...
38. bobreks 154 20.03.13 22:38 Сейчас в теме
(37) KonstB, Спасибо, я не в курсе еще как сайт работает, буду знать
2. bobreks 154 19.03.13 14:46 Сейчас в теме
Тут уж как "творческий" процесс исправления собственных косяков и уточнения алгоритмов.
6. yuraos 991 19.03.13 18:24 Сейчас в теме
(2)
млин!!!
а ну "отлаживай" текст статьи!

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

а то морально демотивирую !!!
;)
8. andrewks 1367 19.03.13 19:36 Сейчас в теме
(6) yuraos, вспомнилось: фигуры бывают выпуклые и впуклые... )
CratosX; yuraos; +2 Ответить
3. Поручик 4670 19.03.13 15:35 Сейчас в теме
(0) Этих консолей-выполнялок кода на сайте как грязи со времён 8.1.
Yashazz; wowik; PowerBoy; yuraos; +4 Ответить
5. yuraos 991 19.03.13 18:18 Сейчас в теме
(3) Поручик, ага, пойдешь лазить - не отмоешься!!!

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

В общем автору плус - в качестве моральной поддержки.
9. bobreks 154 19.03.13 20:59 Сейчас в теме
(5) yuraos, спасибо, это мой дебют здесь. надеюсь дальше будет лучше)
14. yuraos 991 20.03.13 09:24 Сейчас в теме
(9)
могу подсказать хороший "отладчик" для текста статьи.
MS WORD называется.
:)

Можешь сначала набивать текст в ворде, а
потом через буфер вставить его в содержание публикации.
там в командной панельке есть специальная кнопка
"Вставить из ворда" - специально для этого.
10. bobreks 154 19.03.13 23:16 Сейчас в теме
(3) Поручик, а мне на глаза как-то не попадались, самому в голову в процессе работы пришла идея такую обработку сделать. И как я заметил достаточно удобная штука для определенных задач.
4. rjhonson 19.03.13 15:37 Сейчас в теме
Все довольно таки странно :)
11. makfromkz 35 20.03.13 06:57 Сейчас в теме
Интерпритатор замените, плииз, на Интерпретатор, глаза режет заголовок :(
17. bobreks 154 20.03.13 10:23 Сейчас в теме
(11) makfromkz, спасибо за замечание, обязательно исправлю в следующей версии
12. catena 110 20.03.13 07:00 Сейчас в теме
Табла - это интересная идея, спасибо. Выполнялку себе давно сделала, но без каких-либо фишек.
13. catena 110 20.03.13 07:44 Сейчас в теме
Удобнее сделать тип значения колонки "Значение" составным - позволит просматривать найденные объекты.
15. yuraos 991 20.03.13 09:30 Сейчас в теме
Можно еще навернуть синтактический контроль
как в этой консоли.
Правда контроль бестолковый получается:
на любую ошибку пишет - "Ошибка компиляции модуля" - и больше ничаго...
:(
16. yuraos 991 20.03.13 09:41 Сейчас в теме
(15)
Так уж устроеная эта самая
"нативная процедура Вполнить()"...
***
PS
К стати о причках ...
что получится если в тексте модуля в консоли
написать такой такой простой код:
   Возврат;


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

// ЛяЛяЛя1

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

// ЛяЛяЛя2

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

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

   // ЛяЛяЛя1

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

      // ЛяЛяЛя2

   КонецЕсли;

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


Не знаю кому как ...
но я бы предпочел первый вариант, если бы он работал.
40. pm74 199 27.03.13 12:02 Сейчас в теме
(30) yuraos,
можно так

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

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

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


;)))
44. bobreks 154 27.03.13 20:19 Сейчас в теме
(43) yuraos, (42) yuraos,

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

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

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



:)
51. bobreks 154 28.03.13 13:13 Сейчас в теме
(47) yuraos, Бесконечная рекурсия)
Спасибо, буду править, и выложу вместе с возможностью использовать слова "Возврат;", которую уже сделал. Как раз выложу для всех 8-ок
53. yuraos 991 28.03.13 18:45 Сейчас в теме
(51)
правильно!
Бесконечная рекурсия которая убивает 1С-ку.
***
Я смотрю ты сделал в консоли "ДеревоСкриптов"
наподобие дерева запросов из консоли запросов.
...
сделано на скорую руку,
там например нельзя сменить родителя у текущей строки
и выполнить скрипт при клике по строке
ну да ладно
...
Расмотрим ситуацию:
Нарисовал я много кода в разных строках ветвистого дерева
(блин! сохранить бы это добро - да ладно!)
и взял сдуру и решил в какой-то из строк выполнить следующий
достаточно простой код:

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


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

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

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


;)
62. yuraos 991 29.03.13 19:52 Сейчас в теме
(47)(54)
собственно к чему я привел эти примеры кода ???

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

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

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

- автовосстановление сессии консоли после аварийного завершения
65. yuraos 991 29.03.13 20:03 Сейчас в теме
(63)
PS
при этом желательно,
чтобы при восстановлении работоспособности консоли
так же восстанавливались из какой-нибудь резервной
копии пользовательские данные (в нашем случае исполняемый код).
18. bobreks 154 20.03.13 10:30 Сейчас в теме
(15) yuraos, (13) catena, спасибо, буду исправляться и дополнять обработку
20. SkorikA 83 20.03.13 10:44 Сейчас в теме
Если честно, не понимаю для чего может быть нужна данная обработка. Длинный код так не отладить (отсутствие синтаксис контроля, точек остановки и т.д.), результат выполнения небольшого кода - не сложно посчитать в голове. Лично меня не напрягает выполнить отладку кода (алгоритма) конфигуратором. Были бы еще какие-нибудь "фишки" - например замер времени исполнения, передача параметров, имхо, пользы от обработки было бы гораздо больше.
wowik; Lo1jke; +2 Ответить
22. Lo1jke 20.03.13 11:45 Сейчас в теме
(20) SkorikA,
Поддерживаю, Вас.
Решительно не могу понять практическую пользу данной обработки.
21. catena 110 20.03.13 10:55 Сейчас в теме
Еще можно добавить кнопку Добавить в табло (выделенный кусок кода) и попытку вычисления выражения. Есть где поиграться :)
Прикрепленные файлы:
23. WKBAPKA 214 20.03.13 12:39 Сейчас в теме
пользы то и нету, а вот 20 плюсов наплюсовали :)
24. tormozit 7132 20.03.13 13:08 Сейчас в теме
В подсистеме "Инструменты разработчика" в консоли кода есть
- удобный синтакс контроль (показываются ошибки компиляции и выполнения прямо в тексте)
- опциональная генерация динамической внешней обработки по написанному коду и даже ее быстрое открытие в конфигураторе, что позволяет производить полноценную отладку конфигуратором написанного кода в виде внешней обработки с точками останова и всеми пряниками
- замер времени исполнения
- трасса техножурнала
- передача параметров при программном вызове, в т.ч. из точки останова в режиме отладки
- автозаполнение параметров с учетом их направления вход/выход
- сохранение и загрузка в/из элемент справочника или файл
- более умная контекстная подсказка, чем в конфигураторе
- более умный контекстный синтакс-помощник, чем в конфигураторе
- указание контекста выполнения кода клиент/сервер
- любые значения (таблицы значений и др. сложные объекты) параметров можно исследовать/редактировать
- автовосстановление сессии консоли после аварийного завершения
- удобная вставка ссылки на объект БД прямо в текст в виде внутреннего параметра
CratosX; PlatonStepan; wowik; 1cmax; KonstB; yuraos; mtv:); Trof@; SkorikA; +9 Ответить
25. nikolega 173 20.03.13 13:09 Сейчас в теме
Давно уже сам пользуюсь, удобно бывает выполнить участок кода не делая внешних обработок.

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

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

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


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

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

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

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

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

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

// ЛяЛяЛя1

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

// ЛяЛяЛя2

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

???
34. yuraos 991 20.03.13 20:38 Сейчас в теме
(33)
Подтверждаю, что вариант рабочий!
Ну хоть так!!!
:)))
35. bobreks 154 20.03.13 20:44 Сейчас в теме
(33) yuraos, (32) pumbaE, супер идея. Такую штуку можно и в обработку включить, и делать через СтрЗаменить из Возврат переход по метке;
39. 26178_mail.ru 58 25.03.13 15:28 Сейчас в теме
неплохо попробуем проверим отпишимся по факту, идея неплохая посмотрим реализацию
42. yuraos 991 27.03.13 18:33 Сейчас в теме
Что-же делать тем несчастным...
...кто до сих пор по каким-то причинам
"варится" под 1с-8.1 и
хотит воспользоваться этой чудо-консолью???
:)))
46. catena 110 28.03.13 06:01 Сейчас в теме
(42)А в чем проблема? Я тоже под 8.1. Аааткрываем и копируем.
48. yuraos 991 28.03.13 09:18 Сейчас в теме
(46) catena,
правила вежливого тона предполагают
предостовлять версии продукта для всех
используемых версий платформы
(в пределах совместимости),
а не предлагать делать даун-грэйд обработки.

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

Так-то по Вашей логике и клюшечную версию надо делать ;)
55. yuraos 991 28.03.13 19:40 Сейчас в теме

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


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

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

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

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

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

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

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

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

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

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


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

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

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


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

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



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

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

А так по сути ничего нового, наверное каждый для себе писал нечто подобное...
72. tormozit 7132 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
ZEMCHEG; KonstB; +2 Ответить
73. KonstB 180 11.04.13 01:16 Сейчас в теме
(72) tormozit, ага, то что доктор прописал :) Спсаибо.

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

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

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

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

Понятное дело, что при урезанных правах с сервером и вызовом из привелигированных модулей могут быть траблы из-за защищенного режима.
81. bobreks 154 12.04.13 14:48 Сейчас в теме
(80) Как видите, кому-то она оказалась полезной. Отчего ж тогда не стоит выкладывать?
Может блогодаря этой статье люди узнают о подсистеме tromozit-f и будут ей пользоваться, если именно эта не нравится.
Или я интернет захломляю? ;-)
82. bobreks 154 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 148 16.10.13 10:12 Сейчас в теме
86. пользователь 15.02.14 02:38
Сообщение было скрыто модератором.
...
88. bobreks 154 09.10.14 11:22 Сейчас в теме
(86) Eugeneer, Подсветка синтаксиса в текущей версии 1С в УФ отсутствует. Тут ничего не поделать
87. relanium86 14 17.02.14 12:36 Сейчас в теме
Отличная обработка, скиньте версию 3.3 а то баксов не хватает.
89. alexsh76 170 25.03.15 13:54 Сейчас в теме
Спасибо, очень хорошая вещь.
90. vit1c 22.06.15 16:19 Сейчас в теме
91. dobrynin.i.s 92 09.02.17 12:06 Сейчас в теме
где в уф 1.0

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

- Выполнение запросов в консоли
- Выполнение JavaScript в консоли
- Выполнение VBS в консоли
- Выполнение CMD в консоли

?
dreamcreal; +1 Ответить
Оставьте свое сообщение