Автоматический запуск обработки по расписанию

1. user817897 2 16.08.19 08:57 Сейчас в теме +0.5 $m
Доброе утро всем. Подскажите как запускать внешнюю обработку по расписанию? есть пример какой? работаю в ут 10.3
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
9. danjer74 3 16.08.19 10:51 Сейчас в теме
(1)Что она должна делать? Я к тому, что если в ней нет клиентских вызовов (она никакие формы не заполняет) - в общий модуль серверный, в регламентное все из нее и все.
10. user817897 2 16.08.19 10:59 Сейчас в теме
(9) 4 обработки нужно запускать по времени к примеру раз в 10 минут, там будет выгружаться данные из документов , в созданные текстовые документы.всё
11. danjer74 3 16.08.19 11:52 Сейчас в теме
Что за созданные текстовые документы? Word, Excel?
13. user817897 2 16.08.19 12:03 Сейчас в теме
15. user817897 2 16.08.19 13:55 Сейчас в теме
(11)
(12)создал регламентное,,создал общий модуль,Стоит птичка: Сервер,Клиент(обычное приложение), вызов сервера,
Открыл консоль заданий,проверил там,настроил,ничего не происходит,что не так?что забыл?
21. danjer74 3 16.08.19 15:51 Сейчас в теме
(15)Ну надо их запустить и посмотреть в логе внизу. И перед тем как запихивать их туда убедиться, что не происходит клиентских вызовов, галку клиет лучше снять, потому как все на стороне сервера происходит. Ну и сначал отладить руками из обработки. То есть должна быть обработка только с кнопокой Выполнить, которая все это обрабатывает. А вообще без кода сложно понять что не так.
22. user817897 2 16.08.19 15:59 Сейчас в теме
(21)дело в том что вообще ничего не происходит,так как в журнале регистрации даже не показывает что запускалось регламентное задание.
Код там обычный:


Процедура ОбщийМодуль1() Экспорт
	НайденныеФайлы = НайтиФайлы("F:\РасхКассОрдер\", "*.txt");
	ТекстовыйДокумент = Новый ТекстовыйДокумент;
	Для каждого ИмяФайла Из НайденныеФайлы Цикл
		Попытка
			ТекстовыйДокумент.Прочитать(ИмяФайла.ПолноеИмя);
		Исключение
			Сообщить("Ошибка открытия файла!");
		КонецПопытки;
		
		ТекОрг = Справочники.Организации;
		
		Номер=ТекстовыйДокумент.ПолучитьСтроку(1);     
		Датат=ТекстовыйДокумент.ПолучитьСтроку(2);	
Показать

и т.д.
42. deathgoddess00 29.04.20 11:14 Сейчас в теме
(22) Вряд ли(я точно уверен, что не увидит, но могу заблуждаться) сервер увидит локальный путь, необходимо использовать сетевой \\SerrverName\YourFolder\doc.txt

В ЖР можно "руками" сообщать ЗаписьЖурналаРегистрации(), это вместо Сообщить().

Пример обработки можно взять в конфигурации БСП необходимой версии. Прямо из клиента во внешних обработках. Там вас интересуют СведенияОВнешнейОбработке() и ВыполнитьКоманду().
23. user817897 2 16.08.19 16:08 Сейчас в теме
Вот данные настроек,а в самом модуле текст,что выше писал.
(21)
(18)
Прикрепленные файлы:
26. Xershi 1473 16.08.19 16:14 Сейчас в теме
(23) настройки смотреть надо в предприятии, а не конфигураторе!
2. Marliiin 16.08.19 09:07 Сейчас в теме
Не знаю как в УТ, но обычно надо просто добавить обработку как дополнительную в предприятии. Ну а в самой обработке должна быть экспортная функция "Сведения о внешней обработке".


Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	
	ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); 
	ПараметрыРегистрации.Вставить("Наименование", "Имя обработки"); 
	ПараметрыРегистрации.Вставить("Версия", "1.0");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
	ПараметрыРегистрации.Вставить("Информация", "Информация об обработке");
	
	тзКоманд =ПолучитьТаблицу_Команд();
	
	ДобавитьКоманду(тзКоманд,  "ОтправитьДанные", "ОтправитьДанные", "ВызовСерверногоМетода");
	
	ПараметрыРегистрации.Вставить("Команды", тзКоманд);
	
	Возврат ПараметрыРегистрации;
	
	
