<?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='\
… моя первая программа на 7-ке за последние пять лет … уффф … даже вспотел … вот …
(1) Лучше бы вспотели посильнее, но написали правильно название
… нуууу … ужжж … а мне понДравилось … ))) … вот …
п.с. первый блин всегДА комом …
Ох уж эти поздравлялки. Все надоело.
Наконец-то! Свершилось! Додуматься ПриНачалеРаботыСистемы() запустить стартовую обработку — уже вспотеть можно, а придумать к ней название
«программный шлюз» — это уже за рамками реальности.
И где, простите,
?????
вОт таК КАк-ТО….
(4) … в принципе СОгласен … а чтоБЫ ВЫ хотели ? например как максимизировать окно обработки штатными 1С и Виндоус средствами ? …
(5) … СпАсиБО ! Абадонна ! … испрАвил … (хм, странно … точно помню что вставлял. виноват не проверил) …
… ОДНАКОвот …
(6) Шепот , ты пугаешь людей своими последними разработками.
(7) … да лаТно уж … пугаю прямь … ))) …
(0) это что ? и для чего ? Или где ?
Фон = СоздатьОбъект(«Картинка»);
Фон.Загрузить(КаталогИБ() + «AdditionImageНГ_02.bmp»);
(9) Все нормал 😉
Просто надо подсократить
до
😀
Спасибо! 😀
(9) … блин … это надо удалить … совсем вспотел, в двух соснах блуждаю … исправил …
(10) злые «вы» …
(11) удачи ! …
… вот …
(12)
Конечно, злой. И ты должен догадываться, где и когда меня разозлил.
А я не злопамятный: просто злой с отличной памятью 😉
(13) … ))) … знАмо где …
… хм … может стоит посмотреть на проблему шире … к тому же задача «злить» — не ставилась и не подразумевалась и вОООбще «никак» … ОДНОЗНАЧНО …
… вот …
п.с. часто то что «есть» — не есть «что» а есть «то» … )))
(14)
Пізно, панна: померла так померла
(0)
Шёпот, зачем смущаешь неокрепшие умы? Есть такая возможность, вполне штатная. Если ты не нашел, не значит, что её нет.
Показать
Как два байта отослать, однако
(13) «Пізно, панна: померла так померла»
Не сразу понял, что «Пізно» это вполне приличное : «Поздно».
Подумал , что ты озорничаешь..
(17) Я ж хохол, причем западный 😉 Как и Кушнир
(0) > Спасибо Арчибальду и Альтаиру за помощь и поддержку
надо было дать мне возможность получить «спасибо» и за бета-тестинг 😀
почему не сказал что выложил?! 👿
(19) Это ты ему рассказал, что «такой возможности в 7-ке нет» ❓
😀
(20) спроси его сам
А я сделал на основе использования компонента вэб-браузер 😐
Программный код в тексте публикации можнораскрасить … 🙂
(23) Алекс, ты стал напоминать мне мужика из рекламы:
😀 😀 😀
(24) Я знаю и твердо убежден в том, что любое действие или бездействие можно трактовать с различных позиций: хорошее смешать с грязью или найти оправдание любым гадостям.
В данном случае я бы хотел в первую очередь, чтобы публикации на infostart.ru были оформлены наилучшим образом, а всё остальное потом.
(25)
Раскрасить код — дело вкуса, однако. Знаю кучу людей, которые в Дельфи просто отключают раскраску — ну не нравится им цветной!
(16) … менять картинку … можно конечно … мне важен был «фон» формы … чтобы изменение формы приводило к растягиванию и картинки … спАсиБО за код и помощь …
(19) … не думал что «помощь» и «поддержка» являются морально-наказуемым деянием … п.с. могу убрать ваше имя если вас ЭТО смущает …
(22) … как можно посмотреть ? …
(23) … можно и раскрасить … (неужели это тАААк важно) а если это важно то важно и форматирование текста в описаниях — которое вАААще непонятно как работает …
… вОт …
п.с. могу убрать ваше имя если вас ЭТО смущает
наоборот! 😀
можно было в (0) не просто имена написать, а вставить гиперссылку со ссылками на профиль
(28) … совершенно прАвильно … виноват … испрАвился … вотВЕДЬ …
Автор, вот мне до сих пор интересно, смысл выкладывать что-то если не давать подробнейшего описания. Зато хвалиться что написал.
За изобретение 5, за инструкцию 2
(30) … к сожалению сколько людей столько и мнений … отсутствие стандартов и разного понимания — какое уж тут однозначное отношение …
п.с. сделайте краткое ТЗ для написания «описания» и я исправлю обработку под ваше понимание … или дайте пример … к тому же мы должны понимать что стоимость любой обработки с «описанием» и «без» это разная стоимость … написание инструкций пользователю занимает значителную часть времени программиста * нормоЧас = как минимум удвоенную стоимость …
… вот …
если ты работал ради денег, то зачем выкладывал. Выложил бы обявление о продаже и все дела.
ИМХО, если выкладываешь свое творение для общего скачивания, то делай подробную инструкцию, либо невыкладывай вообще. Зачем людям голову морочить. Без обид
(30) Стесняюсь спросить… Что именно в описании публикации Вам не понятно и насколько подробная инструкция Вам нужна?
Плохо искал.
как минимум одна точно есть, в которую можн втопатать список любой и она будет его «поздравлять».
(33) … спАсиБО …!
(34) … Че! мог бы и ссылку дать …
Спасибо) Порадовало)