Каким должен быть ИТ-директор




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

41 Comments

  1. steban

    >Компьютеризация, это всегда способ снижения издержек либо повышения производительности труда.

    не всегда.

    http://www.insapov.ru/it-efficiency-sources.html

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

    абсолютно бредовая статья

    все с ног на уши поставлено

    Reply
  3. Abadonna

    За одно только слово «компьютерщик» — статью в помойку

    Reply
  4. vasilykushnir

    Интересно девки пляшут….

    За что это так автор не любит компьютерщиков? И кто из них ему на я.ца наступил или на мозоль бесперебойник уронил?

    И кого он счтает комьютерщиком: электронщика, сисадмина, программиста, геймера или любого человека умеющего включть/выключить комп?

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

    Reply
  5. vasilykushnir

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

    Reply
  6. А мне понравилось «картриджи в принтерах заканчиваются». Обалдеть

    Reply
  7. CheBurator

    Давайте просто. Тупо. Попробуем оценить. Я. типа «ИТ-директор» у себя в конторе.

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

    если я сделаю ошибку. небольшую. мелочь. типа в реквизитах бух.документа нето что надо. пропечатается. уловили? а если вдруг ошибка посеръезнее/поглобальнее. Это приведет к тому. что пипец. полный будет. встанет ВСЕ. весь «производственный процесс». если не встанет. то упадет. до такого уровня. что. пипец.

    манагер получает 700.

    ВНИМАНИЕ! ВОПРОС: сколько должен получать я.

    (социально адекватен, с персоналом компании 95% — отношения хорошие, в комп.игры не играю в принципе — неинтересно, в январе в офисе — не был, в феврале был 2 дня, в марте — сегодня заехал)

    Reply
  8. CheBurator

    на самом деле есть одна мысль тут в статье нормальная.

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

    Reply
  9. CheBurator

    ИТ отдела падает на стул от ответа на свой вопрос

    — вы из какой программы печатаете?

    — ИЗ ТОЙ ЖЕ!

    Reply
  10. Lapitskiy

    Пиарная статья.

    Reply
  11. wolfsoft

    Н-да, хлам по большей части. «Перлов» хватает.

    Думаю, такого «консультанта по вопросам ИТ» надо в первую очередь увольнять, с целью экономии денег на ИТ 😉

    Reply
  12. CheBurator

    как правильно заметили — по большей части хлам. но есть и здоровые идеи.

    возможно, наше неприятие связано с тем, что мы (я так точно) не работаем в ИТ-отделах? под руководством ИТ-директоров?

    ваше мнение..?

    Reply
  13. CheBurator

    С сайта автора статьи:

    «Моя работа содействовать в создании и реализации ИТ стратегии предприятия. Информировать владельцев и топ-менеджеров об управлении ИТ.»

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

    Reply
  14. wolfsoft

    2 Che Buraska: Давайте попробуем немного подробней рассмотреть статью: «Каким должен быть ИТ-директор». Свой комментарий поместил в отдельную статью, че-то большой получился 🙂

    http://infostart.ru/articles/152/

    Reply
  15. Alexandra

    100% согласна по пункту, что лучший ИТ-директор — финансовый. Получить ИТ-директора из «компьютерщика» (ну и мерзкое же слово!) можно, но сложно. Этот самый пресловутый компутерщик должен быть, скорее, не чистым программистом или сисадмином, а внедренцем, постановщиком задач. Просто по той причине, что писание кода и администрирование сети — слишком узкоспециализированные вещи, и пусть люди занимаются своей работой. Когда руководство желает, чтобы в одном лице был и швец, и жнец, и на дуде игрец — скорее всего, оно и получит тот самый вариант, когда на пятом году компания помёрла…

    Reply
  16. tarroman

    А мне слово «компьютерщик» нравится. Так для себя, чисто поржать (внутренне). А на самом деле оно очень часто встречается в организациях, где перосонал в среднем за 40, и представление у него об ИТ-индустрии как о шаманстве с железяками и программами. 😀

    Но меня оно не задевает (если мне так говорят). Другое дело, что я по своей природе достаточно сдержан, и я всегда пытаюсь людей заставить думать, расширить свой кругозор. Объясняю им очевидные (для меня вещи), чтобы говорить с ними на одном (но моем) языке.

    На мой взгляд (подчеркну — МОЙ) статья нормальная, и из нее есть что взять для себя на вооружение.

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

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

    Спасиба support’у, что выложил данную статью. Представление о том, какими должен быть ИТ-директор, должно быть не только у ТОП-менеджермента, но и у программситов, системных администраторов и всей ИТ-ратии, собственной у которой он будет руководителем.

    Reply
  17. GSoft

    боян

    Reply
  18. AVARY

    Статья хорошая.

    Как я понимаю, она должна вызывать отвращение у тех кто работает от звонка до звонка и не более.

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

    А принцип «работает — не трогай» в топку!

    Reply
  19. GSoft

    (18) А Вы сами чем занимаетесь? или работаете от звонка до звонка. Или у нас бухгалтерия (или что-нибудь еще) является самоокупаемым подразделением. Сколько уже можно толочь воду в ступе. ИТ да ИТ. Я понасмотрелся за 10 бухгалтеров, которые работают с двумя-тремя видами документов и парой отчетов. И по 5 раз на день, не считая обеда пьют чай. И при этом все такие занятые и несчастные.

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

    Reply
  20. GSoft

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

    Reply
  21. venger

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

    Reply
  22. AVARY

    Я фрилансер.

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

    Публикуя предыдущий пост я абстрагировался от личности ИТ-директора — все, что я написал я отношу ко всем постоянным/временным, штатным/нештатным сотрудникам компании.

    Reply
  23. GSoft

    все очень и очень субъективно

    нельзя вот так сразу говорить что все плохие

    поверьте мне я встречал «правильных» бухов и таких как описал выше, но это не значит что во всем виновато ИТ или ктото еще. Для начала надо разобраться во всем. Скажите во всех ли компаниях были расписаны бизнес-процессы или хотя бы маршруты документооборота которые были закреплены в должностных инструкциях или регламентах ответственных лиц.

    Часто приходится слышать — «мы вам сейчас сделаем штатное расписание и все будет ок»

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

    Я уже молчу о том что первый пункт содержит ссылки на исследования в америке. А финансирование erp и отношение к ИТ у нас наверно такое же как в америке???

    Reply
  24. AVARY
    все очень и очень субъективно

    нельзя вот так сразу говорить что все плохие

    Если это относится к моим постам, то я нигде этого не утверждал. Я говорил, что, с точки зрения компании, гораздо лучше, когда все хорошие 🙂

    Скажите во всех ли компаниях были расписаны бизнес-процессы или хотя бы маршруты документооборота которые были закреплены в должностных инструкциях или регламентах ответственных лиц.

    Часто приходится слышать — «мы вам сейчас сделаем штатное расписание и все будет ок»

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

    Я не понимаю как это связано с текущим обсуждением или статьей

    Reply
  25. GSoft

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

    а что касаемо ШР просто так вспомнилось, и написано применительно к будущей серии статей для чайников «каким должен быть…..» 😀

    Reply
  26. tarroman

    (19) Мне кажется, что ТЗ Заказчик не должен составлять (никогда не встречал Заказчика способного это сделать, не считая случаев участия программистов Заказчика — когда рук не хватает). Они его согласовывают. А вот ПЗ целый ряд Заказчиков вполне могут составить — ведь что им не хватает в той или иной чудной программе они обычно представлют.

    Reply
  27. GSoft

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

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

    Reply
  28. tarroman

    (27) ТЗ, даже в его упрощеннов варианте содержит две составляющие:

    а) Чего же хочет заказчик, переведенное на язык той системы, в которой он чего-то и хочет (если про 1С, то например, хочет новый отчет, который содержит такую-то информацию и выглядит вот так-то); Если бы Заказчиком была сформулирована постановка задачи (ПЗ), то в этот раздел можно перенести ссылку на нее или же ее интерпретацию.

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

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

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

    Вот как я это привык видеть.

    Reply
  29. Моха

    (26)-(28) Люблю, знаете ли, читать определения и нормы. Хоть и википедия, но … ТЗ

    Reply
  30. Моха

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

    Reply
  31. Моха

    Что бы ни писал автор статьи, мне ни разу не удавалось получить чего бы то ни было достойного без создания центра компетенции. Лучше всего требования и обоснование необходимости ЦК описаны, ИМХО, в статье Хомичевской про переход с 7-й бухии на 8-ю на бух.ру. Ссылку не могу быстро найти.

    Reply
  32. tarroman

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

    — У Вас измененная конфигурация?

    — Да.

    — А что меняли, есть какя-либо документация?

    — Есть какие-то бумажки (а то еще хуже — нет ничего).

    — А для чего вносили изменения в систему?

    — Не знаем (не помним, для наших целей и т.п.)

    А еще (со стороны Исполнителя) приходится иногда «бодаться» с заказчиком. А на каком основании, да все на том же — подписанном ТЗ.

    Вот так и живем, а википедия — это мега космос, большой и необъятный. 🙂

    Reply
  33. tarroman

    (30) Согласен. Но полет мысли было не остановить 😉

    Reply
  34. Моха
    — У Вас измененная конфигурация?

    — Да.

    — А что меняли, есть какя-либо документация?

    — Есть какие-то бумажки (а то еще хуже — нет ничего).

    Зачем эти вопросы? Смотрите номер релиза и сравниваете в конфигураторе с типовой *.MD/*.CF.

    — А для чего вносили изменения в систему?

    — Не знаем (не помним, для наших целей и т.п.)

    Это уже фигово :(.

    (30) Согласен. Но полет мысли было не остановить

    Бывает …

    Reply
  35. GSoft

    +(29)

    Как инструмент коммуникации в связке общения заказчик-исполнитель, техническое задание позволяет:

    * заказчику

    o осознать, что именно ему нужно

    + в т.ч. опираясь на

    Reply
  36. Моха

    (35) Вообще-то проект дома/системы пожаротушения/стоянки тоже не заказчик состовляет. В ИТ зачастую другая проблема: отв.лицо заказчика не в состоянии оценить ТЗ.

    Reply
  37. GSoft

    вот))) мы наконец то подошли к самому главному.

    в примерах (36) перед тем как составить проект предварительно поступает заявка от заказчика с указанием того что ему необходимо сделать. Это и есть ТЗ. Например систему пожаротушения для электрооборудования в таких помещениях и т.д.

    Проект <> ТЗ

    Проект = структуре БД, описанию форм и прочее.

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

    Что-то я здесь не отметился. А помню, что собирался.

    Вам на заметку способ оценки: Самый лучший компьютерщик вообще ничего не делает, все делают компьютеры. У плохого компьютерщика всегда аврал и он нарасхват.

    У меня была директор, которая самостоятельно придумала такой способ оценки. О как! 😎

    Reply
  39. Моха

    (37)

    перед тем как составить проект предварительно поступает заявка от заказчика с указанием того что ему необходимо сделать. Это и есть ТЗ.

    Та ты шо! Может устроим конкурс «Найди 10 отличий»? :)))))))

    (38)

    У меня была директор, которая самостоятельно придумала такой способ оценки. О как!

    А потом приходит «мадам в зеленом» и начинает медленно душить сначала левой лапкой и голоса в голове: «Чего ты ему платишь, он же не работает!».

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

    (39)

    Чего ты ему платишь, он же не работает!

    Именно так и сказала директору начальник ОТиЗ. И получила ответ: «ему платят не за то, чтобы он работал, а за то, чтобы работали на компьютерах все остальные»

    Reply
  41. Моха

    (40) В.В. Путин как-то процитировал Бисмарка: «Главное не намерения. Главное — потенциал.»

    Reply

Leave a Comment

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