helpf.pro
Регистрация
 0 
Распечатать

Запуск кода в конфигурации из командной строки

Иногда возникает необходимость запуска кода в базе 1С из командной строки. Например, надо выполнять те или иные процедуры по расписанию, но при этом нет желания каждый раз менять конфигурацию, а хочется прописать всё в батнике и запускать через шедулер (at).
Вижу следующие варианты:
1. изменить один раз конфигурацию, чтобы потом можно было передавать через параметр исполняемый код.
2. прописать выполняемый код во внешней обработке и запускать 1С с параметром /execute
3. написать на vba процедуру выполнения заданных операций через COM.

1. Изменить один раз конфигурацию, чтобы потом можно было передавать через параметр исполняемый код.
В таком варианте необходимо прописать следующий код в модуле приложения процедуре ПриНачалеРаботыСистемы():
Код 1C v 8.х
 Ключ = "Выполнить="; 
ДлКлюча = СтрДлина(Ключ);
Если Лев(ПараметрЗапуска, ДлКлюча) = Ключ Тогда
Попытка ДлПараметра = СтрДлина(ПараметрЗапуска);
СтрокаКода = Прав(ПараметрЗапуска, ДлПараметра-ДлКлюча);
Выполнить(СтрокаКода);
Исключение СтрСообщения="Не удалось выполнить код:"+Символы.ПС+СтрокаКода;
Предупреждение(СтрСообщения,3);
ЗаписьЖурналаРегистрации("Запуск кода из командной строки.", УровеньЖурналаРегистрации.Ошибка, , , СтрСообщения);
КонецПопытки;
КонецЕсли;

После этого для выполнения кода из командной строки достаточно будет запустить 1С с параметром /cВыполнить=[ИсполняемыйКод]. Например:
Код DOS Batch File
 1cv8.exe enterprise /f"C:\Базы\InfoBase" /nПользователь /pПароль /cВыполнить=Сообщить("Тест!");   


2. Прописать выполняемый код во внешней обработке и запускать 1С с параметром /execute
1С имеет параметр запуска "/Execute", с помощью которого можно запустить внешнюю обработку после старта системы. Чтобы воспользоваться этой возможностью, необходимо создать внешнюю обработку с исполняемым кодом в модуле формы:
Код 1C v 8.х
 Процедура ПриОткрытии()
// тут распологается исполняемы код
Сообщить("!");
// закрываем обработку после выполнения кода
Закрыть();
КонецПроцедуры

После этого можно запускать данную обработку из командной строки например так:
Код DOS Batch File
 1cv8.exe enterprise /f"C:\Базы\InfoBase" /nПользователь /pПароль /executec:\Обработки\ВнешняяОбработка.epf   


3. Написать на vba процедуру выполнения заданных операций через COM.
Можно все действия прописать в файле VBS и уже его запускать. Пример содержимого файла VBS:
Код VBS
 Set v81 = CreateObject("V81.Application") v81.Connect ("File=""C:\Базы\InfoBase"";Usr=""пользователь"";Pwd=пароль") v81.WriteLogEvent("Был выполнен запуск из VBA")   


источник
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 15323
 0 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 0
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через...
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 0
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.