helpf.pro
Регистрация

выгрузка

SOBOLEV
28.02.2011 10:15Прочитано: 4277
как сделать так что при входе в систему 1с пользователем один раз в день выгружалась база.
Yandex
Возможно, вас также заинтересует
Реклама на портале
bugor666
28.02.2011 10:24Ответ № 1
(0) SOBOLEV, можно сделать с помощью параметра строки запуска в ярлыке программы.

Код DOS Batch File
 "C:\Program Files\1cv82\common\1cestart.exe" /F "D:\WBBuh\1C\HRM_IP" /N Пользователь /P пароль /Execute "D:\ЗПЗапуск.epf"   


/F - каталог базы данных
/N - логин
/P - пароль
/Execute - путь ко внешней обработке, для запуска при загрузке программы.
Mokey
28.02.2011 10:33Ответ № 2
(1) bugor666, человек просит один раз в день. Тут только флажок в регистр сведеий какой-нибудь, а саму выгрузку и проверку необходимости выгрузить в ПриНачалеРаботыСистемы()
bugor666
28.02.2011 10:38Ответ № 3
(2) Mokey, согласен. Запись в регистр будет актуальна. Просто я не сторонник изменения самой конфигурации. Стараюсь все делать внешними обработками.
Mokey
28.02.2011 10:49Ответ № 4
(3) bugor666, но тут же один раз в день - внешне не отследишь, хотя, можно заморочиться файлом-флагом для каждого пользователя, только стоит ли огород городить?
bugor666
28.02.2011 11:09Ответ № 5
(4) Mokey, это уже зависит от желания. Мне проще сделать все внешним, чтобы потом, при обновлении конфигурации, никто меня нехорошими словами не вспоминал. *13 Да и сделать это все не так уж и сложно. Вот те базы которые достались мне на текущей работе - вот это точно огород. Куча стандартных реквизитов использовалась не по назначению... Переносить в 8.2 вообще не понятно было как...
Mokey
28.02.2011 11:10Ответ № 6
(5) bugor666, Мне кажется, что автор вопроса должен сам выбрать, как ему поступить. Варианты озвучили. *13
bugor666
28.02.2011 11:16Ответ № 7
(6) Mokey, я его и не агитировал. )
Mokey
28.02.2011 11:18Ответ № 8
(7) bugor666, так никто не агитировал, я в том смысле, что он молчит
SOBOLEV
28.02.2011 12:20Ответ № 9
"D:\WBBuh\1C\HRM_IP" а это что+) пароль обезательно ?? если у пользователя его нет??
E_Migachev
28.02.2011 12:38Ответ № 10
(0) SOBOLEV, что ты имеешь ввиду под словом выгружалась?
Если Ты хочешь чтобы создавался архив базы, то:
Как из командной строки заставить 1С:Предприятие сделать выгрузку базы данных?
Автоматическая архивация баз 1С 8.х для файлового и клиент-серверного варианта
или используй сприпты *13 :
первый скрипт для УТ устанавливает режим блокировки ИБ и завершает работу пользователей
Код VBS
 Set WshShell = WScript.CreateObject("WScript.Shell")   
WshShell.run("C:\PROGRA~2\1cv81\bin\1cv8.exe enterprise /FE:\****** /CЗавершитьРаботуПользователей")

второй генерит имя архива и сохраняет его в текстовом файле, потом делает архив
Код VBS
 Set WshShell = WScript.CreateObject("WScript.Shell")   
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStreamL = FSO.CreateTextFile("E:\******\lostarch.txt")
ArchName = "E:\******_" + Replace(Date, ".","") + "_" + Replace(Time, ":","") + ".dt"
TextStreamL.Write(ArchName)
TextStreamL.Close
WshShell.run("C:\PROGRA~2\1cv81\bin\1cv8.exe config /UCПакетноеОбновлениеКонфигурацииИБ /FE:\****** /DumpIB" + ArchName)

третий разблокирует базу данных и копирует архив на удалённый сервер
Код VBS
 Set WshShell = WScript.CreateObject("WScript.Shell")   
Set FSO = CreateObject("Scripting.FileSystemObject")
WshShell.run("C:\PROGRA~2\1cv81\bin\1cv8.exe enterprise /UCПакетноеОбновлениеКонфигурацииИБ /FE:\****** /CРазрешитьРаботуПользователей")
set TextStream = FSO.OpenTextFile("E:\******\lostarch.txt",1,false)
WshShell.run("xcopy " + Trim(TextStream.ReadLine()) + " \\192.168.0.20\e$\******")
SOBOLEV
28.02.2011 13:12Ответ № 11
Как из командной строки заставить 1С:Предприятие сделать выгрузку базы данных
/DumpIB c:\имя.dt не работает вот этот мамент
bugor666
28.02.2011 13:16Ответ № 12
(9) SOBOLEV, это путь к базе данных.
SOBOLEV
28.02.2011 13:21Ответ № 13
bugor666+) спасибо DumpIB что это и почему неработает?
bugor666
28.02.2011 13:29Ответ № 14
(13) SOBOLEV, разберу строку на запчасти, чтобы было понятнее:

Код DOS Batch File
 "C:\Program Files\1cv82\common\1cestart.exe" /F "Здесь пишем путь к базе данных 1С" /N Пользователь(необязательно) /P пароль(необязательно) /Execute "Здесь пишем путь к файлу внешней обработки"   


