Автоматический бэкап средствами 1С, который обязательно сделается (без перезапуска сервера).

25.04.18

База данных - Архивирование (backup)

Обработка для формирования скрипта, который в SQL версии 1С блокирует базу и через 5 минут разрывает абсолютно все соединения с ИБ. Просто прописываем скрипт в планировщик и наслаждаемся свежим .dt файлом каждый день.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Формирование скрипта VBS (VBE) - управляемые формы - для 8.3
.epf 52,95Kb
135 2 500 руб. Купить
Формирование скрипта VBS (VBE) для 8.2
.epf 54,18Kb
274 2 500 руб. Купить
Формирование скрипта VBS (VBE) для 8.1
.epf 53,95Kb
226 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Обработка предназначена только для SQL версии 1С. Чтобы создать резервную копию средствами 1С нужно заблокировать базу и отрубить повисших пользователей через консоль... Но как быть если 200 пользователей не хотят на ночь выходить из базы? Ориентирована обработка на системных администраторов, которым нужно организовать ежедневное автоматическое создание резервной копии. В режиме "1С:Предприятие" она формирует файл vbs скрипта, который можно скомпилировать (чтобы не хранить пароли открытым текстом). Этот скрипт устанавливает блокировку ИБ, ждет 5 минут, после чего жестко отключает все соединения с ИБ. После завершения всех соединений (даже открытого конфигуратора), начинает с кодом доступа выгружать базу. Даже при возникновении ошибок (например появилось регламентное задание после разрыва всех содинений) база все равно будет выгружена.

Запуск скрипта необходимо настроить в планировщике заданий Windows, например на ночь.

Инструкция по установке
1. Скачать обработку с сайта и сохранить, например, на рабочий стол
2. Запустить в режиме "1С:Предприятие" базу данных для которой будет настроено архивирование
3. В 1С:Предприятии через меню "Файл" открыть файл с рабочего стола "Формирование скрипта VBS (VBE).epf"
4. Указать параметры скрипта и нажать кнопку "Сформировать"
5. Дождаться сообщения, об окончании настройки (Создается пользователь Робот для бэкапа с полными правами и 36 значным паролем - каждый раз новый, уникальный, никому неизвестный GUID)

Что делать, если при архивировании произошел сбой и блокировка не снялась?
1. Блокировка автоматически снимается через 1 час после запуска скрипта.

Что делать, если базу перенесли на другой сервер или переименовали?
1. Повторить действия, описанные в "Инструкции по установке"

 Важно: скрипт работает только если на сервере установлен компонент COMСоединение (по умолчанию не ставится). Чтобы проверить, заходим на сервере 1С в панель управления \ Установка удаление программ \ Сервер 1С Предприятие \ Изменить... Если нужно, добавляем COMСоединение.

Обработка сделана на основе //infostart.ru/public/19363/ и доработанного скрипта //infostart.ru/public/63813/

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS! Версия 1.4 от 28.05.2026

7320 руб.

06.11.2012    80379    635    45    

94

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    423    nedomolkov.ivan    10    

5

Архивирование (backup) Инструменты администратора БД Системный администратор Разработчик 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)

Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера

1 стартмани

21.01.2026    6493    66    war41k    0    

18

Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Разработчик Бесплатно (free)

Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).

15.12.2025    14173    nasonkin    19    

31

Архивирование (backup) Учет документов Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В текущих версиях 1С пока нет функции, позволяющей автоматически отмечать возврат оригиналов документов с помощью сканера штрих-кодов. Многие контрагенты часто сталкиваются с проблемой утери оригиналов УПД или их невозврата. В ответ на эти запросы было разработано расширение, которое упрощает контроль за возвратом оригиналов документов и помогает лучше организовать их хранение.

12200 руб.

19.02.2025    2938    3    0    

3

Архивирование (backup) Системный администратор 1С 8.3 Бесплатно (free)

Предлагаю Вашему вниманию 3 скрипта на bash (sh) для архивирования (backup) типовых конфигураций на Linux средствами 1С и Postgres. Перед запуском корректно заполните раздел "Параметры" в соответствии с Вашими настройками.

20.01.2025    5962    Prelude    5    

12

Архивирование (backup) 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

Резервные копии базы 1С без завершения сеансов: .dt, файл базы, PostgreSQL, MS SQL, своя команда. Расписание, профили, ротация, ZIP, FTP, журнал и письмо об ошибке. Платформа 8.3+ (кроме 8.2), любая конфигурация с БСП. Подключение за 5 минут.

5000 руб.

27.08.2024    4133    1    6    

2

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Разработчик 1С:Предприятие 8 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    10664    1CUnlimited    11    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Re:аниматор 337 17.02.10 03:49 Сейчас в теме
При скачивании пишется файл как "Установка"

з.ы. firefox
adminss; Argutator; ITEkb; +3 – Ответить
2. hopter 36 17.02.10 04:48 Сейчас в теме
А зачем делать бэкап средствами 1с, если можно сделать средствами sql-сервера?
В чем подвох?
cleaner_it; Virsy; JohnConnor; madonov; sCHTASS; vdenu; +6 – Ответить
3. a-novoselov 1161 17.02.10 08:28 Сейчас в теме
(2) Подвох в том, что .dt файл можно развернуть в любом другом сервере БД без проблем, хоть в файловом варианте. Архивы весят в 20 раз меньше, чем бэкап средствами SQL (хранить историю базы в SQL бэкапах никакого места не напасешься, темболее оно ценно на рэйд-массиве), также получается 100% гарантия целостности базы.
У нас бэкапы обоими средствами делаются одновременно (бекап средствами 1С и полный бэкап SQL выполняется примерно одинаковое количество времени), если на время SQL бэкапа база будет заблокирована, то SQL сервер будет только за :)
Lime_; Jenya78; olegka.ru; NeoeN; aids-ice; +5 – Ответить
4. hopter 36 17.02.10 08:57 Сейчас в теме
100. testmode 30 22.06.12 15:45 Сейчас в теме
(3) Мало весят это от того что они сжаты, никто не мешает тебе также сживмать SQL бакап, даже хоть и средствами Сервера
cleaner_it; +1 – Ответить
101. a-novoselov 1161 22.06.12 16:14 Сейчас в теме
(100) Все равно сжатый SQL-бэкап будет б'ольшим по объему, т.к. SQL кладет в бэкап также индексы таблиц, 1С в .dt индексы не кладет, а пересоздает их при разворачивании базы.
164. glog 14.09.17 17:53 Сейчас в теме
(3) Боюсь огорчить, но .dt не 100% гарантия. Был у меня случай, когда она отказалась разворачиваться из-за ошибки в платформе, она не переваривала некоторую последовательность символов в двоичных данных справочника "Вложения электронной почты". Тогда спас только SQL-бэкап. Потом эту конкретную ошибку поправили, но где гарантия, что новых не наделают? Банальность скажу, но надо бэкапы делать всеми возможными способами.
Semargl84; cleaner_it; Dementor; yazuzenko; suepifanov; +5 – Ответить
168. asved.ru 37 18.10.17 08:40 Сейчас в теме
(3) SQL-серверу глубоко пофиг, заблокирована ли база. Он бэкапит снапшот.
А dt - не бэкап, а транспортный формат. В общем случае гарантий его восстановимости 1С не дает, и это русским по белому написано в руководстве администратора.
cleaner_it; Dementor; necropunk; +3 – Ответить
5. jkzx 2 17.02.10 09:05 Сейчас в теме
-Архивы весят в 20 раз меньше, чем бэкап средствами SQL ...(2)
А вы не пробовали жать бэкап ? У меня жмется тем же раром и вес после этого сопоставим с .dt
Jimbo; madonov; Fuego; +3 – Ответить
6. a-novoselov 1161 17.02.10 09:27 Сейчас в теме
(5) Понятно, что можно сжимать. Но когда рабочий сервер MS SQL, тестовый PostgreSQL и каждому разработчику нужна еще локальная файловая копия, то без .dt файлов никак не обойтись.
misha-school; cleaner_it; +2 – Ответить
160. AlexO 136 22.07.17 15:34 Сейчас в теме
(6)
Но когда рабочий сервер MS SQL, тестовый PostgreSQL и каждому разработчику нужна еще локальная файловая копия, то без .dt файлов никак не обойтись.

DT-файлы - не надежный контейнер, база может и не восстановиться.
Да и сама 1С давно признала - DT-архивирование не может применяться в качестве основного бэкапирования.
cleaner_it; +1 – Ответить
161. slavikss 23.07.17 04:41 Сейчас в теме
(160) Новая для меня информация. В чем ненадежность? Где они такое признали, можно ссылочку?
162. a-novoselov 1161 24.07.17 10:59 Сейчас в теме
(161)
Если размер одной из таблиц превышает 4 ГБ (например хранилище файлов какое-нибудь), то вы не сможете сделать выгрузку в DT файл из-за ограничений внутреннего формата хранения файлов 1С. Так же при работе с очень большими таблицами наблюдаются падения платформы 1С при восстановлении с ошибкой "Недостаточно памяти".

