Имя: Пароль:
1C
 
Запуск обработок по расписанию
0 MadHead
 
22.02.10
17:13
Подскажите кто как реализует? где лежат грабли? и все такое...
1 KRV
 
22.02.10
17:19
ОбработкаОжидания()
2 Torquader
 
22.02.10
17:20
Или стандартный планировщик Windows и запуск под пользователем "robot" и открытие нужной обработки в "ПриНачалеРаботыСистемы"
3 Иду
 
22.02.10
17:20
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=78&lid=5728
а грабли... нету у меня граблей.
4 Гефест
 
22.02.10
17:21
Запуск батника из виндового планировщика со служебным пользователем. При запуске проверяй имя пользователя и пиши что хочешь
5 Мулька
 
22.02.10
17:29
(4) Пользователей не напасешься.
(0) В ПриНачалеРаботы... проверка autorun.ert в каталоге пользователя. В батнике ее туда подсовывешь, переименовываешь, по окончании убиваешь.
6 MadHead
 
22.02.10
17:35
(5) не совсем понимаю, а зачем много пользователей? На мой взгляд одного вполне достаточно
7 BuHu
 
22.02.10
17:39
(6) бывает нужно запустить много обработок/отчетов , и 1 пользователь не успеет всё это сделать
8 MadHead
 
22.02.10
17:40
(7) Ясно. В моем случае -- это не грозит. Спасибо.
9 BuHu
 
22.02.10
17:43
(8) ну эт пока не грозит , у нас когда то тоже был один диспетчер(робот), сейчас 2 диспетчера и шесть формирователей отчетов :)
10 dk
 
22.02.10
17:58
еще можно по OLE из vbs запускать произвольный отчет с параметрами
11 Xsander
 
22.02.10
18:04
Погляди пакетный запуск - в книге по установке и администрированию всё классно написано, я сейчяас найду инструкцию и напишу подробнее
12 Xsander
 
22.02.10
18:14
Вот такое пишем в bat-файле, который закинуть в планировщик "форточки"/Windows:

"C:\Program Files\1Cv77\BIN\1cv7.exe" CONFIG /D"C:\Program Files\1Cv77\MyBase\" /NLogin /PPassword  /@LogReindexRecalcTotalsUnloadBase.prm

В базу кидаем файл "LogReindexRecalcTotalsUnloadBase.prm", который создаем блокнотом после изменяем расширение на "prm", текст в файле к примеру такой:

[General]
Output=Log.txt
Quit=1
UnloadData=1
CheckAndRepair=1
[CheckAndRepair]
Repair=0
PhysicalIntegrity=0
Reindex=1
LogicalIntegrity=0
RecalcSecondaries=0
RecalcTotals=1
Pack=0
[UnloadData]
UnloadToFile=UnloadBase

В результате запустится 1С в заданное время, в режиме конфигуратора, все переиндексирует, пересчитает бух.итоги и еще создаст выгрузку в директории базы данных, эту выгрузку полезно будет еще и переименовать батником по дате, но в принципе можно смотреть по дате создания выгрузки.
13 Xsander
 
22.02.10
18:15
Вот еще нашел старые записи:
Описание команды запускающей 1С:
"Путь расположения запускающего файла 1с" РежимЗапуска /D"Путь расположения ИБ" /NИмяПользователя /PПарольПользователя

Пример:
"C:\Program Files\1Cv77\BIN\1cv7.exe"    ENTERPRISE  /D"Путь расположения ИБ" /NАдминистратор /P1234

Режимы запуска:
CONFIG        - режим конфигуратора
ENTERPRISE    - пользовательский режим или режим предприятия

Команда запускающая 1С, где фаил пакетного запуска - "baseObmen.prm":
"Путь расположения запускающего файла 1с"  config /D"Путь расположения ИБ" /N*** /P*** /@file.prm

Команда для батника переименовывающая фаил выгрузки в архив с именем в виде даты:
rename "C:\Program Files\1Cv77\ATC\Base1.zip" "UK_%date%".zip