Если логин и пароль не используются, тогда ключи "/N" и "/P" не нужно указывать.

DumpIB - видимо дамп памяти информационной базы. Т.е. во время ошибки, отладчик записывает содержимое оперативной памяти компа в файл, чтобы программист мог разобраться в чем проблема.
SOBOLEV
28.02.2011 13:41Ответ № 15
так что-то я запутался +) bugor666 в твоём варианте решения этой задачи мы запускаем 1с и включаем внешнюю обработку я прав?? а что писать во внешней обработке для выгрузки всей базы?
в варианте
E_Migachev
Как из командной строки заставить 1С:Предприятие сделать выгрузку базы данных? не работает именно DumpIB как в том варианте я понял это команда выгрузки сразу без внешней обработки)??
bugor666
28.02.2011 14:08Ответ № 16
(15) SOBOLEV, о как... Какую выгрузку ты имеешь ввиду? И для чего вообще нужна выгрузка в данном случае? Если для архива, тогда есть масса более простых вариантов. Например E_Migachev хороший вариант предложил. Другой вариант - архивировать по старинке, через WinRAR (у меня так архивируется). Архивация запускается из командного DOS файла, назначенным на определенное время (к примеру в 03:00) заданием в Планировщике Задач Windows. Но это не экономично по месту на жестком диске.
Ну и еще около пяти чем-то похожих вариантов.

Думаю чтобы все друг-друга поняли, лучше тебе подробно описать чего ты хочешь... а то каша получилась... )
E_Migachev
28.02.2011 14:51Ответ № 17
(11) SOBOLEV, создаешь ярлык и в нем пишешь:
"C:\Program Files\1cv8\bin\1cv8.exe" CONFIG /F D:\База1С /DumpIB c:\ФайлВыгрузки.dt


Смотри описание ключей: Параметры, ключи запуска 1Сv8 из командной строки
/DumpIB<Имя файла> - это выгрузка информационной базы в командном режиме в <Имя файла>
SOBOLEV
28.02.2011 15:18Ответ № 18
bugor666 вобщем так я для диплома пишу конфигурацию автоматизация методиста грубо говоря всё написано существует необходимость в сохранности данных 1с установлена в файловом варианте.
сейчас в бат написано вот что
start C:\"Program Files"\1cv81\bin\$RHIHNTA.exe CONFIG /F "C:\Users\MSOB002\Documents\InfoBase8" /N 123 /P 123 /DumpIB D:\макс.dt
bugor666
28.02.2011 15:29Ответ № 19
(18) SOBOLEV, а что такое $RHIHNTA.exe? На техплатформу 1С это не похоже. А так все верно и должно работать... Но будет точно работать с платформой 1С.
SOBOLEV
28.02.2011 15:31Ответ № 20
Это ярлык так называется+) каряво+)
bugor666
28.02.2011 15:37Ответ № 21
(20) SOBOLEV, очень коряво. Зайди в папку C:\Program Files\1cv8\bin\ и посмотри как называется файл платформы 1С. Скопируй ЕГО имя и вставь в бат-файл вместо этого "корявого". Лучше перестраховаться.
SOBOLEV
28.02.2011 15:44Ответ № 22
Всем спасибо за помощь всё получилось просто был создан пользователь без прав .
ещё вопросик получается каждый раз будет создоватся файл с одним именем как сделать так что бы вместо имени файла была дата+)
bugor666
28.02.2011 15:50Ответ № 23
(22) SOBOLEV, вот тебе мой бат-файлик для архивации. В нем используется язык командной строки, и как раз для формирования даты в имени файла.
Скачивать файлы может только зарегистрированный пользователь!
bugor666
28.02.2011 15:52Ответ № 24
(22) SOBOLEV, только посмотри его, вникни, и на основе его создай то, что тебе нужно.
SOBOLEV
28.02.2011 15:52Ответ № 25
он битым разархевировался.
SOBOLEV
28.02.2011 16:26Ответ № 26
Вопрос закрыт!
bugor666
28.02.2011 16:28Ответ № 27
(25) SOBOLEV, вот текст который тебе необходим из этого файла.
Код DOS Batch File
 rem Считываем дату

set /A ARDAY=%DATE)0,-8%
set /A ARMON=%DATE)3,-6%
set /A ARYEA=%DATE)8%

rem Устанавливаем предыдущий месяц и день

if %ARMON% == 0 (set /A ARMON=%DATE)4,-5%) else (set /A ARMON=%DATE)3,-5%)
set /A ARMONT=%ARMON%-1

rem Записываем дату в нужном формате для удаления

if %ARDAY% LSS 10 (set ARDATE=0%ARDAY%.) else (set ARDATE=%ARDAY%.)
if %ARMONT% LSS 10 (set ARDATE=%ARDATE%0%ARMONT%.) else (set ARDATE=%ARDATE%%ARMONT%.)
set ARDATE=%ARDATE%%ARYEA%

rem Выводим дату в файл archlog.log

echo дата для удаления файлов: %ARDATE% >>..\archlog.log

rem Формируем имя файла для удаления 

set ARDELFILE=1C_BN_%ARDATE%_??.??.rar
del /Q %ARDELFILE%
bugor666
28.02.2011 18:28Ответ № 28
Вопрос закрыт!
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.