(160)
Да, бэкап средствами SQL нужно настраивать в первую очередь. Средствами 1С только как дополнительный механизм. К счастью, оба бэкапа могут выполняться одновременно.
cleaner_it; +1 – Ответить
169. Semargl84 16 24.06.19 14:10 Сейчас в теме
(6)Соглашусь с предшественниками:
1. dt не гарантирует восстановление базы в другом месте
2. Размер практически одинаковый, если пользоваться сжатием
3. Скорость несравнима - в dt долговастенько
4. Базу в 150-200 гб вы будете бекапить в dt ооооочень долго, да с ограничениями по размеру файлов, да с ограничениями по размеру таблиц,д а с ограничениями по длине индексов.

Хотя по самой генерации скрипта вопросов нет.
7. gerxxa 83 17.02.10 10:13 Сейчас в теме
Спасибо! скачал, сформировал, создал задачу - седня в полночь сделается, утром проверю :)
9. a-novoselov 1161 17.02.10 11:04 Сейчас в теме
(7) Проверьте, стоит ли COMConnection на сервере.
8. alexchebanenko 17.02.10 10:48 Сейчас в теме
Еще бы такое под 7.7 :cry:
21. Abadonna 3979 22.02.10 16:19 Сейчас в теме
(8)
Еще бы такое под 7.7

http://infostart.ru/public/66153/
я чего-то в свое время снес её, сейчас опять положил, погляди.
95. a-novoselov 1161 08.06.12 19:12 Сейчас в теме
Кусок кода:
	|Sub SaveToLog(file,msg)
	|	Set FSO = CreateObject(""Scripting.FileSystemObject"")
	|	Set File = FSO.GetFile(file)
	|	Set TextStream = File.OpenAsTextStream(8) -------171 строка, не может файл записать
	|	TextStream.Write msg
	|	TextStream.Close
	|End Sub";
Показать


"dump_log.txt" найти не может. Создай файл с таким именем в папке, в которой скрипт выполняется(лежит).
10. bulpi 219 17.02.10 14:41 Сейчас в теме
1.Файл скачивается с расширением chm. Пришлось переименовать.
2.Насчет "разрывает абсолютно все соединения" это Вы погрячились. А зависшие фоновые задания?
12. a-novoselov 1161 17.02.10 15:06 Сейчас в теме
(10)
1. Это к Доржи лучше обратиться, выложено все нормально.
2. Все соединения на всех процессах, кроме COM гасятся, фоновые задания в том числе.
(11) Это чтобы кнопка очистки в элементе управления работала)
13. bulpi 219 17.02.10 16:20 Сейчас в теме
(12) "Это чтобы кнопка очистки в элементе управления работала"
Я не понял, это юмор такой , что-ли? Вы уберите эту фигню, а то кто-нибудь на 1с-говнокод запостит.
14. a-novoselov 1161 17.02.10 16:41 Сейчас в теме
(13) Да, действительно без этого работает. А в Си++ и в Дельфи не работало без кода...)) Изначально было:
Процедура ПутьАрхивовОчистка(Элемент, СтандартнаяОбработка)
ПутьАрхивов = "C:";
КонецПроцедуры
11. bulpi 219 17.02.10 15:01 Сейчас в теме
А это что еще за творчество :
Процедура ПутьАрхивовОчистка(Элемент, СтандартнаяОбработка)
ПутьАрхивов = "";
КонецПроцедуры


Это к чему ????????
15. sound 538 18.02.10 14:16 Сейчас в теме
Нормально, только надо было предупредить что оно юзера создает
16. alexk-is 6550 19.02.10 11:41 Сейчас в теме
17. sound 538 19.02.10 11:54 Сейчас в теме
(16) то есть чтобы понять, что там еще может произойти нужно пройтись по всем ссылкам? Да тут каждая четвертая обработка - часть другой, взятой тоже где-то тут :)
18. alexk-is 6550 19.02.10 12:09 Сейчас в теме
(0) Алексей, вот видишь. Говорил я тебе: "Поработай над описанием"... :)
a-novoselov; +1 – Ответить
19. aparinp 54 20.02.10 12:20 Сейчас в теме
А не полетят ли сохраненные настройки пользователей, которые обычно слетают, когда 1Ска закрывается не по воле юзера?
22. a-novoselov 1161 24.02.10 12:11 Сейчас в теме
(19) Большинство пользователей после установки блокировки успевают отключиться.
(20) Полностью переустановить сервер. Сперва снести, потом выбрать при установке этот компонент. Но что-то с трудом вериться, куда пункт изменить-то мог подеваться? Это помойму стандарт еще со всремен появления "Windows Installer".
24. aparinp 54 24.02.10 13:08 Сейчас в теме
(22) Бэкап и прочие "еженочные" процедуры проходят около 00:10. Много юзеров забывают отключать платформу(да, комп на ночь не выключают).
25. a-novoselov 1161 24.02.10 15:27 Сейчас в теме
(24) Предлагаете локально на каждый комп заходить и корректно 1С-ку тушить?)) У них будет сообщение, что соединение разорвано администратором.
(23) Да надо пользователю, из-под которого бэкап стартует, дать право выполнения DCOM операций при невыполненном входе в систему в служебной программе "Управление службами компонентов"
26. Garstag 80 24.02.10 17:43 Сейчас в теме
(25) А где бы подробней почитать, в каком конкретно месте мне надо устанавливать права локальному пользователю в "Component Services", а то там можно такого наворотить по незнанию...
:-)
27. a-novoselov 1161 25.02.10 17:23 Сейчас в теме
(26) В журнале событий Windows посмотрите ошибки по Distributed COM там конкретнее чуть пишется, или http://ru.wikipedia.org/wiki/Component_Object_Model там ссылки на MSDN есть.
28. Garstag 80 05.03.10 15:53 Сейчас в теме
(27) Нет никаких ошибок в журнале событий, а скрипт упорно виснет в момент создания v82.COMConnector
20. Legioner39 20.02.10 12:44 Сейчас в теме
Важно: скрипт работает только если на сервере установлен компонент COMСоединение (по умолчанию не ставится). Чтобы проверить, заходим на сервере 1С в панель управления \ Установка удаление программ \ Сервер 1С Предприятие \ Изменить... Если нужно, добавляем COMСоединение.

У меня нет такого пункта в изменить... как можно еще это настроить?
23. Garstag 80 24.02.10 12:55 Сейчас в теме
Поддерживаю насчет отсутствия СОМ-соединения в установочном меню. У меня версия платформы 8.2.10.73, похожий скрипт прекрасно отрабатывает интерактивно, но почему-то виснет в момент создания СОМ-соединения под шедулером, даже если у пользователя права Доменного Администратора.
Сервер - 2008 R2 х64. Если кто-то сталкивался с этим, подскажите, плиз, куда копать?
29. I_G_O_R 70 06.03.10 13:37 Сейчас в теме
Преимущество бэкапа средствами SQL - не надо выгонять пользователей. А если отключать всех пользователей, на хрена тогда парить сервер? обычным copy копируем файлы и архивируем если надо, развернуть будет тогда вооще быстро, т.к. разархивация несравнено быстрее архивации. А если база большая, можно на выходных делать полный бэкап а всю неделю(и даже в обед, если сильно надо) архивировать журнал транзакций. И вообще выгонять насильно(принудительно отключать) пользователей плохая идея, бывает потом глючит и нужно потом кэш на каждом компе очищать.
30. a-novoselov 1161 07.03.10 13:25 Сейчас в теме
(29) При бекапе средствами SQL, во-первых нельзя разверноуть базу в файловом варианте либо на другом SQL сервере (IBM, Postgres). Во-вторых замечен глюк при развозворачивании базы из SQL бэкапа теряются пользователи ИБ, т.е. справочник "Пользователи" полный, а список пользователей ИБ наполовину пустой. Хз как лечить...
(28) Не знаю, на 82 не тестировал, но на 81 глюк лечится добавлением пользователя, из под которого запускается скрипт (Администратор) в группу "Пользователи DCOM" и установкой COM-соединения на сервер.
31. Kiber_ 11.03.10 17:16 Сейчас в теме
Я вот чего не пойму...
Почему публикация называется "кторый обязательно сделается (без перезапуска сервера)"?...
Если допустим поднять com-соединение к базе, и "забыть" его закрыть, разве бэкап сделается?
Или если места на диске не хватило... Такое тоже ведь возможно, верно?