Содержание файла пакетного запуска file.prm:
[General]            -секция главная/основная
Output=Log.txt        -создает лог
Quit=1            -закрытие конфигурации
UnloadData=1        -запуск секции выгрузки/загрузки
AutoExchange=1        -запуск секции выгрузки/загрузки распределенных баз
[UnloadData]        -секция выгрузки/загрузки
UnloadToFile=Значение    -выгрузка базы в фаил (Значение=любое имя архива выгрузки)
[AutoExchange]        -секция выгрузки/загрузки распределенных баз
SharedMode=Значение    -запуск процедуры автообмена в раздельном режиме (Значение=Y,1/N,0)
ReadFrom=Значение    -загрузить данные из удаленной базы (Значение=Список кодов ИБ, разделяемые пробелами или запятыми)
WriteTo=Значение        -выгрузить данные для удаленной базы (Значение=Список кодов ИБ, разделяемые пробелами или запятыми)
14 dk
 
22.02.10
18:17
Xsander ты об чем вообще?
ну запусти обработку в пакетном режиме )))
15 Xsander
 
22.02.10
18:19
+ В 1С что бы выгрузка не встала делай её, тогда когда все ушли с работы - ночью к примеру и в 1С если у тебя терминальный режим пропиши чтобы после рабочего времени 1С выклюсалась - т.е. заверешениработысистемы();

+ если делаешь каждый день, тогда выключай данную схему на день когда переводят часы, т.к. используя планировщик будет задвоение запуска.
16 Xsander
 
22.02.10
18:21
Просто понесло..
17 MadHead
 
23.02.10
10:13
(16) Вы наверное не совсем поняли мой вопрос. Мне обработку надо вызвать по расписанию. Или при предложенном вами варианте вызываются процедуры типа ПриНачалеРаботыСистемы?

А не был бы кто нить любезен скачать набор внешних компонент вот отсюда
http://infostart.ru/public/15995/ и закинуть на шару какую нить?
18 Мулька
 
23.02.10
10:25
(17) Тебе уже все расписали. Обработки не спасут. Пиши сам -> учи ДОС (Фигурнов)+ ЖКК
19 MadHead
 
23.02.10
10:31
(18) Да, без проблем. Элементарный запускальщик по расписанию легко сделать, просто в той обработке много готового и интересного.
20 Admin_Net_1C
 
23.02.10
10:52
(0) запихай в файл с расширением vbs и запускай из планировщика и будет тебе счастье:

mPathProg = "C:\Program Files\1Cv77\BIN\1cv7s.exe"    'Путь к программе 1С
mPathBase = "D:\1C_DB_CONF\ActiveBase_1C\"        'Путь к базе данных
mUser = "Юзер"                        'Пользователь
mPW = "ляля"                        'Пароль пользователя
mPath_Name_Ert = "ExtForms\_ВосстановлениеГП.ert"  'Путь и название обработки
mPath_Name_CVS = ""

'Работа скрипта
Set mProgV77 = CreateObject("v77s.Application")

'параметр /m - запуск 1С в монопльном режиме
ComandLine = mPathProg & " /d" & mPathBase & " /n" & mUser + " /p" + mPW + " /m"

mresult = mProgV77.Initialize(mProgV77.RMTrade, ComandLine,"NO_SPLASH_SHOW")
If mresult Then  
  mresult = mProgV77.EvalExpr("OpenForm(""Отчет"",""" & mPath_Name_CVS & """,""" & mPathBase & mPath_Name_Ert & """)")
End If
21 Torquader
 
24.02.10
23:46
Ещё есть очень нетрадиционный способ:
1) Запускаем 1С любым способом или ищем уже запущенную.
2) Устанавливаем с окном 1С DDE-соединение.
3) Посылаем через DDE команду "ОткрытьФорму(""Отчет"",,""ПутьКФайлуОбработки"")"
А в самой обработки в процедуре ПриОткрытии нужно написать выполнение необходимого нам действия (и не забыть закрыть форму и 1С после завершения).
22 MadHead
 
26.02.10
12:30
(21) Действительно, я выбрал запуск из VBS через OLE.

А можно ли зашифровать текст VBS? Хотя конечно можно закрыть доступ к файлу средствами виндовс...