<?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='\
Понятно, что это полезно для обучения, но Вы же понимаете что никто этим пользоваться реально не будет.
(1) Это ваше мнение и Вы на него имеете право, НО на чем оно основано не понятно, оно скептическое и негативное. Вам также говорят люди когда вы что то делаете на работе, на проекте ? Второе, а как вы можете ответить за всех и утвердительно, Вы людей не спрашивали. В-третьих люди уже этим пользуются и многим приносит пользу. Конечно фразой насмешили «для обучения», обучение здесь не причем, мы работаем серьезно и уже давно. Приложение скачивается и покупается во многих странах. Наша команда разрабатывает и не только это приложение, а комплекс для торговых представителей.
(0) это на 1С?
(3) Да на 1С 🙂
Личное мнение. Интерфейс судя по скриншотам сделали как попало.
(2) Извините пожалуйста, я не хотел Вас обижать. Просто идея утопична. Кто будет для этого использовать 1С, когда есть, например «Евернот», которые есть на всех платформах,ну и про скорость работы, я думаю, не нужно объяснять.
Ну а для изучения механизмов моб. платформы — конечно круто. За это и плюсанул.
Дизайн конечно аховый
нормально
6-й скриншот: «Исправте его» («Исправьте его»).
Чем оно лучше, чем совершенно бесплатные кроссплатформенные OneNote или Google Keep?
(10) Импортозамещение, поддержка отечественного производителя!
Судя по отзывам, механизм автосохранения требует доработки, особенно в аварийных ситуациях. За образец поведения можно взять Microsoft Office, например. Некоторые подчеркивания красным на скриншотах могут быть непонятны нетематической аудитории.
Что до меня, то почему-то обычного встроенного «блокнота» хватает. На любой платформе. Видимо, я читатель, а не писатель )
П.С. После прочтения скринов захотелось туда, «где тепло и любят поэтов»(с).
(6) Согласен, что наше приложение не Evernote, недостатки есть. Но они тоже начинали когда то.
Не было бы компании Apple если бы они думали, что есть непобедимый IBM, зачем было начинать?
Всем разработчикам Infostart можно не парится и даже не начинать, ведь есть 100500 Франчайзи и вообще все разработки клиентам не нужны.
Но это ведь не так! Наш брат — простой парень имеет право делать и самое главное не боятся и не думать что есть великий Microsoft или Google.
Мы просто делаем, стараемся предложить людям выбор. Сами развиваемся и помогаем другим.
Спасибо ВАМ за плюс! И за комментарий.
Мое жизненная личная позиция — пока есть хотя бы 1 человек на земле значит ему это может быть надо. и второе мнение «каждый откусит свой кусок пирога». Мы просто предлагаем выбор. ))
P/S Evernote конечно не пример для подражания, и скорость работы оставляет желать лучшего — лично я им не пользуюсь(раньше пробовал и не пошло) и это одна из причин по которой вот и пришла идея создать своё.
(10) Выше я коллеге ответил.
1. пока есть хотя бы 1 человек на земле значит ему это может быть надо. и второе мнение «каждый откусит свой кусок пирога». Мы просто предлагаем выбор. ))
Если люди устанавливают то значит другие приложения не удовлетворяют или они ищут удобное.
Лично я пользуюсь своим приложением Fregat Writer , иногда для списков использую Google Keep.
Но сравнивать Writer и Keep нельзя приложения для разных дел. Можно использовать вместе.
Writer это ближе к OneNote но упрощено и сделано так, чтобы было удобно писать. Ещё сделаны специальные функции для писателя ( в том числе и переводчик)
У меня знакомые профессиональные журналисты, писатели и переводчики я понимаю что нужно, писателю и не только.
+ Импортозамещение как отметил коллега. И конечно мы не собираем ни какие личные данные, статистику, не следим и не отсылаем.
Про Microsoft и Google не скажу, не знаю. :)))
(12)Согласен, есть проблемы у клиентов. Лично у меня и у коллег проблем с сохранением(то что пропадает текст) на устройствах не было. Проверяли на множестве эмуляторов и физических устройствах. Будем решать и анализировать из-за чего это. Либо ошибка у нас, либо в платформе.
Раньше были вылеты из-за не стабильности платформы 1С, но сейчас уже вылетов практически нет и к быстродействию вопросов нет. НО есть ошибки платформы.
Честно нас это расстраивает так как многие ошибки зависят не от нас. И они долго не исправляются.
Это все накладывает на нас ограничения и создает первое негативное впечатление, и сводит старания на нет ((. Снижается оценка, следовательно установки и тд.
Хотя людям все равно нравится, они устанавливают, я думаю так как идея хорошая и мы делаем с душой для людей.
P.S. Кстати многие проблемы чисто человеческого характера. Что то пользователь не так делает или не понимает. Многие проблемы мы решили, после того как человек к нам обратился, многим помогли.
Новые скрины перезальём скоро. 🙂
(15) Я имел в виду механизм периодического автосохранения в некие временные файлы, которые потом можно при необходимости можно вытаскивать и сохранять.
Текст сохраняется в память устройства в виде файлов, а не только в базе.
(16)
Отзыв из Google play:
«Seems like a legit app to me, exception being that UI looks absolutely horrid»
1.
such as to cause horror; shockingly dreadful; abominable.
2.
extremely unpleasant or disagreeable:
horrid weather; She thought her uncle was horrid.
3.
Archaic. shaggy or bristling; rough.
И вы не виновны, просто интерфейс мобильной 1С именно horrid
Погуглите мобильные дизайны.
Я знаю как выглядят мобильные дизайны. Работаем с тем материалом который есть пока.
Writer в дизайне уступает другим аналогам я не спорю. Учимся
Но наш другой продукт для бизнеса(для торговых агентов) я скажу что вполне выглядит хорошо, посравнению с другими аналогами у которых дизайн из 90-х.
Можете взглянутьhttp://infostart.ru/public/522248/
Он покрывает все нужные функции и выглядит достойно