Если честно, думал здесь какой-то механизм повторных попыток бэкапа реализован...
Но идея со Scripts Encryptor'ом весьма достойна. Хоть какая-никакая, а защита пароля...
nikitosk; +1 – Ответить
32. a-novoselov 1161 12.03.10 06:48 Сейчас в теме
(31) Да, чот переборщил чуток сназваньем... Если метеорит в сервер попадет тоже бэкап врядли сделается... Здесь рассчет на то, что пользователи могут конфигуратор открыть и оставить на ночь, или окно с вводом пароля (когда блокировкой не викидывает, а соединение есть), а если программист COM-соединение забыл закрыть или админ за свободным местом на сервере не следит то это уже проблеммы другого уровня и бороться с такими проблемами эффективнее административными мерами а не программными.
33. privet2004444 15.03.10 21:04 Сейчас в теме
Спасибо большое :D Все прекрасно работает
34. a-novoselov 1161 16.03.10 10:33 Сейчас в теме
(33) А плюсануть, када все прекрасно? 8-)
35. privet2004444 17.03.10 09:52 Сейчас в теме
36. privet2004444 17.03.10 09:55 Сейчас в теме
еще бы раза три плюсанул, но не дает ... придется другим порекомендовать :D
37. 1vasia1 15 18.03.10 20:01 Сейчас в теме
Зачёт полный! :) Реально отрубает всех. Я долго маялся с этим, а тут готовое решение.
38. beregnov 20.09.10 22:06 Сейчас в теме
Большое спасибо! А как можно реализовать такоеже но с двумя серверами 1С Предприятия? 8.1 ИмяСервера, 8.2 ИмяСервера:1641. Буду очень признателен.
39. a-novoselov 1161 21.09.10 09:46 Сейчас в теме
(38) В каждой базе запустить обработку - для каждой базы будет свой скрипт vbs.
40. beregnov 21.09.10 14:28 Сейчас в теме
Нет не получается! Я думаю проблема в ИмяСервера:1641 (1641 - это порт!!!) это к томуже кластер 1С 8.2
51. a-novoselov 1161 25.11.11 16:19 Сейчас в теме
(40) Сделал отдельную обработку для 8.2
53. DanilovaOlga 01.12.11 10:39 Сейчас в теме
(51) А где эта обработка? Мне очень надо!!!
41. garaevilnur 4 07.12.10 08:32 Сейчас в теме
для 8.2 не работает. Если галку не компилировать не ставить выдает ошибку записи файла. win2008 sql2008
42. garaevilnur 4 07.12.10 09:34 Сейчас в теме
гоню...все супер работает!!! огромное спасибо!!! +
43. Fuego 463 17.12.10 23:13 Сейчас в теме
Я делаю резервирование средствами MS SQL каждый день: полная копия - ночью, и в рабочее время сохраняю цепочки журнала каждые 15 минут. И это конкретно работает. DT-шник мне нужен, чтобы загрузить "свежие" данные в локальные копии баз команды разработчиков. Но даже ради этого я не готов жертвовать стабильностью. Я делаю восстановление полной копии в "тестовую" базу, а из неё выгружаю dt-шник. А также стоит отметить, что это есть и тестовая версия на сервере. DT-шник нужен не каждый день, и насильное отключение пользователей от БД - тоже не дело. Тогда уж выключайте сервера на ночь, и пользователи приучатся завершать все открытые окна... В старых типовых конфах есть "выгонялка" - после доработки очень даже хорошо работает (на случай, когда нужна реструктуризация БД). А копии SQL в лёгкую сжимаются любым архиватором. У меня всё автоматизировано, и архивы 7zip хранятся за последние 3 месяца - постепенно удаляются. Правда, для такой автоматизации скрипты типа js и vbs не помогли - писал прогу на С++ (хотя, больше склонялся к с++ из-за удаления старых резервов в корзину). И ещё раз повторюсь - это конкретно работает, и без ущерба психики пользователей.
mickey.1cx; headMade; ГМВ; +3 – Ответить
44. Diversus 2343 17.12.10 23:19 Сейчас в теме
(43) в MS SQL 2008, кстати, появлиась возможность сжатия резервной копии, поэтому можно не делать архив 7z из бэкапа, а настроить, чтобы бэкап сжимался
45. iceflash 4 16.02.11 16:15 Сейчас в теме
(44) А в постгрес давно есть возможность изменения формата бэкапа, сжатия, или вообще перенаправление потока=)
46. iceflash 4 16.02.11 16:18 Сейчас в теме
Но собственно автор говорит просто о возможности более быстрого "обмена" бэкапами между разными СУБД, и это действительно удобнее, в данном случае.
47. Mishka_78 27.09.11 10:09 Сейчас в теме
Спасибо. Использую уже более полугода на 8.1 - все замечательно. +500
48. nikdn 18.10.11 11:51 Сейчас в теме
Спасибо, очень помогла в работе!
49. Bolik13 31.10.11 14:49 Сейчас в теме
Спасибо. Пригодилось.
50. Dethmond 13.11.11 11:30 Сейчас в теме
Давно искал подобное решение, спасибо огромное!
52. opiumdx 30.11.11 18:25 Сейчас в теме
Спасибо! Сейчас скачаю и проверю как отработает в ночное время) у нас в базе постоянно кто-то висит...
54. DanilovaOlga 01.12.11 11:10 Сейчас в теме
Извините, разобралась, не туда нажала...
117. rnv_ln 03.09.15 13:05 Сейчас в теме
Не удалось создать пользователя Робот для выгрузки информационной базы. {ВнешняяОбработка.ФормированиеCкриптаVBSДляSQL.МодульОбъекта(54)}: Значение не является значением объектного типа (Пустая)

Вот что выдает при попытке сформировать скрипт?! Чтобы это значило?
120. a-novoselov 1161 03.09.15 16:39 Сейчас в теме
(117) (118) Спасибо, поправил.

(119) Скрипт необходимо запускать на том же сервере, где расположен сервер 1С с установленной компонентой "COM-соединение", при запуске с других машин вряд ли получится корректно настроить права пользователей Windows.
55. DanilovaOlga 01.12.11 11:14 Сейчас в теме
Надеюсь она меня выручит .... Оооочень надо ...
56. DanilovaOlga 01.12.11 11:43 Сейчас в теме
Скачала теперь для 8.2, но увы... выдается окно:

Ошибка: descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=542
file=Scr\RemoteCreatorImpl.cpp
Код: 80004005
Источник: v82.COMConntctor.1

Помогите, прошу!
58. a-novoselov 1161 01.12.11 20:05 Сейчас в теме
(56) Скорее всего проблема с доступом к серверу, если Windows сервер 2008 или 2008 R2 то там сетевым (да и местным тоже) пользователям, по-умолчанию, запрещено использовать COM-соединение с процессами на сервере. Т.е. необходимо пользователю, под которым запускается скрипт, настроить права на работу с DCOM. Если пользователь сетевой, то дать права на RPC(remote procedure call - удаленный вызов процедур).

(57) Извлечь информацию из зашифрованного .vbe файла можно. Точнее при шифровании используется обфускация текста, алгоритм впринципе обратимый. Но сделать это может очень продвинутый человек, который еще сотней других способов, кроме расшифровки, сможет узнать ваш пароль, или вычистить его напрямую в базе данных... Защита кодированием от простых юзеров, которым хочется побаловаться под полными правами в базе данных.
59. DanilovaOlga 02.12.11 08:20 Сейчас в теме
(58)Благодарю за ответы. Я не сказала, но под 8.1 у меня работала обработка, пользовалась, потом платформу обновили, я обработку сама исправила под 8.2 и у меня такая же ошибка выходила, как и при использовании Вашей обработки. Да и права на сервере у меня полные ...
151. kozlovvp 9 06.07.16 09:14 Сейчас в теме
Не удалось создать пользователя Робот для выгрузки информационной базы. {ВнешняяОбработка.ФормированиеCкриптаVBSДляSQL.МодульОбъекта(56)}: Поле объекта недоступно для записи (Код)
M.Shalimov; +1 – Ответить
152. M.Shalimov 207 06.07.16 12:14 Сейчас в теме
(151) kozlovvp, 56-ю строку в модуле объекта закомментируйте.
(0) 1. Не проверки что длина кода для пользователя не "0".
2. Запись файлов происходит на сервере, у пользователя от имени которого работает сервер может не быть прав на каталог с бекапами и валятся ошибки.

