Перспективы «Инфостарта», как сервера удаленной работы




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

33 Comments

  1. Снусмумрик

    «потому что программисты вряд ли станут делиться своим хлебом с другими»

    хм, типичная узость мышления

    Reply
  2. Снусмумрик

    «адресную рассылку бухгалтерам, зарегистрировавшимся на сайте, с предложением сдеалть заказ на разработку и доработку 1С»

    это ж спам !!! 🙂

    Reply
  3. Снусмумрик

    «outsources.ru , по сути – конкурент»

    outsources.ru — большая свалка дешевых программистов с сомнительным качеством работ. Имхо, конечно. С совершенно самоустраненным руководством

    Reply
  4. support

    Спасибо за размещенную статью.

    Очень дельные замечания! Даже описали нам возможное будущее развитие проекта. Отличная идея!

    Конечно, мы уже давно разрабатываем идею привлечения заказчиков на портал. Подготавливаем рассылку по subcribe, контекстную ракламу, баннеры на бух.ресурсах, на том же клерке. Но после статьи становится ясно, что без соответствующего контента (статьи, новости, консультации), мы их не удержим. Над этим будем думать.

    Конечно, надо сделать отдельную страницу для заказчиков, возможно она станет даже главной страницей, а существующая превратится в страницу «Сегодня». На новой главной, как ты и писал ранее, необходимо выделить и показать все преимущества нашего портала, чтобы было все просто и понятно. С этим согласны на 100%.

    Reply
  5. O-Planet

    Радует понимание и приятно с вами работать. Надеюсь, что у вас все получится гораздо лучше, чем мы попытались описать 😉

    > это ж спам !!! 🙂

    Это не спам, а любезность к тем, кто зарегистрировался 🙂

    Reply
  6. CheBurator

    Опланет, как завсегда — зрит в корень. С большинством согласен.

    Давайте зададимся частным вопросам: кто из программистов будет «работать» на инфостарте? большинстов квалифицированных сидит на фикси или как фри имеет свою базу клиентов, на которую у них уходит львиная доля времени. Соответсвенно — много ли они смогут предложить инфостарту, а инфостарт — им? вот в чем вопрос… или «удаленный» инфостарт отсанется способом мелкого заработка и продвижения уже котовых своих проектов без их существенной доработки и разработки новых? если делать с инфостартом что-то серъезное — это время+координация+деньги? не проще ли обратиться у себя к живому специалисту/команде?

    Reply
  7. Снусмумрик

    «много ли они смогут предложить инфостарту, а инфостарт — им»

    я могу предложить часов 10 в неделю. Вечером и в выходные бывает нечего делать, да и 7ку забывать не хочется 🙂

    «инфостарт отсанется способом мелкого заработка»

    Удаленка дороже $500 — либо утопия, либо вещь раздробленная на несколько более мелких задач с ОЧЕНЬ вменяемым человеком со стороны заказчика

    Reply
  8. Снусмумрик

    to O-planet:

    а основной контингент заказчиков удаленной разработки:

    главбухи, техдиректора, финдиректора, гендиректора мелкого бизнеса,

    причем такие, которые на «ты» с компьютером и 1С, для которых не составит труда обновить конфу, запихать в ней обработку и вывести её в меню, написать грамотным языком в ТЗ что они хотят, зачастую даже с использованием алгоритмизации.

    Такие люди есть, нечасто, но встречаются, сами они зачасту.ю бывшие автоматизаторв и программисты.

    А идут к удаленным разработчикам просто потому, что это

    а) дешевле (раза в два-три, если брать Москву);

    б) качественнее (вот тут надо не ошибится с выбором программиста !!!);

    но есть и минусы ..

    блин ….

    Статью чтоль написать ?

    А то вон Че и О-п все за рейтинг трудятся 🙂

    Reply
  9. CheBurator

    Снусмумр! а за что еще трудиться? 😉

    зла много на удаленке не заработаешь — больше потратишь времени и потеряешь больше денег от основной работы… удаленка — хобби, может для кого-то это и основной источник заработка…?

    Reply
  10. O-Planet

    > главбухи, техдиректора, финдиректора, гендиректора мелкого бизнеса,

    причем такие, которые на «ты» с компьютером и 1С, для которых не составит труда обновить конфу, запихать в ней обработку и вывести её в меню

    С этим согласен на 100% Вот суппорт о чем может поразмыслить: как привлечь не тех, кто с компом «на ты», а тех, кто комп видит из окна второго этажа и реально решает серьезные вопросы. на наших сайтах тоже в основном продвинутые тусуются, чаще всего программисты. От них действительно заказов много ждать не приходится. Вот ежели рекламу дать в каком-нить «Деловом обозрении», что есть огромный виртуальный

    Reply
  11. O-Planet

    … коллектив разрабов, которые жаждут имеют большой опыт автоматизации, свои уникальные решения в плане управленческого и бух учета и жаждут заказов… Все равно, не прокатит, по моему на массового потребителя. НЕТ!!! Единственные перспективы, на мой взгляд, это предлагать некоторые решения на потребителя с перспективой их воплощения, если найдется заказчик. А для этого нужен банк идей.

    Reply
  12. Снусмумрик

    «Снусмумр! а за что еще трудиться?»

    я за деньги !

    Reply
  13. Снусмумрик

    «удаленка — хобби»

    согласен !

    Reply
  14. O-Planet

    > я за деньги !

    Фи… 🙂

    Reply
  15. proskurin

    Гхм… +1. Осмелюсь предложить (в качестве дополнительного наполнения сайта для привлечения посетителей) выкладывать подробные инструкции на все случаи жизни пользователя 1С с картинками.

    Как раз качественных инструкций, например, даже чтобы обновить конфигурацию, и не хватает.

    Хотя статья и старая, но может стоит обсудить на форуме.

    Reply
  16. andrey995

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

    — нужно исключить слово «виртуальный» как минимум

    Reply
  17. andrey995

    хм… стаье уж более полугода а на сайте подвижек никаких !!!

    Reply
  18. O-Planet

    Инфостарт — это лишь отклик на наши желания. Будет инициатива — будут подвижки. А кому они нужны-то? Посмотрите. Днем бывает одновременно на сайте по 60 чел. В течение дня — несколько тысяч. Но часто бывает так, что ни один в течение дня не оставит ни одного сообщения на форуме. Все приходят за халявой и ждут дядю, который эту халяву принесет. Кому надо подвижки — тот сам будет подвижен.

    Reply
  19. vasilykushnir

    O-Planet, согласен на все 100. Мало того, что ждут дадю с халявой, так даже комметов не оставляют — ни тебе зрасте, ни до свидания… Бог с ним с рейтингом — в лом отблагодарить, то хотя бы пару слов похвалы или ругани. Последнее даже более полезным бывает — стимулирует доработку. А то посмотришь на иную обработку — скачиваний сотни, рейтинг — от хрына уши, а комметов — кот наплакал. И обидно за автора становится — он же старался, разрабатывал, выложил на сайт — пользуйтесь на здоровье, но минимум порядочности еще никому не вредил. Пора наконец понять, что форум, это наш общий клуб по интересам и как мы, все вместе, настроим его работу так и будем в нем жить. А за примерами далеко ходить не надо — проклаб. Так давайте не превращать наш форум в подобное безобразие.

    Поэтому за статью большой +1

    И большой рэспект, откликнувшимся не нее.

    Reply
  20. Ворона

    >бухгалтера не всегда знают, что им надо для счастливой работы

    не правда!любой бух тебе ответит,что отмена всяких сроков осчастливит их на 75-80%!Недостающие останутся лишь для руководства…

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

    +

    Reply
  21. service_one

    Я не програмист и не бухгалтер… Я менеджер и на мне висит мого чего: логистика, администрация… Короче, пока мне не удастся нанять конечных исполнителей: операторов, секретарей и т.д., я все делаю сам.

    Для чего я это пишу? Хочу сказать, что такой способ заказа доработок меня устроит на все 100%! Меня интересует как будет осуществляться гарантия исполнения обязательств обеих сторон и что от меня будет требоваться… И когда можно приступать?

    Reply
  22. service_one

    Добавлю лишь то, что еще очень многие хотят получать все на халяву…

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

    Reply
  23. O-Planet

    > И когда можно приступать?

    Да вроде уже вчера. Но вопрос больше к суппорту.

    Reply
  24. CheBurator

    Для Proskurin:

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

    Reply
  25. CheBurator
  26. O-Planet

    (26) Ацтань

    Reply
  27. O-Planet

    (28) Лайф — это юмор, например. Ты считаешь, что «перспективы «Инфостарта», как сервера удаленной работы» — из разряда юмора? ИС посвящен автоматизации, фрилансерству. Материалы об ИС напрямую связаны с моей работой, например.

    Reply
  28. Abadonna

    (4)>Очень дельные замечания! Даже описали нам возможное будущее развитие проекта. Отличная идея!

    ________________________________

    Вот и верни ему «желтые штаны»! 😉

    Reply
  29. O-Planet

    (30) Спасибо, Абадонна. Но ты ж должен понимать, что человеки — существа изменчивые. А желтые штаны — нихачу.

    Reply
  30. Abadonna

    +(30) А с fixin-ным согласен- Life.

    Методическая статья должна бытть примерно такой: «взяли такой-то объект из такой-то конфигурации, то-то с ним замутили….»

    Reply
  31. O-Planet

    (32) Вот и определитесь с правилами, Советники. Опубликуйте, наконец, где-нить их свод. Я вопросы автоматизации, например, и методических материалов понимаю значительно шире, чем контент ЖКК.

    Reply
  32. venger

    (33) Ты просто боишься рейтинг потерять, у тебя куча фигни в профиле в Life надо перекинуть, а ты и не шевелишься.

    Reply
  33. Altair777

    (34) +

    Саша, извини что такой плюсик… что бы воя не было

    Reply

Leave a Comment

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