Думай о будущем - сохрани прошлое.
Настройка автоматического ежедневного архивирования нажатием одной кнопки.
Для 1С:Предприятия 8.1 и 8.2.
А пароли? ...прячутся :)
(1) Скаченная Версия 3.0.0.1 при запуске выдаёт:
_____________________________
{ВнешняяОбработка.УстановкаАвтоматическогоАрхивирования(116)}: Ошибка при вызове конструктора (ЧтениеТекста): Каталог не обнаружен 'C:\Application Data\1C\1Cv81\ibases.v8i'
по причине:
{ВнешняяОбработка.УстановкаАвтоматическогоАрхивирования(116)}: Ошибка при вызове конструктора (ЧтениеТекста): Каталог не обнаружен 'C:\Application Data\1C\1Cv81\ibases.v8i'
по причине:
Каталог не обнаружен 'C:\Application Data\1C\1Cv81\ibases.v8i'
_____________________________
(63) Система Win XP SP3 (настолько принципиально?) Производство и поддержка Win XP Alternative ver.10.5.1 (May2010)
1С:Предприятие 8.1 (8.1.15.14) Конфигурация "Управление торговлей", редакция 10.3 (10.3.10.4)
(65) Да, эта версия работает, спасибо. Я хотел использовать 2 вариант настройки: (детальная настройка), а именно осуществлять операцию по резервному копированию 1 раз в неделю и в назначенное время. (В указанной же версии без права изменений, т.е. осуществление копирования при загрузке... дополнительную программу не хочу ставить...)
Вот столкнулся с такой проблемой...
База висит на сервере... А сервер не логинится, т.е. каждый пользователь работает отдельно, и не факт что сегодня залогиниться тот у которого это прописано в автозапуске, а на выходные вообще никто не логинится, т.е. сервер просто висит без пользователей.
Так вот вопрос, эта обработка загружается как служба, или все таки как просто исполняемый файл(скрипт и т.д.), т.е. присутствует условия логина хотяб одного пользователя?
(3) Создается один или несколько скриптов и ярлык в автозагрузке главного меню для всех пользователей. Если у текущего пользователя не достаточно прав, то ярлык в автозагрузке создается только для него.
Если не использовать ярлык в автозагрузке, то скрипт можно включить в регламентные задания в назначенное время. Для этого в назначенных заданиях для скрипта необходимо указать пользователя с достаточным набором прав и обязательно с установленным паролем. Без пароля назначенные задания работать не будут. Назначенное задание может выполняться без входа пользователей на сервер в указанное время, например, ночью.
Если есть разные виды конфигураций, то можно создать несколько скриптов с разными префиксами: zup, bp, ut, upp или db. Соответственно в назначенных заданиях их можно запускать в разное время. Перенести файлы скриптов в другой каталог можно, но ссылки на структуру каталогов прописываются в скриптах жестко прямыми ссылками. Раскидав скрипты по каталогам можно организовать архивирование нескольких конфигураций одного вида.
Но все выше описанные возможности несколько вываливаются из основной идеи - настройка автоматического архивирования нажатием одной кнопки. И реализация этих возможностей также требует от пользователя некоторой подготовки, что тоже вываливается из основной идеи - ориентация обработки на неподготовленного пользователя.
Наш админ ответил так: "когда я занимался вопросами резервного копирования была аналогичная, я отказался от нее в пользу bat файла, так проще и более удобно по настройке куда чего складывать"
При нажатие "Установить" вышло ошибка:
Не удалось создать пользователя Регламент для выгрузки информационной базы. {ВнешняяОбработка.УстановкаАвтоматическогоАрхивирования(72)}: Поле объекта не обнаружено (ПолныеПрава)
Не удалось создать пользователя для выполнения регламентных заданий
(12) В первом абзаце сказано, что обработка имеет жеские ограничения. Т.е. работает по жестко прописанному шаблону. В частности: в конфигурации или не должно быть пользователей, или должна быть роль ПолныеПрава. Также в конфигурации должен быть интерфейс Общий. В типовых конфигурациях роль ПолныеПрава и интерфейс Общий есть.
14.
Емельянов Алексей
14201.04.09 08:50 Сейчас в теме
Какой пароль у пользователя "Регламент"? Звездочки не подходят.
--- Поржал )))
а у меня bat-файлик и программа xStarter - работает замечательно
а насчет того что пароль видно так это фигня, в 1с это пользователь отключен из списка. И этого достаточно чтобы 99% пользователей не смогли этим воспользоваться )))
(14) Всегда найдется 1% инициативнных которые расковыряют, что, где и когда делается и расскажут остальным 99%. А в bat-файлике прописаны и имя пользователя и пароль. :)
Например, наша (рабочая) конфигурация меняет пароль пользователя Регламент во всех клонах базы (во всех филиалах) одновременно. Сама переписывает скрипты при изменении пароля на архивную копию, обмен данными по расписанию, выгрузку каталога товаров для интернет магазина и т.д., и т.п. :)
Настроить можно все, но еще раз повторюсь - обработка ориентирована на неподготовленного пользователя, который, возможно, не умеет писать bat-файлы... :)
15.
Емельянов Алексей
14201.04.09 08:52 Сейчас в теме
Какой пароль у пользователя "Регламент"? Звездочки не подходят.
---а я то блин набирал звездочки на русском, на англиском, еще на других 100 языках... с правой части клавы... с верхней... полдня потерял вообщем...))))))))))
(17) Зря ты так про пользователя. Просто это не его компетенция. Бухгалтеру за другое деньги платят, а спрашивают за все. Ну, как-то так, в общих чертах...
Программа по идеи очень хороша. Только огорчает ошибка при запуске программы: Не удалось создать пользователя Регламент для выгрузки информационной базы. {ВнешняяОбработка.УстановкаАвтоматическогоАрхивирования(80)}: Поле объекта не обнаружено (Общий)
Не удалось создать пользователя для выполнения регламентных заданий.
Спасибо большое!!! У меня своя конфигурация. Не делает ежедневную копию. В текстовый файл пишет: Недостаточно прав доступа! Наверное что-то не доделала. Ответьте пожалуйста. Благодарю за ответ.
(26) Проверьте права у пользователя "Регламент". У него должны быть ПолныеПрава или как минимум права на запуск в режиме 1С:Предприятие, на завершение работы пользователей и на администрирование. Если у вас конфигурация самописная, то возможно механизм "завершения работы пользователей" в ней отсутствует. Посмотрите как этот механизм реализован в типовых конфигурациях.
Все клево, но неплохо бы СоздатьКаталог завернуть в Попытка-Исключение. У меня диск D: - это сидюк, и обработка просто вылетела с ошибкой при попытке создать на нем папку
поставила вчера архиватор и порадовалась удобству использования, сегодня включила комп и получила заблокированную базу, запускаю файл D:\1C_Arhiv\buh (разрешить работу пользователей).vbe с тем же результатом "установка соединения с базой запрещена".
SOS, у мну квартальные отчеты на носу, что делать? :cry:
(0) В английской версии Windows Server 2008 скрипт не может попасть в базу, т.к. имя пользователя при попытке войти стает "ааеа??аеа". Также кривеют имена лог-файлов и не создаются ярлыки в автозагрузке. Хотя имена файлов скриптов формируются нормально. Собственно сами скрипты не отрабатывают. Даже с утановленной поддержкой русского языка.
(33) Только если на почту будешь скидывать, я протестирую.
Кстати, я изменял имя пользователя на английское, все равно скрипты не отрабатывают, хотя в базу заходят. Насколько я понимаю, в 2008 Windows используется новая кодовая таблица символов, и методы "ЗашифроватьСтроку()" и "StrDecode()" отрабатывают неправильно. 1С не понимает параметры командной строки.
подскажите, что поправить чтобы на 8,2 работало?
на 8,1 - отлично отрабатывает типовые,
с 8,1 ЦРМ+УТ и 8,2 проблема - не выкидывает пользователей из базы и, ессно, не архивит(, хотя и нтерфейс общий и права полные...
(37) Всегда есть варианты:
1. Воспользоваться отладчиком
2. Обновить до последней версии Управление торговлей и взаимоотношениями с клиентами (CRM) 1.1.1.2
К сожалению у меня сейчас нет такой конфигурации в каличии, поэтому проверить не могу.
В 8.2 что вы запускаете? Какую конфигурацию?
запускаю Бухгалтерия предприятия, редакция 1.6 (1.6.22.4) 1С:Предприятие 8.2 (8.2.10.77)
и как обновление решит проблему закрытия сеансов пользователя? по их (разработчиков) заверениям УТ типовая с накатом ЦРМ на нее, а на 8.1 проблем нет, ни на Бухгалтерии, ни на УТ.
В последних версиях типовых конфигураций БП, УТ, УПП и др. поменялась схема обработки параметров запуска командной строки.
База данных у вас файловая или SQL?
(40)файловая. мало нас для SQL :)
црм попробую обновиться, поменяно там немного... думал не такая уж актуальная конфа для постоянного обновления, как бух...
сёдня 8,2 себя по другому повела... сеансы вроде как заблокировала, ну сообщение вылезло мол "для доступа введите...", но при этом не закрыла программу, а пыталась открыть снова.
на 8.1 все штатно: предупреждение-закрытие_доступа-архив-открытие_доступа-...(вот тут бы мессагу, что работать можно),
ps все это под терминалом на 2003. выполняется как "назначенные задания" ночью, ессно некоторые забывают закрыть 1С, а закрывают терм.окно
(41) По ps - теоретически их сеансы должны завершиться и тут же запуститься снова и ждать когда будет снята блокировка, после снятия блокировки будет выполнен вход по этим сеансам. Проблема будет только если пользователи включили режим 1С:Предприятия "Временная блокировка..."
:oops: таки категорически жутко извиняюсь...
на типовой 8,2 отрабатывает (после штатной конвертации) корректно, как и на 8,1, только... дооолгоооо.
Долго выгоняет юзеров. 8,1 выгружала сеансы меньше минуты, 8,2 - минут ПЯТЬ. Ночью никого нет, поэтому не критично.
я пробовала на двух базах 8.1 "бухгалтерия" (типовая), так вот она мне просто одну только базу архивировала, а вторую нет... хотя я уже не помню все в деталях
Если настраивать по "Варианту 2" и указать свой путь для сохранения архивов,то созданные скрипты не запускаются. Выдает ошибку 80070002
Строка 52
Символ 1
Не удается найти указанный файл.
в Назначенные задания все равно прописывается D:\1C_Arhiv непорядок ;)
Подскажите пожалуйста .. а когда выйдет версия обработки, которая будет работать в режиме Управляемого Приложения? А то использование толстого клиента на 8.2 так и хочется назвать "дурным тоном" ;) ! 8.2 не для того создавался, чтобы в нем работать как будто это 8.1. :|
наконец-то нашел бэкапер, который работает под 1С8.2 нормально.
Только вот лично у меня одна проблема - решение от франча с защищенным функционалом. При первом запуске оно стабильно обламывается с криком "Не могу инициализировать защищенный модуль"...
Это я все к тому, что возможность выбрать имеющегося юзера под которым будет проводится бэкап - временами бывает лучше, чем создавать его с нуля с фактически неизвестным паролем.
А после окончания выгрузки выдает еще одно предупреждение про какие-то @недоступные защищенные блоки" и всит в атком состоянии пока не жмакнешь ОК.
Соотвественно инфобаза заблокирвона :-(
Там никаких допключей "Игнорировать все ошибки" нету случаем?
(72) Возможно это особенность именно вашей конфигурации. В типовых конфигурациях таких проблем не возникает. Если пришлете конфигурацию, то посмотрю, что можно сделать.
Автору большое спасибо за проделанную работу, хотел предложить немного развить Ваш проект:
1. На мой взгляд не хватает системы очистки от старых файлов, т.е. количество файлов которые нужно сохранять(за 30 дней, за 10 дней и т.д.). Как дедал сам:
'*****************************************
' Очистка каталога с архивами от старых файлов
'*****************************************
OutFile.WriteLine(CStr(Now)+" Очистка старых файлов в "+FilesPut+" ...")
If DeleteOldFiles(FilesPut, 10, 7) = True Then
OutFile.WriteLine(CStr(Now)+" ... очистка завершена.")
Else
Alert = "High"
OutFile.WriteLine(CStr(Now)+" ... очистка не завершена.")
End If
Сама функция очистки от файлов:
'************************************************************
Function DeleteOldFiles(FolderName, DaysSave, DaysCheck)
Dim LogDeleteOldFiles
Dim Dictionary
Set Dictionary = CreateObject("Scripting.Dictionary")
If (fso.FolderExists(FolderName)) Then
Set Folder = FSO.GetFolder(FolderName)
Set LogDeleteOldFiles = FSO.OpenTextFile(FolderName&"\Deleted_"&Date&".txt",8,True)
'--- Сначала корень ---
Set Files = Folder.Files
For Each File in Files
If ((Int(CStr(Date-File.DateLastModified))+1) > DaysSave) Then
Key = CStr((File.DateLastModified-CDate("01.01.1980"))\DaysCheck)
CheckAndDelete Key, File, LogDeleteOldFiles
End If
Next
Items = Dictionary.Items
For i = 0 To Dictionary.Count-1
Set File = FSO.GetFile(Items(i))
Next
Dictionary.RemoveAll
'--- Подкаталоги ---
Set SubFolders = Folder.Subfolders
For Each SubFolder in SubFolders
Set Files = SubFolder.Files
For Each File in Files
If ((Int(CStr(Date-File.DateLastModified))+1) > DaysSave) Then
Key = CStr((File.DateLastModified-CDate("01.01.1980"))\DaysCheck)
CheckAndDelete Key, File, LogDeleteOldFiles
End If
Next
Items = Dictionary.Items
For i = 0 To Dictionary.Count-1
Set File = FSO.GetFile(Items(i))
Next
Dictionary.RemoveAll
Next
LogDeleteOldFiles.Close
DeleteOldFiles = True
Else
DeleteOldFiles = False
End If
End Function
'**************************************************
Function CheckAndDelete(Key, CurrentFile, LogDeleteOldFiles)
If Dictionary.Exists(Key) Then
Set FileInDictionary = FSO.GetFile(Dictionary(Key))
DateInDictionary = FileInDictionary.DateLastModified
DateCurrentFile = CurrentFile.DateLastModified
If DateInDictionary > DateCurrentFile Then
Dictionary.Remove(Key)
Dictionary.Add Key, CurrentFile.Path
Втророе пожелание это конечно если все прошло хорошо или плохо :D , то отправлять из скрипта отчет по почте. Как делал сам:
Sh.Run "sendEmail.exe -t "&Email&" -f "&Email&" -u ""1Cv8.1 Backup on Server: "&ServerName&" at "&Date&" "&Time&". Result: "&Alert&""" -s smtp -xu robot -xp robot -o message-file="&Out&" -l "&Out
где:
' Инициализируем необходимые переменные
Out - Это лог файл куда в общем мы все записывали....
ServerName = [ServerName] 'Имя сервера БД
Email = [Email] 'E-mail
Alert = "Normal"
Data и Time - это системные переменные
завершение работы пользователей отрабатывает
но потом когда запускается 1С (я так понимаю для архивирования) она не может запуститься - возможно передается не тот код разрешения работы
код разрешения в конфе "ПакетноеОбновлениеКонфигурацииИБ"
(80) Это вариант исключения, который прописан для старых конфигураций. Можно один из уже прописанных идентифокаторов поменять на идентификатор вашей конфигурации. К сожалению у меня нет конфигурации УТП для Украины 1.1.10.1, поэтому я не знаю какой идентификатор у неё.
В AutoBackUp (резервная копия).vbe для каждой выбранной базы данных:
1. Завершение работы пользователей
2. Выгрузка базы данных
3. Разрешение работы пользователей
4. Копирование выгрузки на дополнительное хранилище (если доступно)
Скачивать обработку можно в любое удобное время :)
Версия выложенная на infostart.ru обрабатывает конфигурации с идентификатором УправлениеТорговымПредприятиемДляУкраины как исключение из общих правил и устанавливает для них код разрешения /UCПакетноеОбновлениеКонфигурацииИБ
есть предприятие в Молдавии, которое работает на молдавской конфигурации. хотели настроить архивацию, но ничего не выходит. если хотите, то по этому адресу можете ее скачать. спасибо
http://www.nowa.cc/showthread.php?t=58133&page=3
(97) Это просто издевательство какое-то. Убил кучу времени на регистрацию и только для того, чтобы узнать, что скрытый текст недоступен. Так далеко меня давно не посылали :(