Переписал обработку для сохранения файлов на клиенте, но платить 3sm за обработку, которую нужно допиливать напильником как-то не весело.
57. DanilovaOlga 01.12.11 14:35 Сейчас в теме
и ещё вопрос: а можно извлечь информацию из компилированного вашей обработкой файла .vbe, т.е. расшифровать её?
60. zzz_natali 61 09.12.11 08:58 Сейчас в теме
Fuego пишет:

Я делаю резервирование средствами MS SQL каждый день: полная копия - ночью, и в рабочее время сохраняю цепочки журнала каждые 15 минут.

А не проще ли Snapshot делать? Поднимать базу будете дольше, чем частота инкрементов(не по самому времени выполнения подъема бакапа, а разобраться, что к чему и с чего начать)
61. mcb60 13.12.11 19:06 Сейчас в теме
(60) zzz_natali,
Snapshot, насколько я знаю, автоматически не удаляется и при архивации 30 баз (под 2-мя конфигурациями) это не выход.
62. rainstars 28.12.11 11:21 Сейчас в теме
спасибо, работает
63. stark.temp 19.01.12 12:19 Сейчас в теме
Исправь ошибку в названии. А так статья хорошая, ставлю +
a-novoselov; +1 – Ответить
64. a-novoselov 1161 19.01.12 12:49 Сейчас в теме
(63) Ахаха статье 2 года, ты первый ошибку заметил...
65. lexeika 19.01.12 15:34 Сейчас в теме
Некоторые пользователи уже писали, что для SQL версии не нужно ничего придумывать. SQL Server имеет возможность делать бекапы и эта возможность намного луччше чем средства бекапа 1с. Полный бекап, дифференцированный,бекап лога позволяет Вам в случае возникновения проблем откатиться на нужное время (если например сделать бекап лога транзаций каждые 15 минут), то есть возможность откатиться на время кратное 15 минутам). ИМХО это намного лучше. При этом выгонять из базы никого не нужно.
user643327_infostart; +1 – Ответить
66. a-novoselov 1161 19.01.12 15:45 Сейчас в теме
(65) Гениально! А свежую файловую копию для разработки / тестирования из .bak файла развернете? или в Oracle / Posgres / IBM DB2 ?
68. lexeika 19.01.12 15:57 Сейчас в теме
(66) да запросто. имея копию в sql я согу создать тестовую базу sql и развернуть ее в бекап. Причем также за любое время (зависит от настроек бекапа).
или в Oracle / Posgres / IBM DB2 - вы это делаете постоянно в рабочее время по 10-20 раз в сутки? До сих пор считаю, что для SQL - лучше использовать бекапы средствами SQL. Если нужно сделать бекап средствами 1с, можете предупредить пользователей чтобы они вышли (можно почтой, можно используя обработки 1с), а можете отключить наглым образом все соединения через серверную консоль 1с. и все.
mickey.1cx; ГМВ; Valerich; +3 – Ответить
70. a-novoselov 1161 19.01.12 16:14 Сейчас в теме
(68) http://infostart.ru/public/65955/ моя же статья, как мы делаем.
67. a-novoselov 1161 19.01.12 15:50 Сейчас в теме
(65) Ни кто же не говорит, что средствами SQL бэкап делать не нужно. Даже наоборот, SQL бэкап необходимо делать в первую очередь, и как можно чаще diff и log...
69. lexeika 19.01.12 16:04 Сейчас в теме
(67) Ну я также про это и говорю.
71. zzz_natali 61 19.01.12 20:55 Сейчас в теме
(65) lexeika,
Хватит нести бред! Вы б еще бакапили каждые 5 минут!! Найдите мне контору со структурой бизнес-процессов, где обнаружение ЖОПЫ с базой определяется через пол-минуты после ее случения?
Я ВАС УМОЛЯЮ!!!
Да сисадмины/айтишники минимум час будут репу чесать и кормить манагеров/рукотделов/комдиров/гендиров просьбами подождать, прежде, чем въедут в тему(это, если их оперативно найдете в закоулках здания), где и что упало.
Еще столько же, в лучшем случае будут базу поднимать (столько же, потому, что советчиков набежит сразу с пол-дюжины).
Я не видела еще ни одного папика, кто держал бы резервный сервак(за несколько килобаксов) "под парами" где моментально поднималось бы зеркало(кластер) с рабочей базой.
Была одна контора, где фул-бакап делался в обед и вся челядь под роспись при приёме на работу во время ланча ничего в базе не делала(!).
ВСЁ!
Что-то происходит; форс-мажор какой - тупо поднимаем утреннюю/обеденную базу и перебиваем то, что профуфукано.
Да - некошерно, да - противно, да - сизифов труд, но... НО!
Понимаем, что у нас точка восстановления гарантированно вписывается в дальнейшую работу.
А если интенсивность работы такова, что "мама не горюй", то всё, что здесь тредится - детская песочница в соседнем дворе (ну Вы поняли: облака, дата-центры, файловер кластера и проч)
72. a-novoselov 1161 19.01.12 21:29 Сейчас в теме
(71) Каждые 15 минут это конечно жестко, тем более когда работа интенсивная, блокировки будут жуткие... Но вот в последних двух конторах, где я работал, разностный бэкап каждый час делался, и все довольны были.
74. zzz_natali 61 19.01.12 21:41 Сейчас в теме
(72)
Простите, уважаемый, кто был доволен?
Генеральный, у которого железо/софт падало каждую среду/пятницу, а отдел айти бодро рапортовал, что после 555го падения всё было восстановлено за 14,5 мин, что на 3,5% быстрее, чем в после 554го урона.
Есть такое понятие, как стоимость восстановления данных относительно к реальным (прогнозируемым и моральным потерям).
Мы так привыкли в России корчить из себя распальцашек, хотя не понимаем и 10% впитывания в эту тему(хранения, суппорта и восстановления данных), наивно убаюкивая себя прочей бытовухой. Давайте, наконец, наберемся смелости (это я ща ко всем) расписаться в нашей АВОСЬносьтьночности.
75. a-novoselov 1161 20.01.12 08:04 Сейчас в теме
(74) Да, и генеральный, и пользователи были довольны. Был такой случай: на предпоследнем месте работы купили новенький HP Blade, 6 серверов-лезвий 4х4 ядра (16 виртуальных), 32 ГБ памяти на каждом, и полка с двумя рейд массивами скоростным сас и обычным... Дак вот полка оказалась бракованной, и оборудование действительно валилось раз в 1-2 недели. Специалисты техподдержки HP полгода не могли разобраться в чем проблема, вызвали иностранного спеца, который определил, что полка битая (сказали что в россии это был единственный в своем роде случай). Но дело не в этом, собственно, а в том, что когда после первого падения (попробуйте на сервере SQL во время интенсивной работы жесткий диск выдернуть, увидите какие последствия будут - каждое 3е такое падение приводит к полной неработоспособности и невозможности никакими средствами восстановить базу, кроме поднятия из бэкапа), вобщем когда после первого падения база была восстановлена с потерей данных за сутки - начальство было очень не довольно, и не одна голова АйТишников тогда полетела, даже АйТи-директора уволили. А когда восстановление было с потерей данный за 30-60 минут максимум - все были довольны.
76. zzz_natali 61 20.01.12 08:12 Сейчас в теме
(75)
Ну, не знаю. Под моими словами тут любой бы подписался, что пол-года не надо ждать, когда приедет это $-голландский. Методом исключения этот массив мона было вычислить.
Впрочем, это уже риторика. Спасибо за дискуссию.
77. lexeika 20.01.12 09:11 Сейчас в теме
(71) zzz_natali, Научитесь изъяснять свои мысли вежливо. Это будет правильно при общении как в глаза, так и за глаза. Особенно при общении с незнакомыми Вам людьми. Мой пример (если например сделать бекап лога транзаций каждые 15 минут) - ЭТО ПРИМЕР! Это не руководство к действию. В связи с чем все то, что вы написали оставьте при себе и читайте внимательнее, то что написано и не делайте вывод по фразам, которые вы выдернули из контекста.
80. zzz_natali 61 20.01.12 11:05 Сейчас в теме
(77) lexeika, Ничего не ответила золотая рыбка...
(прекрасно знаю упёртость сисадминов/айтишников и мужчин в частности)

