<?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='\
а сколько у нас учетных систем до сих пор на базе семерки работают?
пока еще довольно много
И еще долго будут работать в 7.7, особенно там, где самостоятельно доработанные конфигурации под особенности учета.
я знаю конторы которые на 6ке работают
в свое время в начале 2000х работал в фирме которая еще 2.0 для доса использовала
отличная работа брат :thumbs up (законный +)
странно что раньше не нее не натыкался
(1) козу еще из носа достань и об пиджак вытри!
(1) Неужели восьмерку надо учить, прежде, чем там ваять?:-)))) Доставая козу из носа и вытирая о дырявые и засаленные семейные трусы сидя на кухне и почухивая рукой в трехнедельной щетине:-)))))
(1) Учим-учим, спасибо большое автору за полезный материал, у нас ГБ в бюджете про восьмёрку даже слышать не хотят, а вот настроенная под них семёрочка всех устраивает, привыкли уже, да и обкаталась она за столько лет, ошибок практически нет, не то что в 8 🙂
если будет желание выложу практические материалы: конфигурации по каждому занятию курса обучения по базовым объектам и всем трем компонентам. Пример можно увидетьhttp://www.infostart.ru/projects/826/ — в архиве практические задания по компоненте Бух. учет
(5) не натыкался — потому что я ее только вчера выложил))))))
как то и забыл что такое есть в арсенале)
Добавил краткое описание работы механизма запроса
(1) Кто не знает 7.7, того и программистом 1С сложно как-то именовать 😉
Очень качественно проделанная работа.
Знать неплохо было б и 7.7, и 8.1, ИМХО. Использование инструмента (7.7 или 8.1) диктуется поставленной задачей. Ведь нельзя говорить, что большой молоток однозначно лучше, круче и «современней», потому что если дать сапожнику большой молоток вместо маленького, то обуви он сделает немного… да и пальцев себе отобьет немало.
Так же и ЧП или небольшое предприятие, у которого каждая копейка на счету, не особо нуждается в 8.1 с необходимым (возможно и недешевым) апгрейдом компьютера. Ему лучше построить учет используя более скромный иснтрумент.
Страшно и подумать о возврате или каких-то работах на 7.7. За два года реструктуризация образа мышления необратимая. Как я буду работать на 7.7 без восьмёрочных наворотов?
(9) Желание есть! Выкладывайте, будем очень признательны 🙂
К сожалению, курсы по программированию в 1С 7.7 не проводят в самой 1С,
думаю, по понятным причинам. А специалисты востребованы, особенно в бюджете —
там каждый год меняют инструкцию. Мне, например, поневоле пришлось
переучиваться на программиста, потому как не было специалиста
на внедрение ЗиК, а в декабре 2008 года ввели НСОТ в бюджете,
работы — непочатый край. (НСОТ — новая система оплаты труда, раньше была ЕТС — единая тарифная сетка, которую отменили). Это я так, для справки 🙂
Спасибо за материал. Сейчас у многих фирм нет возможности по материальным причинам переходить на восьмерку. Очень актуально!
Лишней дока не бывает. Часто узнаеш новое даже там где вроде бы все уже знаеш. А 1Совский язык запросов весьма мудрен и непонятен в отличие от SQL (нафига было изобретать велосипед). Работаем на семерке, есть определенные неудобства, но на восьмерку переходить не собираемся цена вопроса не соответсвует стоимости проблем. А все навороты восьмерки всего лишь запоздалое повторение уже давно имеющихся в других средах возможностей, преподносимых кстати как революционный прорыв. Маркетинг твою его. А кто хвалит восьмерку как правило зарабатывает на ее продаже.
Не совсем в тему может кто объяснит механизм работы запросов 1С на SQL базе. 1C что на SQL свои звпросы переводит что ли? Это же какой тормоз получается?
Однозначно +
И семерка еще пару лет своих проживет.
7 жива и будет жить, точно: дока лишней не бывает
(1) а у вас уже весь город и на ОС Vistа першел? и компутеры в конторах готовы к полету в космос? Нет, вы не правы, старое, доброе НЕЛЬЗЯ так не уважать! В 7.7 еще много возможностей, и еще больше для творчества 😉
+ за автора!
к сожалению с вистой проблемы — покупал после нг ноут сестре, там виста, хр так и не удалось поставить, пришлось висту вернуть(((((
(23) А что за проблемы у 77 под Вистой, кроме кодовой страницы?
(24)ВК не хотят вызываться. Категорически. Даже если вся защита отключена напрочь.
А что там с кодовой страницей? Не замечал проблем.
Текущая установка
(24) я имел ввиду что проблемы с массовым наступлением и отсутствием выбора
Текущая кодовая страница
(27) Ааа, я сначала тоже сопротивлялась, а потом решила попробовать и понравилось, теперь что ХР, что офис 2003 кажутся неудобными, не первый раз перепривыкаю к ОС:)
++++
работает и будет работать!
люди (ю_звери) довольны! 99 прОцентов даже и не знают что такое 6, 7 или 8!
накладная, чек, приходник знают!
у меня 10 разных контор (реальная работа, не бюджетные крысы) на моих настройк
это верно, сам знаю пару контор работающих на 6ке, причем далеко не маленьких
Прочитал :
«Идея запроса заключается в том что он как бы собирает данные не последовательно, как при переборе, а параллельно. То есть запрос это некое сито, размер и форма которого определены переменными и условиями. А результат выполнения запроса — это те «крупинки» информации проходящие сквозь сито, и пригодные для дальнейшего использовния. »
С точки зрения преподавателя — этот текст доходчив для начинающих пользователей 77 ? Вопрос спорный.
Попытки образно объяснить механизм запросов к БД для пользователей 77 редко бывают удачными . И нужно ли это делать (образно объяснять) — тоже вопрос.
В (32) речь идет , разумеется , лишь о способе подачи материала.
я преподавал три года и перепровобовал массу вариантов
К сожалению за то малое время, которое отводилось на запрос(а я его относительно стандартной программы еще больше увеличивал) вдаваться в теорию баз данных попросту не получалось. В то же время не объясняя механизм работы информаия в целом тоже не воспринималась.
Важно было сохранить баланс — небольшое время на пояснениеположительное восприятие материала
А это тот пример который прижился)) и проверен на большом количестве людей.
Тел пять назад задавался вопросом о работе механизма в 7ке — ничего тогда толком и не нашел, а потом как то и не надо было.
Ок
(20) Думаю, поболее…
Многие от 8-ки в шоке… Типа, сыровата ещё… А в 7.7 есть все, что нужно буху.
у кого-то семерочка вчерашняя, но прочная, а у кого-то понты восьмерочные…
не стоит семерку списывать со счетов, а знание никому не мешает… спасибо автору..
(30) Цитата неверна.
Этот принцип («Бритва Оккама») сформулировал еще Аристотель («Принцип достаточного основания»).
очень интересно, для начального програмировая очень полезна +
Хорошая разроботка посмотрим всегда есть чему научиться новому.
(9) — спасибо большое. было бы самое чудесное, если бы все материалы были выложены все вместе, а также где то с возможностью свободного скачивания. очень и очень полезно для обучения.
Отличная весчь