Психологические аспекты внедрения СЭД




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

35 Comments

  1. TODD22
    Оказывается, осуществить проект внедрения системы автоматизации документооборота может не специалист службы ДОУ в компании команды программистов, а главный бухгалтер без отрыва от основной работы.

    Если главный бухгалтер специалист по автоматизации документооборота то да… наверное сможет.

    А запустить тот же 1С:Документооборот правильно и с первого раза даже для очень подготовленного человека задача не тривиальная.

    Какая система документооборота была выбрана? Откуда у гл.бухгалтера знания, навыки, умения по внедрению систем ДО ? Уметь работать в программе и запустить её на предприятие это разные вещи. А то окажется что гл.бух бывший внедренец из франча(бывает и такое).

    Кто занимался технической стороной? Настройкой системы, резервным копированием, разграничением прав, настройкой процессов документооборота.

    Reply
  2. genayo

    СЭД на самом деле очень разные бывают, и подходы при внедрении например Documentum или 1С:Документооборот совершенно различны. И фраза «СЭД-это не сложно. К работе с СЭД не надо долго готовиться» кажется мне несколько наивной…

    Reply
  3. tramontana
    Если главный бухгалтер специалист по автоматизации документооборота то да… наверное сможет.

    А запустить тот же 1С:Документооборот правильно и с первого раза даже для очень подготовленного человека задача не тривиальная.

    Это Вы можете рассказать кому-нибудь, если будете продавать услуги внедрения. Это абсолютно не сложно для любого человека с интеллектом.

    Reply
  4. tramontana
    Какая система документооборота была выбрана? Откуда у гл.бухгалтера знания, навыки, умения по внедрению систем ДО ? Уметь работать в программе и запустить её на предприятие это разные вещи. А то окажется что гл.бух бывший внедренец из франча(бывает и такое).

    Кто занимался технической стороной? Настройкой системы, резервным копированием, разграничением прав, настройкой процессов документооборота.

    1С: Документооборот — абсолютно интуитивно понятная программа. Не требуется никаких навыков кроме пары лет опыта работы в офисе в любой должности. Сначала я действительно предполагала, что мы воспользуемся услугами внедренцев, но когда мне показали программу, поняла, что справлюсь сама.

    Нет, я не бывший внедренец. Да, я занималась настройкой системы, разграничением прав, созданием новых профилей групп доступа, созданием шаблонов файлов и правил их автозаполнения, созданием шаблонов документов и процессов. Что в этом такого? Это все делается в пользовательском режиме и специальных знаний не требует.

    Reply
  5. MaxDavid

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

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

    Reply
  6. tramontana

    (5) MaxDavid, спасибо за мой первый плюсик

    Reply
  7. Steelvan

    Держи +

    Reply
  8. tramontana

    (7) Steelvan, мерси

    Reply
  9. TODD22

    (3)

    Это Вы можете рассказать кому-нибудь, если будете продавать услуги внедрения. Это абсолютно не сложно для любого человека с интеллектом.

    Никто о сложности не говорит. Если так рассуждать то и ERP системы запускать на предприятиях нет ничего сложного. Вопрос в том есть ли люди с «интеллектом» и есть ли у них время.

    Ещё вопрос можно по теме сколько автоматизировали рабочих мест?

    Reply
  10. tramontana

    (9) TODD22,

    Ещё вопрос можно по теме сколько автоматизировали рабочих мест?

    90 рабочих мест. Естественно среди этих 90 есть пользователи с одинаковыми ролями и одинаковыми профилями групп доступа.

    Reply
  11. TODD22

    (10) То есть я правильно понимаю что вы главный бухгалтер на предприятие в котором как минимум 90 рабочих мест только в Документообороте и вы сами автоматизировали документооборот?

    Сколько у вас на это ушло времени?

    Reply
  12. tramontana

    (11) TODD22, около полугода. Я начала с автоматизации отдельно взятого небольшого участка, на котором был хорошо отлажен бумажный документооборот. Потом по мере готовности НСИ, настройки прав и шаблонов и инструкций для пользователей добавляла новые участки.

    Reply
  13. Atori-kun

    (4) «1С: Документооборот — абсолютно интуитивно понятная программа.»

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

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

    Инструкции это тоже головная боль. Расписываешь, делаешь скриншоты, размещаешь, ознакомляешь. В итоге, как вы и сказали — либо не читали, либо читали но не поняли, либо вообще полезли не туда куда надо. Пример: создание документа не по шаблону. Говорил миллион раз так не надо делать — продолжают, потом еще и ругаются. Показываю — в инструкции русским по белому написано «НЕЛЬЗЯ!!» — включают дурака, говорят инструкция не понятная. скриншоты им не надо., ладно удаляем скриншоты оставляем текст — итог телефон разрывается «Где эта кнопочка? В инструкции все не понятно!» И это зачастую одни и те же люди.

    Приглашал на занятия по 2 часа каждое некоторые приходили по 3 раза слушать одно и то же. В итоге поняв что это просто пустая трата времени. приняли решение: проводим обучение, даем по задавать вопросы, затем тестирование с занесением в личное дело. Сразу все почему то сказали что все умеют или научатся сами.

    З.Ы. Внедрение ДО 2.0 свыше 300 рабочих мест, 4 территориальные единицы в базе.

    Reply
  14. tramontana

    (13) Atori-kun, у меня с пользователями было все то же самое. Когда я писала, что 1С ДО — абсолютно интуитивно понятная программа, я имела в виду, что она понятная мне и я смогу ее внедрить. Надо сказать, что в 1С ДО очень низкая «защита от дурака». Это главный минус программы. Нельзя запретить пользователям создать кучу дурацких процессов, проигнорировать шаблоны и т.п. И Вы правы, особую тупость проявляют те, от кого не ожидаешь. Здесь главное — справится со своими эмоциями и не наговорить пользователям много непечатных выражений. Сейчас, когда прошло уже почти три года, «творчества» в базе стало гораздо меньше.

    Reply
  15. dock

    Статья замечательная, заслуженный плюсик.

    Но тема о внедрении СЭД глав.бухом раскрыта не полностью 🙂

    (3)

    Это Вы можете рассказать кому-нибудь, если будете продавать услуги внедрения. Это абсолютно не сложно для любого человека с интеллектом.

    Все-таки наличие только интеллекта не достотаточно, опыт работы в сфере документооборота нужен. Плюс просто обязательно само желание внедрять 🙂

    Reply
  16. tramontana

    (15) dock, спасибо за плюсик. Статья изначально была заказной для журнала о делопроизводстве. Они ее завернули потому что не раскрыта роль службы ДОУ. Если бы я там сакцентировала внимание на главном бухгалтере, то они бы ее даже не рассматривали. Но у меня уже есть мысль написать о жизни «человека с интеллектом» среди «специалистов».

    Насчет роли интеллекта могу сказать следующее. Я давно заметила, что одинэсники знают, например, бухучет лучше бухгалтеров и расчет лучше расчетчиков. Почему? Потому что когда они что-то НЕ ЗНАЮТ, они это УЗНАЮТ (благо источников хватает). А «специалисты» считают, что они И ТАК ВСЁ ЗНАЮТ. Так вот, перед тем как заниматься автоматизацией документооборота я перелопатила весь интернет. В то время как наши офис-менеджеры не прочитали ни одной статьи по специальности. А желание внедрять есть, потому что это, во-первых, интересно, во-вторых, в выигрыше от автоматизации в итоге останутся все, я в том числе.

    Reply
  17. Vladimir_Konyrev

    Статья интересная. Хочу сказать, что как известно: «Рыба гниёт с головы» и наоборот 🙂 Если в компании руководитель и высшее звено не заинтересовано в реализации проекта, то пусть главный бухгалтер будет семи пядей во лбу, он ничего не сможет сделать толкового. В данном примере, видимо именно случай, когда рук-во заинтересовано и поддерживало внедренца.

    Вопрос по статье:

    Довольно странно выглядит ситуация, когда договор согласуют в СЭД, а потом распечатывают лист согласования и вместе с договором дают на подпись руководителю.

    А как по другому? Без подписи на бумажном носителе ни куда не деться. Просьба рассказать о Вашем опыте.

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

    Расскажите пожалуйста этапы, которые Вы выделили у себя на проекте?

    Reply
  18. vde69

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

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

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

    Reply
  19. tramontana

    (17) Vladimir_Konyrev,

    В данном примере, видимо именно случай, когда рук-во заинтересовано и поддерживало внедренца.

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

    А как по другому? Без подписи на бумажном носителе ни куда не деться.

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

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

    Reply
  20. tramontana

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

    Reply
  21. Vladimir_Konyrev

    (19)

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

    Вы пишете:

    Довольно странно выглядит ситуация, когда договор согласуют в СЭД, а потом распечатывают лист согласования и вместе с договором дают на подпись руководителю.

    Вопрос: какие есть альтернативы, не важно с листом согласования или без, важно то, как «избежать» подписи бумажного договора?

    Так же задавал вопрос по этапы, не подскажите их?

    Reply
  22. tramontana

    (18) vde69,

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

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

    Reply
  23. tramontana

    (21) Vladimir_Konyrev, нет, подписи бумажного договора избежать нельзя, потому что договор — это уже документ. СЭД гарантирует, что распечатана и подписана будет именно согласованная редакция (если конечно распечатана она будет конечным звеном цепочки (подписантом), а не принесена извне).

    Этапы внедрения были следующие:

    1. Создание, согласование, утверждение, регистрация инвестиционных договоров;

    2. Создание, согласование, утверждение, регистрация договоров по текущей деятельности;

    3. Автоматизация регистрации, рассмотрения и исполнения входящих документов, создание, согласование, утверждение и регистрация исходящих документов.

    4. Автоматизация процесса снабжения: создание, согласование, утверждение и исполнение заявок на приобретение ТМЦ и счетов на оплату, связывание этих документов, связывание счетов с договорами;

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

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

    Reply
  24. Vladimir_Konyrev

    (23)

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

    Вот именно, но ранее Вы пишете

    Довольно странно выглядит ситуация…..

    так в чем же странность? Или Вы имели ввиду «странно» печатать лист согласования, а печатать договор «не странно»?

    СЭД гарантирует, что распечатана и подписана будет именно согласованная редакция

    Как именно? Где гарантия и как её реализовать? То что лично ген.дир будет печатать договор — исключаем.

    Reply
  25. tramontana

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

    Как именно? Где гарантия и как её реализовать? То что лично ген.дир будет печатать договор — исключаем.

    Почему исключаем? Если ген.директор хочет быть уверенным, что подписывает то, что утвердил, он не сломается, нажав print. Если же он безгранично доверяет своим подчиненным, то он может и не читая договоры подписывает. СЭД дает возможность ген. директору избежать подсовывания, но только если он сам захочет этой возможностью воспользоваться.

    Reply
  26. Vladimir_Konyrev

    (25)

    Почему исключаем?

    Исключаем потому, что объем договоров очень большой. Если ГД будет все сам лично печатать, а не заниматься своим делом, то зачем тогда вообще нужен такой ГД и зачем тогда нужен такой бизнес-процесс, при котором везде мерещатся подлоги и прочее.

    Reply
  27. tramontana

    (26) Vladimir_Konyrev, дело в том, что дается право выбора. А также никто не отменял делегирование полномочий. У нас, например, все договоры с покупателями подписывает коммерческий директор, у него на это есть доверенность. ГД подписывает не все договоры, а те, что подписывает он реально читает. И таких договоров не так много. В частности наш ГД сам договоры не печатает и доверяет распечатку договоров одному определенному сотруднику. Это его выбор. Если бы договоров было еще меньше, мог бы и печатать сам.

    Я в статье упоминаю про два типа руководства: «менеджер» и «царь». Царь не распечатает договор просто потому что это не царское дело, менеджер — вполне себе.

    Reply
  28. vde69

    (20)

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

    1. мотивацию всем сотрудникам

    2. понимание всеми сотрудниками «куда мы идем», тем самым уменьшая «отторжение», а иногда и полностью его гася.

    Собственно всякие «отторжения», «саботаж», «размытие» происходит от отсутствия принципов неотвратимости. Если люди реально понимают, что ЭТО неотвратимо, то никаких негативных последствий не будет, все расслабятся и получат удовольствие… Конкретная цель и прямой путь к ней (о чем я писал) и дает всем участникам процесса эту уверенность в неотвратимости. А вот либеральные сюсюканья вселяют мысли «нас это не коснется», «мы их прогнем» и в результате мы получаем все то о чем написано в статье…

    это ПСИХОЛОГИЯ 🙂

    Reply
  29. Alex_IT

    Внедрение СЭД дело непростое, но описание психологических аспектов однозначно верное.

    Reply
  30. tramontana

    (28) vde69, среди пользователей есть такие, для которых документооборот в их работе ну ОООЧЕНЬ вторичен и с компьютером они познакомились только на этой работе. С такими не брезговала и посюсюкать. К тем, для кого документооборот — неотъемлемая часть работы, отношение в корне другое. Мотивация начала приходить в процессе, когда людям «понравилось». Понравилось естественно людям, которые реально работают, а не ходят на работу. А дурака сколько не мотивируй, все что из него выйдет — это мотивированный дурак. От мысли «мы их прогнем» отвело заявление генерального директора о том, что внедрение СЭД — его инициатива.

    Reply
  31. tramontana

    (29) Alex_IT, благодарю 🙂

    Reply
  32. dock

    (16)

    о жизни «человека с интеллектом» среди «специалистов»

    Ждем с нетерпением 🙂

    Reply
  33. Atori-kun

    (14) Кстати в ДО 2.0. для определенного вида документа есть возможность поставить запрет создания не по шаблоны. Неужели дождались??

    Reply
  34. tramontana

    (33) Atori-kun, у меня проблема не с документами, а с процессами. Знаете как бывает, в обиходе приживается какое-то слово. Вот у нас это слово «согласовать». Так вот мы согласованием в ДО заменяем все: и утверждение, и рассмотрение, да и исполнение, разве что не регистрацию.

    Reply
  35. Freefinder

    Мы тоже при внедрении системы ДоксВижн столкнулись с подготовленностью сотрудников к электронному документообороту. Сначала было непонимание «Зачем? Ведь и так все подписываем!», но постепенно все пришли к пониманию, что с применением СЭД значительно проще необходимый документ, особенно когда ответственный человек не на месте.

    Reply

Leave a Comment

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