<?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='\
я так понимаю просто пропатченый файл?
да пропатченный, в поиске искал и для платформы 77.27 не нашел
если кто знает где есть, пожалуйста приведите ссылку
(и что бы для любой версии sql и net)
или как говорится не нравится просто не обращайте внимания
сам уже долго пользуюсь и очень доволен
а смысл в этом? У меня 1с7 27-го релиза работает в терминале в штатном режиме, и проблем никаких не вижу.
Для чего сплэш убирать?
если не видишь смысл убирать, пусть и так все работает…
не у всех быстрые каналы и безлимитка!
эта картинка может до 30 минут грузиться и скушать около 1 мб
тратится время и круглые суммы только за одну заставку
(4) чтобы было быстрее — закрой на экране эту сплэш заставку любым другим окном — она пролетит быстро….
А я вообще не понял, о чем речь. Где кому чего мешало?
(5) да, а можно еще окно свернуть и подождать
только у меня на сервер десяток переферийных точек, на каждой точке по несколько менеджерова, а таких клиентов несколько
— в итоге несколько сотен человек. мне теперь всем это объяснять?
(6) не парься. если не сталкивался с тормозным запуском из-за заставки у 77 то тебе это и не нужно
ага, теперь понял
действительно, косяк есть такой. Сам сталкивался, когда лезу по рдп через инет. «Лечилось» переподключением сессии рдп. Благо канал позволял.
Кстати, тормозит оно и на быстрых каналах.
да, всегда тормозит
а у меня 1с после патча через пол секунды запускается 😉
я сам пользуюсь облегчённой заставкой, без неё бухгалтера бывает теряют 1с.
она и видно, что пускается 1с и так, как штатная — не душит канал.
если нужно пришлю…
pip38@mail.ru Павел
(10) спасибо, я уже к этой привык…
патчеров и статей в инете как это исправить как грязи, еще один велосипед
А в параметрах запуска разве нет NOSPLASH?
(12) ссылку пожалуйста на патч для платформы 77.27 (я выше уже просил, никто пока не дал) или уже пропатченную!
(13) есть, а ты пробовал с этим параметром запустить? или почитать для чего он, и разобраться для чего данный патч 😉
————————————————-
пс народ прежде чем коментить или минусовать может сначала разберетесь что-к чему???
(14) Не надо нервничать. Вместо вопросов на вопрос дай более подробный комментарий. И люди к тебе потянутся 🙂 Я, например, с подобной проблемой не сталкивался. И с удовольствием бы положил в загашник эту примочку, если она реально полезна.
Сия поделка, вообще-то, есть нарушение лицензии, если, что 😉 делай как в (5) указано и будет тебе счастье…
(13) про NOSPLASH читайте тут, это вообще другая тема и предназначение
http://www.imho.ws/showthread.php?s=5e6a587f9986bdc954391730946733ef&p=1352629#post1352629
(15) а никто и не нервничает 😉 . специально для вас (уже в 3 раз) добавил информацию в шапку, либо почитайте комментарии, тут уже все написано…
(16) на (5) уже ответил отчасти в (7),
хороша работайте в сетевом режиме, тогда работа с 1с81 в терминале так же нарушает все лицензии из-за необходимости делать BackEnd_8.x_Patch
предложение протестировать — всем обладателям терминального сервера с 1с77
ограничьте скорость сетевухи до 10 мбит и зайдите на него через подключение с 1с, или еще лучше попробуйте подключиться через не очень быстрый интернет:
в итоге получим очень длительный запуск платформы, при относительно сносной работе в режиме предприятия.
а затем подсуньте патченную ДЛЛ и сравните скорость запуска.
про патч и нарушение Лицензии 1С — тут нет коммерческого ущерба для самой 1С (к тому же у меня все ПО куплено) т.к. никак не ограничивается ее функциональность.
Фирма 1С сама предусмотрела в ряде случаев замену стандартной заставки или ее отключение (в режиме запуска OLE), этот патч просто дополняет еще один такой случай.
Если начнут гонять и сажать за OpenConf (который тоже заменяет типовые файлы 1С), тогда и прекрачу это использовать 😉
(14) ссылку на патчер тебе никто тут не даст, ибо в комплекте там идет много еще чего отучающего, тот кто знает где искать, всегда найдет
+ сами ддлки для 27 релиза патченные уже в сети валяются
(15) «Примочка» полезна реално ;). У меня канал на терминальный сервер нормальный, необходимости казалось бы нет, но длл-ку все-равно поменял — эфект ощутимый.
(20) патч соарона если честно с 27 релизом у меня сдружить не удалось, к тому же для старых версий он требовал SQL вариант.
я свой делал год назад, тогда не было длл патченных, может уже появились, хотя сейчас я что-то тоже не нашел, кроме кучи воплей о помощи, да советов и рассуждений как это сделать…
(21) !!! первый человек, который попробовал и отписался. На широком канале тоже кстати приятней работать и даже локально когда 1с мгновенно запускается.
я рад что Вам помогло 😉
«… необходимо для работы в Терминальном режиме»
если ты понимаешь что такое терминальный режим,
в терминальном режиме «передается весь экран клиенту»
и какая разница, что там на экране
это скорее всего подойдет тем кто «тянет» прогу с сервера из административной установки…
(25) да понимаю 😉 именно поэтому и нужен данный патч
т.к. заставка при отрисовке выводится ПОПИКСЕЛЬНО высыпаясь на экран
то при медленном соединении — при отрисовке на удаленом рабстоле 1 пиксела
клиенту (токое ощущение) передается весь экран что создает еще больший тормоз!
(26)
а ты думаешь при отрисовке каждого пикселя экран обновляется?
это идет вразрез с принципами терминала…
фрагмент:
«# Когда сервер шлет данные для вывода на экран очень быстро и терминал не справляется с объемом рисования — терминал перестает обновлять экран и рисует картинку только в буфере кадра, в оперативной памяти. Это хорошо заметно в консольных приложениях, например, если из командной строки сервера выполнить команду ‘type длинныйтекстовыйфайл’. За счет того, что не происходит вывода в медленную видеопамять, терминалу удается просчитывать кадр быстрее и тем самым быстрее справиться с объемом отрисовки. C другой стороны, пользователи очень негативно относятся к тому, что терминал перестает обновлять экран. Человек любит всякое движение на экране. Поэтому через некоторые интервалы времени терминал обновляет картинку на экране, даже если в очереди еще стоят невыполненные команды от сервера. Маленькие значения сделают изображение на экране более живым. Большие значения могут привести к задержкам при обновлении экрана и за счет этого позволят терминалу быстрее выполнить большие объемы отрисовки.»
Работает! +
(16) У меня такой фокус не пройдет — в терминале в качестве среды выступает батничек, и explorer не грузится, и параметр nosplashscreen работает, вот только юзер тогда не запоминается
(19) А наличие ущерба не обязательное требование для подозрения в «пиратстве».
Подобную замену гораздо легче заметить сотруднику органов, часто просто натасканному на некоторые признаки без понимания их сути, чем наличие openconf или каких либо иных средств, не меняющих видимое поведение платформы.
(27) Это все реклама майкрософт. Эффективность и применимость этой фичи явно оставляет желать лучшего в данном конкретном случае.
З.Ы. Было бы классно, если бы кто из зубров взялся написать простенькую для понимающего чаловека (как мне кажется ) приблудинку, которая из под себя запускает 1С и при этом поверх основного его окна рисует белый прямоугольник до момента пропадания этого окна — и никаких проблем с лицензией в принципе.
Убирать заставку совсем — имхо некузяво как-раз из-за того, что не виден процесс загрузки и тп. На медленных каналах достаточно сделать в качестве заставки одноцветный прямоугольник — даже при работе через модем грузиться махом.http://www.itland.ru/forum/index.php?showtopic=5223
Способ от orefkov самый лучший, спасибо.
(27) не совсем врубаюсь в алгоритм отрисовки, но факт есть факт, 1с тормозит при запуске
(29) а какая разница как стартует платформа? из батника или нет, и при чем тут эксплорер?
после данного патча у 1с вообще нет заставки в любом режиме запуска.
я рад nosplash, что у вас работает данный ключ и вам не нужны никакие патчи — не подскажете как вы этого добились???
(31) а что мне дает лицезрение процесса загрузки??? какая сейчас таблица грузится или индексируется.
хотя Ваше право можно любоваться и на черный прямоугольник.
по моему самое изящное решение было бы пропатчить так чтобы заставка была, но не перерисовывалась (так было у одного из патчей для старых платформ)
пс
давайте не будем больше морочаться с вопросам лицензий…
(33) у меня батник стартует 1С. Если explorer не грузится, нет возможности всунуть окошко — ибо 1С выступает в качестве «оболочки», т.е. среды.
(34) а в чем собственно проблема, какое окошко ты туда хочешь вставить?
у меня в терминале тоже 1с стартует вместо оболочки и эксплорера нет
(34) А почему первой строкой батника не прописать запуск окошка? Или программка, рисующая окно будет из себя запускать 1С, а сама грузиться батником вместо нее.
Уберите заставку в самой конфигурации. Именно она и перерисовывается. Стандартная заставка останется, вся информация при загрузке 1С выводится, но грузится значительно быстрее.
(37) проверил работает!
проверил, работает и на 77.25.. прикольно 🙂
(39) лучше аналогичный патч сделать на длл-ке от 25 релиза
на всякий случай
(38) Это для тебя был новостью?
у меня работает.
Работает на 7,7 2.27 проверено!
(43) это вообще что??? жаль что за такой комент не могу тут Минус поставить
(Модераторы, плиз удалите это сообщение)
Все работает! Респект. Пользовался частенько пока 8-ка не задушила 7-ку (почти :))