Три видео урока по пользованию 1С:8 для чайников




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

55 Comments

  1. ЗАК

    Мне кажется чайников этим видео не спасти 🙂

    Reply
  2. Prepod2003

    На самом деле, думаю, что это информация будет полезна не только чайникам, но об этом тссс…))

    Reply
  3. ЗАК

    заинтриговал )))

    Reply
  4. isadora

    Очень полезное видео,спасибо за идею записывать видео для юзверей!

    Reply
  5. Prepod2003

    Спасибо за положительный отзыв! ))

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

    http://infostart.ru/public/70811/files/

    Reply
  6. German

    youtube.com а качать и запускать ехе стремно и лень

    Reply
  7. Prepod2003

    про ютуб — хорошая мысль ))

    Reply
  8. Istur

    (7) Да, сделай пожалуйста через онлайн просмотр.

    Reply
  9. Istur

    (0) И ты примерно дай пожалуйста список тем видео. А то

    Три видео урока по пользованию 1С:8 для чайников

    мне ни о чем не говорит.

    Reply
  10. 360i

    Скачал пока только 1-ый файл. Нормально, только на 20 мин информации маловато (слишком затянуто). Но все равно + за попытку.

    Reply
  11. Nadezhda09

    То, что для чайников 3 файла, я заметила 🙂 , но скачала только 1, т.к. на попытке скачать второй файл, вышло сообщение: превышен лимит скачиваний 🙁

    Reply
  12. seducer

    А о чем хоть видео?

    Reply
  13. dobraleks

    + за идею и за труд.

    Вот только поддерживаю (6), правельно подметил екзешник стремно запускать, продублируйте копию на ютуб или в другом формате.

    Reply
  14. Prepod2003

    Список разбираемых тем в уроках:

    Урок 1.

    1. Работа с формами списка: изменение ширины колонок, видимости колонок, местоположения колонок, высоты строк.

    2. Сортировка в таблицах

    3. Поиск.

    Урок 2.

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

    2. История отбора.

    3. Способы выбора в поля.

    4. Настройка правил позиционирования курсора при открытии формы таблицы.

    5. Настройка правил установки иерархического просмотра при открытии формы справочника.

    Урок 3.

    1. Работа с отчетами: группировки строк и колонок, отборы, дополнительные поля, расшифровки, сортировка и т.д.

    Reply
  15. Gens76

    Молодец, то что надо !

    Спасибо !

    Давай ЕЩЕ !

    Reply
  16. chmod660

    плюсую идею и присоединяюсь к просьбам об альтернативном формате.

    Reply
  17. chmod660

    кстати, вирусов в файлике не находит

    http://www.virustotal.com/ru/analisis/0a28076f764d85da6ba36f21a405ccbfdb4cc83568c8­5b5825bbb4f4ebf3cbf6-1274855206

    но все равно, видеоформат был бы удобнее для организации, например, сетевой трансляции через VLC

    Reply
  18. Prepod2003

    Уговорили – сделаю уроки в видео формате. ))

    Reply
  19. YRAtomic

    А слабо сделать интерфейс конфигурации таким — чтобы такие уроки не публиковать 🙂 ?

    Reply
  20. Prepod2003

    20) Очень правильная позиция, так и делаю, но только у самых любимых – дорогих клиентов, с которыми работаю постоянно и давно. Но все-таки это требует существенных усилий, как творческих, так и профессиональных.

    Reply
  21. Vadimok

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

    Reply
  22. Prepod2003

    пишу этой прогой:

    http://www.uvsoftium.ru/UVScreenCamera.php

    Reply
  23. alfanika

    Конечно, плюс. Это помощь чайников к спасению. Реально их спасет только практика.

    Reply
  24. Sanek_159

    В свое время делал презентацию в картинках для пользователей, как обращаться с 1С 8. Теперь дам им видео урок. Спасибо!!!

    Reply
  25. Lizi60

    Спасибо. Конечно +.

    Reply
  26. miramak

    большое спасибо, очень актуально для освоения. +

    Reply
  27. anig99

    Пока не смотрел (: но скорее всего возникнет такое пожелание — добавить субтитры. На 90% офисных компов нет колонок.

    Reply
  28. anig99

    ОПРЕДЕЛЕННО нужны субтитры!

    Reply
  29. Abadonna

    (28), (29) У UVScreenCamera есть возможность редактирования ролика со вставкой субтитров и т.д. Дерзай 😉

    Reply
  30. Prepod2003

    (28), (29), (30) Я подумаю, но вряд ли – нет времени, да, и мне кажется — это не стоит того… Хотя, конечно, приятно, что есть положительные отзывы и плюсы ))

    Reply
  31. Abadonna

    (31) Кстати, забыл поставить плюс — ставлю.

    Для чайников очень полезно. А субтитры, действительно, не лишние будут: в 95% случаев колонки как раз только у прога и стоят. Юзверь с колонками — это только, если свои принесет.

    Вот смотри:

    http://infostart.ru/public/59436/forum/topic/28936/

    4. Латыпов 01.12.2009 11:44:00 Пользователь

    Уважаемый автор, а нельзя ли добавить след. функции/методы:

    ……………………………….

    3. реализовать-то наконец работу с биппером beep(частота,длительность).

    Как думаешь, зачем? 😉 Как раз по причине, что звуковуха сейчас везде стоит, а вот команда Сигнал() уходит в никуда из-за отсутствия колонок

    Reply
  32. anig99

    (32)(36) опять ИС глючит…дальше первой страницы не пускает…

    (30)(34) А скомпилированные ролики править можно?

    (31)(35) определенно стоит оно того! иначе мало чем отличается от Эффективной работы с 1с 8.0

    Reply
  33. Abadonna

    (33) Через Файл-Импорт, кажись, можно. Попробовал — вроде получается, но дальше не колупал. А лучше попроси автора выслать (загрузить) сами проекты (*.upr)

    Reply
  34. husky

    Че-то не скачивается ничего-то…((((

    Reply
  35. Prepod2003

    да, файлы скачиваются битыми, как исправить не знаю…

    Reply
  36. support

    (36) да, это ошибка портала, работаем над этим, до 8мб должно быть нормально.

    Reply
  37. Prepod2003

    Понятно, сейчас попробую перекомпилировать файлы в меньший размер.

    Reply
  38. Prepod2003

    Все проблемы решены — файлы скачиваются.

    Reply
  39. wacko

    Вин2к сервер:

    http://rghost.ru/3306611/image.png

    Reply
  40. tatar_oz

    Спасибо..

    Reply
  41. ABudnikov

    Спасибо, для начинающих пригодится, хотя сам уже пошёл дальше…

    Reply
  42. udji

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

    Reply
  43. opolyakova

    ничего так.

    Reply
  44. Nad_ya

    скачалось нормально,полезно,в 8-ке многоскрытых возможностей

    Reply
  45. Vond

    А чудесная акция будет иметь продолжение? Например на другой управляемый интерфейс? 🙂

    Reply
  46. Prepod2003

    (46) Vond, Обязательно, как только появиться хотя бы один клиент активно использующий какую-либо конфигурацию на управляемых формах. ))

    Reply
  47. salli80

    Большое спасибо за видео… Просмотрела все 3. Кое чего не знала,а это сейчас как раз вовремя-переходим с 7-ки на 8,2-кое какие хитрости взяла на заметку.

    Reply
  48. Prepod2003

    (48) salli80, пожалуйста! ))

    Reply
  49. sentech

    а есть чтото подобное с задачами посложнее (изменить печатную форму, например…)?

    Reply
  50. netmate

    Почему же раньше не находилось… Полезные туторы. Хотя с этого года уже перешли на УТ11. Сейчас вот есть задача поменять внешнюю печатную форму, плотно не разбирался, но сходу не получилось найти как поменять, чтобы ничего не сломать «)

    Reply
  51. zigomodo

    Спасибо,планируется продолжение?

    Reply
  52. okanat

    Жаль всео 3 урока..Книг у нас по8-ке УПП нет ,работать очень трудно.Но и на этом спасибо))

    Reply
  53. Prepod2003

    Есть огромный видеокурс, охватывающий все подсистемы УПП. Лучше сделать вряд ли возможно:

    http://www.nasf.ru/uppall-base

    Reply
  54. Serg_F1

    У меня есть чудный курс обучения по 8.2 только весит 6 гигов(((, он по программированию с самого начала если кому интересно могу выложить на какой нить файлообменник

    Reply
  55. Prepod2003

    Если это стыренный курс Гилева, то здесь не надо ничего выкладывать, кроме ссылок на их официальный сайт…

    Reply

Leave a Comment

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