<?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='\
Уж простите, но в фразу «Для термина «тестирование» есть разные определения, но самое правильное – это процесс обнаружения ошибок.» перед «правильное» Вы «не» забыли добавить.
А продолжение будет? Желательно в виде примеров или простых самоучителей по функциональному тестированию.
А то тема тестирования может быть очень интересна. Но по ней очень мало информации в виде пошаговых инструкций.
Мда, жаль что меня не взяли в тестировщики на удаленку.
(2) TODD22, в ютубе поищи — канал 1cizhtc.
Нет ссылок на скачивание инструментов тестирования производства фирм «1С» и «1С-ИжТиСи».
eu_genij, будьте любезны, замените тексты ссылками.
(5) ZhokhovM, Одно видео как я понял только про тестирование конфигураций. А остальные про тестирование обновления и изменённых конфигураций. Да и то просто поверхностный обзор.
А как выглядят инструменты то? Хоть ссылки на видео положите, а то это всё похоже на пустые фантазии.
(9) Alien_job, инструменты все на обычной форме, на управляемой — ничего нет. В ютубе поищи — канал 1cizhtc.
(8) ога, таки вы считаете что надо использовать символ валюты страны «Америка», а не «Россия» ?
многонационально <> западное
Вот именно так, потихоньку, и происходит подмена ценностей.
Посмотрите почти любой западный фильм, почти через один показывает звездно полосатый флаг крупным планом.
Все хавают, всем нравится.
(4) А ты чего используешь Яндекс.Кошелек.
Используй WebMoney, если ты любишь американцев.
(11) Steelvan, у кого какие ценности, тот то и показывает, в том числе и на весь мир. Не следует заигрывать с шовинисткой аргументацией, что все вокруг плохие. Давайте обсуждать темы сообщества с целью получить знания, а кому есть, тому и поделиться. Выдохните, истерика не наш метод.
(0) Хотелось бы больше «поближе к теме», «на примерах» плохих и хороших: Вот что вы можете только с помощью конфигуратора + хранилище. например, а вот что можете с нами.
(4) ZhokhovM, это где и как выглядит?
(12) Steelvan, в вебмани мой номер аннулирован и сменить я его не могу без пароля, сказали нужно идти в центр аттестации, а ходить мне туда влом.
(14) xzorkiix,
http://cs619720.vk.me/v619720757/b4d0/EkBX-4s2nA8.jpg
http://vk.com/1c_izhtc
из
Тем, кто интересуется тестированием, предлагаю еще посмотреть мою статьюhttp://infostart.ru/public/326820/
https://github.com/xDrivenDevelopment/xUnitFor1C/wiki (2012-2015 гг.)
и обратить внимание на абзац:
Рекомендуемая система для тестирования в 1С (я фактически ее product-owner и один из авторов) —
В ней огромное количество возможностей, поддержка от 8.2.13 — до 8.3.5.ХХХ, запуск из командной строки, работа с build-серверами, есть хорошая документация, есть много примеров и тестов, есть видеотренинги и видео-примеры.
Есть генерация тестовых данных из боевой базы. Тесты при этом будут работать как в пустой, так и в заполненной тестовой базе.
Система активно развивается как раз после той самой, первой конференции Инфостарт-2012
ЗЫ (0) Женя, а тебе большое спасибо за упоминание меня в выступлении и статье!
(6)
https://users.v8.1c.ru/distribution/project/ACC
>будьте любезны, замените тексты ссылками.
Полный дистрибутив АПК можно скачать отсюда:
>Нет ссылок на скачивание инструментов тестирования производства фирм «1С» и «1С-ИжТиСи».
Инструменты для тестирования нашего производства – платные. Скачать просто так не получится.
Если необходимо и интересно можем провести вебинар по тестированию, ответить на интересующие вопросы. Показать.
(7)
>Одно видео как я понял только про тестирование конфигураций. А остальные про тестирование обновления и изменённых конфигураций. Да и то просто поверхностный обзор.
Когда выполняется (надо выполнять) тестирование в 1С?
1) После внесения в конфигурацию доработок (как частный случай обновление)
2) После смены платформы
3) После серьезных изменения «методологии» — изменение видов учета, каких-то сильно влияющих на работу констант.
Тестировать типовые конфигурации или без изменений в чистом виде никому кроме разработчиков этих решений не требуется.
Наши решения позволяют сравнивать работу нескольких конфигураций, можно тестировать и один релиз конфигурации без сравнения с другими версиями этой конфигурации, но такое бывает редко. Разработка даже полностью уникальной программы ведется итерациями, и уже через 2 недели можно сравнивать поведение нового релиза с предыдущим.
(9)
>А как выглядят инструменты то? Хоть ссылки на видео положите, а то это всё похоже на пустые фантазии.
(10)
>инструменты все на обычной форме, на управляемой — ничего нет.
Сами инструменты работают в обычном приложение, но тестировать и обновлять могут как обычное так управляемое приложение. Платформы 8.1.Х.ХХХ — до 8.3.5.ХХХ. Сейчас занимаемся реализацией поддержки 8.3.6.
Если вообще про планы – в этом году точно выпустим новую версию автоматического тестирования, значительно усилим мощность тестирования и количество классов обнаруживаемых ошибок.
по-быстрому протестировать модно такhttps://infostart.ru/public/1056811/