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

19.11.18

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Исполнение кода с функциями и процедурами в пользовательском режиме УФ И ОФ
.epf 12,78Kb ver:1.1
29
29 Скачать (1 SM) Купить за 1 850 руб.
Исполнение кода с функциями и процедурами в пользовательском режиме:
.epf 10,66Kb ver:1.0
9
9 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

См. также

SALE! %

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

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

12000 10000 руб.

02.09.2020    161899    895    399    

875

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    8840    69    30    

79

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

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

22200 руб.

06.10.2023    15817    39    8    

74

SALE! %

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

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

15000 10000 руб.

10.11.2023    10758    39    27    

63

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    23987    70    45    

119

SALE! %

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

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

4800 3840 руб.

14.01.2013    188761    1144    0    

915

SALE! %

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

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

20000 15000 руб.

07.10.2021    17608    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

2220 руб.

21.02.2023    7874    8    35    

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

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

Почему бы и нет. Может быть кому-то и окажется полезным.
Но если уж делать консоль, то сделал бы и для УФ тоже. Там с раскраской кода поинтересней, да и клиент серверное взаимодействие тоже.
dvsidelnikov; +1 Ответить
4. dvsidelnikov 73 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 302 19.11.18 12:08 Сейчас в теме
(4)
Вот такой код будет работать в перечисленных вами обработках?!

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

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

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

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

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

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

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

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

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

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

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