![]() |
![]() |
![]() |
|
Как запустить в фоновом режиме? | ☑ | ||
---|---|---|---|---|
0
Фанни
21.07.06
✎
13:37
|
Для целей обмена данными между площадками необходимо запускать 1С в фоновом режиме автоматически через планировщик заданий Windows.
ПОДСКАЖИТЕ куда вставить вызов процедуры обмена и последующий вызов ЗавершитьРаботуСистемы(Ложь)? ВЫЗОВ этих функций из ПриНачалеРаботыСистемы() в модуле приложений МНЕ не подходит (после места, где системой определяется пользователь), поскольку пользователь на удаленных площадках видит открытие 1С и это ему мешает. |
|||
1
Черноморетс
21.07.06
✎
13:40
|
Смотрри параметры командной строки в "Установке по руководству и запуску"
|
|||
2
Черноморетс
21.07.06
✎
13:41
|
хыхы, в "Руководстве по установке и запуску"
|
|||
3
Фанни
21.07.06
✎
13:50
|
(2) В смысле добавить в командную строку /DisableStartupMessages ?
Или что-то еще? |
|||
4
Фанни
21.07.06
✎
14:00
|
Вызов типа D:\PROGRA~1\1cv8\bin\1cv8.exe enterprise /F"E:\Мама дорогая\Успокой меня" /NАвтомат /P123 /DisableStartupMessages НЕ решил мою задачу.
БОЛЕЕ ТОГО, даже после перенесения вызова процедур обмена и завершения работы в ПередНачаломРаботыСистемы() модуля приложений (с переносом туда и вызова нужного мне ОпределитьТекущегоПользователя()) ТОЖЕ НЕ РЕШИЛО ЗАДАЧУ: (1) После запуска выдается табло с 1С (2) Хотя и быстро, почти мелькает, но рабочий стол 1С распахивается. КАК БЫТЬ? |
|||
5
Lendy
21.07.06
✎
14:05
|
Запускать на том компьютере, где не сидят пользователи.
|
|||
6
Фанни
21.07.06
✎
14:09
|
(5) Это можно на центральном хосте, а на удаленных площадках всего по 1 компу!
КАК БЫТЬ? |
|||
7
Антошка WAREZNIC
21.07.06
✎
14:11
|
пакетно запускать... пакетно...
|
|||
8
smaharbA
21.07.06
✎
14:13
|
-Embedding вАлшебное слово
|
|||
9
Фанни
21.07.06
✎
14:14
|
(7) Ты по делу скажи как, а то советы мониторы выключать мы и сами можем дать ;))
|
|||
10
Фанни
21.07.06
✎
14:17
|
(8) А куда его нужно говорить в командную строку?
Тогда так /Embedding или -Embedding? Откуда тайные знания? В руководстве я не нашел про это слово. |
|||
11
Фанни
21.07.06
✎
14:24
|
-Embedding в командной строке - это, как я понял, инструкция для Windows, а не для 1С. Попробую.
А сама 1С-то что по поводу невидимого запуска советует делать? |
|||
12
smaharbA
21.07.06
✎
14:25
|
D:\PROGRA~1\1cv8\bin\1cv8.exe -Embedding enterprise ...
|
|||
13
Advan
21.07.06
✎
14:28
|
Смотри параметры запуска в синтаксис помошнике, и (8)
|
|||
14
Фанни
21.07.06
✎
14:37
|
(12) Попробовал. Нужного результата не достиг.
Подробнее: = Назначенное задание запустилось, но в списке задач стоит комментарий "Работает" или, иными словами, свою работу не завершает. = Вызов процедуры обмена в ПриНачалеРаботыСистемы(), ради которой все затевалось, произведен не был. = В Диспетчере задач Windows задача 1С есть. |
|||
15
Фанни
21.07.06
✎
14:42
|
(13) В параметрах ничего дельного кроме /DisableStartupMessages, которое не помогает, не нашел.
|
|||
16
Фанни
21.07.06
✎
14:44
|
-Embedding - я так понял, это загрузить задачу резидентно и оставить TSR?
|
|||
17
Фанни
21.07.06
✎
14:52
|
ОТВЕТА ПОКА Я НЕ НАШЕЛ.
Удивлен! Что никто с обменом данных не работает? |
|||
18
Lendy
21.07.06
✎
14:58
|
(17) работает, но не заморачивается.
|
|||
19
Advan
21.07.06
✎
14:58
|
(17)На личном опыте вообще убедился что лучший робот - человек, поставь ему кнопку сделать обмен и не мучайся.
|
|||
20
A 008
21.07.06
✎
15:05
|
/C<параметры комстроки>
ПриНачалеРаботыСистемы отрабатываешь ПараметрЗапуска |
|||
21
A 008
21.07.06
✎
15:08
|
+ после отработки - ЗавершитьРаботуСистемы
Типовые смотреть полезно иногда. А шедул запускай под какимнить "условной" уч.записью, под которой никто не работает. |
|||
22
Фанни
21.07.06
✎
15:14
|
(20),(21)
Даже ПередНачаломРаботыСистемы() - это уже поздно, поскольку мелькает окно 1С. Сейчас пробую работать с ОбработатьПараметрЗапуска(). Естесно, что с условной и со вставкой: Если глТекущийПользователь.Наименование = "Автомат обмена данными" Тогда вбАвтоВыполнитьОбмен(); ЗавершитьРаботуСистемы(Ложь); КонецЕсли; |
|||
23
Фанни
21.07.06
✎
15:34
|
ОСТАВЛЯЮ ВОПРОС ОТКРЫТЫМ.
Практически же, пока, я вставил код прямо в сам модуль приложения: ОпределитьТекущегоПользователя(); //2006-07-20 Запуск обмена как назначенного задания Если глТекущийПользователь.Наименование = "Автомат обмена данными" Тогда вбАвтоВыполнитьОбмен(); ЗавершитьРаботуСистемы(Ложь); КонецЕсли; Буду ждать лучших идей. |
|||
24
smaharbA
21.07.06
✎
18:58
|
Не может быть что не работает, все(почти) ОЛЕ запускаются с этим параметром и ведь работают
|
|||
25
Neco
21.07.06
✎
19:14
|
(23) Если на удаленных площадках (там где по 1 компу) установлено что вроде ВинХР или ВинСервер, то в планировщике можно настроить так, что процесс будет запускать от имени какого либо пользователя. Так можно установить пользователя специально для выполнения сией процедуры и указать его в планировщике.
|
|||
26
Фанни
21.07.06
✎
22:42
|
(25) Проблема не в том, что из планировщика не запускается, а проблема в том, что при это мелькают ненужные окна - заставка 1С (это еще терпимо) и сам рабочий стол 1С. Если обработку запускать скажем каждые 10 минут, то это маячание будет раздражать оператора.
|
|||
27
Фанни
21.07.06
✎
22:45
|
(24) Проверено на XP SP2. Не работает. Просто резидентно загружается в память.
Более того, управление не передается на уровень отработки события ПриНачалеРаботыСистемы() |
|||
28
Херрес
21.07.06
✎
22:48
|
(0) напиши процедуру на vbscript, которая через ОЛЕ будет подключаться к 1С и запускать нужную внешнюю обработку (ComСоединение не покатит)
на сколько помню, 1С показываться не будет. А если будет, можно ему сказать .visible=False |
|||
29
Deteur
22.07.06
✎
09:53
|
Если будешь использовать wmic (через командную строку) то никаких окошечек не будет появляться
|
|||
30
Бриарей
22.07.06
✎
10:45
|
(0) Послушай (28) и сделай наоборот ;-)
Обмен через COM-соединение прекрасно работает. |
|||
31
real_drummer
22.07.06
✎
10:49
|
а ты не пробовал запускать не от имени пользователя который в данный момент работает в системе а от имени другого???
|
|||
32
Advan
22.07.06
✎
12:02
|
Да заведи пользователя и запускай под ним - шедулер это позволяет, хотя если каждые 10 минту то правильней запустить 1 раз и потом использовать обработчик ожидания
|
|||
33
Бриарей
22.07.06
✎
13:51
|
(31) если это мне, то да, все работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |