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

19.11.18

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

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

Оформить подписку и скачать решение со скидкой

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

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

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

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

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

15500 руб.

02.09.2020    209740    1147    413    

1040

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

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

8400 руб.

20.08.2024    38969    215    113    

204

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

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

16000 руб.

10.11.2023    18143    78    39    

92

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

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

9500 руб.

17.05.2024    36741    133    53    

176

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    25749    65    30    

96

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

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.<br/> Далее в публикации:<br/> MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    2423    4    7    

12

Инструментарий разработчика 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    3421    7    0    

12

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

6000 руб.

07.02.2018    108172    249    100    

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

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

Почему бы и нет. Может быть кому-то и окажется полезным.
Но если уж делать консоль, то сделал бы и для УФ тоже. Там с раскраской кода поинтересней, да и клиент серверное взаимодействие тоже.
dvsidelnikov; +1 Ответить
4. dvsidelnikov 76 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 76 19.11.18 14:07 Сейчас в теме
(5) Спасибо. Подправил описание. Надеюсь так понятней стало.
7. zekrus 151 21.11.18 07:54 Сейчас в теме
Доброе утро!
Тема весьма актуальная, учитывая тренд использования веб технологий.
А под управляемое приложение не пробовали запустить?
П.С. скоро конфигуратор перейдет полностью в браузер - вопрос времени.
(все хорошо воспитанные вендоры уже там).
С уважением
dvsidelnikov; +1 Ответить
8. dvsidelnikov 76 21.11.18 16:18 Сейчас в теме
(7) Добрый вечер. Сделано на уф.
9. Tolpinski 70 21.02.22 10:29 Сейчас в теме
Кривовато..

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

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

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

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

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

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

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