КонецФункции
Показать
3. platonov.e 158 16.08.19 09:10 Сейчас в теме
(2) это для управляемых форм. в обычных такого не было.
46. Новичок1с 4 13.10.20 09:53 Сейчас в теме
(2)

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


Подскажите пожалуйста, из-за чего всё равно при добавлении в дополнительные отчёты/обработки возникает ошибка

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

Техническая информация
Метод объекта не обнаружен СведенияОВнешнейОбработке"


Пробовала различные варианты для подключения, ничего не получается.
Может необходимо где-нибудь сделать ссылку на это функцию??
47. FatPanzer 13.10.20 09:54 Сейчас в теме
48. Новичок1с 4 13.10.20 10:10 Сейчас в теме
(47)

Экспорт?, да указан.

Может быть Вы можете мне посоветовать

Если вы планируете запускать внешнюю обработку из файла, тогда можно использовать такой код:


АдресХранилища = "";
СтруктураЗащита=новый ОписаниеЗащитыОтОпасныхДействий;
СтруктураЗащита.ПредупреждатьОбОпасныхДействиях=ложь;
Обработка = ВнешниеОбработки.Создать("\\192.168./ваш ip/\Выгрузка и загрузка данных XML_3_0.epf",ложь,СтруктураЗащита);          
Обработка.Инициализация();


В какую процедуру вставлять этот код???
Я нашла эту рекомендацию на
https://www.koderline.ru/expert/programming/article-zapusk-vneshnikh-obrabotok-1s-iz-vneshnikh-obrabotok-v-fone-v-1s-8-3/
49. Marliiin 13.10.20 11:05 Сейчас в теме
(46) Добрый день.
Как я понимаю, у Вас управляемые формы?

Убедитесь, что функция "СведенияОВнешнейОбработке()" экспортная и находится именно в модуле объекта (не в модуле формы).
Новичок1с; +1 Ответить
50. Новичок1с 4 14.10.20 10:34 Сейчас в теме
(49)
Доброго дня.
Да, у меня управляемые формы.

Благодарю Вас за рекомендацию, получилось.

