<?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. Сам в свое время офигел, что все так просто. Это сейчас верно для всех браузеров.
http://sikuda.ru/internet-explorer-10-dlya-windows-7-vyishel/
2. Лезть в код 1С — дело неблагадарное, они так полные хозяева и могут изменитьвсе что захотят. И работоспособность будет большой головной болью…
3. Но самая большая проблема 1С и IE, то что стандартная 1с web клиент в IE работает в режиме соместимости и это пока не изменилось в 8.3.
(0) Статья из разряда «У осла был отладчик javascript»?
(2) awk,
Спасибо, очень приятно начинать день с таких многозначительных комментариев, как ваш. Спамить, переходить на личности лучше на Мисте — это их фишка. Этот ресурс лучше сохранить для конструктивного общения, не переводя в помойку. Есть что по делу сказать?
Встретились два чуда софта)) Вороде как обкщяли в 8.3 прикрутить WebKit.
(4) Под *nix только прикрутили, под виндой не работает(
(3) Ты не понял. Осел — в простонародье веб программистов IE. У многих браузеров есть отладчики и что с того? Мяса в статье хочется — мяса.
Но какой изо всего этого следует вывод? Можно подробнее — что вы там выяснили такого в интересного отладчике яваскрипта?
(6) awk,
Извини, я не понял. Мясо есть в 2х черновиках новых статей. Могу выслать для предварительного просмотра и критики.
Темы такие: Внешнее воздействие на веб-клиент 1С, когда клиент помещается в IFrame
Некоторые системы подключения html-страниц внутри УФ
Сейчас работа ведется над связкой Html-JS-1СSOAP. Надеюсь, что результат будет и получится статья.
(7) Evil Beaver,
1. Весь фреймворк веб-клиента 1С, объекты, стили , события доступны из поля HTML, встроенного в УФ.
2. Весь фреймворк веб-клиента 1С, объекты, стили , события доступны для html-контейнера, если в него поместить через IFrame веб-клиент.
Неясные выводы: из поля HTML-документа, помещенного на УФ скорее всего доступен вызов серверных методов и методов формы. Это решит проблему интеграции HTML c УФ.
Код 1С обфусцирован, разбирать его чрезмерно сложно.
(9) М-да. В век быстрых процессоров мы обфусцируем код, чтобы приложение выполнялось не так быстро…
Ух ты! Отлично кэп! мы теперь умеем отлаживать, javascript прямо в браузере, правда тут такое дело… когда понадобилось, я загуглил как это делается, где то минут за 3-5. Причем, что javascript разбирал третий или четвертый раз. Или я что то недопонял и статья не про это?
(11) webester,
Поразительное умение пользоватья Гуглом. Вы за 3-5 минут нашли статью о том, как заглянуть и зайти внутрь исходников 1С? Вы заглядывали внутрь 1С? Если заглядывали, то что можете сказать о структуре объектов и какую пользу получили?
http://habrahabr.ru/post/183016/
Я заглянул и, как следствие появилась эта статья:
А чтобы не забыть, каким путем туда заглядывать и каждый мог повторить путь, написал эту очевидную на ваш взгляд статью.
(12)за 3-5 минут нашел как отлаживать javascript в браузере. Имхо это просто. Статья же от этом? А внутрь какого кода вы заглядываете, что то меняет? Не в плане полученных вами знаний(в статье об этом ни слова) а в плане отладки, то есть в данном конкретном случае? Как можно забыть нажать f12?
ps конечно, конечно, респект вам и уважуха в полном объеме за то что вы что то там раскопали и поделились этим с сообществом хабра, я вот ниче не раскопал, но отладку java скрипта это не делает менее кэповской.
Публикация откровенно дохлая. Не тянет на статью.
Автор успешно открыл отладчик в IE и продемонстрировал нам окошко с тоннами js-копрокодома, все эти hPZ,hQ0,hQ1,hQ2,hQ3,hQ4…. что они даёт нормальному человеку?
(14) Kuzja_R,
(15) PiccaHut001,
Это немного близорукий взгляд. Статья — введение в другие исследования — это основа. На этом серия публикаций не заканчивается. Без этой статьи информация будет непоследовательной. Мне важно, чтобы любой 1Сник смог поучаствовать в новых исследованиях и вступить в дискуссию. Область изучения новая и не гарантирует положительный результат. Вероятность положительного результата увеличится, если исследования будут совместными.
(16) и даже для введения маловато будет. То, что опубликовано на хабре — согласен — нормальное введение. А эта публикация — спам.
(16) зачем мелочиться. Сделай уже цикл из 100 статей, в каждой можна описывать настройки апача, нюансы нажатия f12, какого цвета иконки. «чтобы любой 1Сник смог поучаствовать в новых исследованиях и вступить в дискуссию.» -тема интересна 0.001%-0.002% специалистов, остальные просто зарабатывают деньги.
(17) Kuzja_R,
Давайте, передергивать не будем. Статья подходит по тематике для ресурса об 1С. У статьи нет рекламной направленности. Судя по плюсам, есть небольшая часть сообщества, кому она понравилась. Спасибо тем, кто поддержал. Поэтому определение «спам» здесь совсем неуместно.
(18) PiccaHut001,
Мне, например, важны мелочи — именно в мелочах вся суть. Давайте основываться на фактах при рассуждениях. Сейчас факт в том, что 17 человек оценили статью положительно. Это хороший результат относительно других моих публикаций. Так сказать, выше среднего.
Я допускаю мысль, что могу неверно излагать мысли или неполно раскрывать мысли. Но пишу в соответствии с опытом и ограниченным временем.
(19) хорошо, не спам. Просто никуда не годная статья. Даже в качестве введения. Даже как объявление новой темы.
(20) вы пишете очень интересные и нужные статьи. Огромному количеству профессионалов они интересны(целых 17 человек). Вы понимаете, ещё есть очень торопливые социально-адаптированные люди, у которых есть жена, дети, друзья, работа, ипотека, и у них нет времени читать полностью цикл из 100 статей «как я научился нажимать f12 в интернет експлорере». Был бы очень признателен, если бы специально для таких людей перед написанием первой статьи вы бы делали небольшой анонс вида «собираюсь написать цикл из 100 статей как я научился нажимать f12 в интернет експлорере, а в 89 статье я опишу, как получилось задать собственный обработчик события». Тогда можна было-бы прочитать сразу 89 статью и получить хоть какую-нибуть полезную информацию.
(22) PiccaHut001,
Зачем человеку, у которого ипотека, работа, жена болеет и грудной ребенок вообще заходить на Инфостарт, читать статьи и долго в нескольких постах разжевывать ненужность некоторых статей? Если вам не нужно, это не значит, что другим не нужно. По себе людей не судят.
Суть претензий не ясна. Анонс есть.
(21) Kuzja_R,
Не проще просто поставить минус, чтобы не тратить свое и чужое время на прочтение статей и постов?
(23) к счастью(сожалению) жены, ребёнка, ипотеки нету, но я подозреваю, что такие люди существуют. Мне обидно, что действительно оригинальные статьи и разработки задвигаются вниз таким (0) «мусором». Даже затрудняюсь ответить, что мне более противно: байки очередного стартапера или «задротская магия» открытия js кода в отладчике IE.
>>Не проще просто поставить минус, чтобы не тратить свое и чужое время на прочтение статей и постов?
не хватает рейтинга, а то бы — обязательно поставил.
Прочитал. Сначала статья показалась просто сырым, недоделанным материалом.
После прочтения статьи на хабре, понимаешь что у автора таки было что сказать (если это тот же автор).
Возникает нехорошее чувство, что автор посчитал уровень пользователей инфостарта не достаточным для полноценной статьи.
У меня одного такое чувство ?
(26) Vlasenko.Oleg, на хабре за такие «публикации» на кол сажают. А здесь ничего, обсуждаем, убеждаем.
(26) Vlasenko.Oleg,
После прочтения статьи на хабре, понимаешь что у автора таки было что сказать (если это тот же автор).
Возникает нехорошее чувство, что автор посчитал уровень пользователей инфостарта не достаточным для полноценной статьи.
У меня одного такое чувство ?
Вы зря переживаете. Статья с Хабра будет помещена здесь. Была написана сразу серия статей в Word’е Нужно время, чтобы переделать эту статью под Инфостарт. Но вместо этого сижу — оправдываюсь здесь. А вместе с тем уже 19 плюсов. Значит не все знают, как вызывать отладчик.
(27) Kuzja_R,
Я вижу, у вас огромный опыт публикаций на Хабре, вам есть, что сказать дважды забаненному там.
(29) ну, это не показатель
скока меня тут(!) банили!
(30) tango,
скока меня тут(!) банили!
Порог вхождения на Хабр немного выше порога вхождения здесь. Когда вы дважды пробьетесь публикациями в песочнице, мы сможем поговорить на общем языке.
(29)
«Когда его массивная фигура отдалилась достаточно далеко, отец Федор быстро высунул голову за дверь и с долго сдерживаемым негодованием пискнул:
— Сам ты дурак!»
Очередная статья из серии «Как хакнуть html поле 1С, получить себе проблем с разработкой, поддержкой, совместимостью (в т.ч. с будущими версиями 1С и (веб)клиентами под Linux/Mac) и весело провести время в
ДоминиканеТае (а также предоставить вумный отчет о проделанной работе по поиску лучшейжизниинтерфейса 1С)». А где-то в заснеженной России уже выходит 8.3, Такси…Хорошее начало.Но для публикации маловата.Соглашусь с критиками.Тот же кто не знает как в ИЕ отлаживать html (JS) найдет для себя что то новое.
Мой ответhttp://infostart.ru/public/191248/ (пока на рассмотрении 19.06.2013 12:30)
ЧембурленуДоминиканнеСтавлю плюс. Не за содержание статьи, а за тему, как таковую. Сам я давно уже умею нажимать f12. Но вот вопросы аккуратной интеграции веб-клиента в портал компании мне интересны. И частенько мне нужны только данные 1с оформленные привычным, для пользователей 1С:Предприятие, образом. Например:
Мы хотим отражать некие данные из 1С на сайте. Мы можем создать в 1С веб-сервис и получать данные из него. Мы можем создать rest-сервис, и поставить его между 1С и сайтом компании. Мы можем обратиться к данным в таблицах базы 1С. И при всех этих способах нам придется повторно решать задачу отображения полученной информации.
Вариант обращения 1С по правилам Веб-клиента может решить (в обоснованных случаях) задачу доступа и представления данных. Беда в том, что нам неизвестно какая часть кода Веб-клиента является устоявшейся и будет сохранять свою логику в дальнейшем и наоборот. Если внедренцам не предоставляют подобную информацию в открытом виде и ее никто не исследует самостоятельно, аргументируя недостатком времени или чем-то иным, то использовать возможности 1с в полной мере мы не можем. Автор статьи потратил часть своего времени на подобное рассмотрение, и сообщил об этом.
Да информации в статье мало. Я даже сначала подумал, что была некая цензура, чтобы полезные результаты не обнародовались. Но теперь мне ясно, что это лишь способ привлечь внимание к тематике вопроса. А мы ему фактически сказали — делай как все и не надо желать странного. Мало пока такой информации на Инфостарте и на партнерском форуме.
(36) matytsin_new,
http://infostart.ru/public/190920/
Спасибо за конструктивный ответ. Попробуйте посмотреть другую статью
В ней немного больше сказано о внутреннем устройстве веб-клиента и попытка подключиться к нему снаружи.