1С – пастырь




Принцип обмена данными из 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='\

79 Comments

  1. DimaP

    нормально так ))

    Reply
  2. LelikOFF

    Я бы отказался (что и сделал в аналогичной задаче) от такого списка файлов, и делал бы записи в регистр сведений

    Reply
  3. fixin

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

    (2) вы про какие файлы? про файл хранения настроек или файл семафоров. Файл семафоров часто меняется, незачем дергать базу. Кроме того, их можно и на FTP размещать, Если чо.

    Reply
  4. Bacemo

    Идея нормальная. Пригодится для своих задач.

    Reply
  5. stepan_shock

    Ну запустил, клиент 1С, свернул и ушел пить кофе…

    Reply
  6. AlexO

    (4) Bacemo,

    да вам все пригодится — какую обработку не возьми из последних 🙂

    Что за задачи у вас такие?

    Reply
  7. AlexO

    (3)

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

    Но жду от вас 1С:Управление межланетными полетами. С обязательным заделом под посещение Марса и Венеры 🙂

    Reply
  8. ander_

    (6) AlexO, видимо задача побольше сообщений набить 🙂

    Reply
  9. KapasMordorov

    1С: Назойливое очко Саурона.

    Если всё выполняется в 1С же, почему бы список активных пользователей не использовать?

    Reply
  10. ryst

    Объясните пож., зачем городить огород с файлами когда можно сделать тоже самое на активных пользователях и регистре сведений? Плюс безопасность (например чтобы никто удалить/поменять немог) можно было бы реализовать средствами 1С.

    Reply
  11. free-lancer-2018

    (5) stepan_shock, дальше создается зондекоманда, которая врывается к клиенту и ложит его лицом в пол 🙂

    Reply
  12. stepan_shock

    (11) adminfo2002, я бы сказал прямо в кофе:)

    Reply
  13. fixin

    (9)(10) перечитайте пожалуйста условие задачи. Может быть я конечно не внятно объяснил, но о каком списке активных пользователей может идти речь, если речь идет о различных базах 1с в територриально удаленных подразделениях, пусть и связанных в VPN, замените для просветления VPN на FTP, может быть так проще будет понятно.

    Речь вообще то о контроле за работой в РИБ базах.

    Reply
  14. fixin

    (7) бесплатные, гибкие? Гибче, чем 1С? Дайде два.

    Reply
  15. babys

    (14) курите RTFM по винде, и будет вам щасте 🙂

    Приходилось решать подобную проблему, решили виндовым скриптом, это в доменах.

    2 fixin, а как быть с компами в НТТ? Куда, и главное когда, они будут выкладывать свои файлики 😉

    Reply
  16. tango

    (6) AlexO, у товарища задача простая — маней на скачку наскрести

    Reply
  17. wunderland

    чтобы никто не лазил по файлам руками можно либо на FTP хранить либо на SMB и сделать как с сусликом, который есть, но его никто не видит — запретить ls

    З.Ы. — картинка очень понравилась 🙂

    Reply
  18. KapasMordorov

    (13)

    если базы на сервере, то еще и информация на сервере 1С есть

    Reply
  19. fixin

    (15) бла-бла. Если знаете, пишите статью. А так больше на разборки времени потратится. Можно конечно аудит на запуск назначить. но потом этот аудит надо в центр передавать как-то, тем более компы не в домене. Да ну нафиг, в виндовом гуане копаться. Тут все под рукой и делается быстро.

    (18) базы файловые. К тому же если бы базы были и серверные, они бы хранились на разных серверах. VPN — медленная, 1с через нее не взлетит.

    Reply
  20. wowkai

    а можно опубликовать текст скрипта, интересно опробовать у себя.

    Reply
  21. comol

    Что-то по-моему перемудрили… Костыль какой-то получился. Типичная задача так называемого эхо-сервера. Создаётся база «Прослушиватель», а в остальных просто раз в период отсылаются пакеты. Для прослушивателя понадобится ВК. Таких куча. Как пример http://infostart.ru/public/69992/ Отсылку можно сделать и без ВК… через WinSock. Хотя если делать правильно то на клиенте нужна ВК key hook-ера, чтобы обрабатывать нажатия клавиш пользователей в 1С 🙂

    Reply
  22. fixin

    (21) и это вы называете перемудрили? 😉

    имхо с пакетами как раз сложнее. 😉

    Reply
  23. AzzZ

    Жесть какая ))) Согласен с (7) AlexO, есть другие способы решения данной проблемы, куда более мм… как бы это сказать, достойные что ль. Достаточно одного грамотного сис. админа.

    Это как сделать 25 печатных форм по каждой организации «забыв» что есть такая вещь как параметры в макете, а информацию можно взять из справочника.

    Reply
  24. fixin

    (23) бла, бла, бла. Способы в студию!

    Reply
  25. AzzZ

    Эм, ну можете забить в поисковике строчку: «Учет программного обеспечения». Посмотреть на доступные варианты программ. Есть там и бесплатные по моему. По факту ничего против Вашего способа не имею, просто есть другие, вполне возможно проще и надежней.

    Reply
  26. ПиН

    есть хорошая книжка Системное программирование, рекомендую…

    Reply
  27. fixin

    (25)(26) все это неконкретика. я и сам посылать в Гугль умею. Пока не предложено других конкретных способов, буду юзать свой. 😉

    Конкретика — это озвучивание конкретного метода.

    Например — назначить аудит на запуск и периодически скриптом скидывать журнал аудита в центр.

    Тоже вариант, но надо узнавать, как ковырять журналы аудита программно. Это время.

    Если будет конкретика — будем разговаривать. Если будут посылы в Гугл, отвечу симметрично.

    Reply
  28. alexware

    Считаю, что такое решение вполне имеет право на существование и представление здесь. Всё-таки не используется никакой другой инструментарий, кроме 1C. А это тоже плюс. Часто, на самом деле, для многих (меня в том числе) требуется больше времени на разработку при использовании другого инструментария (которым пользуешься редко). Замечу только, что в начале чтения сбивает с толку фраза «Для решения на компьютерах сотрудников я запускал скрипт, который создает файл в каталоге локальной VPN-сети». Лучше писать «код», а не «скрипт». Всё-таки под скриптом обычно подразумевается другое.

    Reply
  29. Rustig

    Читать статью вечером после всего рабочего дня тяжело, особенно если в начале статьи не отвечается на вопрос «Зачем?» Зачем заказчику это нужно было? Где-то среди комментариев проскальзывает «Речь вообще-то о контроле за работой в РИБ базах.» Но и этого мало для понимания. А хотелось бы понять. 🙂

    Reply
  30. Rustig

    Поддерживаю автора в том, что (выражусь своими словами, возможно с которыми автор не согласится) «говорунов-критиканов» среди прокомментировавших публикацию через чур много, хотя покамест они сами не отличились в написании более-менее добротных статей. Что ж, приходится только мириться с этим.

    И наверное, название статьи лучше поменять на «Пример реализации семафоров внешними файлами для РИБ». Сухо, ясно, конкретно.

    А то от названия «1С -пастырь» ждет чего-то более увлекательного, от того наверное такая резкая критика: все завлекаются названием, а получают по мордасам не всем интересными (актуальными) семафорами. 🙂

    Reply
  31. KapasMordorov

    (30)

    Да, название завлекательное. А дальше:

    задача. По соображениям безопасности



    Для семафоров работы 1с у сотрудников я выделил в локальной сети общедоступный каталог.
    Reply
  32. fixin

    (31) как корабль назовете, так он и поплывет. Программирование — дело творческое. К названию тоже нужно подходить с огоньком. Чтобы и суть отражало и запоминалось и брэндировало.

    Reply
  33. AzzZ

    (30) Rustig, статьи на инфостарте добавляют ЧСВ, но по факту многим просто лень что-то выкладывать. На счет «пастыря» согласен, но тут уж хозяин барин.

    (31) KapasMordorov, про папку и безопасность меня тоже порадовало. Не совсем понятно какое отношение безопасность имеет к нахождению пользователя за компом(о_О). Более того к нахождению пользователя в программе 1С. Т.е. если пользователя нет в 1С он нарушает какой-то регламент местной безопасности?

    По поводу гугла и отсылок к аналогичному программному обеспечению, я увы не альтруист, и просто так что-либо объяснять или делать не буду. Нет желания учить что-то новое? — Пожалуйста, это Ваше дело.

    «Чтобы запоминалось и брэндировало» — зачёт 😉

    Reply
  34. Psylocibine

    Идея нормальная. Пригодится для своих задач. (с)

    Reply
  35. kilokilo

    У нас другая задача решалась, но в результате можно так же отследить кто в базе и когда вошел.

    Смысл: на все базы повешена процедура при входе, создающая COM соединение с одной центральной базой.

    Получая список COM соединений — видим, кто там есть.

    Reply
  36. fixin

    (35)и если сетка падает, никто не может зайти в базу.

    как минимум, в вашей задаче требуется хранить очередь отложенных сообщений

    (33) В данном случае в программе 1с реализован дополнительный контур безопасности, для которого требуется, чтобы 1с было запущено (типо подтверждения присутствия).

    Reply
  37. CheBurator

    Кривое решение. В случае терминального доступа ИмяКомпьютера() вернет сервер ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ

    Reply
  38. fixin

    (37) Чебуратор, не подходи буквально. На практике я использую не имя компьютера, а код РИБ-базы (из плана обмена). Так что все пучком. Упрощение сделано для наглядности. Кроме того, в данном случае же не используется терминал, а если бы использовался, я бы нашел, как обойти решение.

    Reply
  39. comol

    (21) comol, 3 строчки кода отсылка пакета… 10 строчек обработка отсылки… ну и 3 строчки на подключение ВК… решение задачи средствами для неё предназначенными…

    Reply
  40. glek

    Хорошая идея. На карандаш

    Reply
  41. fixin

    (39) ну раз все так просто — в студию!

    не забудьте проверить, что фаервол не будет резать ваши пакеты.

    Reply
  42. comol

    (41) Вообще кто-то про VPN писал… надо сказать «мини эхо-сервер» гораздо более надежный и простой в плане администрирования механизм чем ftp сервер :)…

    Reply
  43. AlexO

    (42) comol,

    да у него файервол и внутри канала работает… в противном случае Сергей всегда скажет — «а я че — я ни че, делов не знаю, я по 1с только..» 🙂

    Reply
  44. fixin

    (42) даже проще чем каталог с общим доступом? 😉

    строчки — в студию. покажи, как это просто. а я протестирую. гыгыгы

    Reply
  45. rommilk

    Можно все отслеживать по журналу регистрации, кто сколько отработал. Можно по com написать запрос к удаленным 1С-м.

    Reply
  46. fixin

    (45) каталоги базы на удаленных точках закрыты из соображений безопасности, с COM обломитесь.

    Анализ ЖР — это просто? бугога. К тому же это не оперативно.

    Reply
  47. comol

    (44) Ну зачем же я баяны буду разводить… люди уже не раз всё писали: http://infostart.ru/public/119982/ http://infostart.ru/public/92596/ http://infostart.ru/public/69992/

    Количество строчек кода думаю оцените :).

    Reply
  48. comol

    (46)

    COM обломитесь

    А вот с COM+…. было бы очень даже ничего http://infostart.ru/public/93643/

    Reply
  49. Abadonna

    (5)

    Ну запустил, клиент 1С, свернул и ушел пить кофе…

    Специально для таких сволочей метод УстановитьКонтрольАктивности() вот отсюда 😉 MiracleNative

    (37)

    В случае терминального доступа ИмяКомпьютера() вернет сервер ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ

    Отправляю туда же, свойство ИмяКлиентаТерминала — реальный комп, с которого зашли в терминал.

    Reply
  50. abc2000

    Я бы использовал бы VBscript на каждой рабочей станции в автозагрузке, что то типа этого:

    set WshShell = WScript.CreateObject(«WScript.Shell»)

    KL = true

    do while KL

    if WshShell.AppActivate(«Microsoft Word») then

    WriteWord()

    KL = false

    end if

    WScript.Sleep 3000

    loop

    function WriteWord()

    WshShell.SendKeys «HELLO WORLD!»

    end function

    Естественно «Microsoft Word», заменить на 1С8.exe А «function WriteWord()» передлать в «function SendMail()»

    Reply
  51. abc2000

    Письмо вообще не проблема организовать, ну таймер только вставить через сколько посылать 🙂

    Sub MySendMail(recipient,msg,subject)

    Dim objSession, oInbox, colMessages, oMessage, colRecipients

    Set objSession = CreateObject(«MAPI.Session»)

    objSession.Logon «A Valid User Profile»

    Set oInbox = objSession.Inbox

    Set colMessages = oInbox.Messages

    Set oMessage = colMessages.Add()

    Set colRecipients = oMessage.Recipients

    colRecipients.Add recipient

    colRecipients.Resolve

    oMessage.Subject = subject

    oMessage.Text = msg

    oMessage.Send

    objSession.Logoff

    Set objSession = nothing

    End Sub

    Reply
  52. alexqc

    Чтобы пользователи не мудрили с файлами — можно дать хитрые права на каталог, разрешив только создание но запретив запись. Чтобы не создавали файлы ручками — добавить механизм «подписи» файла — кидать туда время и сгенеренный по некому алгоритму хэш от остального содержимого (все упрется в то, моет ли пользователь узнать алгоритм генерации. но в конце концов есть шифрование модулей и вообще поставка без исходника).

    Ну а лично я (если б встала задача получать пинги от удаленных 1Сок) такое бы делал через веб-сервисы — у нас же 1С8 а не 77 🙂 . Тогда бы отпали многие проблемы: с предоставлением файлового доступа; с удаленными, по HTTP работающими клиентами…

    А поставить апач думаю автору/заказчику не будет проблемой.

    Reply
  53. comol

    (52) alexqc, Да, Web сервисы правильнее всего были бы.

    Reply
  54. abc2000

    Не, с Веб сервисами, именно в его случае, не взлетит.

    Reply
  55. fixin

    (47) это инструменты. напишите на них скрипт, бояном не будет. Это вам не бла-бла. 😉

    (49) у нас собственная система контроля активности, которую не обманешь.

    (52) это все понятно, но это из пушки да по воробьям. 😉

    Reply
  56. fixin

    (53)(54) ага, куча лишнего инсталляций и администрирования ради банальной задачки. господа, соразмеряйте средства и цели. Одно дело, если веб-сервисы уже подняты, тогда да. А если не подняты, то и ну его.

    Reply
  57. comol

    (56) Вообще web сервисы — нужен IIS и FTP сервер — нужен IIS (ну или apache и proftpd соответственно). Нужен только на сервере. ИХМО web сервер настроить проще чем ftp (не нужно квот, спец папок и т.п.). А более в чём разница не знаю…

    Reply
  58. fixin

    (57) именно что ИМХО. в рамках VPN у клиента уже была расшаренная папка. Зачем добавлять гимора админу? Задачу нужно решать удобными клиенту средствами.

    Reply
  59. comol

    (58) Ну не знаю… если таким образом рассуждать этак можно и остатки на справочниках хранить. «А зачем регистры, ведь в конфигурации уже есть справочники»… «Справочники клиенту более понятны»….

    Reply
  60. fixin

    (59) демагогия detected. Справочники и регистры — это однородные элементы.

    Существующая VPN и необходимость поднятия, конфигурирования и администрирования нового сервера — это как бы разные вещи.

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

    Reply
  61. abc2000

    Хранить остатки? Это из серии — зачем нужна 1С, если есть MsSql сервер.

    Reply
  62. fixin

    (61) еще один. Регистры остатков на справочниках сделать сложнее, чем изучить регистры. А использовать имеющийся шаред-каталог на порядок проще, чем заниматься веб-сервисом, который не установлен в конторе у килиента.

    Подходить, господа студенты, надо не академически, а практически.

    Reply
  63. abc2000

    (62)

    Я не про справочники vs регистры писал, я про то что нафига нужна 1С если есть отличные СУБД 🙂

    Reply
  64. fixin

    (63) 1С нужна потому, что несмотря на наличие отличных СУБД, нет отличных RAD. Все RAD по сравнению с 1С — отстой.

    Reply
  65. abc2000

    (64)

    Я вообще то имел ввиду не «зачем нужна сама 1С как система», а то что, чтобы хранить остатки можно сделать табличку в БД и с помощью запросов к БД с ними работать.

    Reply
  66. Maldiv

    По-моему, не очень красиво работать с файликами. Если кто-то потрет файлики в шаред-каталоге? Конечно, я не знаю всех тонкостей, но база данных на сервере со временем входа/выхода в программу мне кажется предпочтительнее. Опять же, можно смотреть сведения за период.

    Reply
  67. fixin

    (66) если заморачиваться, можно просто разрулить права.

    Reply
  68. alexqc

    (55) ну я б не сказал что пушка… WS с апачем подымаются с пол-пинка (это вам не ИИС). Раз установленный никаких телодвижений более не требует — все остальное рулится 1Ской. Плюс нативная поддержка WS — не надо заморачиваться с форматом файлов и т.п., легко расширить в случае чего (вот захочет завтра заказчик чтобы не только обмен был, но и сообщения эскам посылать — что тогда?) и для программиста более прозрачно.

    Reply
  69. fixin

    (68) это вы мне рассказываете, что WS подымается с полпинка? Да тут на ИС целая инструкция как его ставить. Да еще и интернет-сервер надо подымать, если в конторе его нет, а если есть — согласовывать с его админами. Кучу телодвижений ради пшика. И потом, веб-сервисы от 1с требуют ключей доступа и лишних лицензий, оно мне надо? ЧТобы лицензии в офисе отжирались на количество пользователей на точках?

    Reply
  70. AlexO

    (60)

    Справочники и регистры — это однородные элементы.

    чем это они вдруг стали однородны? Что оба объекта — в 1С?

    ИМХО, если уж сравнивать — справочник ближе к документу по структуре хранения. Разница — в объеме используемых таблиц.

    Reply
  71. AlexO

    (69)

    Так и напрашивается название «1С-пластырь«.

    Уж не взыщите :))

    Reply
  72. fixin

    (70) избавьте меня от софистики. Если вы не различили граней, то буквоедствовать — не ко мне. 😉

    Reply
  73. abc2000

    (69)

    WS разве требует лицензий от 1С на количество подключений?

    Reply
  74. fixin

    (73) пардон, с тонким килиентом перепутал. 😉

    Reply
  75. alexqc

    (69) да, именно Вам, именно апач, именно с пол-пинка. Разумеется, я говорю это имея опыт и с апачем и с ИИСом.

    А то что на ИС есть «инструкции» — ничего не значит, ибо все эти инструкции обычно в 3х картинках, и выглядят так:

    1. Запустить инсталятор апача — поставить апач

    2. Запустить инсталятор 1С — установить компонент работы с веб-сервером (если не установлен)

    3. Запустить конфигуратор — выполнить публикацию.

    Это не сложнее чем поднять виндовый ВПН (а там может еще с логинами/правами пое… придется) и легче чем настроить ФТП (как вы предлагали в (3) ), о чем уже говорилось.

    Reply
  76. fixin

    (75) вот оно надо, получать опыт секса с апачем, если задача решается родными средствами 1с?

    а ведь апач еще потом и админить надо, это не зиро-админинг систем.

    Reply
  77. alexqc

    (76) хм, вроде выразился понятно… Ну ладно, повторюсь — секс это как раз с ВПН: это там может потребуется настройка прав и раздача логинов; а апач в базовой/минимальной установке и есть «зеро-аминингс». Т.к. апач базово настроен на только отдачу каталога-сайта, практически все модули выключены, и ничего больше он сделать не может. Тем и хорош — с одной стороны, безопасен (все отключено), с другой — функцонал достаточен (при публикации конфигуратор сам пропишет загрузку модуля и пути к каталогу), с третьей — администрирование можно возложить на плечи 1С.

    ЗЫ. Вы вообще со связкой 1С8+веб работали? По вашей категоричности виден явно негативный опыт, или некая предубежденность. Если я прав, предлагаю всеж еще поэкспериментировать — уверен, В/С вам понравятся.

    Reply
  78. fixin

    (77) вы вообще осознаете, что вы пишите.

    ВНП — это данная нам в ощущениях необходимость. Она и без 1с будет поднята.

    А веб-сервис от 1с — это рюшечки, нафиг клиенту не нужные. Зачем ему доплачивать админу?

    Со связкой 1с + веб-сервис я работал и апач поднимал. Там, где это нужно, это полезно, но не надо из пушки да по воробушкам…

    Reply
  79. p1l1gr1m

    Дико, извините за скабрезность, «угорел» от ответов комментаторов и автора)

    Ну а по существу, как вам вариант с отправкой статусов по email? Все необходимые средства есть, пишется в пару строчек, плюс немного кода на центральной базе для чтения inbox от удаленных баз.

    Reply

Leave a Comment

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