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




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

23 Comments

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

    Да все проще на самом деле: руководитель автоматизируемого предприятия или подразделения предприятия должен:

    1) Очень четко представлять все бизнес-процессы руководимого им подразделения (как ни странно это звучит: большинство руководителей не представляют этого);

    2) Соотвественно поставить условия, что на входе программного оеспечениЯ (ПО) должны быть таки вот вводные, а на выходе такие вот результаты. Время получения результатов из вводных — такое-то вот.

    Бюджет проекта — такой вот.

    А выбор непосредственного самого ПО — это не его сфера компетенции. Прекрасно, если он разбирается в этом, нет — тоже ничего критически страшного

    Reply
  2. CheBurator

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

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

    Вот и все.

    Reply
  3. AlexKnv

    > А выбор непосредственного самого ПО — это не его сфера компетенции. Прекрасно, если он разбирается в этом, нет — тоже ничего критически страшного

    А мне понравилось, как автор некомпетентность руководителя предлагает употреблять в качестве индикатора, работать или не работать с конкретной фирмой. И полностью согласен, что все-таки в выборе ПО должен участвовать именно руководитель. (Может, в других вопросах он и переложит на кого-нибудь решение)

    Reply
  4. O-Planet

    Ладно, добавил в начало статьи примерчик, «как бывает, если…», чтобы не быть голословным. Хотя, не люблю скатываться до западных проповедников, легко начинающих проповедь о спасении души рассказом о вкусном клубничном пироге, съеденным накануне

    Reply
  5. CheBurator

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

    Ошибка (ясен перец имхо, писал об этом ранее) — ГЛАВНОМУ РУКОВОДИТЕЛЮ (вниз по цепочке иерархии) нужно руководить, а не кидать начальника отдела АСУ на год в свободное плавание, а потом удивляться — куда бабло уходит… Проблема в данном санатории — в головном руководстве.. вот и все..

    Reply
  6. vasilykushnir

    Полностью согласен с Сhe Burashka. А нахрын тогда такому руководителю АСУ, если руководитель все будет решать, может он сам и программу напишет между перекурами. Если он взял кулибина, т.е. не хватило мозгов оценить, что за кренделя он берет, то скажите на милость, как он, блаженный, оценит программный комплекс — ведь не мясорубку покупает в конце концов. А Руководитель (не путать с начальником!) он на то и руководитель чтобы подбирать штат хороших специалистов и руководить ими и ДОВЕРЯТЬ черт ворт возьми им.

    Reply
  7. vasilykushnir

    А что откоректировать или удалить коментарий низзя?

    Reply
  8. O-Planet

    Да не так несколько…

    Я пишу:

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

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

    Reply
  9. O-Planet

    > Видимо головное руководство зажлобило зарплату нормальному руководителю (решило сэкономить) — все остальное следствие..

    А это ты зря так думаешь. 🙂 Поскольку руководство находилось в Москве, а мы в Ульяновске, то з/п там были пусть и не московские, но и далеко не местные.

    Мы тут периодически пишем разные программы для москвичей по заказам с o-planet. Так вот, когда им счет выставляю — они и не торгуются даже. 🙂 Мне как-то по секрету один менеджер намекнул, чтобы я не скромничал, потому что их программист за подобную работу в пять раз больше запросил. А я и не скромничаю, по сути. Я и так накручиваю на ульяновские цены еще процентов 50-100.

    Reply
  10. vasilykushnir

    Согласен, на самотек пускать нельзя. Но ведь часто-густо бывает и так: начальник (НЕ руководитель!) «находит» фирмочку, ее начальник первому хорошо проедется по ушам (а если сват-брат, то вообще туши свет). И вот с той фирмочки приходят «специалисты»-фифочки, которые несут себя выше облаков, местного программиста вообще в упор не видят, а пишут такую хырню… И при этом получают в час больше, чем местный за два дня, да еще пароли суки ставят, чтобы скрыть свое корявое программирование. Сам побывал в такой шкуре и пока на нескольких обработках не доказал, что мои раз в 10 быстрее (начинал программирование все-таки не с 1С, а на более серъезных системах, еще с ассемблера) — смотрели, как на последнего урода. А вот такие кулибины потому и появляются, что 1С-программирование имеет кажущуюся простоту: написал ЕРТэшку печати той же расходной — и уже офигенный программист. И ей богу, не анекдот: искренне считает, что Кнут — это батог.

    Reply
  11. CheBurator

    > Не стоит, не глядя, подписывать договор на автоматизацию,

    > приняв на веру слова своего эксперта, и не пообщавшись прежде

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

    > судьбу своей конторы.

    Эксперт на то и эксперт, что его слова принимают на веру. Иначе необходимо будет изучить (и подробно) ту предметную область, которую представляет эксперт. А посмотреть с умным видом, на данные/методы которыми эксперт на потребу начальника обоснует свое решение — можно, наверное и так… Конечно, все зависит от размера фирмы… и возможностей и компетенции начальника…

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

    Reply
  12. CheBurator

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

    Так что О-планет (имхо) не прав своей статьей в общем случае — но очень точно выхыватил отдельные негативные моменты, которые еще имеют место быть в нашем продвинутом обществе … Гораздо интереснее обсудить пути и методы недопущения такого «негатива» (путь, предложенный О-планетом, считать как резервный — когда уже другие не фурычут…)

    Reply
  13. O-Planet

    > Так что О-планет (имхо) не прав своей статьей в общем случае — но очень точно выхыватил отдельные негативные моменты

    Вопрос принципиальный. Как это и не дико может звучать, но я все-таки убежден, что настоящий руководитель не повесит решение вопроса по информатизации своего бизнеса на кого-то еще, оставшись сам в стороне (монстры типа УРАЛСИБа и АвтоВАЗа — не в счет). Ведь будет же он решать сам вопрос по, скажем, выбору места расположения нового офиса, будет просматривать сам рекламные проспекты поставщиков, когда речь пойдет о покупке офисной мебели. Думаете, выбор программного обеспечения для фирмы менее важен, чем подбор стола для конференцзала?

    Странно слышать именно от программистов такое мнение!!!

    Reply
  14. CheBurator

    Частично согласен, частично нет…

    Стол и офис — это рабочее пространтсво шефа и здесь он вправе и КОМПЕТЕНТЕН в выборе.

    Информационное наполнение офиса — это не рабочее место шефа, он пользуется «результатами» этих рабочих мест и, имхо, априори, не может знать все запросы и нужды на «всех рабочих местах», поэтому здесь он ВПРАВЕ, но НЕ КОМПЕТЕНТЕН в выборе — и тут должен опираться на мнение «эксперта» — кто эксперт — свой или чужой — зависит от многого. в нормальных конторах, где люди бъются за дело свойе фирмы — предпочтительнее свой. По моему мнению в среднем баланс в принятии решения по информатизации офиса где-то в пропорции 20% шеф 80;% спец., м.б. чуть больше в сторону шефа. Если баланс обратный — либо фирма маленькая, либо шеф «больной»… ;_)

    Reply
  15. vasilykushnir

    >O-Planet

    >Странно слышать именно от программистов такое мнение!!!

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

    Ведь никто ж не спорит по главному тезису должен или не должен руководитель… Конечно он НЕ ДОЛЖЕН оставатся в стороне. Просто не надо кидатся в крайности: или полный контроль или никакого… Истина всегда посредине. А вот доля участия в принятии решения — тут я полностью согласен с Сhe Burashka — эта доля в большой степени зависит от компетентности руководителя и (может, к сожалению, еще в большей) от его амбиций — но это уже как фирме повезет с руководителем. Лично мне очень неприятны люди, которые с умным видом рассуждают о предметах в которых ни рылом, ни копытом. Да еще пытаются навязать свое мение. Через 5 минут общения с таким человеком уже не о чем с ним говорить. И что? Такой вот крендель будет принимать единоличное решение? Прелестно….

    Reply
  16. O-Planet

    Я и не кипячусь. Просто Чебурашка любит критиковать (не всегда по теме 🙂 ) и тем самым создает видимость, что все — не то. (А вообще, создается впечатление, что иногда люди, читая что-то, в этом видят свое, а не то, что пытается сказать автор). Пример:

    > Информационное наполнение офиса — это не рабочее место шефа, он пользуется «результатами» этих рабочих мест и, имхо, априори, не может знать все запросы и нужды на «всех рабочих местах»…

    В моей аргументации нет и намека на то, чтобы шеф был «компетентен» и чтобы он решал задачу за начальника техотдела. Не о том вообще речь в статье!!! Шеф может, будучи сам не компетентен в предметной области, понять, общаясь с представителями фирмы, а насколько эта фирма вообще способна удовлетворить потребности его предприятия? Умеют ли спецы слушать? Соглашаются ли со всем? Ждут ли, чтобы им подсказывали, или сами способны что-либо предложить? Могут ли донести ему, не компетентному, суть того, что они делают? И т.д.

    > Просто не надо кидатся в крайности

    Вот-вот!!!

    Reply
  17. O-Planet

    > Информационное наполнение офиса — это не рабочее место шефа, он пользуется «результатами» этих рабочих мест…

    Правильно. Осталось уточнить, а НАСКОЛЬКО он пользуется этими результатами. Фактически, насколько выбор программного обеспечения что-либо определит в будущем. Я этой статьей хочу сказать только одно: ЭТОТ ВЫБОР ОПРЕДЕЛЯЕТ ПОЧТИ ВСЕ. К сожалению, такое понимание — не у всех. Некоторым директорам, даже руководящим крупными фирмами, кажется, что на стол для конференцзала из красного дерева денег не так может быть жалко, как на оплату работы грамотных программистов, или покупку продвинутой информационной системы. К сожалению, очень часто приходится сталкиваться с мнением, что автоматизация бизнеса — это дело десятое, почти ничего не прибавляющее к успеху дела в целом. И поэтому, решающим фактором для многих в вопросах автоматизации является цена вопроса. (Даже без ТЗ)

    Reply
  18. CheBurator

    Спакуха!

    > Просто Чебурашка любит критиковать (не всегда по теме 🙂 )

    Есть такое, и если мое критиканство на балансе лучше чем +70/-30 — то это уже практически не критика, а добрый домашний доктор 😉

    O-Планет любит писать, но в своей «писанине» 😉 не может донести мысль нормально… В первоначальной статье — почти все бред 😉 А вот при высказывании в обсуждениях О-планет развивает/высказывает нормальные мысли. Что мешает первоначально изложить внятно ..?

    >Шеф может, будучи сам не компетентен в предметной области, понять, общаясь с представителями фирмы, а насколько эта фирма вообще способна удовлетворить потребности его предприятия? Умеют ли спецы слушать? Соглашаются ли со всем? Ждут ли, чтобы им подсказывали, или сами способны что-либо предложить? Могут ли донести ему, не компетентному, суть того, что они делают?

    … Угум… согласен… Да за ради контракта на автоматизацию — они так красиво все расскажут, не придерешься… а врезультате работать будут год вместо 3-х месяцев и т.д. пока не поедешь к их начальству с пимерами их работы и не начнешь в пристуствии их начальства показывать перлы их работников… всякое бывает…

    Была вотодна контора, крупная. Биллинговую систему пришлось покупать — ходили, выбирали, не одно предложение просмотрели, всезде все было ок. Вроде выбрали… В результате — время угроблено, до сих пор работают на самописном биллинге — ибо банально у внедряющей фирмы не хватило специалистов/квалификации… — вот и где здесь прокол…? И начальство участие принимало и специалисты ходили-общались, а не вышел каменный цветок… Это так, в плане рассуждения…

    ..

    > насколько выбор программного обеспечения что-либо определит в будущем. Я этой статьей хочу сказать только одно: ЭТОТ ВЫБОР ОПРЕДЕЛЯЕТ ПОЧТИ ВСЕ. К сожалению, такое понимание — не у всех.

    ..

    Согласен на все 100%.

    Только хотел бы уточнить — не выбор программного обеспечения, а вообще понимание начальством того, что вложиться в информационную инфраструктуру своего предприятия придется не по деццки…

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

    Reply
  19. O-Planet

    > В первоначальной статье — почти все бред 😉

    Вот ведь, блин! 🙂

    > А вот при высказывании в обсуждениях О-планет развивает/высказывает нормальные мысли. Что мешает первоначально изложить внятно ..?

    Быть может, гениальность?.. (Или скромность? 🙂 )

    > Была вотодна контора, крупная.

    Да таких примеров — куча! Вот про то и статья, что если рук. нормальный, то он отличит рекламу от сути. А ежели не нормальный, то так ему и надо. Кстати, история с тем самым санаторием завершилась банально. Они того спеца уволили и обратились по рекламе к одной фирме-франчайзи, самой раскрученной. В результате — новый договор на 600 000 руб, год работы и … никаких результатов. Но формально та фирма по договору сдалала все, что планировалось.

    Reply
  20. CheBurator

    Вот весь вопрос -то в как раз в этом

    > то он отличит рекламу от сути.

    и вот

    > В результате — новый договор на 600 000 руб, год работы и … никаких результатов. Но формально та фирма по договору сдалала все, что планировалось.

    ..

    как раз об этом свидетельствует…

    как выбирать поставщиков? как выбирать автоматизаторов?

    надо попытаться найти ответы на такие вопросы…

    Reply
  21. olegol

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

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

    Так-что O-Planet всё правильно написал, хорошая статья.

    Reply
  22. CheBurator

    Олегол! Молодец! Первый абзац — просто кладезь!

    Reply
  23. a.v.petuhov

    > Когда же мы поинтересовались, кому были нужны

    > такие затраты, он удивленно посмотрел на нас и

    > лаконично ответил: «России!»

    Чую, тут не обошлось без Плана Путина!

    Reply

Leave a Comment

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