Личная эффективность — часть 05. Обо всем понемногу (улучшенная версия доклада)




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

32 Comments

  1. insurgut

    Я могу за 15 минут выполнить ту или иную задачу, на которую среднестатистический франчайзи потратит 2 часа. А если взять переносы, на которых уже рука набита и правила переноса пишутся день вместо недели (опять же среднестатистическим франчайзи). Вопрос — сколько выставлять часов клиенту? В большинстве случаев столько, сколько возьмет этот самый среднестатистический франчайзи. Вот и ответ на вопрос «Как можно наработать 180 часов?». Очень просто — опыт и еще раз опыт 🙂

    Reply
  2. Rustig

    (0) про любовь забыли написать 🙂

    Reply
  3. herfis

    Получилось в самом деле «обо всем понемногу» и в итоге … ни о чем. Нет изюминки.

    Нет, это в самом деле интересно в качестве истории успеха и можно только порадоваться за вас.

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

    Reply
  4. Lapitskiy

    (1) insurgut, не, я про реальные 180 писал, хотя и ваш метод также применим на практике весьма широко 🙂

    Reply
  5. Lapitskiy

    (2) Rustig, можно, а что именно интересует? Какие вопросы?

    Reply
  6. Lapitskiy

    (3) herfis, если честно, я не хотел писать «историю успеха», это скорее обобщение опыта. До успеха мне пожалуй еще далеко 🙂

    Буду продолжать углублять тему! Теперь помногу 🙂

    Reply
  7. nodalt

    Спасибо за статью!

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

    Кое-что стал применять на практике, а кое-что уже давно применяю.

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

    На мой взгляд информация максимально полезна и изложена четко.

    Рекомендую!

    Reply
  8. Lapitskiy

    (7) nodalt, спасибо, я кстати заметил, что излагая накопленный опыт в статьях, сам стал лучше понимать, что к чему 🙂

    Так что двойная польза всем 🙂

    Reply
  9. Lapitskiy

    Если есть вопросы по помидорной технике управления временем — можем обсудить вот тут на форуме: http://forum.infostart.ru/forum1/topic140075/

    Reply
  10. oleghost

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

    Алексей, в прошлых статьях Вы упоминали коэнзин q10. Поисковик выдал огромное разнообразие как производителей так и вариантов состава. Поделитесь пожалуйста своим опытом. Насколько он Вам помогает и какой используете лично?

    Reply
  11. Lapitskiy
    Алексей, в прошлых статьях Вы упоминали коэнзин q10. Поисковик выдал огромное разнообразие как производителей так и вариантов состава. Поделитесь пожалуйста своим опытом. Насколько он Вам помогает и какой используете лично?

    Хороший вопрос!

    Я лично закупаю на iHerb, пробовал вот эти:

    http://www.iherb.com/Doctor-s-Best-CoQ10-with-BioPerine-100-mg-120-Veggie-Caps/15658

    http://www.iherb.com/Natural-Factors-Coenzyme-Q10-Enhanced-Absorption-100-mg-60-Softgels/2715

    Ранее брал от irvin Naturals, но потом они резко сменили линейку, и теперь Коэнзим входит в комплексный препарат, что меня не успраивает.

    Еще считается для усиления эффекта Коэнзима, принимать его совместно с Gingko Biliba, который также позитивно влияет на мозговое кровообращение.

    Считается, что после 40 принимать Q10 нужно непрерывно, но я пока 2 раза в год по 2-3 месяца.

    Знакомый одноклассник, врач, делает так же.

    Насколько помогает, это сложный вопрос, так как этот препарат стратегического действия, т.е. из области «группа принимающая препарат, через 5 лет показала более высокие результаты» 🙂 По крайней мере, это считается научной добавкой, но в официальной медицине идет, как «поддержка сердечно-сосудистой системы», из группы, кажется «энергетики».

    Reply
  12. Taktic

    (1) insurgut, практически ВСЕ программисты с которыми я обсуждал этот вопрос считают что уж они то работают быстрее, чем «обычные» программисты и на этом основании имеют право завышать почасовку для клиента.

    Кстати, «среднестатистический франчайзи» — это кто? Студент неделю назад первый раз в жизни открывший конфигуратор?

    Поэтому лично я стараюсь не использовать при общении с клиентами понятия «часа работы», а называть сразу сумму в которую я оцениваю ту, или иную работу.

    Reply
  13. Lapitskiy

    (12) Taktic, да, согласен, для клиента это самое лучшее — сразу знать, сколько он заплатит в итоге.

    Reply
  14. pulpik

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

    Reply
  15. insurgut

    (12) Taktic, в большинстве случаев так и есть (я о студентах, впервые открывших конфигуратор). И по часам работы тоже соглашусь, та или иная работа оценивается сразу. Какая-то работа потребует вашего дальнейшего по сути бесплатного участия, поэтому оно закладывается в сумму заранее.

    Reply
  16. Lapitskiy

    (14) pulpik, да, надо как-то коммерциализировать, нужно мне с кем-то скооперироваться, с кем-то типа «маркетолог от природы» 🙂

    Reply
  17. МимохожийОднако

    В статье ничего не увидел про семью, любовь, детей. ИМХО. Фактор, который зачастую перекрывает все благие намерения. Впечатление, что человек становится успешным, но одиноким. Некий эгоцентризм присутствует. Хотя к похожим психологическим подходам пришёл тоже.

    Reply
  18. vener2004
    Какая продолжительность жизни человека в естественной природе? Для этого взглянем на таблицу, составленную Всемирной Организацией Здравоохранения, и в самом низу будут страны без цивилизации, мы увидим примерно 30-35 лет. Далее человек умирает обычно по насильственной причине.

    Википедия

    Нижняя строчка Сьерра-Леоне — 46 лет.

    Reply
  19. Lapitskiy

    (18) vener2004, википедию лучше не смотреть, там сейчас много политкорректности стало.

    Я в нее смотрел примерно 5 лет назад, там тогда было 32 года внизу 🙂 Наверное руководство решило, что теперь они живут лучше, и веселее 🙂

    Reply
  20. Lapitskiy

    (17) МимохожийОднако,

    В статье ничего не увидел про семью, любовь, детей. ИМХО

    Согласен, маловато освещено.

    Тут 2 фактора — во-первых,я не люблю это афишировать.

    Во-вторых, сейчас эта тема весьма табуизирована и зарегулирована. Так что, если я не хочу вызвать у кото-то «задетые чувства» (где этот орган, скажите, у человека? как его можно задеть)))

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

    Можем собраться на закрытый вебинар с теми, кому это интересно, и пообсуждать :)))

    Reply
  21. Solemn

    (11) считается, что янтарная кислота по воздействию аналог коэнзим Q10, только более дешевый, я сижу частенько на ней

    Reply
  22. Ibrogim

    За wunderlist один ставлю плюс !

    Reply
  23. Lapitskiy

    (21) Solemn,

    янтарная кислота по воздействию аналог коэнзим Q10

    Это да, согласен.

    Оба по воздействию как антиоксиданты.

    Но! Без янтарной кислоты организм может спокойно жить, она ему не нужна как таковая, а вот коэнзим — составная часть метаболизма, которой с возрастом всё меньше и меньше.

    Reply
  24. insurgut

    Может и не по теме, хотя, раз уж об эффективности труда речь… А я тут давненько уже заказывал на iHerb мультивитамины… До этого просыпался всегда тяжело, сонливость в течении дня постоянная, в голове как будто пробка была… Через 2 месяца — вообще кардинально поменялось все. Встаю на раз два, бодрее гораздо, на работе спать не хочется. При всем при том — до этого пил всякие мультивитамины с наших аптек и разрекламированные и не очень — вообще толку от них никакого не было.

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

    Reply
  25. Lapitskiy

    (24) insurgut, хорошие витаминки!

    состав кстати, довольно простой, но зато цена радует.

    Я из РФ витаминов люблю «Алфавит», у него — грамотное разделение на 3 части в течение дня.

    А из иностранных на iHerb — пью мультивитамины вот такие: http://www.iherb.com/Now-Foods-Special-Two-Multi-Vitamin-240-Veggie-Caps/787

    Reply
  26. Ibrogim

    (25) А к доказательной медицине как относитесь? Где черпали информацию о эффективности витаминов?

    Тема про витамины на русмедсервере

    Reply
  27. Lapitskiy

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

    Если бы мы жили «соприродно», и питались «как в природе», тут конечно, не было бы смысла в витаминах, так как все равно нас бы съели после примерно 35 лет, или мы бы погибли от какой-нибудь инфекции. А так как жизнь в городе и цивилизации кардинально отличается от соприродной, то и методы надо подбирать соответственно. ИМХО.

    Reply
  28. Ibrogim

    Ок, буду отбиваться сам до

    примерно 35 лет

    а там может и исследования подтянутся. )

    p.s.1 Пил Мелатонин, эффекта не заметил. А вот сон по 9 часов реально способствует повышению работоспособности.

    p.s.2 доказана эффективность(необходимость) применения йодидов (особенно на Урале) так что йодомарин я пью.

    Reply
  29. Lapitskiy

    (28) Ibrogim, тут все индивидуально, конечно, все мы немного разные.

    Мелатонин — возможно дозировка маленькая, он же от веса зависит 🙂 Если пить за час до сна, то результат должен быть. Утром — нельзя.

    Да, йод еще со времен СССР в школе давали, так что 100% что это не рекламный ход, тогда еще рекламы и маркетинга не было 🙂

    Reply
  30. Petr54-ru
    Reply
  31. Lapitskiy
    Что-то зацепила статья, не смог просто мимо пройти…

    Спасибо за ответ 🙂 Прям как отдельная статья!

    В целом, да, согласен с Вашими выводами.

    Reply
  32. Rustig

    (0) ежегодно перечитываю

    Reply

Leave a Comment

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