Исполнение кода с функциями и процедурами в пользовательском режиме

19.11.18

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

Среди множества Консолей кода на Инфостарте так и не нашёл консоль, которая позволит не просто выполнить фрагмент кода, но и описать свои функции и процедуры и ими по необходимости воспользоваться. Т. Е. Пишем не стесняясь, как бы мы писали в модуле обработки.

Скачать исходный код

Наименование Файл Версия Размер
Исполнение кода с функциями и процедурами в пользовательском режиме УФ И ОФ
.epf 12,78Kb
29
.epf 1.1 12,78Kb 29 Скачать
Исполнение кода с функциями и процедурами в пользовательском режиме:
.epf 10,66Kb
9
.epf 1.0 10,66Kb 9 Скачать

Вставляем (пишем) код, жмём кнопку "выполнить" код исполняется (или выдаёт ошибку =)).

Обычные формы, никаких клиент-серверных заморочек.

*Добавил Версию с УФ и ОФ (21.11.2018)

Писалось и отлаживалось на УТ 10.3 (10.3.45.3). Платформа 1С:Предприятие 8.3 (8.3.10.2561)

Активно используется vbscript.regexp так что только Windows. Точно не сработает, если в функциях или процедурах будет больше 10 параметров =)

Может, кому-нибудь будет полезна. Если будет обработка шалить, то прошу в комментарии кидать код который не исполняется - буду допиливать. Конструктивная критика ну и похвалы приветствуются! 

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

См. также

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

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

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

10000 руб.

02.09.2020    127042    689    389    

738

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

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

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

18000 руб.

06.10.2023    8412    25    6    

46

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

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

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

10000 руб.

10.11.2023    4738    12    2    

38

SALE! %

PowerTools

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

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

3600 2280 руб.

14.01.2013    178937    1085    0    

862

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15117    3    12    

38

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

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

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

5000 руб.

07.02.2018    99887    239    97    

298

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

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

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

2040 руб.

27.12.2017    28427    4    10    

16

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

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

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

3000 руб.

27.08.2019    18524    6    8    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 19.11.18 10:51 Сейчас в теме
плохо искали

типовые обработки "ЗагрузкаДанныхИзТабличногоДокумента", "УниверсальныйПодборИОбработкаОбъектов" и под обычные и под управляемые формы позволяют выполнять произвольный код, причем без скриптов.
Само собой для шаманства необходимы полные права.
dvsidelnikov; +1 2 Ответить
2. dvsidelnikov 67 19.11.18 10:53 Сейчас в теме
(1) Туда можно вставить свою функцию/процедуру и запустить её?! Я достаточно плотно пользовался обработкой ЗагрузкаДанныхИзТабличногоДокумента и такой возможности не припоминаю.
3. Boneman 298 19.11.18 11:01 Сейчас в теме
(2) да любая обработка с произвольным алгоритмом подойдет.
Я всегда пользовался универсальным подбором и обработкой объектов, там вставлял в произвольный алгоритм какой нужно код и получал тоже самое.
Просто там это вспомогательная функция, а ты сделал самостоятельную обработку.

Почему бы и нет. Может быть кому-то и окажется полезным.
Но если уж делать консоль, то сделал бы и для УФ тоже. Там с раскраской кода поинтересней, да и клиент серверное взаимодействие тоже.
dvsidelnikov; +1 Ответить
4. dvsidelnikov 67 19.11.18 11:20 Сейчас в теме
(3) давайте попробуем на пальцах. Может я плохо сформулировал особенность обработки или у меня такой маленький кругозор в этом направлении.

Вот такой код будет работать в перечисленных вами обработках?!

