<?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='\
Найди конфигурацию интелева например бизнес процессы на 7.7
В состав конфигурации входит ВК, которая открывет окно подбора цвета по RGB как в Paint-е. Управляеться командами из 1С.
Неудобно… И еще
ВыбратьЦвет(ПолноеОткрытие, НачальныйЦвет)
Из объекта Сервис используй и привет..
😀 А мне понравилось)
Кстати можно добавить в обработку ещё одну таблицу значений,разбить её на n-ое количество маленьких кубиков,потипу палитры,закрасить эти кубики наиболее востребованными цветами,ну и процедурку при выборе конкретного цвета в таблице добавить)
Времени нет пока писать код ,но,вкратце могу описать то,что я б ещё добавил(для реализации(3)):
1.Выгрузка строк с настройками цвета из примера раскраски страницы,например в текстовый файл палитрапользователя.txt ,это будет шаблон цветов палитры пользователя.
2.Сделать формирование палитры из сохранённого выше файла в ещё одной таблице.Т.е значение колонки таблицы с цветом брать из сохранённого файла,таким образом можно будет индивидуально настраивать палитру.
3.В процедуре ПриОткрытии() обработки ,вначале попытаться считать данные из палитрапользователя.txt,если его нет или он пустой то из заранее созданного файла с определённым набором цветов.
😀
(3,4) В том-то и беда, что времени нет. Делал для себя, просто чтобы удобнее и быстрее было таблицы настраивать. Будет время, попробую реализовать полную настройку с добавлением текста в глобальный модуль.
НО! К сожалению только когда время будт 🙁
Почему автор не пользуется (2) ?
(6) И правда, почему?
(0) А зачем засовывать в архив старую версию формекса (92)?
(9) А зачем вообще его засовывать?
Если у человека нет формекса, ему эта разработка вообще не нужна.
P.S. Минус за злобный смайлик 🙂
(10) СмеюсьУмруНимагу 🙂 Если у человека нет формекса, то когда он скачает обработку — формекс будет. И на примере обработки человек поймет, что не все в клюшках и плохо, особенно благодаря разработчикам ВК. И что интерфейс можно делать…
Формекс в архиве лежал рабочий, ссылка в тексте на сайт разрабочика ВК имеется.
А что до смайлика — то не в ту иконку кликнул. Штаренький я уше, руки дрошжат 😉
По поводу версий Формекса.
1С++ users forum › 1С++ и прочие расширения v7 › FormEx
Кроме кладовочки Альфа есть еще такой ресурс как
95 версию я там скачивал еще летом.
Забавно. Служебная обработка ,помогающая подобрать параметры для раскраски, популяризирует Формекс? 😀
Есть же прикладные решения.
(12) Лениво вступать в полемику, но, имхо, ссылка на сайт автора более справедлива, нет?
(13) Я говорю не об этом. А о том, где новые версии появляются чаще.
Вы видели этот ресурс раньше? Если нет, то могли бы и спасибо сказать 🙂
(14) Разумеется видел, раз уж я пользуюсь ОпенКонф 🙂 И в случае проблем иду именно туда. Но АЛьФ там один из многих, а его сайт — это его сайт. Извините за казуистику.
(15) Тогда тем более странно, что Вы пользуетесь старой версией Формекса.
И АЛьФ везде АЛьФ… 🙂
P.S. Думаю, пора прекращать пиарить…
Формирование «креста» в Таблице Значений на форме (7.7)
P.P.S. Кстати, нечто похожее на (0) я делал в свой разработке
(16) Действительно, все это уже превращается во флуд 🙁
Если есть еще что-то сказать, в личку, плиз.
Что же по поводу «Формирования креста» — увы не видел, когда искал, иначе и заморачивался бы не стал.
Кстати, в сопроводиловке к ней — тоже диферамбы АЛьФ’у 😉
Супер! Сам делал помощника по подбору цвета, но сдесь проработано тщательней. Буду пользоваться. Плюс!
Хорошая обработка. Иногда код не всегда совпадает со цветом, но всегда можно подобрать