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

29.09.16

Разработка - Универсальные функции

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

Файлы

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

Наименование Скачано Купить файл
Обработка содержащая процедуру выполнения кода в фоновом задании
.epf 4,25Kb
2 2 500 руб. Купить

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

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

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

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

Варианты:

  • Запускать руками каждую базу и в ней выполнять обработку

Вариант, но не для лентяев

  • Написать обработку, которая по COM-соединению подключиться к каждой базе и выполнит там код.

Обычно так и делал, но это все делалось последовательно, приходилось дожидаться завершения выполнения в каком-то из окошек.

  • Запустить выполнение кода в фоновом режиме

И тогда пришла идея разместить в каждой базе вместе с плановым обновлением одну процедуру, которая немного упрощает жизнь.

В процедуре два параметра: 1. Текст кода, который необходимо выполнить 2. Параметр о том, что нужно запустить фоновое задание с этим кодом.

Теперь процедура выглядит следующим образом: Пишется обработка которая выполняет (быстро) одно процедуру и выполнение этой обработки завершается.

Дальше каждая база запускает свое фоновое задание и выполняет переданный код. 

В обработке одна процедура, которую необходимо поместить в общий модуль, ну и сообщить, собственно имя этого модуля этой процедуре.

Процедура ВыполнитьПроизвольныйКод(ТекстКода,ВыполнитьВФоне=Ложь) Экспорт 
	
	Если ВыполнитьВФоне Тогда
		
		Параметры=Новый Массив;
		
		Параметры.Добавить(ТекстКода);
		
		ФоновыеЗадания.Выполнить("_ОбщегоНазначенияСервер.ВыполнитьПроизвольныйКод",Параметры,Строка(Новый УникальныйИдентификатор));              
		
	Иначе 
		
		Выполнить(ТекстКода);
		
	КонецЕсли;
	
КонецПроцедуры

В скриншотах смысла нет, потому что в обработке интерфейса никакого нет.

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

произвольный код выполнить

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3859    Abysswalker    9    

46

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    7244    DeerCven    15    

60

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    51359    dimanich70    83    

172

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7538    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    65133    atdonya    31    

70

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

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

30.11.2023    9420    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TODD22 20 29.09.16 17:41 Сейчас в теме
А как вы код который нужно выполнить в базу доставляете?
3. nomadon 369 29.09.16 18:16 Сейчас в теме
(1) TODD22, передается текстом при ком соединении
2. Serega-artem 17 29.09.16 17:45 Сейчас в теме
Очень просто и понятно, а возможности применения огромны! Саму идею несомненно плюсую!
Для отправки сообщения требуется регистрация/авторизация