Функция ПоискПоРегулярномуВыражению(РегулярноеВыражение, Текст, IgnoreCase = Ложь, Global = Истина, Multiline = Истина) 
	Экспорт	МассивРезультатов = Новый Массив;
	RegExp = Новый COMОбъект("VBScript.RegExp");
	
	RegExp.IgnoreCase = IgnoreCase; //Игнорировать регистр
	RegExp.Global = Global; //Поиск всех вхождений шаблона
	RegExp.MultiLine = Multiline; //Многострочный режим
	
	RegExp.Pattern = РегулярноеВыражение;
	
	Matches=RegExp.Execute(Текст);
	ЧислоВхождений=Matches.Count();
	Если ЧислоВхождений>0 Тогда
		Для к = 0 По ЧислоВхождений-1 Цикл
			MatchesItem = Matches.Item(к);
			РезультатПоиска = Новый Структура("Совпадение, МассивСубСовпадений",MatchesItem.Value);
			ЧислоСубСовпадений = MatchesItem.SubMatches.Count();
			Если ЧислоСубСовпадений>0 Тогда
				РезультатПоиска.МассивСубСовпадений = Новый Массив;
				Для л = 0 По ЧислоСубСовпадений-1 Цикл
					SubMatchesItem = MatchesItem.SubMatches.Item(л);
					РезультатПоиска.МассивСубСовпадений.Добавить(SubMatchesItem);
				КонецЦикла;
			КонецЕсли;
			МассивРезультатов.Добавить(РезультатПоиска);
		КонецЦикла;
	КонецЕсли;
	Возврат МассивРезультатов;
КонецФункции

Процедура РазобратьПоСловам(Текст)
	МассивРезультатов = ПоискПоРегулярномуВыражению("[а-я]*", Текст, истина);
	Для каждого Результат из МассивРезультатов Цикл
		Сообщить(Результат.Совпадение);
	КонецЦикла;
КонецПроцедуры

РазобратьПоСловам("шла Саша по шоссе и сосала сушку");
Показать
Alien_job; +1 Ответить
5. Boneman 298 19.11.18 12:08 Сейчас в теме
(4)
Вот такой код будет работать в перечисленных вами обработках?!

нет, не будет.
По крайней мере сходу видится 2 причины. Одинарные кавычки, и объявление функций и процедур, которые в обработках обязательно получатся внутри какой-то другой инициирующей функции.

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

а вообще да
Может я плохо сформулировал НоуХаучика обработки

об этом упомянуто, но подробностей нет.
Распиши более красочно, о том как возникает ошибка последовательности операторов. Потому что читатель видит Произвольный алгоритм, который он использует раз в год под расход для того чтобы ОбновитьНумерациюОбъектов - вот и все.
Ноу хау твоего, не заметно.
lunjio; dvsidelnikov; +2 Ответить
6. dvsidelnikov 67 19.11.18 14:07 Сейчас в теме
(5) Спасибо. Подправил описание. Надеюсь так понятней стало.
7. zekrus 151 21.11.18 07:54 Сейчас в теме
Доброе утро!
Тема весьма актуальная, учитывая тренд использования веб технологий.
А под управляемое приложение не пробовали запустить?
П.С. скоро конфигуратор перейдет полностью в браузер - вопрос времени.
(все хорошо воспитанные вендоры уже там).
С уважением
dvsidelnikov; +1 Ответить
8. dvsidelnikov 67 21.11.18 16:18 Сейчас в теме
(7) Добрый вечер. Сделано на уф.
9. Tolpinski 66 21.02.22 10:29 Сейчас в теме
Кривовато..

Вот так работает:

Функция ф11(Парам)
Возврат Парам;
КонецФункции

Сообщить(ф11("123"));

А уже вот так, нет:

Функция ф11(Парам)
Возврат Парам;
КонецФункции

Сообщить("="+ф11("123"));

{<Неизвестный модуль>(3,14)}: Процедура или функция с указанным именем не определена (ф11)
Сообщить("="+<<?>>ф11("123"));
dvsidelnikov; +1 Ответить
10. dvsidelnikov 67 21.02.22 20:34 Сейчас в теме
(9) Принято. Спасибо. Посмотрю.
Оставьте свое сообщение