Считаю, что продолжать дискуссировать с Вами по данной концепции явно нецелесообразным.
Если Ваше самолюбие чем-то задето, то можете безвоздмездно (то есть, даром) принять мои извинения.
ЗЫ: остаюсь при своем мнении!
81. lexeika 20.01.12 11:12 Сейчас в теме
(80) zzz_natali, Разговор глухого с немым.
82. zzz_natali 61 20.01.12 11:29 Сейчас в теме
(81) lexeika,
преамбула:
Вот раз пошли слепой и одноглазый к девочкам. Дорога лесом, сквозь густой ельник. Одноглазый слепого на себе тащит. Вдруг одноглазый натыкается единственным глазом на сучок, громко восклицает: - Всё приехали! - Здравствуйте, девочки!
фабула:
постеснялись бы себе набирать кредитный статус сообщениями, не несущих смысловую нагрузку
73. a-novoselov 1161 19.01.12 21:38 Сейчас в теме
А если нужна копия базы которая на 15 минут отстает от рабочей базы, то тут конечно без второго Stand-By сервера не обойтись, который будет все транзакции с рабочей базы к себе тянуть... Но на 1С таких решений не встречалось (да и нет необходимости, т.к. при интенсивности работы 3-5 документов в час на пользователя, отставание на час вполне приемлемо), настраивал StandBy только на базах Oracle с 10 000 пользователей.
78. aids-ice 20.01.12 09:29 Сейчас в теме
OFF
1000 Скачиваний и я 1000-ый
user643327_infostart; +1 – Ответить
79. a-novoselov 1161 20.01.12 09:49 Сейчас в теме
83. lexeika 20.01.12 11:34 Сейчас в теме
Для администрации форума. Прошу удалить мои сообщения, адресованные zzz_natali с соответствующим удалением кредитного рейтинга. Это сообщение также можете удалить. Заранее благодарен.

p.s. Неспроста говорят, что "человек видит соринку в глазу у собеседника и не замечает бревна у себя"
84. Olfost 25.01.12 09:50 Сейчас в теме
а с Posgris SQL обработка работает?
85. a-novoselov 1161 25.01.12 09:58 Сейчас в теме
(84) *PostgreSQL правильно)
Да работает, с любым клиент-серверным вариантом работы, от типа СУБД не зависит.
86. BAPPKAH 01.02.12 23:18 Сейчас в теме
87. trunix 29.02.12 10:47 Сейчас в теме
Спасибо. Надо попробовать.
88. ГМВ 75 07.03.12 14:10 Сейчас в теме
Возможен еще такой метод: создать две копии рабочей базы и настроить обмен с одной из них. Копия может быть как в файловом варианте, так и в SQL, по вашим потребностям. Обмен вести через файлы, которые нужно хранить столько, на сколько шагов вы предполагаете необходимость отката. Обмен можно проводить как угодно часто, хоть каждые 5 мин. Таким образом, вы будете иметь всегда актуальную копию рабочей базы в вашем монопольном распоряжении. Для обеспечения отката служит вторая копия базы, которая отстает от первой на заданное вами количество шагов (см.выше). Если вы увидели, что вместо светлого будущего ваша база приехала совсем не туда, вы возвращаетесь ко второй копии и последовательно шагаете посредством файлов обмена до требуемой точки. При таком методе потери времени на откат большой базы будут минимальны.
89. dyh 4 25.04.12 09:27 Сейчас в теме
Попробовал скриптик, вроде работает. Раньше год примерно был выкл-вкл 1С сервер и заметных проблем от сих манипуляций не было.
PS База бух перепиленная, до 20ю онлайн.
90. a-novoselov 1161 25.04.12 09:38 Сейчас в теме
(89) После перезапуска кэш сервера чистится, и он первое время подтупливать начинает. Хотя перезапускать сервер тоже иногда надо, т.к. 1С-ка любит течь по памяти, и рабочие процессы могут необоснованно распухать по объему используемой памяти.
91. yavasilek 28.05.12 09:31 Сейчас в теме
то что надо. Теперь работает по уму
92. Alex Prikol 07.06.12 10:42 Сейчас в теме
Прочитал комменты. Ну чтож, кому нужна под рукой база в dt-формате - обработка ему в помощь.

Но архивировать средствами СУБД нужно обязательно!
По крайней мере базу вы всегда развернете через любое другое хранилище.
Более того, свежую копию можно организовать и только средствами скуля, не прибегая ни к каким дополнительным инструментам.
Просто подумайте, что вам нужно
93. yavasilek 08.06.12 18:19 Сейчас в теме
скрипт сформировал.
при запуске вылетает ошибка
скрипт зашифрован и не понятно как исправить ошибку
ТС помоги пожалуйста.
94. a-novoselov 1161 08.06.12 19:08 Сейчас в теме
(93) Сформируй файл скрипта заново. Возможно не может найти 1c8.exe или dump_log.txt
96. shuhard 08.06.12 20:25 Сейчас в теме
(0) у dt два главных минуса, которые делают использование его в качестве бэкапа бессмысленным:
- выгрузка в DT ни даёт ни какой гарантии обратной загрузки и именно поэтому 1С официально не считает dt бэкапом
- время выгрузки в dt в десятки раз больше, чем бэкап сиквела, про инкрементный бэкап и восстановление на момент времени и говорить не приходится
user643327_infostart; sh_max; +2 – Ответить
97. a-novoselov 1161 08.06.12 22:43 Сейчас в теме
(96) Это кто это и когда такое сказал, что "1С официально не считает dt бэкапом"??? первый раз такое слышу.
98. shuhard 09.06.12 07:38 Сейчас в теме
(97)
первый раз такое слышу

заметно,
иначе бы ты не стал публиковать в 100500 раз выгонялку из 1С и пропагандировать dt

а подписаться на ИТС настоятельно рекомендуем, там кроме статьи о вреде бэкапа в dt есть много чего полезного
99. a-novoselov 1161 09.06.12 10:00 Сейчас в теме
(98) Пруфлинк? На какой странице (в какой статье) такое написано?
102. пользователь 03.08.12 13:35
Сообщение было скрыто модератором.
...
103. SergeyGladyshev 28.11.12 11:49 Сейчас в теме
Очень полезная обработка, автору респект!
104. sergos3331 17 11.02.13 10:18 Сейчас в теме
Несомненно, хорошая и полезный скрипт бэкапа, а тоже самое под Db2 есть?
105. a-novoselov 1161 11.02.13 15:59 Сейчас в теме
(104) Скрипт должен работать под любой базой данных (кроме файловой), т.к. бэкап делается средствами 1С, а не средствами базы данных.
106. Inoiman 20.08.13 12:37 Сейчас в теме
При открытии в 1с 8.3, БП 3.0 открывается пустая форма, попробывал сделать всё как описанно здесь http://1c-md.com/stati/obychnoe-prilozhenie-1c.html не помогло, помогите пожалуйста.
107. a-novoselov 1161 20.08.13 19:00 Сейчас в теме
(106) Управляемая форма в обработке генерации скрипта не сделана.
Чтобы обычная форма в управляемом режиме открывались свойство конфигурации "Использовать обычные формы в управляемом режиме" должно быть включено. Еще нужно поставить режим запуска этой ИБ насильно "Толстый клиент" и тогда все заработает.
109. Mishka_78 06.01.14 23:53 Сейчас в теме
(107) Спасибо. Как раз подумывал данную обработку приспособить к управляемым формам.
108. BTRVODKA 10 15.09.13 04:41 Сейчас в теме
Спасибо автору за публикацию!
110. orkhan.huseynov 07.04.14 10:53 Сейчас в теме
Странно, что разработчики так и не включили данную возможность в стандартный функционал платформы.
111. a-novoselov 1161 07.04.14 11:20 Сейчас в теме
(110) Разработчики в клиент-серверном режиме работы рекомендуют делать бэкап средствами SQL, т.к. не могут гарантировать корректного восстановления архива из .dt файла при больших объемах базы. Точнее восстановление может упасть даже при очень большом объеме одной из таблиц.
112. Augustinas 30.06.15 12:37 Сейчас в теме
Подскажите пожалуйста работает этот бекапер на 1С 8.3 ?
113. a-novoselov 1161 30.06.15 17:37 Сейчас в теме
(112)
Добавил версию 8.3 на управляемой форме.
114. savostin.alex 43 16.07.15 12:57 Сейчас в теме
Доброе время суток, коллеги. Это к вопросу про размер копии базы, сделанной средствами SQL:

{ COMPRESSION | NO_COMPRESSION }
В SQL Server 2008 Enterprise и более поздних версиях указывает необходимость сжатия резервной копии, переопределяя значение уровня сервера по умолчанию.
При установке по умолчанию резервные копии не сжимаются. Это поведение можно изменить с помощью параметра конфигурации сервера сжатие резервной копии по умолчанию. Дополнительные сведения о просмотре текущего значения этого параметра см. в разделе Просмотр или изменение свойств сервера (SQL Server).
COMPRESSION
Явное включение сжатия резервных копий.
NO_COMPRESSION
Явное отключение сжатия резервной копии.
115. vovanguban 02.09.15 23:47 Сейчас в теме
Господа, что-то не понимаю

