<?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) — качество скриншота — 50% от оригинала(да еще и сконвертированная в jpg), так что по ней судить не стоит
«Для интеграции в конфигурацию переименуйте в «ImageCol.bmp»»
а потом, при выборе картинки надо выбрать этот файл на акладке «»подбор из файла-коллекции» — так?
Спасибо! Пригодится…
$)
(4) тут два варианта — если вы хотите чтобы библиотека постоянно присутствовала — тогда надо переименовать и скопировать в каталог ИБ (см. описание). А если библиотека нужна на время текущего сеанса работы с конфигуратором то ее действительно можно выбрать подбором из файла-коллекции при редактировании панели инструментов интерфейса
🙂
неплохо..
а нет подборки иконок для всех типов файлов?
а то делаю БД для каталогизации ВСЕХ типов файлов
на основе одной разработки с проклаба и надо бы визуализировать…
(8) в чистом виде по типам файлов нет, хато есть метров 700 всяких разных иконок)))))
(7) Вы уверены?
В для SQL-версии? У меня нет в катологе ИБ этого файла, но картинки есть 🙂
(10) в случая отсутствия этого файла отображается системная палитра
если она вас устраивает то и файл не нужен, а если нет идет подмена
с SQL версией не пробовал, но подозреваю что принцип тот же самый
Что-то у меня пиктограммки со сдвигом вниз на несколько пикселей 🙁 в итоге верх от одной, а низ от другой..
(12) а сучайно не картинку-скрин качали?
Огромное спасибо за Ваш труд!А я уже так нарисовался…
А в восьмерке её можно использовать как-то, кроме как вырезая нужную иконку в графическом редакторе?!…
Если указать этот файл в качестве файла коллекции — границы иконок съезжают… (
я боюсь что у 8ки(сам не проверял) размер иконок другой
для семерки он 15*16
(16) Ну конечно! В восьмерке — 16х16
Все в этой семерке через ж… сделано! 🙁 Размер иконок и тот не стандарт!
К сожалению, это в восьмерке через ж… сделано. Стандарт для Вин — 16х15:
The size can be set only before adding any bitmaps to the toolbar. If an application does not explicitly set the bitmap size, the size defaults to 16 by 15 pixels.
© MSDN
Так что, это в восьмерке размер иконок и тот не стандарт! 😛
(18) А как же общепринятые форматы??? Везде 16х16, первый раз слышу о таком формате для Вин… Да вот хотя бы:http://ico.brush.ru/?work=2
16х16 — это стандартный размер ИКОНКИ. А здесь речь идет о размере изображения для кнопки панели инструментов.
(16) ошибся — Х:16 У:15
(20) полностью согласен — «подмена понятий»
Не могу интегрировать в базу.
Сделал всё как написано по инструкции.
Потом создал новую базу (с пустого каталога), беру свойство метаданных, «Библиотека картинки», а картинок нет….
Если редактировать меню (панели), да выбрать картинки можно, а если нужно на кнопочках в документах или справочниках нарисовать, тогда как?
в 7ке библиотека не предназначена для использования на кнопках
попозже выложу обработку с набором иконок для кнопок и опишу как интегрировавать
В этой же теме выложите набор иконок для кнопок?
Скоро? (хотелось бы увидеть)
(24)
http://infostart.ru/projects/4169
Выложил пока черновой вариант
Ребята, выложите где нибудь отдельно, хоть на файлообменник ImageColFull.bmp и Библиотека пиктограмм для кнопок v.2, или вышлите на мыло rdv собака pisem точка нэт
В набор… спасибо.
Пользовалась пару раз. Все равно спокойней когда знаешь,что в наборе есть такая вот библиотека пиктограмм.
Большое спасибо, очень пригодились
а есть такое же, но под интерфейс 8.2 ?
Спасибо, пару раз использовала уже.
Спасибо, именно это я искала. Как же хорошо, что есть такой ресурс, как infostart!
Полезняшки и впрямь оказались полезняшками)) не арадуюсь, где еще такую красоту скачаешь)))
Спасибо, очень много иконок «прикрутили» к своей конфигурации….
Нормальная подборочка)))несколько иконок позаимствовал)))
прикольно
Спасибо, очень хорошо! Ждем обновления!
только недавно читала статью про парня, который на этом млн.долларов заработал)))
Полезная штука для разработчика 🙂
Замечательная подборка. Несколько прикрутил, теперь не нарадуюсь. 🙂