"Хороший программист"




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

89 Comments

  1. ulu_gbek

    всем спасибо!

    Reply
  2. Грамматические ошибки нельзя допускать, это указывает на общую безграмотность.

    Reply
  3. хороший программист — тот кто БЫСТРО решает возникшие проблемы. А если приходит тупой программист, то конечно начинает работу с переделкой всего под себя и естественно в первую очередь переставляет операционную систему. Ваша статья очень самокритична, прочитайте ее еще раз. Вы как будто сами про себя писали. Просто удивительно как вам не нравятся ваши же действия.

    Reply
  4. O-Planet

    > ТАК (28.03.2006):

    > хороший программист — тот кто БЫСТРО решает возникшие проблемы. А если приходит тупой программист, …

    😉 В этом и суть сатиры, чтобы кто-то в комическом образе узнал себя и позлился. На воре, как говорится, шапка горит.

    Reply
  5. Статью про себя написали ?

    Вы сами то «хорошие программисты» ?

    Reply
  6. «Чем кумушек считать трудиться, …».

    «Хороший программист» всегда начинает с переустановки ОС.

    Да и грамотностью не страдает…

    «… не лучше ль на себя, кума, оборотиться?».

    Reply
  7. У «хорошего программиста» всегда есть готовое решение и он просто «научит» вас «правильно» работать. И это решение, как правило, «универсальное» — одно и для всех, и причем написанное не им самим (из личного опыта).

    «Хороший программист» — хорошая защита. Даешь максимум паролей с максимумом символов и минимум доступа!

    Reply
  8. А зачем систему перестаустанавливать? Какие проблемы возникают у 1С от системы? Есть какие-то нерекомендованные или неправильные Windows’ы?

    Как немного понятно из статьи человек писал свою конфигурации клиентам, а Вы пришли и решили поставить свою «универсальную»? Крупные сопровождающие ПО организации, которые содержат много клиентов, очень не любят конфигурации, написанные под клиентами, они всячески стараются убедить клиента работать на стандартной конфигурации, чтобы периодически обновлять их с диска ИТС и всё! Ну иногда делать внешние отчеты.

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

    Reply
  9. «Хороший программист» — это тот, кто по первому же требованию заказчика изменил механизм работы стандартной системы особо не задумываясь о том, как фирма будет работать дальше, взял деньги и свалил. Заказчик при этом выявляет «неправильную» или «неточную» работу системы, пытается пригласить его обратно. После «отмазки» типа «занят» ищут другого программиста.

    Reply
  10. В большинстве случаев заказчику необходим не «программист» а просто нормальный специалист, хорошо знающий бухгалтерский учет и аудит. 99% вопросов по поводу написания или изменения типовой системы учета отпадают сами собой (Из личного опыта).

    Господа программисты, изучайте бизнес-процессы и бухгалтерский учет.

    Reply
  11. Статья написана от лица фирмы-франчази 1С и критика в сторону «хороших программистов» не может считаться объективной. Не менее интересный материал можно привести и про таие фирмы (по личному опыту в своем городе), но опять-же это будет необъектично. Мого лишь сказать, что с грамотными специалистами, работающими в этих фирмах, меня судьба еще не сводила (опять же — по личному опыту в своем городе).

    Среди т.н. «хороших программистов» они есть.

    Reply
  12. >Потом приходится серьезно перерабатывать документы, >сделанные «хорошим программистом», приводя их в >соответствие с требованиями 1С. Кстати, не редко возникает >необходимость полной переработки всего того, за что было уже >оплачено «хорошему программисту».

    Похерить все наработки программера под конкретную фирму, все подвести под стандарт 1С — руки бы таким «программистам» пооборвать!

    Reply
  13. Хороший программист — тот кто БЫСТРО решает возникшие проблемы. Создает любые обработки(логически возможные) под желания клинта. И тот кто знает хорошо бухучет

    Reply
  14. niktas

    У каждой конторы свои заморочки… Если можно обойтись внешними доработками то еще куда не шло… А если программер меняет глобательные модули то ремарки надо ставить кто просил и что хотел…….И другой «хороший программер» все должен понять

    Reply
  15. IMHO, полный бред… Что есть «стандарты 1С»? Особые имена переменных? Размер и цвет шрифта в диалогах? Стандарты существуют лишь на печатные формы документов, да и то, как показывает практика, их мало кто соблюдает…

    Реальность же такова, что любая отдельно взятая фирма использует возможности типовой конфигурации на 20-30, ну максимум, на 50%. И это не потому, что они такие тупые — просто им это не нужно. И вот эта никогда не используемая часть конфы висит мёртвым грузом, порой (и даже достаточно часто, я бы сказал) существенно затрудняя доработку конфигурации под конкретные нужды конкретной конторы. Лично мне приходилось и дорабатывать существующие (типовые) конфигурации, и писать новые «с нуля», так что могу со всей ответственностью заявить — наилучшие результаты по внедрению достигаются в том случае, когда конфа ИЗНАЧАЛЬНО заточена под данную фирму. Получается лёгкая, простая в сопровождении база, и персонал фирмы не тупит. А если при этом остаются без работы франчайзи, впаривающие всем подряд «типовухи» — что ж, это их проблемы…

    Reply
  16. Вован

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

    Т.е. есть «качество работ». А есть еще «качество обслуживания». Это когда потом нет проблем и все работает. Очень многим недалеким клиентам качество обслуживания важнее, они просто качество работ не понимают — не видят. Многие, занимающиеся внедрением и сопровождением 1С это понимают и ставят для себя качество обслуживания на первое место. Работал я как-то в конторе — франчайзи, так там директор (умный мужик) так и говорил — качество обслуживания важнее качества работ. Поэтому и ушел я из этой конторы. Не люблю халтурить.

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

    Мое мнение, что «хороший прграммист» ставит на первое место качество обслуживания, т.е. пускает пыль в глаза. И преуспевает в этом.

    Reply
  17. Вован

    Пардон, я писал:

    «Т.е. есть «качество работ». А есть еще «качество обслуживания».»

    Надо наоборот:

    А есть еще «качество обслуживания». Т.е. есть «качество работ».

    Спать хочу — па автопилоте весь день.

    Reply
  18. vasilykushnir

    Полностью согласен с мнениями, что действительно хороший спец заточит конфу под реальные нужды клиента, естественно оставив возможность доработки и расширения функционала как для себя, так и для другого спеца. Но! При этом, если он закрывает доступ ко всему и вся (хотя, неверное нет замка, который захлопнул один человек и не смог открыть другой), это уже навевает грустные мысли, что он хочет посадить заказчика на короткий поводок и занятся банальным выкачиванием бабла. А в ситуации, когда новый спец начинает с переустановки оси и переработки конфу, возможны варианты: 1. все действительно плохо и переделки неизбежны; 2. новый спец оказался «хорошим» парнем и просто расписывается в своей некомпетенции разобратся с конфой, отличной от той, какую он вызубрил и ни шагу в сторону.

    Как видите, прежде чем бросить в кого камнем, надо знать конкретную ситуацию.

    Не суди и сам не будешь судим.

    Reply
  19. vasilykushnir

    Да, хотел было уже понизить рейтинг статьи, но коль скоро она вызвала такой живой интерес и даже некий оттенок обиды со стороны некоторых респондентов, то пожалуй проголосую за повышение рейтинга.

    Reply
  20. Egor

    Частично в ситуацию «хорошего программиста» я попадал дважды. Первый — когда 1С набрала новую команду для подготовки типовой бухгалтерской конфигурации под новй план счетов и второй — когда новая команда слепила ЗиК второй версии. Оба раза ситуация была связана с действиями фирмы 1с по «киданию» собственных клиентов. Кто не согласен — почитайте форумы тех периодов.

    Что касается отношения самописная vs типовая, то это зависит от значительного числа неформализуемых параметров и подлежит рассмотреню в каждом конкретном случае. Как правило, самописная удовлетворяет малограмотных и жуликоватых дельцов. Типовая без доделок удовлетворяет безграмотных «бухгалтеров», которые либо пытаются доучиться по ней, либо скрыть/переложить отсветственность за свою безграмотность.

    Что касается профессинального уровня «специалистов 1С», то на 10 бестолочей приходится один нормальный специалист, который умеет говорить на одном языке с клиентом и добиваться результата минимальными вмешательствами.

    Reply
  21. Да, уважаемые, вы явно писали про себя.

    8. Он, не задумываясь, предложит Вам все поменять, потому что до его прихода все было очень плохо!

    ……

    Там, где работал какой-нибудь «хороший программист» чаще всего (7 из 10 случаев!) приходится начинать с переустановки операционной системы, покупки комплектующих, настройки сети… Потом приходится серьезно перерабатывать документы, сделанные «хорошим программистом», приводя их в соответствие с требованиями 1С.

    Reply
  22. dav405

    Побольше «Хороших программистов» и «внедренцев»!!! Хлеб на пол не бросают — не смейте их ругать!

    Reply
  23. Грамотность програмисту не нужна, а зачем если есть MS Word с проверкой орфографии!!!! :-)))))

    Reply
  24. А иногда бывает другой случай когда, клиент просто напросто говорит, что денег у него мало, а хочет много усовершенствований! Вы за небольшую плату возьметесь заниматься благотворительностью? Я в своей жизни видал всяких! Но благотворительностью не всегда хочется заниматься, разве только из личных симпатий!

    Reply
  25. Gulnara

    «horowii programist»… byli slu4ai v moei praktike v dalekoi Rossii wto programmisty s firmy 1c ne mogli otvetit na elementarnye voprosy.. ssylajas na to wto oni rabotajut s drugoi konfiguraciei.A kak do etogo oni vse nastraivali ostavalos tolko dogadyvatsja..

    Moget byt prosto v firmah 1c u4at gramotno razvodit…tak skazat.. po ponjatijam))

    Reply
  26. ypl

    А, хороший клиент (по мнению некоторых франчайзи) это тот, кто не сотрудничает с «хорошим программистом», а покупает у франчайзи типовую, обновлять сам не умеет и вызывает из фирмы-франчайзи спецов за хх0$/час обновлять… Вот эта настоящая работа для программиста (по мнению части франчайзи), и все «стандарты» 1с соблюдены… Грустно…

    Reply
  27. Волшeбник

    Все 1С ники не программистры!

    Reply
  28. Все были в свое время «хорошими» программистами :-), искали «лучшее» решения в данной ситуации, дерзай и твори, но не навреди. Удачи всем….

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

    Reply
  30. «…Потом приходится серьезно перерабатывать документы, сделанные «хорошим программистом», приводя их в соответствие с требованиями 1С….» Что за требования 1С?

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

    Reply
  31. maskin

    1. «Хороший программист» говорит загадками: простой бухгалтер его не поймет. — тут я согласен частично. А если программист уже «законченый» (который считает что в километре 1024 метра) ?

    Вот как нибудь попробуйте объяснить бухгалтеру, что такое «нормализвция баз данных». И Вы сразу (благодаря логике данного пункта) попадете в разряд «хороших программистов»…

    Reply
  32. Что тут скажешь? Тему надо было закрывать после комментария Волшебника. Он один и был прав! 1С-ники не программисты. Чего еще добавить?

    Reply
  33. Serge_Renard

    Интересно, а кто же они, в таком случае?!

    Reply
  34. OL

    Операционку переставлять? Для этого с нормальными предприятиями работают системные админы. Я работаю с 1С: 8 лет. и программистом себя не называю, я -внедренец. Написание модулей занимае 10%, 30%- уходит на тестирование программы, а остальное время на предварительные беседы и анализ. Работаю по принципу «не меня вбирают, а я выбираю с кем работать».

    Reply
  35. Какие хитрые ребята, наверное много денег зарабатывают. 🙂

    Reply
  36. Hitcher

    Основную задачу программиста сформировал, кажется ,сам Винер еще в 50 годы: «Внести изменения в действующую программу и не снести её»

    Я встречался с типом людей, описанных с статье. Это были:

    1. Молодые, которые пришли в 1с «рубить капусту». Это выходцы из франчей, которые шабашат, прикрываясь сертификатами, сданными с 5 раза. Если бы 1С писала бы в сертификате, со скольки попыток он сдан, то было бы все прозрачнее и рынок был бы чище. А так у него все первичные признаки профессионала:)» Сертификат и внедрение в нескольких «крупных » фирмах ( 5-6 за полгода). А реально- поставил типовую и перенес 2 справочника-Контрагенты и Товары. Иногда еще и ОС.

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

    3. Продвинутый пользователь или студент. Это самый опасный:) Чуть что, сразу ставит всё самое новое из Интернета. Как правило, сын или знакомый главбуха. После этого, как правило, база восстановлению не подлежит

    Reply
  37. Хороший программист, плохой программист… 1С идет вперед, делает РЕАЛЬНЫЕ проекты и никто не сможет ей помешать.

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

    «ТАК (28.03.2006):

    хороший программист — тот кто БЫСТРО решает возникшие проблемы»

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

    Reply
  39. O-Planet

    Всем МЕРСИ за такенный интерес!!! Валерик, ТАК, Egor и др. приятно видеть коллег! И особенно прикольно читать не 1С-ников. Да, помню время, когда болел снобизмом по поводу «разных там» баз данных, уверенно творя на Builder C++ разные утилиты, ассемблеры для авиаприборов, вязальных машин и т.д. Но никому нельзя забывать одно: 1С — ТО, ЗА ЧТО ПЛАТЯТ РЕАЛЬНЫЕ, ЖИВЫЕ И ХОРОШИЕ ДЕНЬГИ. И ВСЕ, в том числе.

    > Статья написана от лица фирмы-франчази 1С и критика в сторону «хороших программистов» не может считаться объективной.

    Нет! Мы — антифранчайзи, по сути, мы — частники см. http://www.o-planet-1c.narod.ru

    Reply
  40. O-Planet

    > Что есть «стандарты 1С»?

    Вопрос повторядся дважды в разных комментах. Конечно, слово «стандарты», может быть, несколько не уместным, ведь нет такого официального документа. Однако, при работе с конфигурациями можно, на пример, самому лепить функции в глобальнике, самому придумывать документы, делающие «правильные» проводки, и все это может работать, конечно. Но для меня под «стандартами» при работе с конфой прежде всего подразумевается интегрированность. На пример, можно легко взять и забубенить в документ «Перемещение товаров» типовухи 42 счет в корреспонденции с 41.2, когда перемещение происходит на розничный склад. Представляете, что выдаст потом налоговый учет, и не только? Хотя бухгалтерша возможно вас расцелует.

    ТО БИШЬ… Видя «стандарты 1С» — читай «начальная логика построения программы»

    Reply
  41. хороший программист — мертвый программист

    другого не дано

    Reply
  42. harleq

    Количество комментариев говорит о том, что ты задел каждого, значит есть в твоих словах правда, которая колит глаза.

    Reply
  43. 1. Тут каждое предприятие выбирает свой путь … или пользоваться типовой и обновлять с итс диска… или «сесть на иглу» — пригласить программиста для изменения конфигурации (дешевле «эту иглу» пригласить в штат).

    2. Для 1С программиста прежде всего он должен быть ПРОФЕССИОНАЛОМ в оболасти бухгалтерского, налогового и финансового учета, а уж потом хорошим программистом.

    У нас и руководитель и главных бухгалтер советуется с ведущим специалистом отдела ИТ не только по вопросам «как это оформить в 1С» а по вопросам «как в соответствии с налоговым кодексом должны быть оформлены те или иные операции и допустимы ли они вообще.»

    Reply
  44. Не понимаю, что вы все так кипятитесь … это статья для рассуждения, и автор я думаю с помошью ее не пытается ни кого обидеть … пусть мы все не являемся Хорошими программерами в прямом смысле этого слова … но это не значит, что не надо стремится к совершенству …

    Reply
  45. Abadonna

    2Волшебник.

    Хороший программист — человек, имеющий ВРОЖДЕННОЕ алгоритмическое мышление, даже если он никогда и компа в глаза не видел.

    Разговоры про 1С-ников, Си-шников, Паскальщиков и т.д. — пустая трата времени. И на VB один напишет лучше, чем другой на С++

    Reply
  46. марат

    О, ДА!!!

    Reply
  47. kandellaster

    А никто не задумывался по поводу некоторых пунктов? например:

    3. Он редко комментирует свои действия, заставляя всех ждать, пока он молча что-то там настраивает

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

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

    2. Он всегда дает Вам понять, что Вы – осел в отличие от него. — люди слушают что им говориш и если не понимают то сами считаю себя ослами, ну туда им и дорога …

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

    на счет дополнения предложу напишито про пользователей, и уверен что 10 признаками не ограничишся выдет мануальчик страниц на 10 под названием «Классификация пользователей, хитрости секреты, подводные камни»

    Reply
  48. O-Planet

    3. Он редко комментирует свои действия, заставляя всех ждать, пока он молча что-то там настраивает

    Клиенту не обязательно понимать все, что я делаю, но он должен думать, что понимает.

    > «Классификация пользователей, хитрости секреты, подводные камни»

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

    Reply
  49. kandellaster

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

    Reply
  50. support

    а почему так сильно изменили статью? Первый вариант был лучше!

    Reply
  51. O-Planet

    ???

    Нет, ни кто не менял ничего (по крайней мере, по моим свединеям). У вас ведь фиксируется дата последнего редактирования? Проверьте. Оно и на o-planet.narod.ru такое же как лежало, так и лежит. Просто, может быть, первое впечатление всегда обманчиво? 🙂

    Reply
  52. Искренний

    ипичный Франч.

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

    Reply
  53. Да! так делают деньги!

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

    Reply
  54. O-Planet

    🙂

    Про неудачников — громко сказано. Имя мастера важнее его зарплаты. Мож я и старомоден слишком 🙂 Так что, с Искренним солидарен.

    Reply
  55. alexqc

    И все-таки

    3. Он редко комментирует свои действия, заставляя всех ждать, пока он молча что-то там настраивает

    Тут под «комментирует» я так понимаю имеется ввиду не комментарии в коде…

    Ну что-ж, представьте ситуацию — приходит к вам сантехник, трубы раскручивает-закручивает, а вы сзади: «А что счас делаешь? А как ты это сделал? А в чем дело было?»

    Reply
  56. O-Planet

    Конечно! Я всегда требую от сантехника объяснения, что он намерен делать. А как иначе?

    Reply
  57. O-Planet

    Спасибо за клик!!!

    Reply
  58. alexqc

    Ну как что намерен делать? Допустим, сменить ржавый кран.

    Но для этого ему например надо

    1. распилить старый (бо приржавел, и не раскручивается в принципе)

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

    3. привинтить новый кран. Но перед этим замотать резьбу паклей или герметиком покрыть.

    Ты что, за каждый этап отчет требовать будешь?

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

    Reply
  59. O-Planet

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

    Reply
  60. alexqc

    … и с этими словами впарит вам нелицензионную комплексную за 45 т.р. 🙂

    Reply
  61. Black Romeo

    Про франчи: качество работы франча зависит от моральных качеств сотрудников. Работал я в одном франче, некоторые просьбы(неслишком обременительные) своих клиентов выполнял просто так без оплаты. Хотя некоторые из клиентов пытались сесть на шею, таких вежливо ставил на место. Приходилось работать с таким что ставишь им типовую конфигурацию, а потом еще и перенос остатков делаешь руками, потому что они сами «что то не представляют как это сделать», даже если два часа покажешь как этот перенос осуществлять(недавно контора приобрела УСН и хотела туда перенести остатки из Бух 6.0, а потом еще выяснилось что не плохо было бы нам как внедренцам еще и бесперебойник привести(денег на бесперебойник бы дали, а вот транспортировка и развертка нет), то у них внезапно принтер прекращал работать в Винде(!) изза нашей программы, хотя когда уходили все работало ровно). Про клиентов: одним недавно помог разобраться почему у них в ТиСе в отчете по остаткам ТМЦ цены ползли. + еще пара вопросов возникла, попутно решил их тоже. Мне просто сказали спасибо, и задали новые. Я сказал: «Вот если у вас накопится куча новых вопросов, давайте договариваться» и все, клиент отчалил. Помоему логично что я не должен запросто так сидеть и отвечать на его вопросы, разгребать его конфигурацию, искать где он что криво забил. Кстати, руководства франчей по большей степени именно и стараются нагрести побольше денег, это я могу сказать и по нашему франчу, где я работал и по франчам которые работали в нашем городе.

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

    В целом по статье мне было непонятно (как и многим здесь) для чего же все таки было винду переустанавливать? в существующей Ваша 1С не могла работать?

    Reply
  62. O-Planet

    > то у них внезапно принтер прекращал работать в Винде(!) изза нашей программы

    🙂

    > для чего же все таки было винду переустанавливать?

    Иногда. Вот совсем недавно в одной фирме сеть висла непрестанно. Почему-то в оборудовании показывалось около 10 сетевых адапторов, которые и удаляться-то не хотели. Дравами вопрос решить не удалось.

    Reply
  63. давайте по пунктам

    1. «Хороший программист» говорит загадками: простой бухгалтер его не поймет — Да

    2. Он всегда дает Вам понять, что Вы – осел в отличие от него — это не самацель, но если программер буху советы будет давать, то наверное и ему дадут понять. Значит опять — Да.

    3. Он редко комментирует свои действия, заставляя всех ждать, пока он молча что-то там настраивает — ниже уже и сами разжевали. Да.

    4. Он не будет работать, если ему прежде не заплатят — а почему я собственно должен работать бесплатно? Да.

    5. «Хороший программист» никогда ни с кем не советуется — потому что ему незачем. Да.

    6. «Хороший программист» всегда прав. Если он не прав, то в этом виноваты только Вы. Как поставили задачу, таки получили решение. Да.

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

    8. Он, не задумываясь, предложит Вам все поменять, потому что до его прихода все было очень плохо! Да.

    От себя добавлю — хоттите чтоб я пришёл и что-то сделал — будьте любезны и доброжелательны ибо так должны себя вести все кому что-то надо. Если меня устроит ваше предложение и я найду возможным потратить часть своей бесценной жизни на решение ваших проблем — то так и будет. А если вы сразу начнёте строить из себя пуп Земли — то ковыряться в этом Пупе будете без меня.

    Reply
  64. Так что автор молодец, правильно набросал портрет хорошего программиста.

    Reply
  65. O-Planet

    🙂 Удивительно, как короткая и в принципе, не серьезная статья стала бесспорным лидером в обсуждениях! Признаюсь, для меня это стало сюрпризом.

    > давайте по пунктам

    А я-то спорю что ли? Я часто встречал программистов, талантливее себя, и это были действительно те, кто подпадает под все 8 пунктов: загруженные малохольные параноики, озабоченные собственным признанием и собственной неповторимостью.

    Читай Ильина: талант и гений — это разные понятия. Если кратко, то гений — это талант, направленный на созидание. Можно прекрасно писать программы, но быть некоммуникабельным, лезть в калошу по всякому поводу, не уметь прощать чью-то глупость, просить деньгу только за то, что я здесь дышал… В этом смысле, чем я лучше компилятора? Он лучше, потому что не лезет в калошу. Сегодня IT специалист должен представлять из себя намного больше, чем быть простым генератором программного кода, пусть даже и очень хорошим.

    В принципе, суть статьи — в этом.

    Reply
  66. >> В принципе, суть статьи — в этом.

    нет бы сразу так.

    а то в статье какую-то шнягу написал — потому как адекватная самооценка у человека должна быть и в это правильно.

    Reply
  67. O-Planet

    А что самооценка? Она тоже выражена. Может, кому-то покажется, что она занижена.

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

    Reply
  68. я про таких как я, а не про тебя

    Reply
  69. Часто «хорошим програмистом» становищься после общения с клиентом: «Я хочу чтобы это работало так и ТОЛЬКО ТАК» и не хочет принимать во внимание реализацию 1С. Хотя 1С тоже не ангел.

    Reply
  70. O-Planet

    > «Я хочу чтобы это работало так и ТОЛЬКО ТАК»

    Отвечаешь: ну, делай сам тогда. Клиент должен платить за нашу работу, а не за то, что мы терпим его глупость.

    Reply
  71. Старая тема, зачем что-т там выделять и т.п. Делай своё дело и всё тут, если хороший специалист, то и клиент к тебе пойдёт и будет платить с радостью за хорошую работу. Клиент сам решит кто хорош кто плох. Среди нас есть всякий народ, зачем кости мыть и зря время тратить. А про то что кого-то там развели на 45 т.р. то нечего «ло-ом» быть. Когда машину или камп кто покупает, то сначала ищут знающего человека, а потом совершаю покупку. Так и с 1С. Сегодня чел срубит деньгу завтра будет с 0, за разводы ещё можно и в глаз легко заработать с успехом.

    Reply
  72. O-Planet

    Пересмотрел комментарии. Вод ведь!

    Reply
  73. РЖАЛ! Неужели это я такой бываю? А ведь бываю.

    Reply
  74. serezhenko

    Пытался найти у себя хотя-бы один признак «хорошего программиста» и вот не поверите — не нашел 😉

    Reply
  75. egorovntn

    O-Planet Может он программист и не плохой, но тут признаки скорей плохого человека к сожалению:-(

    Reply
  76. dav405

    ХорПы очень полезны. Они осуществляют «первый прогон» при работе с клиентами. После такого «обслуживания» клиенты более реально подходят к вопросам оценки трудНоемкости задач.

    4 пункт — я думаю, что и нехороших программистов жизнь заставляет не браться без аванса за работу, кидают. Впрочем, завел моду — говорю, «хотите верну все взад, бесплатно» — не хотят.

    Я могу добавить пункт :

    N. ХП возьмет [нормальные] деньги, даже если не решил проблему.(Следует из п.6)

    N+1. ХП создает сам себе работу. Высокооплачиваемую. (Ручное архивирование, обновление и др. рутинные операции выполняются с видом священнодействия, недоступного простым смертным) Исправление собственных косяков Должно идти за счет клиента.

    Reply
  77. CheBurator

    > Исправление собственных косяков Должно идти за счет клиента.

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

    Reply
  78. Sergey_K

    1. Хороший программист бухгалтерию знает лучше бухгалтера!

    2. Но никогда не отвечает на вопрос — А что делать с этим счетом?

    Reply
  79. stpd

    > 7. «Хороший программист» всегда выражает свое призрение по отношению других программистов.

    > Вернее сказать, они и не программисты вовсе.

    > 8. Он, не задумываясь, предложит Вам все поменять, потому что до его прихода все было очень плохо!

    Но при этом:

    > Что делать, не решаемся мы назвать себя хорошими программистами.

    А вы уверены, что вы таковыми не являетесь? )))

    Reply
  80. alexcne

    > «мы не можем успеть к клиенту по его первому требованию»

    Напоминает анекдот про таксиста: с утра выпил — весь день свободен! Так вот, чтобы успевать ко ВСЕМ клиентам по их ПЕРВОМУ ТРЕБОВАНИЮ, нужно чтобы клиентов было один или два. Или совсем не было. Поэтому, действительно, настоящий программист ВСЕГДА имеет очередь.

    Reply
  81. O-Planet

    У меня глюк, или на сайте глюк, или еще что? Помнится, рейтинг тут был зверский, за 100 точно, а сейчас 43 ???

    Reply
  82. KooLooShin

    > 8. Он, не задумываясь, предложит Вам все поменять, потому что до его прихода все было очень плохо!

    vs

    > Там, где работал какой-нибудь «хороший программист» чаще всего (7 из 10 случаев!) приходится начинать с переустановки операционной системы, покупки комплектующих, настройки сети… Потом приходится серьезно перерабатывать документы, сделанные «хорошим программистом», приводя их в соответствие с требованиями 1С. Кстати, не редко возникает необходимость полной переработки всего того, за что было уже оплачено «хорошему программисту».

    Ржал

    Reply
  83. dushich

    Буду честен:

    Лет 7 эдак назад, когда я только-только начинал заниматься 1С, я наверное очень был похож на этого ХП. (К сожалению). Я только вернулся с армии, и сразу устроился на работу. Причем устроился вообще железячником. Так уж сложилось, что родился я и вырос в очень маленьком городе, где со специалистами сплошная проблема. И из фирмы, в которую я только что устроился, ушел предыдущий специалист. Каюсь: и сам себе работу придумывал, и драл в тридорога, и просто зачастую не хорошо обходился с клиентами. (Я на весь город один, конкурентов нет. Нет и тех кто покажет на меня пальцем и скажет — «Хых, да он же Вас ная..ет!»)

    Прошло много времени, я работал в куче фирм франчи… Открыл свое дело… Закрыл свое дело… И еще много чего произошло…

    А до сих пор сталкиваюсь с подобными случаями…

    Тут, ребят не смеятся надо… тут надо плакать… и со слезами на глазах шуровать плеткой по ж…. этих «Хороших» 🙂 (Как воспитали в свое время меня 🙂 )

    Reply
  84. YVolohov

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

    Reply
  85. WKBAPKA

    Золотые слова!

    Reply
  86. Gavroch.v

    Уважаемые коллеги! Во Славо,что поднят этот вопрос!Уже 7 лет подобное слышу от заказчиков и думаю … где НАША проф Гордость и до каких пор самозванцев и про… будем терпеть(я о так званных наших «коллегах»).А вот как объяснить — что есть что… пока у меня не всегда получалось! 🙁

    Reply
  87. ZLENKO

    Я вам так скажу, что «хорошие» программисты уходят от «хороших» клиентов. Когда я слышу что кто то у них был раньше, но что то там не заладилось — чаще всего оказывается что предшественник просто сбежал от таких клиентов. И чтобы я не думал про программиста — виноват всегда клиент! Ведь он выбирал программиста… пусть теперь не думает что я ему на шару все исправлю. Исправлю конечно, но только за очень дополнительные деньги 🙂

    Reply
  88. tango

    (18) VasilyKushnir,

    прежде чем бросить в кого

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

    Reply
  89. tango

    (84) YVolohov, … обычно гораздо хуже …

    Reply

Leave a Comment

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