Формирование файлов скриптов по упрощенной схеме...
Определение пользователя базы данных...
Пользователь Робот найден для выгрузки информационной базы
Формирование скрипта...
Формирование скрипта завершено

А где он сам скрипт появиться должен?

------------------------------------

Пардон, в 8.3 запускал обработку 8.2
a-novoselov; +1 – Ответить
116. a-novoselov 1161 03.09.15 09:53 Сейчас в теме
(115)
Добрый день.
Да, похоже 8.2 обработка под 8.3 не всегда правильно обрабатывает путь файлов. Надо скачать платформу 8.2, поправить обработку.
Спасибо за обратную связь.
118. rnv_ln 03.09.15 13:16 Сейчас в теме
Измени в обработке для 8.3 в модуле объекта, Функция СоздатьПользователя(Имя, Пароль) со строки 53:

С
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(Имя);
Если ТекущийПользователь.Пустая() Тогда
ТекущийПользователь = Справочники.Пользователи.СоздатьЭлемент();
ТекущийПользователь.Код = Имя;
ТекущийПользователь.Наименование = Имя;
ТекущийПользователь.Записать();
КонецЕсли;
На
ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(Имя);
ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(Имя);
Если ТекущийПользователь.Пустая() Тогда
ТекущийПользователь = Справочники.Пользователи.СоздатьЭлемент();
//ТекущийПользователь.Код = Имя;
ТекущийПользователь.Наименование = Имя;
ТекущийПользователь.Записать();
КонецЕсли;

А то пользователь не создается.
a-novoselov; +1 – Ответить
119. rnv_ln 03.09.15 15:11 Сейчас в теме
У меня скрипт не работает, причем на двух разных машинах пробовал, выдает
ошибку:800a01ad
невозможно создание объекта контейнером activex v83.comconnector
121. rnv_ln 03.09.15 21:44 Сейчас в теме
у меня в установке нет данной компоненты! Где её взять-то?

122. a-novoselov 1161 04.09.15 10:10 Сейчас в теме
(121)
В описании обработки:
Важно: скрипт работает только если на сервере установлен компонент COM-Соединение (по умолчанию не ставится). Чтобы проверить, заходим на сервере 1С в панель управления \ Установка удаление программ \ Сервер 1С Предприятие \ Изменить... Если нужно, добавляем COM-Соединение.
123. rnv_ln 08.09.15 12:08 Сейчас в теме
Нет такого там! Скриншот прилагается. Тыкните пальцем, где вы это нашли?!
Прикрепленные файлы:
124. a-novoselov 1161 08.09.15 15:35 Сейчас в теме
(123)
Тогда вручную
regsvr32 "C:\Program Files (x86)\1cv8\N_ver\bin\comcntr.dll"
125. rnv_ln 08.09.15 15:50 Сейчас в теме
Так я уже делал, все равно выдает ошибку, смотри в приложении
Прикрепленные файлы:
126. a-novoselov 1161 08.09.15 19:48 Сейчас в теме
(125)
Попробуй права на работу с COM-объектами в Windows проверить или запустить от имени Администратора.
127. rnv_ln 09.09.15 11:17 Сейчас в теме
Права на DCOM есть, пользователь один Администратор. Та же петрушка.
128. a-novoselov 1161 10.09.15 11:14 Сейчас в теме
(127)
В Windows 7 и старше даже у администратора по умолчанию не полные права и запускать с полными правами нужно правым кликом мыши, пункт "Запустить от имени Администратора". Так же посмотрите как создать класс DCOM 1C тут:
http://infostart.ru/public/276794/

Или сделайте так:
1. Заходим в Панель управления - Администрирование - Службы компонентов.
2. Переходим к ветке Компьютеры - Мой компьютер - Приложения COM+.
3. В контекстном меню выбираем Создать - Приложение. Откроется Мастер установки приложений COM+.
4. Нажимаем "Далее".
5. Выбираем "Создать новое приложение".
6. Вводим имя "V83COMConnector". Устанавливаем переключатель "Серверное приложение". Нажимаем "Далее".
7. На следующем шаге устанавливаем "Текущий пользователь". Нажимаем "Далее".
8. Нажимаем "Готово".
9. В появившейся ветке V83COMConnector переходим к подветке Компоненты.
10. В контекстном меню выбираем Создать - Компонент. Откроется Мастер установки компонентов COM+.
11. Нажимаем "Далее".
12. Выбираем "Установка новых компонентов".
13. Выбираем файл <каталог 1С>\bin\comcntr.dll.
14. Нажимаем "Далее" - "Готово".
15. Переходим к ветке V83COMConnector.
16. В контекстном меню выбираем "Свойства". В открывшемся окне переходим на вкладку «Безопасность».
17. Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку "Применить политику программных ограничений". Устанавливаем Уровень ограничений - "Неограниченный".
18. Нажимаем "ОК".

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.
129. rnv_ln 11.09.15 16:28 Сейчас в теме
Теперь по другому ругается!
Прикрепленные файлы:
130. Jenya78 17.09.15 21:58 Сейчас в теме
Большое спасибо!
Архив SQL бывает может и не подняться...
131. ketr 156 25.09.15 12:20 Сейчас в теме
спасибо! Качнул, COM соединение установил, поставил задачу в шедуллер. В понедельник посмотрим, как отработает
132. ketr 156 28.09.15 08:51 Сейчас в теме
Чет ничего не отработало... В планировщике вот такая инфа в журнале:
27.09.2015 2:00:00 Обработка созданной задачи
27.09.2015 2:00:00 Задача запущена
27.09.2015 2:00:00 Действие запущено
28.09.2015 2:00:00 Запрос на запуск проигнорирован, экземпляр уже выполняется.

