Автоматическая архивация баз данных 1С 8.2, 8.1 и 7.7




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. lumb

    Точно с SQL версиями 8.1 не работает? 😉

    Reply
  2. roskmv

    В описании было написано только с файловыми версиями. Сам не проверял!

    Reply
  3. alexk-is

    (2) Что означает «было написано» и «Сам не проверял»?

    Чья это разработка?

    Reply
  4. roskmv

    Точно уже не помню. Я же писал: «Скрипт найден в Интернете и доработан для себя.» У меня файловая версия базы 1С. Поэтому «Сам не проверял» для SQL версий.

    Reply
  5. ValeriTim

    (4) т.е. ты не разбирался и не понимаешь принципа ее работы … ?

    Reply
  6. roskmv

    Если бы не понимал принципа работы скрипта, то как бы тогда дорабатывал?

    Всего навсего — никогда не работал с SQL, поэтому не знаю ИХ принципа работы… 🙁

    Reply
  7. migulia

    у меня выдает сообщение об ошибке

    Переменная «DeleteTextFile» не определена

    что сделать (с криптами не работал)?

    заремил но хочется чтобы работало

    Reply
  8. asterlana

    Замечательно архивируется! 🙂

    Reply
  9. roskmv

    Спасибо!

    Для migulia отвечаю.

    Посмотрел свой скрипт и прошу прощения за неточность. В скрипте в двух позициях «DeleteTextFile» замени на «DeleteFile».

    Reply
  10. alexander_prok

    Замечательная штучка

    Reply
  11. Рамзес

    В имя файла дата не пишется?

    Reply
  12. sashocq

    Однозначно «+». Только дорабатывать, конечно, надо. Например, хотелось бы, чтобы старые базы не удалял все, а оставлял хотя бы одну на каждый месяц.

    Жаль, что на этом кривом vbs, а не на человеческом js 🙁

    Reply
  13. roskmv

    У меня имя файла с датой, все нормально. Поясни какую версию архивируешь? 8 или 7.7

    Reply
  14. roskmv

    На счет дорабатывать, так ты угадал мой следующий шаг. В ближайшее время этим и займусь 😉

    Reply
  15. NoMax

    Гм…

    А зачем создавать bat файл для запуска vbs?

    Все и так прекрасно запускается в планировщике.

    Reply
  16. alexk-is

    Вот здесь есть ссылки на публикации аналогичной направленности http://www.infostart.ru/public/19363/

    Reply
  17. roskmv

    На счет bat файла согласен.

    Мне же он нужен был только для того, чтобы в процессе архивации отображалось окно с предупреждением!

    Reply
  18. roskmv

    Согласен, аналогичных публикаций много.

    Всем спасибо за плюсики!!!

    В ближайшее время выложу обновленную версию ! 💡

    Reply
  19. CaSH_2004

    Давно работаю в этом направлении, сделал подобное на bat теперь вот тоже написал на vb (насчет js — незнаю какие у него реальные преимущества?)

    и сразу думаю нужен список баз организовать хранение в ini файле как для нормальной проги

    готов подключится к работе для создания нормального многопрофильного скрипта

    у меня даже есть реализация на vb механизма выгрузки через конфигуратор для SQL баз где обычное копирование не пройдет

    А ВООБЩЕ ХОРОШИЙ ПРИМЕР КОДА И ВОЗМОЖНОСТЕЙ VB

    я все это по крупицам собирал и тестировал

    Так что вперед автор, делай новые версии, пиши на zerbo-2001@yandex.ru если что то нужно — реализуем вместе, можно потом и документацию небольшую сваять

    Reply
  20. CaSH_2004

    поправка zerno-2001@yandex.ru

    по поводу других разработок: все не смотрел, но написанные на 1С категорически отметаю т.к.

    1. нужен универсальное средство не зависящее от ключа или платформы

    2. нужно удобство и быстрота разработки и доработки для конкретного случая — а 1С предназначена для экономических задач (открыть Syn в Totale гораздо быстрее со всеми подсветками чем конфигуратор)

    3. ну и наконец — нужно иметь больший кругозор, ведь vb позволяет работать без 1С и делать тоже удобные вещи, это большой помошник при автоматизации работы с ПК

    Reply
  21. CaSH_2004

    посмотрел половину ссылок на аналоги

    самая крутая на VB пока http://www.infostart.ru/public/63813/

    рассматриваю только VB (как вариант JS, но на нем не видел) т.к. это позволяет добится тех же возможностей только без интерфейса что и другие разработки

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

    Reply
  22. natazo

    Полезная штука!

    Отлично архивирует. Как написано. Спасибо! 🙂

    Reply
  23. migulia

    Все отлично но вот беда у меня почему то не удаляет старые файлы ?

    Reply
  24. roskmv

    Какая у тебя версия 7.7 или 8?

    Что пишет в логе?

    Reply
  25. wd2000

    У меня тоже не удаляет старые файлы, как 7.7 и 8.1.

    Подготавливаем строку для запуска 1С v 7.7

    Строка для запуска 1С получилась следующая:

    «C:Program Files1cv77in1cv7.exe» config /d»D:1cbase
    koPRBasic» /n»Admin» /p»1″ /@»D:BackUp1C
    ko1CBackUp.prm»

    Запускаем 1C в пакетном режиме…

    Отчёт самой программы 1С о выгрузке базы следующий:

    20100625;22:40:02;Admin;C;UpDown;UpDownDnldToFile;1;D:BackUp1C
    ko1Cv7 25.06.2010 22.40.00.zip;;

    20100625;22:41:12;Admin;C;UpDown;UpDownDnldSuc;1;;;

    Удалим файл с отчётом 1С с диска компьютера…

    Файл с отчётом 1С успешно удалён!

    Удалим файл параметров выгрузки базы 1С с диска компьютера…

    Файл параметров выгрузки базы 1С успешно удалён!

    Закончили обработку базы № 1

    Reply
  26. roskmv

    Да про 7.7 уже знаю. 🙁 Исправляю !

    Сегодня или завтра выложу обновленную версию. 🙂

    Reply
  27. migulia

    🙁 так как же все ж с удалением старых баз решается ❓

    Reply
  28. roskmv

    Прошу прощения за долгое молчание. Уезжал, совсем не было времени. Вчера наводил последние штрихи.

    Reply
  29. roskmv

    Вот, выложил ОБНОВЛЕННУЮ версию! 😀

    Смотрите, качайте, оценивайте… 😉

    Есть ряд изменений и дополнений. Об этом напишу в описании.

    Жду отзывов…

    Reply
  30. migulia

    🙂 Стесняюсь спросить а обязательно базы разносить в разные каталоги или можно их хранить в одном ❓

    Reply
  31. roskmv

    Можно в одном, но для меня удобнее если в разных 😉

    Чтобы все было в одном, в параметрах каждой базы введи одинаковый параметр: MyBase.BaseBackUpFolderName = «твоя папка»

    Reply
  32. Otshelnik

    Спасибо, то что надо! Только перед использованием надо сделать так:

    «DeleteTextFile» замени на «DeleteFile»
    Reply
  33. roskmv

    Рад, что понравилось ! 🙂

    Отдельное спасибо за указанную ошибочку.

    Все исправил!!!

    Reply
  34. Kyrales

    Добавить возможность сохранения в SQL версии 1С 8 и будет отлично. А лучше еще сделать внешнюю обработку, которая автоматически заполнит все данные и создаст этот файл.

    Reply
  35. roskmv

    С обновления от 14.07.2010 добавил поддержку 8.2 !!! ❗

    Reply
  36. Winston Kent

    Дружище! Мегагигантское тебе спасибо!!!! Очень полезный скрипт!!!! И главное работает правильно…

    Reply
  37. roskmv

    Да.. не за что 😀

    Вот бы еще плюсик 😉

    Reply
  38. vvitek

    Классно, и код открыт, можно под себя переделать, хотя и так прекрасно работает!

    СПАСИБО ! 🙂

    Reply
  39. qosmo

    Добавь поддержку SQL и будет просто супер !!! 😎

    Reply
  40. semkon

    Скачал и … неожидал … заработало сразу, правильно и без глюков. 😮

    Такое редкость.

    Автору однозначно преспект !!! 😀

    Плюсануть не жалко 😉

    Reply
  41. roskmv

    Однако…

    Всем нравится, качают, все работает, а … плюсануть забываем!?

    Обидно-о-о 🙁

    Reply
  42. relexx

    Приветствую.

    Базы из 8-ки отлично выгружает! Респект!

    А вот с семеркой такая ошибка:

    Сценарий …

    Строка… (у меня 678) — функция выгрузки баз 1С 77

    Символ: 3

    Ошибка: Variable undefinite «FullPathBaseBackUpFolder»

    Код 800A01F4.

    Что я не так заполнил?

    Reply
  43. roskmv

    Все правильно заполнил…

    Прошу прощения, моя ошибка 😮

    Уже исправил файл и закачал 😉

    Reply
  44. seermak

    Вопрос: а нельзя сделать так, чтобы получать извещение об окончании работы скрипта

    Reply
  45. big_nab

    А что писать если логин-пароль на базу не установлены?

    А то приходится Ок все время жать.

    Reply
  46. roskmv

    (44) Куда получать извещение об окончании работы скрипта?

    На почту?

    Reply
  47. zolotze

    Автору огромное спасибо, давно искала что-то подобное для небольших баз 😀 !

    Все отлично работает, и 8.1, и 7.7!

    СПАСИБО!!!

    Reply
  48. seermak

    ( 46) — у меня база большая — пока скрипт отработает люди успевают состарится 🙂 а постоянно заглядывать в лог завершилось или нет не очень хочется….

    Reply
  49. roskmv

    (48) Понял, сделаю, чтобы на почтовый адрес отправлялось извещение об окончании работы скрипта.

    Как выложу обновление, так напишу. 🙂

    Reply
  50. roskmv

    (48) Выложил обновление…

    Теперь на почтовый адрес отправляется извещение об окончании работы скрипта.

    Функцию при желании можно отключить. Выше в описании все сказано об этом. Качай, проверяй. Рад помочь. 😀

    Reply
  51. roskmv

    (45) Теперь не надо будет жать ОК.

    Качай новую версию, установи константу User = False и наслаждайся.

    Будут вопросы, пиши… 😉

    Reply
  52. IToxicI

    Доброво времени суток. У меня вот такая проблемка с вашим скриптом. Скрипт работает все нормально (выгрузка данных) но почему-то на проверке свободного места на диске выдает ошибку….

    Reply
  53. roskmv

    какая ошибка? можете подробнее описать?

    Reply
  54. IToxicI

    Сценарий: E:ToxicArchivator1Cv8_v2.vbs

    Строка: 588

    Символ: 6

    Ошибка: Ну удается найти указанный файл

    Код: 80070002

    Источник: CDO.Message.1

    ВНИМАНИЕ!!! Проверяем наличие свободного места на диске для архивных копий…

    Диск E: — / Своббодно: 26 333 Мбайт

    Архивация закончена.

    Дата: 30.07.2010

    Время: 14:05:26

    КОНЕЦ

    Отправлено предупреждающее сообщение на e-mail.

    Дата: 30.07.2010

    Время: 14:05:26

    КОНЕЦ

    А вообще скриптик изумительный!!!

    Reply
  55. roskmv

    (54) Теперь все становится ясно.

    При проверке свободного места на диске ошибок нет

    ВНИМАНИЕ!!! Проверяем наличие свободного места на диске для архивных копий…

    Диск E: — / Своббодно: 26 333 Мбайт

    А вот тут: Источник: CDO.Message.1 ??? Думаю проблема с отправкой e-mail.

    У Вас локальный SMTP сервер установлен?

    Если нет? то надо установить такие значения для констант:

    Const EmailEndScript = False

    Const Email = False

    Если таких констант у Вас нет, то качайте последнюю версию отсюда.

    Reply
  56. Dr. Jokker

    было бы хорошо если бы этот скрипт удаленных пользователей обрубал(

    Reply
  57. roskmv

    (56) Планировал в новой версии… Думаю скоро … 🙂

    Reply
  58. inglsid

    Строка 74, Символ:34, Ошибка: Предполагается наличие окончания инструкции, Код: 800А0401

    Из-за чего эт может быть? Программа работает с portable-версиями 1С ?)

    Reply
  59. roskmv

    (58) Какая у тебя версия Windows Script Host (в русской версии он называется, по-моему, Сервер Сценариев) …Набери в командной строке cscript — он выдаст версию …Или доустановить надо …Вообще, под ХР можно загрузить его вот отсюда

    http://www.microsoft.com/downloads/details.aspx?Fami…mp;displaylang=ru

    Что касается портативных версий, то думаю будет работать, главное чтобы все пути были верные, проверь…

    Reply
  60. Ohot-Nik

    Еще не проверил, с временем косяк, но думаю все в порядке будет, если что проинформирую

    Reply
  61. ladoga

    Огромное спасибо! + Работает отлично. Пока проверила на 3 базах. Вопрос — можно ли установить определенное время запуска — конец рабочего дня, например. А то мои бух-ши забывают нажимать кнопочки.

    Reply
  62. roskmv

    (61) Очень просто! Создать в планировщике заданий Windows задачу на запуск скрипта в определенное время или при определенном событии… Если не получится, пишите! 🙂

    Reply
  63. Brom46

    Отличный скрипт :D,

    в коплекте с бесплатным xStarter работает на 5 с плюсом 🙂

    немного дописал функцию для прямой отправки мыла через SMTP майла-ру (можно и любого другого)…

    Set iConf=CreateObject(«CDO.Configuration»)
    Set Flds=iConf.Fields
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing»)=2
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate»)=1
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername»)=»sender@mail.ru»       ‘почтовый ящик отправителя
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword»)=»pass»   ‘ пароль на почтовый ящик
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»)=»smtp.mail.ru»
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport»)=25
    Flds.Update
    objEmail.Send()
    

    Показать

    (может пригодится кому)

    Reply
  64. roskmv

    Спасибо за комментарий!

    Данную функцию планирую ввести в следующей версии, вот только не хватет времени реализовать 🙁

    Буду изыскивать… 😉

    Reply
  65. petrovasya

    Скачал себе. Будем тестить. 🙂

    Reply
  66. ho0p

    Интересует, каким образом закрываются локально запущенные экземпляры 1С ?

    Reply
  67. masha_bol

    просто класс

    Reply
  68. dellic

    Просто класс!

    Reply
  69. numerok
    Set iConf=CreateObject(«CDO.Configuration»)
    Set Flds=iConf.Fields
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing»)=2
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate»)=1
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername»)=»sender@mail.ru»       ‘почтовый ящик отправителя
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword»)=»pass»   ‘ пароль на почтовый ящик
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»)=»smtp.mail.ru»
    Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport»)=25
    Flds.Update
    objEmail.Send()
    

    Показать

    А куда это вставлять??? И какие-нибудь измнения еще в скрипте нужно при этом делать?

    А то у меня локального smtp нет, а уведомление на почту ой как надо!!!

    Ну или как сделать, чтобы после окончания выскакивало popup окошко с информацией либо о успешной выгрузке либо об провале???

    Reply
  70. roskmv

    (69) Завтра выложу обновление в котором данная функция реализована, т.е. отправки e-mail с компьютера, на котором не установлен локальный SMTP-сервис/сервер. 😉

    Reply
  71. Koroleva1

    СПАСИБО! РАБОТАЕТ НОРМАЛЬНО! 😀

    Reply
  72. DobryaginaB

    Спасибо за обработку! Работает отлично. Немного дописала, чтобы по окончании выдавалось окно сообщения. А то не видно было, когда закончилась архивация.

    В целом — все очень понравилось и пригодилось.

    Reply
  73. andreyrosp

    Очень понравилась!

    Reply
  74. Sergey.G.Ivanov

    Замечательная вещь очень помогла!!!

    Reply
  75. ОлегФ

    Установил програму, настроил по варианту №2, когда перегрузил компютер, то появляєтся собщение Windows Script Host:

    Сценарий: D:1C_ArhivAutoBackUp (резервная копия).vbe

    Строка: 26

    Символ: 3

    Ошибка: Недопустимый вызов или аргумент процедуры: ‘Chr’

    Код: 800А0005

    Источник: Ошибка выполнения Microsoft VBScript

    Может кто-то подскажет в чем может быть проблема, архивирование по розписанию вариантом №1 тоже не работает.

    Reply
  76. nadi_bar

    Спасибо, очень полезная программка

    Reply
  77. necros

    халь что почту так и не осылает пока еще не обновили

    Reply
  78. kosmos777

    Для выгрузки надо создать нового пользователя? Какие права у пользователя должны быть?

    А как же пароль? Он хранится получается в открытом виде.

    Reply
  79. grum01
    ho0p пишет:

    Интересует, каким образом закрываются локально запущенные экземпляры 1С ?

    ага. меня вот тоже смущают строки типа

    KillProcess «1cv8%»

    😮

    так делать нельзя;

    автор по-видимому еще не сталкивался с проблемой разрушения баз при таких кренделях.. ❓

    Reply
  80. Sergafan10

    Имею 2 базы 7.7 SQL и dbf, в списке друг за дружкой аналогично. SQL бакапится нормально, а вот следом dbf бакапиться никак не желает. Меняю очередность — курят обе. Оставляю одну dbf — бакапятся нормально. Что такое может быть??

    Reply
  81. vint2008
    Brom46 пишет:

    Отличный скрипт ,

    в коплекте с бесплатным xStarter работает на 5 с плюсом

    немного дописал функцию для прямой отправки мыла через SMTP майла-ру (можно и любого другого)…

    А куда это вставлять а то локального SMTP нет….

    Reply
  82. i132

    Предложение доработки для файлового варианта базы:

    Вначале скопировать базу во временный каталог (причем лучше вначале копировать самые свежие файлы для 7.7) а потом уже выгружать — так не надо выгонять пользователей, но портит достоверность архива

    Reply
  83. boggonzikov

    Очень не хватает SQL

    Если поможет посмотри здесь реализовано

    Reply
  84. Muay_thai

    люди подскажите что делаю нет так (или как надо делать)

    ситуация следующая

    1с server + PosGreSQL живут на Ubuntu

    клиент 1с живет на Windows

    хочу пользовать скрипт

    правлю скрипт под себя

    ——

    Set MyBase = New Base1C

    ReDim Preserve BasesList(UBound(BasesList)+1)

    MyBase.Type1C = «82»

    MyBase.Program1CName = «C:Program Files1cv828.2.12.80in1cv8.exe»

    MyBase.BaseLocationPath = «C:UsersWolfAppDataRoaming1C1Cv82 mplts1cAccounting2_­0_17_6″

    MyBase.BaseBackUpFolderName = «Бухгалтерия»

    MyBase.BaseBackUpFileName = «1Cv8»

    MyBase.UserName = «Администратор»

    MyBase.UserPassword = «»

    Set BasesList(UBound(BasesList)) = MyBase

    Set MyBase = Nothing


    ——

    как я понял надо обращяться именно по таким путям

    но лог пишет что

    «Запускаем 1C в пакетном режиме…

    Отчёт самой программы 1С о выгрузке базы следующий:

    Информационная база не обнаружена!»

    что делать ❓

    Reply
  85. Muay_thai

    люди очень горит подскажите что делаю не так =(

    ————-

    ругается на то что база не найдена

    но я не знаю где она еще можеть лежать ? ссылаюсь на вполне существующий файл (размером в 80 мб и форматом *.dt)

    ————-

    или изза того что у меня все через PostGreSql я не смогу указать скрипту на Информационную Базу ?

    Reply
  86. apteka84

    а как настроить чтобы она автоматически также делала реиндексацию базы 8.1

    Reply
  87. Amirzhan
    Reply
  88. Amirzhan

    Отчёт самой программы 1С о выгрузке базы следующий:

    Каталог не обнаружен ‘E:BackUp1CБухгалтерия1Cv8Acc 7 812011 10.31.14 AM.dt’ Вот Это я не совсем понял….. а именно 81 — это как прописать и где

    Reply
  89. Amirzhan

    Проблема решена ! Спасибо за Скрипт!

    Reply
  90. Dinkin

    Попробовала на 1С 7.7 несколько баз. Все работает.

    Reply
  91. deadmz

    Спасибо! Все работает отлично!

    Reply
  92. FIZIK

    Отличная вещь. Спасибо!

    Reply
  93. i_konnov

    Полезная и нужная штука. Спасибо

    Reply
  94. zas2004

    Выдает какую-то ошибку, но работае спасибчки огромнейшее!!!!!!!!!!!!

    Reply
  95. burnoutparad

    попробую на работе поставить, она может работать, когда пользователи а 1с сидят ?

    Reply
  96. zhleonid8

    привет

    совет бекапиться раром 1сд файл и все сохраниться, а вот обработка это отличная лучше я не нашел, но вот отсылку на емейл пришлось отключить, единственная обработка к которой у меня нет претензий:)

    Reply
  97. zhleonid8

    (95) burnoutparad, на работе ставь любой стандартный бекап в режиме реального времени, без отключения пользователей! этого хватит, сам Нуралиев заверяет:)

    Reply
  98. wolf2012x

    А на 8.2 нормально работает? Кто уже пользовался?

    Reply
  99. fomix

    (70) Спасибо за скрипт — все работает, кроме отправки на почту без локального smtp клиента.. пробовал вставить скрипт из 69 поста — ругается.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *