<?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='\
У тебя проигрывается звук, используя внешнее приложение.
http://www.1cpp.ru/docum/html/FormEx.html#play
Как аналог от АЛьФа:
Без доп. программ, но с доп. компонентой. 😉
Ага. Дураки мыслят одинаково. 🙂
Все это хорошо! Но потом, когда 1Сина будет делать что надо 😉
Я же просил, ПИСАТЬ КТО ПЛЮСАНУЛ РЕЙТИНГ. Кому теперь пароль высылать? И классно: скачиваний 8, а рейтинг 4. Так держать до 1000 скачиваний! Всем +1
А вообще, интересно, кто что думает и мож полезное посоветует. У меня есть пара законченных программ, где эта штука внедрена. Знаете, как классно, когда оператор читает штрихкод сканером, на пример, а программа говорит по-человечьи: «Извините, но товар с таким штрихкодом не обнаружен»
Однозначно такой подход полезен.
Особенно для любителей наплевательски относиться к делу — громкость на макисмум и что аж подпрыгивали…
Что-то ЧЕбурашка опять не в тему пишет. Как будто расширение интерфейсных возможностей разработок под 1С, борьба за удобство пользователей — являются признаком «любителей наплевательски относиться к делу».
Простим же великодушно злого чебурашку.
Хм… А по-моему намного лучше тогда уж агента присоединить и «говорить» через него. И красиво, и визуально сопровождает сказанное.
Ну +1
Превратим 1С в медиацентр развлечений! И забьем на учет …
+1 адназначна, а чебур только и делает, что об@#$ет чужие разработки.
Во-во … 🙂
> РЕКЛАМНАЯ АКЦИЯ!!!
> Щелкни рейтинг — получи пароль
> Разумеется, бесплатно.
Ну не можем мы без меркантильности. Не за деньги, так хоть за рейтинг.
Не можем 🙁
Кстати, уже два пароля отослал…
Агент надоедает, лучше просто голосовой движок поставить.
Можно и мне пароль? (Рейтинг нажал)
Можно.
> Агент надоедает, лучше просто голосовой движок поставить.
Это кому как.
Оставляю комент, что щелкнул 🙂
Привет
Прикольная чтучка.. может для новых узеров и пригодится.. что блин голосом на них ругалась..
+1
Щёлкнул :)))))
А-а-а-а-ааааа!!!
Спа-си-б-ААААААА!!!
Юзвери люди нервные (бухгалтера и подавно), а тут на них 1С человеческим голосом как рявкнет что-нибудь.
Психику людей жалко. Они и так кнопочки нажимать боятся, а тут возьмут и поувольняются все.
1С вещь серьезная, и мультимедийное приложение из нее делать не стоит.
В общем, все хорошо в меру.
Ладно, рейтинг плюсую (+1) Шли пароль.
Прикольно все-таки.
Шлю…
а теперь ещё обоснуйте руководству приобретение звуковых плат на всю вашу контору
Ужос. Осталось написать компоненту на opengl, генерирующую трехмерную дулю при невозможности проведения документа.
ЗЫ: Щелкать не буду, пароль не надо
Уговорил…….
+1
Консольная Говорилка, только консольная Говорушка, еще какие-то… не помню, умеющие читать текст из командной сроки (читай: буфера) и из файла известны достаточно давно.
Фокус не в возможности «говорить», фокус — как заставить молчать. Я не про «галку», оключающую опцию…
> Фокус не в возможности «говорить», фокус — как заставить молчать.
А пистолет на что?
Кто опять кликнул (+2), а коммент не оставил? Мне кому пароли слать? (Или ужо сломали пароль 🙂 )
Хотелось бы иногда что-то сказать юзеру через программу, а то уже достало к ним бегать: «я, ведь говорил, что так ничего не получится…. и т.п.»
+1
+1. Шли пароль.
Выслал еще 3. Понимаю так, что TimA тоже +1 …
Приподнял ;))
Клево! Поставлю своим девкам в бухгалтерию. Пусть поприкалываются…
Так что рейтинг +1
Ну я ж не телепат! Кто-то за время моего отсутствия еще на 5 пунктов поднял. А ХТО — не сказал…
Дайте ссылку на говорилку: типа подсунул ей текст «заявку 2534 готова к отгрузке» — чтоб ее проигрывала! (не наезжат! самому — искать лень 😉
Я из тех кто поднял рейтинг, а коммент не оставил. Прошу пароль.
1111111
щелкнул, гут
1С умеет говорить! надо попробовать, Userы будут в ужасе:)
Спасибо, щелкнул 🙂
скачал прошу пароль
а как проговаривать текстовые файлы ?
> скачал прошу пароль
Регишься, кликаешь плюс и пароль получаешь!
Рейтинг щелкнул.прошу пароль.
блин,уже два раза плюсанул,а пароля все нет…
Ну, не было меня ок. двух недель на сайте. Пордон!!!
Кстати, а как это ты плюсанул дважды???
я уже понял,что только раз получилось плюсануть:) но нажал-то два раза:)
+
Жду пароль
+
🙂
+1
+1
Жду пароль
Нормально
> скачал прошу пароль
+1
Самое интересное, что Gfdtk и Paha — это одно и то же лицо!
Всем все выслал 100 раз!!!
А вот Диаша — это Дина или Даша?
Давно у меня было желание сделать такую фичу из-за адвЕнснутых юзеров (у них как раз и колонки имеются, в отличии от остальных). Эх, совсем лень заела.
Па любому лучшая разработка за последнее время.
+1
+1 пароль
Наконец-то научу пользователя сохранять данные, перед тем, как пойти попить чаю.
+1
Клёвая доработка!!!
+1
+1
Все всем выслал. Извиняюсь за задержки с ответом. Много работы.
теперь пользователи у мя попляшут…:)
Инцересно-инцересно…. 43+…. за 2 месяца….. Аль стока у нас экспЭртов?
И в комменте за 30.08.06 автор Че Буратор почему-то без ссылки…. Знач незарегистрированный пользователь подставил ЧеБурашу, а вы на Че наехали? Да ещё и некрасивыми буквами на него… (там же, 30.08.06). Ай-яй-яй.
А теперя бут 44+.
от меня +1
> Че Буратор почему-то без ссылки
Да он вооще очень странный!
> Да ещё и некрасивыми буквами на него
Точно! И чо нельзя ижицу использовать? А если серьезно, то траву где брал? 🙂
О КАК!
Залез в профель trufela. Смотрю — Сообщений — 0!!! А их токо здесь 2. Невиди-и-и-имка!!!!!!!!
+1
?? А ты зарегился?
+1
+1 Посмотрим, попугаем, взбодрим….
Василий! Мог бы не ставить +1, а просто написать 🙂
В комменте от 30.08 — я писал, правда чего на меня наехали — я не понял. говорилку вообще-то сделать правильно — особенно если есть открытая 1сина и активность юзера на компе отсутсвует более 2-х минут надо так прооорать (сирену) чтоб все понялди — уходя от компа более чем на 1 мин — выйди из 1с!!!
лучше Альф выложил бы инструкцию как это на агентеах сделать, чтоб лишнего не городить…
+1
+1
+1 🙂
Класс!!! Наверное самый большой рейтинг?
Нет пока, но… 😉
+1
Я очень сильно щелкнул!!!
Да пожалуйста!
Впрочем, это твое сообщение говорит только о твоей недальновидности. Успешность развития портала напрямую связана с успехом и востребованностью авторов, публикуемых на нем. Когда мы с Чебуратором искуственно подогреваем интерес к нашим работам, то мы тем самым повышаем рейтинг и всего Инфостарта и, в частности, твой, как маленькой его части. Мы тратим на это свое время, придумываем и реализуем пиар-идеи. Если это как-то нарушает правила работы на портале, то пусть администрация банит.
Но обрати внимание, что рейтинг работы, на которую ты ссылаешься, растет вне зависимости от обещания чего-то. Потом, программы «Кассирочка» и «Документооборот» поднялись только за три дня бесплатного распространения в два раза, с 20 до 40. И это было для меня большим сюрпризом. Фактически, наша фирма подарила пользователям Инфостарта за праздники софта более, чем на 300 тыс. Не имея иной возможности нас отблагодарить, люди кликали рейтинг.
Программист, который только умеет что-то программить, вряд ли даст сегодня добьется больших успехов. Возможно, кого-то устраивает положение вещей, когда автор и исполнитель идей остается в тени, получая крохи от большого пирога, который с успехом уплетает толстый, улыбчивый дядя, ловко продающий чужой труд. Меня это не устраивает, поэтому, я стараюсь сделать свои разработки известными и популярными на рынке. Желаю этого и всем своим коллегам.
Прикольная штучка, давай по больше таких разработочек, надо ещё видео злобного админа добавить 8)))
>Но один момент: работает только под ХР, потому что требует медиаплейер 9 (точнее, его библиотеки)
O-Planet, ты мне друг, но истина дороже! 😉
WinAPI WaveInOpen — работает под любой платформой (открывает доступ к микрофону)
WinAPI PlaySound — работает под любой платформой (проигрывание звука)
Итого: максимум 15 строчек программного кода под любые винды
Я ж разве против! Понимаешь, есть масса вкусных и питательных шоколадок. Наверняка!!! Но я, подходя к киоску, ищу глазами вредный Сникерс. Не знаю, почему. Мож, реклама? Да вроде я не падкий. Вон пиво вообще не пью, хоть его и рекламят. Просто сникерс сьел — и порядок 🙂 , а что-то другое — это еще нвадор пробовать…
Интересная разработка, нестандартное предложение.
А под терминалами работает? В смесле звук передавать на локальный комп.
прикольно но к этому собственно все и шло…
Ну вы, блин!.. Не знаю. Возможно и нет.
Нууууууу +!!!
fff
Ты клаву тестил?
(5) «Извините, но товар с таким штрихкодом не обнаружен»
заколебает быстро .. 17 слогов
«штрИхкОд нЕ нАйдЕн» — терпимо будет.
(8)http://www.infostart.ru/public/58213/
вот чисто голосовой движок используется