В логе (dump_log.txt) только одна строка:
BEGIN 27.09.2015 2:00:00
133. ketr 156 28.09.15 12:16 Сейчас в теме
Запустил сам скрипт - пишет ошибку:
Строка: 61
Символ: 3
Ошибка: Информационная база не зарегистрирована
Код: 80004005
Источник: (null)
134. ketr 156 28.09.15 12:33 Сейчас в теме
Может это из-за того, что у меня 2 кластера? Но эта база на основном кластере (порт 1541)
135. ketr 156 28.09.15 13:41 Сейчас в теме
Блин, точно, это из-за того, что 2 кластера!! Он пытается на кластере 1542 найти базу, которая расположена на кластере 1541 ! Как решить эту проблему? Что дописать / изменить в скрипте?
136. ketr 156 28.09.15 14:19 Сейчас в теме
Судя по всему нужно править строку
Set Cluster = AgentConnection.GetClusters()(0) только не пойму как?
137. a-novoselov 1161 28.09.15 17:52 Сейчас в теме
(136)
а) Самое простое поставить AgentConnection.GetClusters()(0) на AgentConnection.GetClusters()(1)
б) Добавить в скрипт обход массива кластеров после AgentConnection.GetClusters() и выбор нужного, например, по порту или имени. Но я уже вряд ли подскажу как это сделать и тем более отладить. Насколько я помню Notepad++ поддерживает работу с vbScript.
138. ketr 156 29.09.15 09:07 Сейчас в теме
(137)
Вариант А) работает! Спасибо
139. 1_C 18.12.15 16:07 Сейчас в теме
Добрый день. Тестирую обработку на тестовой базе, соединился с нескольких рабочих станций. Создал скрипт, запустил через шедулер. Приложения на рабочих станциях отвалились, но соединения в Консоли кластера остались, и не давали начать архивацию:
Активные сеансы и соединения:
компьютер: 1, пользователь: Администратор, сеанс: 7, начат: 18.12.2015 в 16:50:53, приложение: Тонкий клиент;
компьютер: 2, пользователь: Администратор, сеанс: 11, начат: 18.12.2015 в 16:55:43, приложение: Тонкий клиент
Ошибка исключительной блокировки информационной базы.
И так много раз.
Пока руками не удалил соединения, архивация не пошла. Но для ночного архивирования это не айс. Куда копать, подскажите. Или я поторопился, сеансы сами должны были отвалиться через какое-то время?
140. a-novoselov 1161 22.12.15 18:32 Сейчас в теме
(139)
Да, сеансы по блокировке должны через 5 минут отвалиться. Если этого не происходит, то нужно попробовать руками увеличить время ожидания (sleep) в скрипте после установки блокировки.
141. oops! 20.04.16 04:53 Сейчас в теме
Вариант для управляемого приложения. Платформа 8.3.7.2027. База - Бухгалтерия Предприятия 3.0, V83COMConnector зарегистрирован.
Для отладки пока гоняю нескомпилированный vbs-скрипт.
1. Были проблемы с созданием пользователя "Робот" - код пришлось подправить, но и этого оказалось недостаточно.
Похоже, что для управления свойствами информационной базы в кластере пользователя с набором прав "Полные права" недостаточно,
видимо всё же нужен пользователь с набором прав "Администратор системы".
2. Теперь WScript затыкается на строке 113 символ 2 с описанием ошибки "Невозможно найти указанный файл".
В 113-ой строке выполняется запуск 1cv8.exe с параметрами. Содержимое переменной "one1CPath" корректное.
Пока не могу понять куда копать.
Буду благодарен за помощь.
Прикрепленные файлы:
142. a-novoselov 1161 20.04.16 09:37 Сейчас в теме
(141) Добрый день.
Пробовали скрипт от имени администратора запустить? та же ошибка?
143. oops! 20.04.16 14:52 Сейчас в теме
(142)
да, ошибка та же - создал cmd-скрипт со ком. строкой "wscript.exe BackUp_bp_mega.vbs" и запустил в контексте от имени администратора.
Ругается на эту строку внутри цикла "делать, пока не создастся"
WshShell.Run one1CPath & " " & Paramters & " /UC""" & LockPermissionCode & """ " & LogPath & " " & BackupPath, 0, True

в переменной one1CPath при этом
one1CPath = """C:\Program Files\1cv8\8.3.7.2027\bin\1cv8.exe"""
144. oops! 20.04.16 15:05 Сейчас в теме
143 +
забыл сказать - ОС Windows 7 SP1 x64 Ultimate, UAC отключен;
сервер 1С:Предприятие - версия для x64;
версия SQL-сервера, думаю, не важна, - на всякий случай - MS SQL Server 2008 R2 x64 Developer Edition.

После выполнения скрипта блокировка начала сеансов на сервере включена,
блокировка регламентных заданий выключена (псиса не установлена).
145. oops! 20.04.16 15:27 Сейчас в теме
143++
хе-хе, и всё-таки one1CPath была определена не верно! Должно быть для x64 ОС:
one1CPath = """C:\Program Files (x86)\1cv8\8.3.7.2027\bin\1cv8.exe"""

как я это сразу не заметил - ума не приложу! Старею, однако :)
Скрипт заработал!
a-novoselov; +1 – Ответить
146. oops! 20.04.16 15:42 Сейчас в теме
143+++ Функция языка "КаталогПрограммы()" на x64 ОС отрабатывает не верно - надо писать в техподдержку!
150. asved.ru 37 14.05.16 13:46 Сейчас в теме
(146) oops!, а нефиг получать каталог программы на сервере, если оперировать им собираетесь на клиенте. Учите матчасть.
147. oops! 20.04.16 16:09 Сейчас в теме
В общем, вместо "КаталогПрограммы()" пока, в качестве обхода, можно через реестр ОС получать путь к модулю COM объекта v8*.application. Вот пример кода (автор Старых Сергей, 2iS IT):
ПутьКИсполняемомуФайлу = "";
    РеестрОС = ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\" + ИмяСервера + "\root\default:StdRegProv");
    Если Не ЗначениеЗаполнено(ВерсияПлатформы) Тогда
        СистемнаяИнформация = Новый СистемнаяИнформация;
        ПолнаяВерсияПриложения = СистемнаяИнформация.ВерсияПриложения;
        МассивФрагментов = ОбщийИис.РазбитьСтрокуРазделителемИис(ПолнаяВерсияПриложения);
        ВерсияПлатформы = Справочники.ВерсииПлатформИис["_" + МассивФрагментов[0] + МассивФрагментов[1]];
    КонецЕсли;
    Если ВерсияПлатформы = Справочники.ВерсииПлатформИис._81 Тогда
        КлючCOMСервера = "\Classes\CLSID\{71CF7C7C-964B-49F1-A507-F1618AF0A7ED}\InprocServer32";
    ИначеЕсли ВерсияПлатформы = Справочники.ВерсииПлатформИис._82 Тогда
        КлючCOMСервера = "\Classes\CLSID\{5CD98F13-1050-4b43-84F2-33AD97CFC287}\LocalServer32";
    ИначеЕсли ВерсияПлатформы = Справочники.ВерсииПлатформИис._83 Тогда
        КлючCOMСервера = "\Classes\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32";
    КонецЕсли;
    ПутьКИсполняемомуФайлу = Null;
    Если ПутьКИсполняемомуФайлу = Null Тогда
        //x86 ОС
        РеестрОС.GetStringValue(, "SOFTWARE" + КлючCOMСервера, "", ПутьКИсполняемомуФайлу);
    КонецЕсли;
    Если ПутьКИсполняемомуФайлу = Null Тогда
        //x64 ОС
        РеестрОС.GetStringValue(, "SOFTWARE\Wow6432Node" + КлючCOMСервера, "", ПутьКИсполняемомуФайлу);
    КонецЕсли;
    Если ПутьКИсполняемомуФайлу = Null Тогда
        ОписаниеОшибки = "Не удалось определить путь к исполняемому файлу клиента на сервере " + ИмяСервера;
        ВызватьИсключение ОписаниеОшибки;
    КонецЕсли;
    Результат = ПутьКИсполняемомуФайлу;
Показать
a-novoselov; +1 – Ответить
148. oops! 20.04.16 20:11 Сейчас в теме
Окончательно добавляем в обработку такую функцию:
// Поучает путь к клиентскому приложению 1cv8.exe
Функция ПолучитьИмяИсполняемогоФайла()
	
	ПутьКИсполняемомуФайлу = "";
	РеестрОС = ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv");
	
	СистемнаяИнформация = Новый СистемнаяИнформация;
	ВерсияПлатформы = Лев(СистемнаяИнформация.ВерсияПриложения,3);
	
	Если ВерсияПлатформы = "8.1" Тогда
		КлючCOMСервера = "\Classes\CLSID\{71CF7C7C-964B-49F1-A507-F1618AF0A7ED}\InprocServer32";
	ИначеЕсли ВерсияПлатформы = "8.2" Тогда
		КлючCOMСервера = "\Classes\CLSID\{5CD98F13-1050-4b43-84F2-33AD97CFC287}\LocalServer32";
	ИначеЕсли ВерсияПлатформы = "8.3" Тогда
		КлючCOMСервера = "\Classes\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32";
	КонецЕсли;
	
	ПутьКИсполняемомуФайлу = Null;
	
	Если ПутьКИсполняемомуФайлу = Null Тогда
		//x86 ОС
		РеестрОС.GetStringValue(, "SOFTWARE" + КлючCOMСервера, "", ПутьКИсполняемомуФайлу);
	КонецЕсли;
	Если ПутьКИсполняемомуФайлу = Null Тогда
		//x64 ОС
		РеестрОС.GetStringValue(, "SOFTWARE\Wow6432Node" + КлючCOMСервера, "", ПутьКИсполняемомуФайлу);
	КонецЕсли;
	Если ПутьКИсполняемомуФайлу = Null Тогда
		ОписаниеОшибки = "Не удалось определить путь к исполняемому файлу клиента на сервере " + ИмяКомпьютера();
		ВызватьИсключение ОписаниеОшибки;
	КонецЕсли;
	Результат = ПутьКИсполняемомуФайлу;
	Возврат Результат;
	
КонецФункции
Показать


И переписываем строку получения пути к исполняемому файлу, вместо
ИмяИсполняемогоФайла = ПолучитьИмяФайла(КаталогПрограммы(), "1cv8.exe");

добавляем
ИмяИсполняемогоФайла = ПолучитьИмяИсполняемогоФайла();


В этом случае у нас всегда будет определён путь именно к клиентскому приложению.
Функция глобального контекста КаталогПрограммы() определяет место расположения запущенного приложения rphost.exe, и, в нашем случае, никуда не годится!
149. oops! 20.04.16 21:37 Сейчас в теме
с учетом необходимости под платформой 8.3 пользователя с ролью "АдминистраторСистемы" функцию "СоздатьПользователя()" переписываем так:
// Создание пользователя
//
Функция СоздатьПользователя(Имя, Пароль)
	
	УстановитьИнтерфейс = Истина;
	УстановитьРоль = Истина;
	
	Если Метаданные.Интерфейсы.Количество() = 0 Тогда
		УстановитьИнтерфейс = Ложь;
	ИначеЕсли Метаданные.Интерфейсы.Найти("Общий") <> Неопределено Тогда
		ВыбранныйИнтерфейс = Метаданные.Интерфейсы.Общий;
	Иначе
		ВыбранныйИнтерфейс = Метаданные.Интерфейсы[0];
	КонецЕсли;
	
	// Проверка на ограничения шаблона
	НайденнаяРоль = Неопределено;
	Если Метаданные.Роли.Количество() = 0 Тогда
		УстановитьРоль = Ложь;
	ИначеЕсли НЕ (Метаданные.Роли.Найти("АдминистраторСистемы") = Неопределено) Тогда
		НайденнаяРоль = Метаданные.Роли.Найти("АдминистраторСистемы");
	ИначеЕсли НЕ (Метаданные.Роли.Найти("ПолныеПрава") = Неопределено) Тогда
		НайденнаяРоль = Метаданные.Роли.Найти("ПолныеПрава");
	Иначе
		Сообщить("Нет возможности создать пользователя """ + Имя + """. В конфигурации отсутствует требуемая роль");
		Возврат Ложь;
	КонецЕсли;
	
	Попытка
		ПользовательНайден = Ложь;
		ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(Имя);
		Если ПользовательИБ = Неопределено Тогда
			ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
		Иначе
			ПользовательНайден = Истина;
		КонецЕсли;
		ПользовательИБ.АутентификацияОС 		 = Ложь;
		ПользовательИБ.АутентификацияСтандартная = Истина;
		ПользовательИБ.Имя 					     = Имя;
		ПользовательИБ.ПолноеИмя			     = Имя;
		ПользовательИБ.Пароль 				     = Пароль;
		ПользовательИБ.ЗапрещеноИзменятьПароль   = Истина;
		ПользовательИБ.ПоказыватьВСпискеВыбора   = Ложь;
		Если УстановитьИнтерфейс Тогда
			ПользовательИБ.ОсновнойИнтерфейс	 = ВыбранныйИнтерфейс;
		КонецЕсли;
		Если УстановитьРоль Тогда
			ПользовательИБ.Роли.Очистить();
			ПользовательИБ.Роли.Добавить(НайденнаяРоль);      
			//ПользовательИБ.Роли.Добавить(Метаданные.Роли.ПолныеПрава);      
		КонецЕсли;
		ПользовательИБ.Записать();
		
		Если Метаданные.Справочники.Найти("Пользователи") <> Неопределено Тогда
			ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(Имя);
			Если Не ЗначениеЗаполнено(ТекущийПользователь) Тогда
				ТекущийПользователь = Справочники.Пользователи.СоздатьЭлемент();
				//ТекущийПользователь.Код = Имя;
				ТекущийПользователь.Наименование = Имя;
				ТекущийПользователь.Записать();
			КонецЕсли;
			
			Попытка
				// отключаем вывод панели функций при запуске программы, потому как права полные
				Движение = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи();
				Движение.Пользователь = ТекущийПользователь.Ссылка;
				Движение.Настройка 	  = ПланыВидовХарактеристик.НастройкиПользователей.ОткрыватьПриЗапускеПанельФункций;
				Движение.Значение	  = Ложь;
				Движение.Записать();
			Исключение
			КонецПопытки;
			
			Попытка
				// включаем учет по всем организациям, чтобы избежать ошибок при запуске
				Движение = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи();
				Движение.Пользователь = ТекущийПользователь.Ссылка;
				Движение.Настройка 	  = ПланыВидовХарактеристик.НастройкиПользователей.УчетПоВсемОрганизациям;
				Движение.Значение	  = Истина;
				Движение.Записать();
			Исключение
			КонецПопытки;
		КонецЕсли;
		
		Если ПользовательНайден Тогда
			Сообщить("Пользователь " + Имя + " найден для выгрузки информационной базы");
		Иначе
			Сообщить("Создан пользователь " + Имя + " для выгрузки информационной базы");
		КонецЕсли;
		
		Возврат Истина;
		
	Исключение
		Сообщить("Не удалось создать пользователя " + Имя + " для выгрузки информационной базы. " + ОписаниеОшибки());
		
		Возврат Ложь;
	КонецПопытки;
	
КонецФункции
Показать
a-novoselov; +1 – Ответить
156. a-novoselov 1161 21.12.16 12:50 Сейчас в теме
(149)
(152)
Исправил все ошибки. Теперь файл формируется корректно на клиенте. Пользователь создается с ролью "Администратор системы", проверяется длина кода.

(155)
Попробуйте скачать новую версию обработки. Скорее всего у вас проблема в том, что изначально файл формировался на сервере.
M.Shalimov; +1 – Ответить
157. dm68 21.12.16 13:23 Сейчас в теме
(156) Потратив еще 3sm скачал новую версию обработки для 8.2 на выходе получаю тот же результат.Только файл dump_log.txt
158. a-novoselov 1161 21.12.16 14:08 Сейчас в теме
(157)
Так я сегодня обновил только версию для 8.3. За повторное ее скачивание $m не должны сниматься.
Скажите свою почту в личку, я вам вышлю последнюю версию.
159. a-novoselov 1161 21.12.16 16:57 Сейчас в теме
(157) Для 8.2 тоже исправил обработку, но она работает только в обычном режиме (не управляемый). Для работы с управляемым приложением можно использовать обработку для 8.3.
153. dm68 21.12.16 08:08 Сейчас в теме
Подскажите, а где находится сам скрипт после формирования? Так и не смог его найти.
154. a-novoselov 1161 21.12.16 11:52 Сейчас в теме
(153)
Скрипт формируется в корне папки, которую вы указали в первом параметре обработки "Путь хранения архивов"
155. dm68 21.12.16 12:01 Сейчас в теме
(154) Кроме файла dump_log.txt там ничего больше не появляется.
Служебные сообщения:
Формирование файлов скриптов по упрощенной схеме...
Определение пользователя базы данных...
Пользователь Робот найден для выгрузки информационной базы
Формирование скрипта...
Формирование скрипта завершено

163. host_kms 125 14.09.17 17:01 Сейчас в теме
Не срабатывает, вот что пишет, куда копать?
Прикрепленные файлы:
165. a-novoselov 1161 14.09.17 22:39 Сейчас в теме
(163)
Добрый день, Илья.
Попробуйте сохранить скрипт без галочки "Скомпилировать файл", расширение должно получиться .vbs и посмотрите, в какой строке возникает ошибка. Возможно путь до платформы 1С определился не правильно или нет доступа через COM к серверу с локальной машины. На какой строке возникает ошибка в нескомпилированном файле?
166. a-novoselov 1161 15.09.17 13:08 Сейчас в теме
(163)
Посмотрел в коде, ошибка возникает в строке AgentConnection.GetClusters(), т.е. скрипту не удается получить доступ к кластеру серверов через COM. Скорее доступ на сервере закрыт или у пользователя недостаточно прав.
170. user1095540 22.07.21 09:27 Сейчас в теме
Под Администратором выбрасывает сообщение "Запуск программы невозможен, так как на компьютере отсутствует nghttp2/dll. Попробуйте переустановить программу " Что делать?????
171. ketr 156 22.07.21 10:22 Сейчас в теме
(170)
nghttp2/dll

сколько раз ставил на разные машины - не встречал такую ошибку.
Попробуйте воспользоваться инструкцией https://www.exefiles.com/ru/dll/nghttp2-dll/
a-novoselov; +1 – Ответить
173. user1095540 22.07.21 10:30 Сейчас в теме
175. user1095540 23.07.21 14:06 Сейчас в теме
(173) Получилось путем копирования nghttp2.dll в папку Windows\system
a-novoselov; +1 – Ответить
172. user1095540 22.07.21 10:30 Сейчас в теме
Ошибка при подключении обработки:

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

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

Бухгалтерия предприятия, редакция 3.0 (3.0.97.26) (http://v8.1c.ru/buhv8/)
1С:Предприятие 8.3 (8.3.18.1483)
174. user1095540 22.07.21 10:36 Сейчас в теме
Невозможно подключить дополнительную обработку из файла.
Возможно, она не подходит для этой версии программы.

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


1С:Предприятие 8.3 (8.3.18.1483)
Бухгалтерия предприятия, редакция 3.0 (3.0.97.26)
176. a-novoselov 1161 10.12.21 12:54 Сейчас в теме
(174)

В общем такое дело, я с 1С давно не работаю, доступа к типовым и платформе нет (убрали метод СведенияОВнешнейОбработке в СтандартныеПодсистемы или как-то так), если сможешь поправить, можешь сам опубликовать на Инфостарте, я ссылку в публикацию добавлю.
177. jiltsovs 18.11.23 23:56 Сейчас в теме
Данный скрипт IMHO устарел. Не рекомендую его применять.
Предлагаю пользоваться утилитой ibcmd для выгрузки базы на сервере:
"C:\Program Files\1cv8\xxxx\bin\ibcmd.exe" infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=BASENAME --db-user=SQLUSER --db-pwd=SQLUSER_PASSWORD E:\BACK_UP\%YMD%\BASENAME.dt
Для отправки сообщения требуется регистрация/авторизация