<?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='\
Я предлагаю поделиться в комментариях самыми вопиющими случаями с которым Вам удалось столкнуться лично или быть свидетелями. Приглашаются все — пользователи, программисты, администраторы. Автор наиболее «ужасной» истории будут вознаграждены стартманями!)
Думаю, надо подправить схему для задач, которые можно сделать в пользовательском режиме, но через программирование их сделать быстрее. Конечно же для случая, когда готовой обработки нет. Например, хитрая замена реквизитов в паре сотен документов. По ним у исполнителей есть все, кроме желания убивать на это тонну времени.
На схеме после «2. решение задачи описано в «руководстве пользователя»?», если пойти по пути «Нет», еще раз спрашивается. «2. решение задачи описано в «руководстве пользователя»?». А что, а вдруг?
(3) ошибка, сейчас исправлю! Там, конечно, руководство разработчика.
(2) Да, это хорошее замечание. Вопрос целесообразности привлечения тех. специалистов тут не раскрыт, что, на мой взгляд, несколько увело бы тему в сторону. Да и что скрывать, в данный момент, мне представляется сложно представить универсальный механизм позволяющий достаточно справедливо принимать такие решения, учитывая интересы всех сторон и контексты возникновения задачи.
Ваш пример я бы рассмотрел по целям — с одной стороны надо совершить изменения, с другой стороны надо добиться ускорения изменений. Таким образом получается две подзадачи, которые по отдельности могут быть пройдены через представленную блок-схему.
(4) Поправил.
Ветки — это ошибка релиза — обращение в франчайзи. Это ошибка платформы — обращение на хотлайн.
Устарели?
(6) я не до конца понял Ваше сообщение. Вероятно Вы предлагаете добавить дополнительные ветки для этих двух ситуаций — ошибка релиза и ошибка платформы. Я думаю, что пользователь не сможет определить род технической ошибки, т. е. тут в любом случае задача не на его стороне. А будет ли задача решатся обращением к разработчикам платформы или конфигурации или самостоятельно — это уже не имеет значения. Главное, что это очевидно не на пользовательской стороне.
(6) хм, я все таки подумаю еще раз. Возможно действительно это стоит указать отдельно, в ветке группы разработки. Таким образом можно будет выделить подобные задачи из зоны ответственности команды эксплуатирующей систему.
(6) меня только смущает, что для такой категории задач может не быть окончания процесса)
Видимо нужен пример из 1фирмы 🙂 Как раз таки столкнулся пришел на работу Говорят внедряем ERP 2. Ок давайте программеров и заинтересованных работников. Ах да забыли они совсем что нужно не просто внедрить, а еще в идеале и переписать на 1с самописную программу которая писалась лет 10 ,а то и больше, и ERP по определению не умеет делать то что наша самописная делает каждый день. Намекаем что не наш уровень без программистов такую задачу не решить и получаешь в ответ , что ты только покажи как она умеет работать эта ваша ERP , а дальше и программистов дадим и остальное.:) То что умеет ERP из коробки конечно было показано , а то что умеет самописная почему то не смог я показать на 1с 🙂 и услышал что я не грамотный сотрудник :).
(9) Все верно. Постановщик задачи, как правило, человек. А если человек — дурак, то это как минимум надолго.
Еще случай целесообразности. Когда нужно сделать какой то сводный отчет, при том все цифры берутся из типовых отчетов. В экселе этот отчет сделать пару часов, а писать отчет можно не один день. При том он нужен раз в году или вообще одноразовый. Поэтому если решение задачи возможно и пользователем и программистом, нужно сопоставить суммарные затраты на решение задачи в месяц например.
На предыдущей работе постоянно приходилось разгружать технику — принтеры, сканеры и т. п., таскать ксероксы.
Т. к. по убеждению большинства людей, всё, что связано с компьютерами — это дело программиста.
(12) Я рассматриваю ваш пример так:
— есть задача N1 «Cобрать данные и предоставить их кому-то». Пуляю ее через блок схему: задачу можно сделать в режиме «1С: Предприятия» — > как пользоваться отчетами написано в «Рук-ве пользователя» + описание отчетов из методичек к конфигурации — > доступ пользователь имеет — > «Бинго!» пользователь пошел выполнять ее задачу.
— есть задача N2 «Ускорить сбор данных для составление отчета определенной формы». Идем по блок схеме: задачу нельзя сделать в режиме «1С: Предприятия» * — > вон на 563 стр. тема «Схема компоновки данных» в «Руководстве разработчика ч. 1» — > пнули разраба.
При этом будет ли выполнена задача N2 не имеет значение, т. к. задачу N1 в любом случае будет выполнять пользователь.
Таким образом ваш пример был разделен на две подзадачи и выполнение каждой из них направилось к «правильному» исполнителю. А то ведь бывают такие, которые задачу N1 пуляют разработчику, добавляя: «Тыжпрограммист».
Повторюсь, что в этой публикации я не рассматриваю вопрос целесообразности привлечения тех. службы, а лишь определение исполнителя. Но в принципе, я думаю, что можно выделить его на этой схеме в виде блока вложенного процесса.
* Не помогут консоли запросов, т. к. надо будет описать в модуле отчета постобработку результата.
(13) никогда не забуду как на одной из работ прошлый штатный программист вел кадровый УУ в УПП. При этом в отделе персонала сидело 3 специалиста.
(10) а что за функционал в той программе, который Вы не смогли показать на 1С? Я не совсем понял в какой роли Вы участвовали)
(16)ПО хорошему программа по производству начиная от болта до конечного изделия (вагон и тыды) , функционал на самом деле это АРМ по производству , в 1с реализовано это отчетами , а в программе самописной это выведено как рабочее место и в реальном времени видно какая деталь находится в производстве и где она сейчас и куда пойдет дальше ,На самом деле там очень много возможностей от АРМ до информации местонахождения кладовщика на рабочем месте (ставит сам что ушел).Я и сейчас участвую в этом проекте , но решено было на данном этапе зацепиться через 1с к базе и брать информацию из нее и выводить ее на вновь написанные формы которые максимально приближены к действующим формам.А в дальнейшем как пользователи привыкнут к интерфейсу 1с постепенно дописывать и перетягивать информацию уже в базу 1с .А да по факту я администратор баз 1с с постановкой задач для программиста . сам не пишу. но функционал знаю.:)
(13) Не мое, но очень в тему
— Я программист, а не столяр, с чего ты взяла, что это моя работа?
— Ну он же компьюууутерный!
(14) Да согласен, это уже выходило за рамки задачи 1с. Я потом уже делал в экселе сводными таблицами, ради одного раза. Но мячик на моей стороне получается. )))
(19) Не думаю, что этим можно похвалиться при устройстве на должность программиста 1С ))
(20) В программировании не плюс, но экономия времени огромная. )
(21) не вижу какой тут может быть для Вас плюс выполнять работу за пользователя.
(13) Ситуация была подобная, но только с починкой микроволновки. «Посмотри, ты же в технике разбираешься и так далее», — обращался бухгалтер завода железобетонных изделий. Далее разговор, который помог мне в той организации избавиться от подобных вопросов.
— Мария Николаевна (имя отчество изменены), мне нужна садовая плитка такого-то размера. Будьте любезны, сделайте, пока с микроволновкой разбираюсь.
— ?! Но я же БУХГАЛТЕР! Как я тебе плитку сделаю?!
— Но ведь Вы бухгалтер на ЗАВОДЕ ЖЕЛЕЗОБЕТОННЫХ КОНСТРУКЦИЙ.
(1)
раз HR попросила очистить шредер .
я — » почему уборщица не сделает »
ответ (дословно) — » этим должны заниматься специально обученные люди »
ок вытряхнул . (потом уборщицу нашел и ей показал)
В общем если кому нибудь в Че нужны квалифицированные услуги по очистке шредера, замене картриджа , распечатке на принтере или отправки е-майл обращайтесь. Качественно. Дорого.
з.ы. сейчас раз в квартал в одной фирме (совместно с бухгалтером) делаю авансовые сф ( осн, комиссионер , бппс, по сделкам , взаимозачеты .. гемор вобщем)
Тут еще вспомнил забавный случай с директором на фирме, он по образованию электрик. Делали объект тянули там сеть и электрику,объект приняли , ну и в какой то момент вырубает электричество . меня вызывют типо мол иди разбирайся почему нету его.0_0 Объясняешь нету у меня навыков электрика и я не в состоянии разобраться с этой проблемой .Вызывайте тех кто делал пусть ищут поломку , но директор был уверен что если в названии есть корень Элект то системный администратор знает и умеет в этом разбираться и дал мне план проводки в чертежах:) . Естественно пришлось долго доносить что это не сфера ИТ .
(23) Мне даже выдали халат синий как у грузчика. Причем я не просил, просто пришли, сказали — вот держи, в нём будешь всё таскать.
Привезли например фуру принтеров — кто будет разгружать? А кто у нас за принтера ответственный? Конечно, программист.
Потом разгружал все — новогодние подарки, шкафы таскал и т. д.
(26) Ваша история, по моему мнению, пока самая жесткая)
Работаю в медицинском учреждении. Программист формирует счета на оплату по ОМС, врачи периодически интересуются каким МКБ шифровать болезни, какой поставить мэс. Руководство отписывает все бумаги, которые связаны с словом электронный или сайт (ощущение что фильтр у них на эти слова настроен). Про получение ПК, оргтехники и ее транспортировку уже сказано, в том числе и при переезде из кабинета в кабинет. Но и периодически приходят с вопросами починки всяких электроприборов и с удивлением уходят что программисты их делать не должны.
С точки зрения логики грамотный руководитель не допустит ситуации когда относительно своего подчиненного/коллеги
потому что элементарная логика подсказывает, что работа выполнена не будет.
Иными словами, грамотный руководитель поступает по принципу «каждый должен заниматься своим делом или выполнять те задачи, что ему по силам.»
С точки зрения этой банальной и очевидной логики тема о дураках и способах выживаний в их сфере влияния.
Только сегодня переслал бухгалтерам )
Когда бух просит найти ошибку в регл. отчетности
на самом деле вопрос алгоритмического решения не имеет
надо по возможности строить нормальные человеческие отношения: не давать садиться себе на шею и не бросать утопающих в беде
это любой работы касается и не только работы
(29)
Отлично сказано.
(30) Согласен. Однако, случается, что на той стороне не собираются строить человеческие отношения. Или считают, что чел. отношениями с тех специалистами можно поступиться ради укрепления чел. отношений с другими. Как раз ради «не давать садиться себе на шею» была создана публикация? как один из возможных инструментов сопротивления.
(32) в мире нет иной правды, чем та которую мы хотим видеть
Это крик души и плач в жилетку)
Думаете бухи не приходят домой и не жалуются на бесчувственных программеров ?
Со временем обычно все налаживается, а если не налаживается меняйте контору.
К сожалению наша действительность что к ИТ относятся как к уборщицам, хотя в нормальной фирме и к уборщицам хорошо относятся.
Что интересно, хозяева обычно недоделки от технического образования, фарца бывшая как раз хорошо к ИТ относится
(33)
Да потому что те в свою очередь так позволяют. Собственно, озвученная Вами пассивная позиция — потерпеть и подождать, как раз и приводит к такому отношению.
(34) Ключевые слова поняли правильно.
Мудрейшие говорят — с любой проблемой нужно переспать )
Понятно что за один рабочий день вас в веках не прославят.
А дальше как пойдет.
Но если хотите копать глубже — тогда давайте разберемся как вы оказались на такой работе, с таким отношением ?
(35)
Да, я понял Ваше толерантное отношение к глупости и несправедливости. С ним я не могу быть согласен.
Думаю, что не обязательно быть мудрейшим для понимания того, что весьма редко что-то выходит хорошее, если уткнуться в подушку)
В прочем, обсуждение терпимости — вне рамок темы этой публикации и в целом мне мало интересен.
Прежде чем задавать вопрос, Вы бы сперва пояснили значения «на такой работе» и «с таким отношением».
Мы ведь не знакомы и Вы не можете знать в контексте какой ситуации была создана эта публикация. Поверьте, принтеры я гружу)
Меня огорчило, что данная публикация Вас может навести на мысль, будто у меня возникает желание «копать».
Собственно, Ваш вопрос так же не имеет прямого отношения к этой статье. На мой взгляд, его обсуждение мало на что влияет.
Однако, если вы со мной не согласны, то предлагаю Вам опубликовать свои тезисы в отдельной статье и быть может мы их обсудим.
(33)
ИТ уборщица )) — класс
Если за хорошую оплату, да без проблем .
(36) а вы запретите комментарии к публикации и никто вас не обидит.
Но мне сдается вы ради комментариев ее и написали.
А раз так будьте спокойнее, как на работе, так и на сайте.
Дорастете и будете всех гнобить или сеять доброе вечное, тогда и посмотрим.
(38)
Разве я сказал о своей обиде?
Быть может я Вас чем то обидел, если Вы переходите на хамство указывая как мне себя вести?
(17) Интересно. Занимаюсь тем же на унф
Эта публикация является попыткой
В точку.
Предложенная схема в статье спецу не поможет.
Поможет только голова на плечах.
«к ИТ относятся как к уборщицам»
не знаю, у нас к ИТ относятся уважительно, думаю тут дело в том, что вы позволяете по отношению к себе