Менеджер vs Программист




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

56 Comments

  1. kauksi

    По заголовку уже определяю автора ) Опять поток сознания, а жаль — ведь начинал неплохо. Но диссертации по таким темам не пишут…

    Reply
  2. Alien_job

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

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

    Reply
  3. Steelvan

    (2) Этот ресурс уже давно опускается.

    Reply
  4. genayo

    Хорошим быть хорошо, а плохим быть плохо. Будь хорошим, а не плохим.

    Reply
  5. forseil

    (1)Это завязка сюжета… надо набраться терпения)

    Reply
  6. capitan

    Скоро можно будет ставить минус уже не читая

    Reply
  7. viking7

    Отличная статья! Универсальная. Вместо менеджера и программиста можно вставить любые профессии и описать, как нужно хорошо работать и как не нужно работать плохо. Программист должен программировать это факт. Хирург должен резать, дворник подметать и т. д.

    А мне почему то вспомнился Владимир Маяковский

    Крошка сын

    к отцу пришел,

    и спросила кроха:

    — Что такое

    хорошо

    и что такое

    плохо?-

    У меня

    секретов нет,-

    слушайте, детишки,-

    папы этого

    ответ

    помещаю

    в книжке.

    Reply
  8. smirnov.es

    Программисты хорошие, они должны быть главными. Менеджеры плохие, они должны слушаться программистов.

    P.S. Я программист

    Reply
  9. t.v.s.

    (8)Менеджеры плохие, программисты плохие. Главными должны быть «бизнес-программисты», что бы это слово не означало

    Reply
  10. herfis

    (6) Я просто перестал читать его статьи, когда постоянно после прочтения оставалось ощущение зря потраченного времени.

    Но заслуживают ли они минусов? Вряд ли. Многим же нравится. Что-то они в них умудряются для себя открыть.

    Чем не духовное наставничество молодежи? 🙂 Не худший вариант.

    Reply
  11. Boneman

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

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

    А если нравится и то и другое ? Остается роль играющего тренера, в конторах среднего уровня.

    Reply
  12. unpete

    (7)

    папы этого ответ помещаю в книжке:

    Если выпил хорошо, значит утром плохо.

    Если утром хорошо, значит выпил плохо.

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

    Reply
  13. vano-ekt

    а лить воду на тематических сайтах — это чей удел, плохих программистов или плохих менеджеров ?

    Reply
  14. vano-ekt

    (4)

    Хорошим быть хорошо, а плохим быть плохо. Будь хорошим, а не плохим.

    Плохим быть очень хорошо, А хорошим плохо(с)

    или

    мы за все хорошее, против всей… (с)

    Reply
  15. genayo

    (14) Ведь если ты плохой — это очень плохо, но если хороший — то это хорошо.

    Reply
  16. t.v.s.

    (15) А это смотря с какой стороны посмотреть. Бывает так, что для остальных ты плохой, но тебе от этого хорошо.

    Reply
  17. AndKovalchuk

    Непонятно , почему вносить изменения в систему — это основная работа программиста.

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

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

    Reply
  18. swimdog

    (18) В статье есть ответ: если не нужны изменения, то нужен администратор, не программист.

    Reply
  19. capitan

    (10)

    я в принципе никому не ставлю минусов на инфостарте, разве что за откровенный плагиат

    но тут невольно вспоминается Козьма Прутков:

    Если у тебя есть фонтан, закрой его.

    Дай отдохнуть и фонтану.


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

    Кому нравится — те пусть ставят плюсы )

    Reply
  20. AndKovalchuk

    (19) Ну это тоже самое, как с хирургом. Вам нужна медсестра, а не хирург.

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

    Reply
  21. AndKovalchuk

    В Истории СССР много хороших примеров, того, что бывает, когда форсируют процесс. Полностью автоматический космический корабль Буран слетал в космос только один раз. Прогресс по сравнению с другими космическими кораблями был налицо, а эффект от этого прогресса практически нулевой.

    Reply
  22. baracuda

    Начинал свою деятельность как «Прог»

    В итоге прог так и не состоялся из меня. Переквалифицировался в менеджера. Пошло полегче, а главное пришло понимание, что как да почему.

    Теперь снова вернулся в программирование и уже намного легче дается.

    Сам не понял, как так получилось

    Reply
  23. pm74

    ждем продолжения: «директор vs главбух» , «франч vs фикси» , «Alien vs Predator»

    Reply
  24. Adam12345678

    Плюсанул. У автора есть своя философия и взгляды. Я думаю, он имеет право на то, чтобы искать себе единомышленников. Инфостарт — чем не среда для таких поисков и экспериментов.

    Reply
  25. swimdog

    (21) Я думаю, что у медсестры прав не хватит для уровня администратора) Здесь аналогия скорее терапевт (администратор) / хирург (программист). Если вам не нужно изменение в системе, то достаточно терапевта, который посмотрит ваше состояние, пропишет таблеточки. А вот если надо изменение в системе, то нужен хирург)

    А медсестра чем вам может помочь? Только укольчик поставить или клизму. Это скорее продвинутый пользователь.

    Reply
  26. Kaspirovsky

    В статье есть что подчеркнуть. Вы посмотрите вакансии которые размещают, и что там пишут. Программист 1с, заходишь смотришь, а там 50% администратор 1с, 50% консультант, ну и где тут программист? а про эффективных менеджеров я вообще не говорю…

    Reply
  27. HAMMER_59

    Был такой предмет на учебе «Основы теории управления автоматизированными системами».

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

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

    А так да, что инженеры занимаются автоматизированными системами, что программисты.

    Есть же еще известный анекдот: «У рыбы шерсти нет, но если бы была шерсть, в ней могли бы водиться блохи…»

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

    Reply
  28. Поручик

    (22) То, что Буран слетал только один раз, виноват не Буран и не прогресс, а совсем другие факторы. Кто знает, как бы всё повернулось.

    Reply
  29. herfis

    (28)

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

    Смелая экстраполяция.

    Reply
  30. DoctorRoza

    (24) Можно еще добавить: «Доктор vs Старшая медсестра» 🙂

    Reply
  31. AlexZhukov

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

    Reply
  32. pm74

    (33) ага , только зачастую не вместЕ а вместО.

    не выдуманная цитаты :

    » 1с должна сама все считать » и » тогда зачем нам программист » (гл. бухгалтер, ООО ***) ,

    или еще вот , почти классика : » шредер должны очищать специально обученные люди » (HR менеджер, ЗАО ****) правда в ту пору по совместительству админил.

    Reply
  33. dachnik

    Весьма странное определение программиста плохого. Лезть в код прежде чем разобрался в типовых механизмах на мой взгляд характеризует скорее неадекватный подход…

    Reply
  34. AlexZhukov

    (29) пока админ изучит всю ЕРП, 1С выпустит новую версию ЕРП где будет совершенно другая структура

    Reply
  35. swimdog

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

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

    Reply
  36. starik-2005

    Как всегда читал только комментарии — за них однозначно плюс (комментаторам) )))

    Reply
  37. starik-2005

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

    Reply
  38. profiprog1c

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

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

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

    Единственный плюс этой статьи, что она оказалась не такая длинная как предыдущие и ее читать уже было проще.

    Аффтор пиши исчо)))

    Reply
  39. acanta

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

    Reply
  40. genayo

    А может автор все-же графоман https://habr.com/post/358072 ?

    Reply
  41. KapasMordorov

    (42)

    там две строчки рекламы метадаты.жыэс.

    Reply
  42. acanta

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

    в коллективе. Это служит дополнительной гарантией владельцам бизнеса качественного контроля. Если вашей жизненной целью является проводить 90 процентов времени бодрствования в разговорах с людьми, которые вам глубоко антипатичны и это взаимно то вы можете стать менеджером. Программист же по жизни обязан быть идиотом. Его миссия — создание некоего буфера под названием программный продукт, используя который люди смогут работать вместе досточно эффективно, даже если их отношения между собой оставляют желать лучшего. Главное это оставаться чужим и не вляпаться в дружбу Васи против Пети.

    Reply
  43. acanta

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

    Reply
  44. Olga_aku

    С удовольствием читаю статьи этого автора. Человеку есть что сказать. Некоторые ситуации полностью совпадают с моими ощущениями.

    Для меня эти статьи поддержка. Чувствуешь, что не сирота. Есть и у меня родственники. Лекарство для поддержания иммунитета. Рука помощи.

    О! А сколько негативных откликов на статью и плюсов под ними!

    СУПЕР! Так мимоходом взяли и поплевали. Узнаю «клубок единомышленников» у себя на работе.

    Но это даже и хорошо. Придаёт пикантность статье.

    Reply
  45. 1c-intelligence

    (4) «На самом деле, оценки «плохой» и «хороший» не важны, их можно выкинуть, если начать называть вещи своими именами.»

    Reply
  46. 1c-intelligence

    (7) ключевая мысль статьи — чрезвычайная похожесть профессий программиста и менеджера. Только объект воздействия у них разный.

    Reply
  47. 1c-intelligence

    (8)

    Программисты хорошие, они должны быть главными

    Ключевое заблуждение.

    Программист написал систему отчетности для директора — тот пялится через телефон в показатели.

    Директор, соответственно, пялится.

    Кто из них главный? Кто хороший? Кто плохой? Если программист хороший, почему не он пялится в показатели? А директор не пишет системы?

    Reply
  48. 1c-intelligence

    (13) нет удела, есть выбор.

    Так же, как и у вас — писать код или комментарии.

    Reply
  49. genayo

    (47) Вы сторонник волюнтаризма?

    Reply
  50. 1c-intelligence

    (51) я сторонник самого себя и Окнософта.

    Reply
  51. genayo

    (52) Так это и есть волюнтаризм…

    Reply
  52. 1c-intelligence

    (53) никакой связи.

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

    (48)

    Мысль, может, и ключевая, но неправильная. Взаимодействие с системными факторами, даже внесение изменений в систему присутствует почти во всякой осмысленной деятельности. К примеру, у Лескова мужик мастерски и творчески колол дрова, находя на поленьях «точечки». Ну, как хороший менеджер мониторит систему и обнаруживает узкие места.

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

    Менеджер vs инженер социологи классифицируют как одно из ключевых противоречий постиндустриального общества. В первом приближении: Инженеры создали (и продолжают создавать) цивилизацию, а менеджеры на цивилизации паразитируют. Хороший (в смысле, полезный) менеджер — это тот, что из чистого паразита сумел превратиться в симбионта. Или хотя бы минимизировать ущерб от своего вмешательства — это невредный менеджер. А главная компетенция менеджера — доказывание собственнику своей нужности.

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

    Reply
  54. 1c-intelligence

    (55) человек, создавший бизнес, нанявший людей, придумавший процессы, систему мотивации, продукты, и т.д., и возглавивший этот бизнес, т.е. ставший его менеджером — создал систему?

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

    (56) Такие люди бывают. Форд, несомненно, творец, равно как и Гейтс. Однако, их прорыв лежал отнюдь не в сфере менеджмента, а в реализации той или иной инженерной идеи.

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

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

    Не надо искать похожие действия у инженеров и менеджеров. Классового антагонизма никто не отменял.

    Reply
  56. 1c-intelligence

    Друзья, прошу прощения за спам — поучаствуйте в голосовании.

    Reply

Leave a Comment

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