<?php // Полная загрузка сервисных книжек, создан 2025-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='\
А что мешает использовать активХ — Windows Media Player ?
Что обработку Файл-Открыть, что Aimp Файл-Открыть. Зачем ВАЩЕ????
Объект = Новый COMОбъект(«AMOVIE.ActiveMovieControl»);
Объект.FileName = ПутьКФайлу;
Объект.Volume = 0; //Полная громкость
Объект.Run();
а вот Душелов сделал, что можно посторонее окно в 1Ску захватывать…
А что мешает использовать winamp?
Честно пытался послушать каталог или файл — ошибки, на модуле — пароль.
(4) Захватывать-то захватывать, а вот управлять им нельзя… Если только попробовать программно на кнопки нажимать или как-то горячими клавишами управлять….
(6) Вот и я про то же! Что за мания тащить все внутрь 1С?
Как будто других программ нет ваще в винде :)))
И, кстати, проигрЫватель, а не проигрОватель 😉
(7) Ну так знают люди (большинство) только 1С, вот и развивается мания 🙂
Еслу у кого и взникли ошибки , то только из-за самой компоненты «AMOVIE.ActiveMovieControl» … проверялось не на одной машине, все работает исправно ….
Единственное… проверялось на XP и 2000 SERVER
Кому данная приблуда не нравиться прошу флудить в другом месте.
<Abadonna> Кстати, тогда встречный вопрос, зачем же тогда лазить на этом сайте и искать всякие всячины для 1С, если есть куча программ на винде ?
(5) Когда для юзеру отрубают весь доступ на клиентской машине , да исчо и работа в теминале, вот только так можно спасти юзера от наушников с МР3 плеером на шее 🙂
(11) Если юзеру отрубают весь доступ, то тут никакие ВК не помогут…
> <Abadonna> Кстати, тогда встречный вопрос
Я не думаю, чт оон лазит по этому сайту и ищет всякие всячины для 1С 😉
(12) Юзер то канечно нет, а вот сердобольный Админ иль программер может 🙂
>зачем же тогда лазить на этом сайте и искать всякие всячины для 1С
Абадонна на этом сайте ничего не ищет, в жизни ничего отсюда не скачал, а если и скачал — то не использовал. Я тут общаюсь и сам снабжаю сайт всякими всячинами
(14) Отвратительно!
(14) Уже поглядел ))) .. тоже маниак, все в 1С или из 1С ))
(11)>вот только так можно спасти юзера от наушников с МР3 плеером на шее 🙂
Не поверишь, но ИМЕННО так я и сижу на работе: с MP3-плейером на столе и одним наушником в ухе. И я никому не мешаю, и музон громко, и одно ухо слышит окружающую среду :)))
(17) Ладно оставим спор, на самом деле маюсь от безделия и не даю отрофироваться моску :)))
Лана, приделаю кhttp://infostart.ru/projects/3142/ проигрывание плэй-листа и будет счастье :))))
(18) Могу посоветовать начать изучать языки высокого уровня 😉
(19) Тока винамповского 😉
(20) Изучать другие области нету ни возможности ни желания.
Исчо здесь не все досканально изученно.
(21) windows xp+sp3:
{Форма.Плейлист(85)}: Поле объекта не обнаружено (CurrentState)
Если Медиа.CurrentState <> 0 тогда
может еще что надо для работы AMOVIE.ActiveMovieControl
(22) Вроде ничего больше не надо .
Команда CurrentState отвечает за игру композиции, когда она кочаентся CurrentState=0 и в включается следующая по порядку.
Можете закоментить эту строчку и включать вручную поочереди 🙂
(24) канечно прикольно , только вот звука радио я так и не услышал. Внизу название песни бежит,а звука нету. Пытаюсь выбрать каталог, выбирает, нажимаешь плей и тишина …. может надо что-то поставить?
(26) перейдите на веткуhttp://infostart.ru/projects/2707/ — там ответ на ваш вопрос
(26) ошибка в названии файла — если в одном из кучи файлов в названии есть символ «&» то весь плейлист не воспроизводится (нашел методом научного тыка)
ещё бы перемотку трека сделать…
У меня сложилось такое впечатление что автор торопился куда-то выкладывая обработку, сыровата программа. Смотрел на ХР, СервисПак-2:
— Изменить отсчет времени не работает обратно
— Двойной щелчок запускает след. композицию без остановки другой
— Бирюзовая рамка внизу таймера видать была сделана просто для красоты
— Не оттестировано поведение программы при первом запуске, ошибка почти на всех кнопках по клику
ЗЫ: и зачем комментить модуль объекта, смысл? не понимаю, собираешся делать ее коммерческой?
да, сыровата не спорю… делал для себя, поэтому не сильно не тестил. Коммерческой делать не буду, комментил модуль для своих нужд, просто забыл убрать :).