p.s.
я к сожалению до сих пор даже и не знала о такой возможности, как модуль объекта внешнего отчёта или обработки.
51. FatPanzer 14.10.20 10:38 Сейчас в теме
4. platonov.e 158 16.08.19 09:13 Сейчас в теме
Для ут 10.3 я делал через планировщик заданий виндовс. Выглядит это не очень, но раньше многие так делали, особенно если база файловая.
7. user817897 2 16.08.19 10:31 Сейчас в теме
(5) у меня база на сервере
6. Kaspirovsky 214 16.08.19 09:16 Сейчас в теме
В УФ подключаешь обработку, в самой форме подключения есть "расписание", далее в регламентых устанавливаем пользователя РегламентныеЗадания под которым доступен запуск
8. user817897 2 16.08.19 10:36 Сейчас в теме
(6)не нашёл я что-то "расписание" на форме((
12. Xershi 1473 16.08.19 11:57 Сейчас в теме
(8) это зависит от БСП. В УТ 10 она скорее всего старая и там нет такого функционала. Если нужно именно внешнюю, то вам уже писали. Иначе напишите регламентное задание, которое будет запускать вашу обработку.
14. user817897 2 16.08.19 12:06 Сейчас в теме
(12)понял,спасибо,создам регламентное тогда
17. user817897 2 16.08.19 14:54 Сейчас в теме
(12)написал в регламентном сразу текст из обработки,но он не стартует,может вы знаете в чём причина?
18. Xershi 1473 16.08.19 15:27 Сейчас в теме
(17) код выполняется на сервере. Ставим галку проверка сервера и прогоняем всю конфу, после исправления косяков должно взлететь.
19. user817897 2 16.08.19 15:49 Сейчас в теме
(18) а где поставить галку проверку сервера?

Прогонять всю конфу - вы имеете ввиду Тестирование и исправление инф.базы?
25. Xershi 1473 16.08.19 16:13 Сейчас в теме
(19) нет проверку конфигурации на синтаксические ошибки.
20. user817897 2 16.08.19 15:50 Сейчас в теме
(18)я вот чёт задумался,может блокировка регламентных заданий стоит в SQL Server?!)
24. Xershi 1473 16.08.19 16:13 Сейчас в теме
(20) т.к. формулировка
но он не стартует
может значить все что угодно, то и это может быть.
16. user_2010 865 16.08.19 14:13 Сейчас в теме
вот хорошая статья https://infostart.ru/public/827126/
по поводу назначения регламентного задания для внешней обработки.
Может вам поможет?
37. jimli 6 01.11.19 01:33 Сейчас в теме
Скажите, а для файловой БД можно создавать регламентные задания по расписанию? УТ 10,3. Сделала обработку по образу (16), прописала «Сервис — Дополнительные отчеты и обработки — Дополнительные внешние обработки». У меня нет возможности добавить расписание.
38. user_2010 865 01.11.19 09:54 Сейчас в теме
(37) По-моему в файловой также работает.... точно не могу сказать.
Если у вас нет настройки регламентного задания - тогда - думаю - что что-то неправильно написали - там важно вид обработки выбрать правильный...
27. rintik 19 16.08.19 16:23 Сейчас в теме
В консоли сервера 1С стоит галка "Блокировка регламентных заданий"?
Прикрепленные файлы:
28. user817897 2 16.08.19 16:58 Сейчас в теме
29. Xershi 1473 16.08.19 17:16 Сейчас в теме
(28) тогда задания работают. Осталось проверить обработкой, что по (26), если там все норм, то закончить (25)
30. user817897 2 16.08.19 17:21 Сейчас в теме
(29) если делать проверку через конфигуратор,то ошибки есть в общем модуле,но не в моём в котором я писал,это влияет?



{ОбщийМодуль.Б_ПечатьЧековКлиентСервер.Модуль(23,2)}: Переменная не определена (КассовыеСменыКлиент)
<<?>>КассовыеСменыКлиент.ОткрытьКассовуюСмену(ККТ); (Проверка: Сервер)
{ОбщийМодуль.Б_ПечатьЧековКлиентСервер.Модуль(86,2)}: Переменная не определена (КассовыеСменыКлиент)
<<?>>КассовыеСменыКлиент.ЗакрытьКассовуюСмену(ККТ, ПоследняяКассаоваяСмена.КассоваяСмена); (Проверка: Сервер)
{ОбщийМодуль.Б_ПечатьЧековКлиентСервер.Модуль(374,16)}: Переменная не определена (КассовыеСменыВызовСервера)
ОписаниеПКС = <<?>>КассовыеСменыВызовСервера.ОписаниеПоследнейКассовойСмены(ФУ); (Проверка: Сервер)
{ОбщийМодуль.Б_ПечатьЧековКлиентСервер.Модуль(395,18)}: Переменная не определена (МенеджерОборудованияКлиентСервер)
ВерсияФормата = <<?>>МенеджерОборудованияКлиентСервер.ВерсияФФД(ОбъектДрайвера.ВыходныеПараметры); (Проверка: Сервер)
{ОбщийМодуль.Б_ПечатьЧековКлиентСервер.Модуль(397,18)}: Переменная не определена (МенеджерОборудованияКлиентСервер)
ПараметрыЧека = <<?>>МенеджерОборудованияКлиентСервер.ПараметрыОперацииФискализацииЧека(); (Проверка: Сервер)
{ОбщийМодуль.Б_ПечатьЧековКлиентСервер.Модуль(401,3)}: Переменная не определена (МенеджерОборудованияВызовСервера)
<<?>>МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека(АктивныйДокумент, ПараметрыЧека, ВерсияФормата, (Проверка: Сервер)
31. Xershi 1473 16.08.19 17:25 Сейчас в теме
(30) да.
В частном случае может и не влиять, но лучше исправить!
user817897; +1 Ответить
32. user817897 2 16.08.19 17:28 Сейчас в теме
(31)чуть позже отвечу. Спасибо
34. theifx 19.08.19 09:51 Сейчас в теме
(30)Объявите хотя бы переменные. И будет счастье))
33. rintik 19 16.08.19 17:29 Сейчас в теме
В УТ 10.3 в консоли заданий проверить/добавить вручную задание или выполнить код
	МетаданныеЗадания = Метаданные.РегламентныеЗадания.ВашеИмяРеглЗадания;
	Расписание = Новый РасписаниеРегламентногоЗадания;
	Расписание.ВремяНачала = ТекущаяДата();
	ПараметрыЗадания = Новый Структура;
	ПараметрыЗадания.Вставить("Использование", Истина);
	ПараметрыЗадания.Вставить("Наименование", МетаданныеЗадания.Синоним + " (" + Формат(Расписание.ВремяНачала, "ДФ=HH:mm:ss") + ")");
	ПараметрыЗадания.Вставить("Расписание", Расписание);
	
	НовоеЗадание = РегламентныеЗадания.СоздатьРегламентноеЗадание(МетаданныеЗадания);
	ЗаполнитьЗначенияСвойств(НовоеЗадание, ПараметрыЗадания);
	НовоеЗадание.Записать();

