<?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='\
МДник в студию!
Для кунцкамеры?
Гы! Оказывается «керiвник» вовсе не «коровник», как я ожидал :))))
Конфигура хохляцкая или у меня с кодировкой проблемы начались?
По ходу коллективная разработка на лицо…не думаю, что обычное объединение проглотит такое большое количество интерфейсов…
Вид документа в Шапке .. впечатляет 🙂
Интересно… И в какую это больную голову весь этот бред уместился…
Ребята наверное о закладках не слышали…
(4) Все нормально с кодировкой 🙂 Конфигурация для Украины.
(5) На лицо 😉 Отчетики там тоже еще те (по скорости и по визуализации) 🙂 База без «свертки» больше года не работает, франч за свертку берет «ого сколько».
(7) Слышали, наверное, но просто лень было реализовывать. Отображения в зависимости от того какой клиент франча был выбран в константе — так и отображает. При простом учете столько свободного места.
А что удивляетесь? «впихнуть невпихуемое» — о многом говорит 🙂 Я такие видел, но, конечно, наполовину такие. Самое прикольное, что некоторым это удается продавать за бешеные деньги. Имхо — всему виной главбухши!
(3) И «Пiдроздiл» тоже вовсе не то что я ожидал… 🙂
(11) А что ты ожидал от «Пiдроздiл»? :))) Не «Пиздодрiл» написано
Прикольно! )))
Могу только догадываться что там в коде творится… Наверное просто жесть
(14) В код я пытался не вникать — здоровье дороже.
а зачем сюда этот старый боян, я надеялся чтото новое будет (
Нечто подобное, но более узкоспециализированное решение для автобизнеса меня повергло в шок. Особое впечатление на меня произвела организация структуры каталогов номенклатуры — по замыслу может быть 10 каталогов, так вот для каждого создано по 1 справочнику Партии,СоставКомплекта,СпрТМЦ,Статистика. Всего количество справочников в конфе 179! А код это ваще произведение искуства…
Но это все ладно, если бы не тот факт что конфа является оф. продуктом для дилеров VW, ее покупают за бешеные бабки да еще и абон плату платят ежемесячную.
(17) Кому — [:|||||:], а я первый раз увидел.
Спасибо, поржал.
2 Maljaev
Я же тебе про твой КАЦАПСКИЙ ничего не говорю…… Вы же там моральные дегенераты: знаете только свой русский язык и умничаете, мол, хохляцкий и все такое, вот есть наш великий русский язык и насрать…. А мы, украинцы, знаем два языка В СОВЕРШЕНСТВЕ, так что вам еще, как ваш дедушка Ленин поговарива, учиться, учитья и еще раз учиться, так как к нам вам еще далеко!
Правда, есть и украинцы, которые считают, что модно на русском разговаривать, то это тоже отдельная ветвь, но они хоть все же два языка знают, т.е. все равно выше вас по умственному развитию…
Даже сам пример этой конфы написанный украинцами, вы б до такого в жизни не догадались!
(20) Даже сам пример этой конфы написанный украинцами, вы б до такого в жизни не догадались!
Мне кажется, что до ТАКОГО вряд ли какой-нибудь нормальный человек может догадаться. 😉
Ну что сказать,…. на «Українській мові» очень прикольно сделано. Возможно интерфейс должен был быть именно украинским, но в коде то всегда можно разобраться.
Под конкретную задачу, необходимо искать конкретные пути решения!
С правами и интерфейсами конечно нужно было сделать более развернуто структуру подчинения. А форму сделать на различных слоях. Тут конечно вопрос к аттестату. Но зачастую работают и вовсе без аттестата. И знают больше, чем «чудо-программеры» со значком на одежде.
И еще Amor прав, украинцы знают два языка. И многие в совершенстве.
(20,22) На НАСТОЯЩЕМ украинском говорят как раз кацапы. Ибо их, тогда еще неумытых, учили правильно говорить как раз ученые клирики из Киева. А мова — и есть деревенская мова.
Кто не верит, может еще у Кушнира спросить. Во всяком случае, мы с ним НАСТОЯЩИЕ ЗАПАДНЫЕ хохлы:)))
(20-23) Да ну перестаньте тут выяснять кто выше всех на стенку писает 🙂
Бывают в разных языках разные фразы, которые могут улыбнуть людей, говорящих на другом языке.
Например в болгарском есть такая фраза «Яйця на очі» (Яичница глазунья), в словацком «ПОЗОР!» (Внимание). Вот для многих украинцев, которые не так хорошо русский очень смешит слово «сравни» 😉
Вообще как сказал один из классиков (стідно но не помню кто именно): «Чуствую человеком себя столько раз — сколько языков я знаю».
Каждый новый выученный язык, существенно расширяет кругозор и обагощает человека 😉
Так что все это инсинуации 🙂
(17) Баян — признаю.
Вернулся к этому баяну, потому как сейчас тесно с ним работаю.
Избавляю пользователей от дурного влияния данной конфигурации путем переноса в БП8, УТП8 и УТ8. Во время написания алгоритмов просто удивляюсь как там вообще может, что то работать.
Времени написать новый отзыв нет, а эмоции переполняют 🙂 Потому использовал старый текст. Но надеюсь, что время появится и я подробно опишу процесс переноса данных из этой конфигурации.
(20) Да не кипятись ты: современный русский действительно намного ближе с языку Киевской Руси, чем украинский — що маємо, те маємо. Но и это еще не все: кляті москалі вкрали не тільки мову, але й назву: Россия все-таки от слова Русь произошла. Другое дело, что сама Киевская Русь получила название от народа Русичи (но аж никак не русские). Но это так… типа размышления вскользь.
А вообще я считаю, надеясь на интелигентность собеседников: нет хохлов, кацапов… Так говорить могут только зокоренелые шовинисты и махровые националисты. Есть украинцы и русские — баста! И если придерживатся этого простого правила, то и взаимных обид не будет. А уж кого интерисует мое ЛИЧНОЕ мнение: я славянин и признаю одну нацию — славянскую (уходящую корнями между прочим к арийцам, а не грязные кочевные готы, которые в 20-м веке вдруг обкумарившись решили, что они арийцы). И посему нет разницы — украинец, русский, белорус — все мы славяне, к сожалению бестолковые праправнуки одного великого предка.
(26)
Думаю, этим закончим 🙂
Я конечно — конфу не видел — но точно знаю что — лохи делали — они своими сертификатами — жопу вытерать должны — ведущий франчь в городе — бред — лохамойники
(26) > И посему нет разницы — украинец, русский, белорус
..а почему это белорусы на последнем месте…?
..к вашему сведению: укр.язык государственным языком никогда не был (не про современность!), а белорусский — был!
вот!
..хотя фамилия у меня — украинская…
(29) С каких это пор Чебурашка стала украинской фамилией? 😉
(24) и (26)
Полностью согласен. Просто несдержался.
УПП на моем предприятии отдохивает! УУУггаааа
я знаю чела, который эту ТТН писал — тот еще жук
Чудово, а особливо чудові рахунки за оновлення=)