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




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2026-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 не будет опубликован. Обязательные поля помечены *