Показать
user817897; +1 Ответить
35. a1ex4ndr 5 19.08.19 10:17 Сейчас в теме

Попытка
ТекстовыйДокумент.Прочитать(ИмяФайла.ПолноеИмя);
Исключение
Сообщить("Ошибка открытия файла!");
КонецПопытки;

Вместо сообщений сделайте запись в журнал, при запуске на сервере сообщать некому будет...
user817897; +1 Ответить
36. DragonAgo 13 19.08.19 15:30 Сейчас в теме
Можно прописать в правилах обмена, затем создать план обмена и добавить эти правила, а в самом обмене есть настройка расписания запуска. В результате даже изменять конфигурацию не нужно. В конвертации данных написать код при загрузке правил.
user817897; +1 Ответить
39. Никс 10 01.11.19 17:29 Сейчас в теме
(36)
затем создать план обмена и добавить эти правила, а в самом обмене есть настройка расписания запуска. В результате даже изменять конфигурацию не нужно. В конвертации данных написать код при загрузке правил.

там ещё с очисткой регистрации возиться надо будет
40. Никс 10 01.11.19 17:30 Сейчас в теме
Найдите обработку "Консоль заданий" (либо внешнюю, либо может в составе конфигурации есть), и настройте расписание
41. KVIKS 395 04.11.19 13:21 Сейчас в теме
для файловой (да и для серверной) базы использую Виндовый планировщик - настраиваю расписание, в качестве выполнения пишу батник который запустит 1С и откроет обработку, Пример
"C:\Program Files (x86)\1cv8\8.3.10.2580\bin\1cv8.exe" /RunModeOrdinaryApplication ENTERPRISE /S"192.168.88.3\ИМЯБАЗЫ" /NПОЛЬЗОВАТЕЛЬ  /PПАРОЛЬ   /Execute"F:\ECOPROM\ecoprom.epf"

В обработке при открытии выполняется код и потом команда ЗавершитьРаботуСистемы, чтобы закрылась 1С. Работает как часы.
yurazyuraz; +1 Ответить
43. user817897 2 29.04.20 21:00 Сейчас в теме
(41)
спасибо большое. я точно так же и сделал тогда)
44. user817897 2 29.04.20 21:00 Сейчас в теме
(41) единственный был косяк,потом когда платформу 1с переустанавливал,то перестало автоматом запускаться) пришлось путь переписать (Версию платформы)
45. Sas001 08.05.20 08:55 Сейчас в теме
так а зачем путь с версией, когда есть "C:\Program Files\1cv8\common\1cestart.exe"
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день