Инфостарт. Восьмерка. Лучшее




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

85 Comments

  1. Арчибальд

    Не прошло и 14 месяцев 😎

    Reply
  2. Alraune

    (1) Я-то здесь меньше года)))

    Reply
  3. Арчибальд

    Соотношение скачивания/плюсы более 16. У меня было около 10. Т.е. наглости у восьмерочных потребителей в полтора раза больше, чем у семерочных 🙁

    Reply
  4. Alraune

    (3) Просто КПД публикации в 2,5 раза меньше, у тебя топ-250, у меня — 100. Кстати, плюсы поставили семерочники(!)

    Reply
  5. Арчибальд

    (4) Т.е. ожидается соотношение в районе 25 😮

    Reply
  6. Tatitutu

    (4)

    Кстати, плюсы поставили семерочники(!)

    не семерочники, Вах ! А настоящие мужчины 😀

    Reply
  7. Alraune

    (6) Точно, перечитала, и правда у меня как-то двусмысленно вышло )))

    Reply
  8. Арчибальд

    (6) Это почти одно и то же 😉

    Reply
  9. pupkinSana

    Не понял, куда поставить плюсы, что семерка лучше?

    Reply
  10. Alraune

    (9) Ставите плюс сюда: http://infostart.ru/public/22391/ Затем скачиваете тот каталог и ставите там плюсы всем по списку.

    Reply
  11. Арчибальд

    (9) Ставь здесь, не ошибешься 😀

    Reply
  12. MSensey

    Почему doc, а не html?

    Reply
  13. pupkinSana

    Вопрос к модератору: какая статистика пользователей 77 или 8 больше (скачивания, работ…)? Может открытый опрос устроим? Мне интересно было бы например. Оно и понятно политика 1С — вытеснить 7ку. Но мы будем биться до последнего.

    Reply
  14. MSensey

    Уверен, что в список не попало много лучших разработок, т.к. автор отобрал по количеству «плюсов».

    Reply
  15. Alraune

    (13) Опрос Вы и сами можете провести на форуме, а у модераторов и без того дел хватает, уж если честно

    (14) Согласна, думаю, потом список расширится, надо же с чего-то начинать. Нет возможности все взять, протестировать и выбрать лучшее. Насчет формата — можно и в другой сконвертировать, вряд ли это для Вас проблема

    Reply
  16. Арчибальд

    (14) И я в этом уверен. И автор. А слабО сделать обзор лушей десятки всех времен? С аргументацией, перекрестными ссылками на аналогичные/похожие, историческим анализом?

    Reply
  17. Арчибальд

    (13) Был опрос примерно с год назад. Точно не помню, но соотношение восмерочники/семерочники/всеядные было около 50/25/25

    Reply
  18. Alraune
  19. MSensey

    (16) мне это не интересно

    Reply
  20. Ish_2

    Ай, да Ирина. Ай , да Молодец !

    Даже ехидничать не хочется…

    Reply
  21. Ish_2

    (20) Ты , Женя , слишком требователен к инфостарту. Ты предполагаешь , надеешься что Инфостарт станет некой дейтсвительно профессиональной площадкой , а рейтинг неким мерилом профессиональной ценности. Только ты забываешь , что тогда начинать нужно совсем не с рейтинга, а с реорганизации ИС. Это почти революция.

    Тут всякими приблудами-сервисами , «новыми эрами» не обойдешься.

    Нет , Женя . Уймись.

    Я знаю всё и вижу наперед :

    И профессиональный портал не будет создан. И нас, любителей и дилетантов , распугают , разгонят.

    Reply
  22. RailMen

    ❗ Отрадно, что дело подборок заметных работ продолжается. ❗

    Reply
  23. YAN

    Во Eugeneer расперло к вечеру 😀

    (21) плюс в обработке/отчете это для удобства ведь надеюсь никто при открытии обработке/отчета не вызывал отправку плюса 🙂

    (22) А для коммерческих нужен свой рейтинг, лично для меня Инфостарт это хранилище все же бесплатных наработок программистов.

    (24) Не приведет ли это к том что все новое будет хорошо забытое старое?!

    Reply
  24. YAN

    (29) Не я очень люблю все новое, вот когда вышла 8.2 она мне сразу понравилась, а когда еще и разобрался с тонким клиентов еще больше понравилась, но также нравится стабильность и отсутствие явных косяков (таких как с 8.2.12).

    (30) Ну это наверное говорит о их опыте!

    (31) Наверное тоже было б интерес и такой рейтинг в добавок к текущему. Ну для интереса кто как в году себя проявил.

    Reply
  25. Ish_2

    (31) Резонно. Возможно даже , ты абстрактно прав.

    А теперь ответь на вопрос : кто это будет решать и как ?

    Сегодняшний рейтинг ,само собой, ни о чем не говорит и нафиг никому не нужен…

    А ты только тронь его !!!!

    Попробуй и многое узнаешь о себе и своих товарищах .

    Инициаторы такого проекта переплюются сначала со всеми остальными ТОПниками , а потом между собой…

    Reply
  26. Ish_2

    (34) Понятно. Почти как рейтинг у теннисистов. Нарастает и действует только в текущем году. Но ты договаривай :

    и тогда нынешняя сотня обновится процентов на 40-60%.

    Э.. такое изменение правил игры нужно с кем-то как-то согласовывать ?

    Или пошептаться с Доржи и всем «отстойникам» привет ?

    Ты старательно обходишь процедуру принятия решения.

    Reply
  27. Ish_2

    (34) Кто будет публиковаться в декабре, последнем рейтинговом месяце ?

    Какой смысл ? Лучше уж в январе : на целый год хватит.

    В декабре на ИС перерыв сделаем ?

    Для справки у теннисистов-профессионалов в декабре — перерыв в турнирах.

    Reply
  28. Ish_2

    (34) Ты пойми простую вешь : ИС — не профессиональный клуб, никогда им не был.

    Рейтинг — не мерило профессионализма ( если ты всерьез где-то сошлешься на свой рейтинг на ИС — то , думаю, кроме недоумения ничего не почувствуешь).

    Ты хочешь на ИС натянуть пресловутый профессионализм.

    Плюнь.

    Забава, хобби — это, уверяю тебя, не так мало. Пусть ИС останется местом общения.

    Где и дилетанты и профессионалы — вместе.

    Reply
  29. chmod660

    спасибо за обзор, интересно.

    Reply
  30. (0) Поставил плюс в основном за то, что не была забыта гениальная обработка poppy, которая экономит время создания и отладки ВПФ чуть ли не вполовину.

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

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

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

    Reply
  31. artbear

    (0) По рейтингу и годам — на самом деле забытые и давно решенные старые решения будут возникать вновь и вновь.

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

    так что рейтинг с учетом года публикации совершенно не выход 🙁

    Reply
  32. Шёпот теней

    … а! … судьи КТО … ???

    … не хочу НИКАК обидеть автора ( я его очень уважаю за его таланты…) …

    … но всё таки ? а судьи кто ? …

    … всякий суд должен к чему-либо ставить однозначную оценку … ! на неё ВСЕ равняться должны … следовательно должна быть некая команда — иначе субЪективизм …

    … в команду должны входить «Уважаемые» и «Старейшины» … и должна быть хоть какая-то планка профессионализма (равнение на среднего приводит к обнулению) …

    … ктому же ЭТО отвественно … видимо с ответственностью у нас и проблема …

    … вот …

    п.с. попытки создания такой команды предпринятой Арчибальдом — знаем чем увенчалась … и видимо и данный обзор закончится личным ростом автора … хотя и это результат ! …

    п.с. менять «форму» хорошо … но качество в «содержании» …

    Reply
  33. WKBAPKA

    за труды

    Reply
  34. Alraune

    Кстати, заметила вот такой факт. Сравнение самых рейтинговых программ по 7 и 8 показало:

    В 7.7 наибольшее количество рейтинговых программ относилось к разделам:

    1. Все для ЗиК (16%)

    2. Все для ТиС (12%)

    3. Внешние компоненты и расширение возможностей (9%)

    4. Технологические приемы и инструменты (7%)

    В 8.Х соотношение принципиально другое:

    1. Технологические приемы и инструменты (21%)

    2. Администрирование, сервис (21%)

    3. Обмен данными (13%)

    Reply
  35. KapasMordorov

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

    И кто-то, кто этим заниматься будет.

    А рейтинг он такой, тусовочный совсем стал.

    Reply
  36. Ish_2

    (46) Сижу , считаю, переживаю.

    Ирина вот-вот меня в рейтинге обгонит.

    Хоть и «тусовочный» , а неприятно.

    Reply
  37. KapasMordorov

    (47)

    Новые технологии разводилова эффективней.

    🙂

    Reply
  38. Rusmus

    (46) хоть и тусовочный, а влияет на лимит скачивания (

    вот сейчас не могу скачать представленный файл. а завтра не смогу скачать перечисленные в нем разработки ((

    Reply
  39. KapasMordorov

    (49)

    Нужно взять модную тему (сейчас переход БП 1.6-2.0), сделать что-нибудь по конвертации (перенос кадровых документов, прием на работу например одним реквизитом отличается) или списать в одну статью все ошибки найденные на форумах.

    Reply
  40. Шёпот теней

    (50) … любая игрушка … набор картинок … что — нибудь с екселем … обязательно МСФО … обязательно управляемые формы … жесть СКД …

    + какой-нибудь обзор …

    … ВОТ …

    Reply
  41. Арчибальд

    (49) Воистину! Не знал бы, что перечисленные разработки существуют, не так обидно было бы 🙁

    Reply
  42. sashtet

    Большое спасибо!Было бы лучше в эксель выложить,удобнее сортировать.Поставил плюс за работу.

    Reply
  43. Alraune

    (53) Позже надеюсь довести хотя бы до Топ-250, тогда постараюсь сделать и в екселе. Спасибо)))

    Reply
  44. Flashback1979SE

    Вай вай, какой листинг кюрютой))) Шикарно) Помогло найти некоторые вещи, которые хотел сам писать)

    Reply
  45. Збянтэжаны Саўка

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

    Reply
  46. alex_4x

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

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

    Помнится был такой «ЕСИС» — жаль не обновляется. Очень жаль. Ведь столько всего нового появляется, а книжки от 1С не всегда доходчиво и по существу излагают.

    Reply
  47. alexk-is

    (0) Посмотрел «Инфостарт. Восьмерка. Лучшее (версия на 31.01.2011)».

    Зачем в файлике колонка «Рейтинг»? Если это рейтинг публикации, то смотрим первую строчку. У публикации рейтинг 337, а в файле 325. У публикации рейтинг не менялся с 11.01.2011. Несостыковочка. Может быть убрать колоночку, ну, или актуализировать по состоянию на 31.01.2011?

    Reply
  48. luns

    имхо.

    «маху» я бы выкинул из топа.

    она плюсики наклянчила. 😀

    Reply
  49. Alraune

    Почему-то сообщения в почту про комментарии категорически перестали приходить.

    (58) Да, Вы правы, надо или то, или другое, но времени сейчас хватает только чтобы раз в месяц добавлять появившиеся и набравшие высокий рейтинг за последнее время. Если колонку убрать, будет малоинформативно. Если все переделывать, слишком много времени. Если, как сейчас, данные неверные, то тоже плохо. Кажется, я поняла, почему Арчибальд забросил свой топ-100 и перестал его обновлять. Буду думать, как сделать.

    (59) Пусть лучше остается. Меня и так обвиняют в том, а по какому основанию у меня здесь все собрано.

    Reply
  50. cleaner_it

    (60)

    (58) Да, Вы правы, надо или то, или другое, но времени сейчас хватает только чтобы раз в месяц добавлять появившиеся и набравшие высокий рейтинг за последнее время. Если колонку убрать, будет малоинформативно. Если все переделывать, слишком много времени. Если, как сейчас, данные неверные, то тоже плохо. Кажется, я поняла, почему Арчибальд забросил свой топ-100 и перестал его обновлять. Буду думать, как сделать.

    делать таблицу в виде HTML, и чтобы рейтинг автоматом брался с сайта текущий

    Reply
  51. Alraune

    (61) Спасибо. Постараюсь так сделать.

    Reply
  52. alexk-is

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

    Reply
  53. Alraune

    (63) Спасибо! С обычным форумом вчера разобралась, здесь, оказывается, теперь тоже так надо!

    Reply
  54. vl88

    Спасибо за это!потрясающий сайт для 1ски!

    Reply
  55. artbear

    Пора обновить список 🙂

    Например, http://infostart.ru/public/89892/

    Reply
  56. Alraune

    (66) Спасибо. Надо, давно надо, все руки не доходят. А что, она в обновленные попала? Ой, уже сама посмотрела, вижу, что нет, думала, случайно поставила изменение даты. А так — да, в ближайшее время займусь обязательно.

    Reply
  57. tchvlad

    Отличный проект, помогает разобраться с чужими наработками, спасибо!

    Reply
  58. mtv:)

    Хорошая идея, только жаль, что давно не было обновления. Из-за этого ценность данного проекта постепенно снижается…

    Очень хотелось бы прочитать свежий обзор.

    Reply
  59. vejda

    Спасибо!

    Reply
  60. Alraune

    (69)

    Спасибо)) делаю-делаю, уже получила справедливый пинок от artbear… на следующей неделе будет готово. И правда, много нового добавилось)))

    Reply
  61. Alraune

    (66)(69) Спасибо еще раз за заслуженные пинки напоминания. Обновлено, на сегодняшний день прикреплен новый файл

    Reply
  62. asg1975

    Спасибо за обновление!

    Reply
  63. kr_andr

    Спасибо

    Reply
  64. Nad_ya

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

    Reply
  65. serpisal

    Спасибо! Комплект снимает много вопросов как у новичков стажеров так и спецов с большим опытом

    Reply
  66. Созинов

    Отличная подборка. Хотелось бы конечно, чтобы в будущем дополнительно оформлялось в виде статьи, хотя конечно понимаю, что это требует еще больших затрат времени. Спасибо.

    Reply
  67. Alraune

    (77) И Вам спасибо. В виде статьи точно не будет, времени нет. И так стараюсь хотя бы иногда обновлять и дополнять

    Reply
  68. dyh

    Спасибо, нужно такие публикации прикреплять прям куда-то на видное место…

    Ну и обновлять конечно же ;)))

    Reply
  69. mkostya

    Спасибо. Ждем обновление и лучших. Плюсик за труды.

    Reply
  70. Deniz200

    нужно

    Reply
  71. Анна79

    Спасибо, нужное дело делаете. Спасибо за вашу работу, ну и обязательно плюс.

    Reply
  72. luckardo

    Если там ссылка на архив то ещё можно поставить+

    Reply
  73. BalVlad

    Автору огромное спасибо за такой труд. Ждем обновления. И конечно плюс.

    Reply
  74. askoder

    спасибо

    Reply
  75. sfkey

    нашел интересные вещи. работа проделана не зря

    Reply
  76. SiviS

    Интересная подборка! Много интересного! Спасибо автору!

    Reply
  77. tropin_a@mail.ru

    спасибо. жаль нет sm скачать((

    Reply
  78. zigomodo

    (90) Tirael, Взаимно,брат(

    Reply
  79. kilokilo

    (47) Ish_2,

    ну так выскажись — http://forum.infostart.ru/forum24/topic65450/message720777/

    Reply
  80. Ish_2

    (93) Изжевано многократно. Неинтересно.

    Reply
  81. KliMich

    Спасибо за подборку!

    Reply
  82. Доня

    Спасибо! Удачная вещь, как любой справочник, чтобы не блуждать в поисках!

    Reply
  83. engineer74

    надо положить себе в справочную информацию и не потерять

    Reply
  84. rpgshnik

    Свежие обновления будут?

    Reply
  85. Alraune

    (98) Постараюсь сделать

    Reply

Leave a Comment

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