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




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

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 не будет опубликован. Обязательные поля помечены *