<?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='\
Добрый день!
«специально разработанных кейсах для связки планшет+сканер» — вы это самостоятельно сделали? Как это выглядит? Мы сами хотим такое сделать в одном крупном магазине. Если не сложно, то поделитесь фотографией.
Хотелось бы немного деталей:
1) Планшет на какой системе Android или Windows?
3) Сканер как подключаете к планшету?
фигня это все. дорого получается.
было дело, обсуждали целым шоблом, что делать и как быть. нужно было автоматизировать склад на крупном предприятии. как всегда, цена вопроса.
в наличии логистики и склад на 1С. крутились вокруг, как сделать дешевле, т.к. с одной стороны ТСД не хило так стоят, с другой, под них опять же надо ПО, которое стоит тоже мама не горюй.
Рассматривали все варианты, в том числе и планшеты. В итоге сошлись на ТСД.
Почему не планшеты. Причина банальна, они для этого не предназначены, не удобны, хрупкие. Это не для склада с бетонными полами, карами, паллетами и этажами.
ну и сама связка планшет + сканер. Изверги, так над операторами склада издеваться 🙂
А есть же приложения для считывания штрих-кодов, почему бы не использовать их вместо сканера?
(1) gorevg,
Не уверен что видно, но другой фотографии под рукой нет)
Делали кейсы на заказ. Стоимость кейса 1500 обошлась
Изготавливали из орг.стекла.
(2) rusmil, ОС планшета не имеет значения, сканер даталоджик USB через OTG-кабель
(3) WKBAPKA, а я разве писал что для складских работников это? Сравнивать это с ТСД нелепо, данная связка аналог «Прайс-чекера» или информационного киоска
А бегать вместо ТСД можно со связкой блюпуп сканер+андроид телефон с rdp, конечно после падения на пол не всегда выживет, но…тоже такое решение внедряли) И получалось порядка 10 т.р., опять же дешевле чем ТСД в разы
Планшеты лучше брать с отдельным портом питания.
По стоимости получалось так:
Планшет ~7000 руб
Кейс 1500 руб
Сканер ~5500 руб
итого около 15 т.р. за единицу, в отличии от аналогичных киосков, которые от 45 т.р. и выше это ну очень выигрывает.
(4) psih12, не нашли подходящего по цене и запросам)
Меня так радуют статьи такого плана, что аж смеюсь до слез.
Давайте посчитаем — блютуз сканер, стоит аж никак не 5500р, а 250-300уе, планшет стоит 200 — 250уе, итого — около 500уе.
Но все же, если вы решили взять сканер проводной и подключить по ОТГ, то очень быстро будете садить бтарею.
Вопрос номер два — кто оплатит стоимость оборудования в случае его разбивания?
Как оно будет работать пр низких температурах и грязных руках?
Батареи хватит на 8 часов работы с включенным экраном и зарядку он быстро делает?
А теперь самое интересно — сколько стоит лицензия на RPD и лицензия 1С, да да, они тоже не бесплатные. И стоят от 100уе каждая.
Итого — цена вашего реального кейса не 200уе, как вы написали (это при рубле по 30, да, но при текущем курсе — 15000р = 200уе), а 700уе.
Поэтому не вводите людей в заблуждение 🙂
Это раз, а два — с выходом мобильной платформы — вы можете сами поставить себе 1С на терминал и сделать вообще что угодно, и не будет софт вам стоить очень много. Тем более есть уже готовые шаблоны и т.д.
Цитирую: Опубликовал arteast в раздел Программирование — Мобильные приложения
Знаки… они везде.
Цепляться к базе через rdp с планшета это моветон.
(5)
Блютулзный сканер за такие деньги…не смеши, нет сейчас таких цен, да и раньше они дорого стоили)
(8) trade70, (6) DitriX,
всегда можно пошевелить мозгами и подобрать решение)
«Радуют» меня «специалисты», которые так и норовят втюхать клиентам самое дорогее решение, чтобы и самим процентик получить и не себя случайно не напрячь при настройке)
1) Сканер посмотрел, тот который используетс в боевых условияхздесь , действительно, не 5,5к, а 4к. Но так даже лучше)
такие …удивительно.. а ЦЕНА то не изменилась)
2) Планшеты которые используются
3) Быстро садится батарея? Думаю есть решение. Например этот же самый планшет с отдельным гнездом питания. О как ! Да, и такое бывает
4) В общем, изучайте ТРИЗ и думайте, господа))
А насчет мобильной платформы…хорошо ведь когда есть выбор)
(6) DitriX, чую что где-то ступил жёстко)
5500 — это цена обычного сканера, не блютуз (я про связку с планшетом)
Про блютузные сканеры я речь завёл про связку с телефоном на андрюшке когда используем).
С планшетом поставили usb-hub на 4 дырдочки. Но в основном используем только для подключения сканера usb)
как бы там нибыло, планшет не самое удобное решение. А бегать с кучей девайсов, так еще и спец. форму покупать надо, с кармашками там разными 🙂
(12) WKBAPKA, да это даже не обсуждается…каждый придумывает гемор себе сам, не в наших правилах отговаривать от этого;-)
Сканер с памятью
если перефразировать классику — и опыт сынков ошибок трудных и гения парадоксов друг))
А если серьезно, если делать прайс-чекер как описал автор, то лучше не использовать хлам. А цены значит другие будут.
А для ТСД и вправду глупость. Делают обычно блютулзный сканер у некоторых сканеров хорошая дальность но и цена то-же, комп и специальная обработка в программе 1С.
У этих сканеров есть память 4М запоминает до 240тыщ сканирований автономно…сам понимаешь можно считывать потом все как ТСД, но количество в отличие от ТСД ты будешь что 100 раз сканировать одного товара?;-)
Как говорится, слышал звон, а не знаю где он)
Повторяю, решение для прайс-чекера или информационного киоска. Это стационарный объект, кто предлагает с ним бегать похоже вообще не ориентируется в оборудовании.
Про китайский сканер, это решения для беготни, отработало с полтора года без нареканий — тоже имеет право на жизнь. И я его к слову упомянул, некоторым дай только уцепиться за что-нибудь и потроллить)
По посту изначальное решение имеет гарантию на все комплектующие, даже на кейс — как это не удивительно. И так же отработало достаточно долго (около года).
(11) trade70, Брызгать слюной и бесноваться можно сколько угодно — но факт остаётся фактом.ссылочка для таких спецов )) Удачи.
З.Ы. и да, «грамотный» пишется с одной «М». Раз уж кто-то попытался перейти на личности)
(15) trade70, мне надоело проявление глупости и невнимательности, последний раз говорю, всё оборудование связанное с постом на гарантии.
Что касается попытки подловить меня на чём-то — тешьте себя дальше, «специалист» в области торгового оборудования)
Кому моё решение подойдёт, тот сам спасибо скажет, ка те, кто сейчас им пользуются.
А кто только какахи метать может, пусть сам свои руки и марает.
А что если сканировать фронтальной камерой??? Через какую нибудь софтинку, и этот штрих передавать уже в клиентскую часть анписанную на php или js которая цепляется к 1с через веб-сервисы?
(17) baracuda, пройденный этап) пробовали использовать камеры флагманских телефонов, но скорость чтения настолько отставала от даже самых плохих сканеров, что просто жуть.
Если бы была возможность найти софтинку которая фотала-скидывала куда-нить-на сервер распозновала и возвращала, то было бы супер.
А так не комильфо ни разу(
НЕ, сканер, удобнее чем камера, да и подносить как к камере, пока угол нормальный подберешь, пока камера сфокусируется.
Кстати, пробовали связку с телефоном ещё мини-usb-сканера (размером с флешку который), тоже прикольно сочетается. Но не все мобилки otg поддерживают. Так что в итоге цена получалась совсем не радостной)
Но это так, отступление от темы…
Вообще может есть какое решение, типа внешней камеры для планшета, которая очень хорошо фотает и распознает. Но пока не думали в этом направлении
А решение так и работает в крупной оптовой компании, количество устройств увеличено до 15-ти, полёт нормальный.
Покупатели довольны что могут оперативно посмотреть остатки и цены, клиент доволен стоимостью и качеством решения.
Из планшетов 2 поменяли по гарантии в ДНС — была проблема с дисплеем.
Из обнаруженных минусов.
Иногда зависает сеанс RDP на сервере, решилось настройкой.
Добрый день! А можно данное решение реализовать через блютуз сканер?
(20) можно конечно, но блютуз почему то отваливается при некотором бездействие. По крайней мере на наших планшетах.
Добрый день. Я правильно понимаю, что после перезагрузки нужно руками входить или там само все стартует?
(22) у нас на данный момент всё стартует автоматически. Это всё настраивается:
1) При перезагрузки планшета автоматом запускается rdp клиент
2) при входе в rdp-сеанс сервера под определенным пользователем запускается 1С с указанной обработкой
Хорошая задумка!
Схоже организовал Терминал путевых листов, готовое решение стоит 250 000р (без учета интеграции), т.к. компания не является крупной, мною разработанное решение оказалось в 5 раз дешевле с прямым онлайн доступом без интеграции, так же стало тиражируемым и в планах установить второй терминал. А это уже экономия просто колоссальная вместо 500 000, выделить около 100 000.