<?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='\
У меня всегда возникало желание открыть ERT-шку как EXE -шку, видно что и тебя тоже)). Супер, просто супер прога!. Не сомневаюсь, что по крутизне твоя прога встанет рядом с OpenConf-ом. Написано от души. Спасибо за творение.
Требуется ли наличие платформы 1С 77 на компе ?
Однозначный плюс. Но так же интересует вопрос (2).
Попрошу автора дать более подробное описание назначения программы. Непонятно, что означает «… открывать файлы … независимо…» или » Программа, позволяющая открывать файлы … в выбранной конфигурации». Какие ограничения у версии «Beta»?
Выдает: “Данный тип обработки не поддерживается!”.
А какой тип поддерживается?
Ага. Выдает, и причем выборочно. А потом начинает просить переустановку. Ясное дело, с использованием 1С++ В общем, чистил реестр после этого…
2 andrey995, NikitaN
В данной версии требуется наличие платформы 1С 77, но в дальнейшем есть желание сделать приложение автономным и включить необходимые файлы для запуска в установочный пакет.
2 Pari
После установки данной программы, появляется возможноть открывать ert файлы по двойному клику, т.е. в независимости какой либо конфигурации пользователя. Так же есть возможность при правом клике на ert файл выбрать режим «Выбрать конфигурацию», после этого для пользователя откроется стандартный выбор кон-ций 1с, тама выбираем нужную нам кон-фу и данный ert файл открывается в выбранной пользователем кон-фе.
2 hogik
Данное предупреждение возникает если открываемая вами обработка при открытии, сслыается на несуществующие ресурсы конф-ции, например справочники, документы, регистры и.т.п…Данный тип обработок можно успешно открыть в выбранной вами кон-фе, правый клик по файлу «Выбрать конфигурацию».
2 O-Planet
«после этого… чистить реестр» не нужно, стоит всего лишь сделать анинсталл, программа успешно удалит все что создала как на лок. дисках так же и в реестре.
>Не сомневаюсь, что по крутизне твоя прога встанет рядом с OpenConf-ом
Ну ты и загнул! Кстати, где-то тут на сайте уже есть подобная…
2 Abadonna
1. Приятно правда за ОпенКонф, но парнишка загнул, ты прав…)))
2. Не видел честно говоря подобную, но всетаки, если что то увидешь в этом роде, скидывай линк…
(12)>…скидывай линк…
http://www.infostart.ru/projects/1558
http://infostart.ru/projects/1580/
+(13) Кстати, вhttp://infostart.ru/projects/1580/ artbear руку приложил, а это не хухры-мухры 😉
Сразу оговорюсь: я сам не
2 Abadonna 13,14
Да ты прав, тематика та же, но цель написании данной проги не было, изобрести велосипед, а всего лишь набратся опыта, думаю это некому не помешает…
(15) У меня претензий — ноль 😉 Наоборот — одобряю
(9) (PaRaDoX)
“если открываемая вами обработка при открытии, сслыается на несуществующие ресурсы конф-ции,”
Я запускаю обработку, написанную для своей конфигурации, и все ресурсы существуют.
(PaRaDoX)
“Так же есть возможность при правом клике на ert файл выбрать режим «Выбрать конфигурацию», после этого для пользователя откроется стандартный выбор кон-ций 1с, тама выбираем нужную нам кон-фу и данный ert файл открывается в выбранной пользователем кон-фе.”
А просто запустить 1Су, выбрать конфигурацию и запустить ERTшку не короче будет? Чего данная разработка автоматизирует, упрощает, облегчает, улучшает и т.д.? Что надо сделать, что бы действия пользователя соответствовали названию разработки?
2 hogik. Юзай Утилита для открытия файлов в 1С (http://infostart.ru/projects/1580/) и будет тебе полное счастье.
При необходимости подправь в реестре [HKEY_CURRENT_USERSoftwareOpenIn1C] с полным именем экзюка 1С
(18) (Abadonna)
Спасибо за информацию. У меня нет необходимости в таком запуске ERTшек. Меня “смутило” громкое название данной разработки. И полное отсутствие, каких либо описаний-пояснений от автора. Скачал 5 мегабайт (хорошо, что не по модему), развернул в виртуальной машине, потыкал, удалил путем восстановления файла образа виртуальной машины. Потратил пол часа своего времени и мозгов впустую… А можно было бы почитать описание и не напрягаться.
(19)>Скачал 5 мегабайт
Блин, а я один разряд просмотрел, мне показалось полметра 😉
5 мег — это жесть
> Я запускаю обработку, написанную для своей конфигурации, и все ресурсы существуют.
Тоже
> «после этого… чистить реестр» не нужно, стоит всего лишь сделать анинсталл
Так она не деинсталировалась! Она сказала, что приложение требует переустановки. Я решил снести, но там на каталог что-то ссылалось, и снести не вышло.
В общем, я очень «за» эту разработку, но явно там сидит какой-то невыявленный глюк.
Тем, кто любит работать из командной строки (например, Фар 🙂 ), рекомендую 🙂 «Утилиту для открытия файлов в 1С (http://infostart.ru/projects/1580/) » и будет вам полное счастье.
Остальные могут не беспокоиться 🙂
Ребят не понимаю, к чему такое негодование с вашей стороны, такое впечитление что я продал вам эту прогу за огромные деньги, а результат не оправдал ваши надежды…
Опять таки повторяюсь, версия бета, если в ней и наблюдаются какие любо глюки то пожалуйста пишите, для этого я ее и вывесил на сайт… Вместо содействия, я получил колкие реплики по бесмысленноси и нефункциональности проги…
(23) Да не горячись 😉 Это нормально….
Нет негодования никакого. Просто хочется, чтобы в полезной разработке исчез глюк.
“…хочется, чтобы в полезной разработке исчез глюк” и появилось описание. Например, зачем в дистрибутив разработки включена база данных на 5 мегабайт? 🙁
(25)
Можно поконкретнее о глюке?
(26)
Объем великоват т.к. упакован InstallShield-ом, для удобства установки. После установки дистрибутив весит не более 3 мб: сама прога — 691 кб (ERTStarter.exe), БД для независимого открытия 1.86 мб (db + 1С++ и FormEx).
(25) Глюк в том, как мне кажется, что если нужный ресурс не находится, запущенная прогой 1С-ка продолжает висеть в процессах и не дает деинсталировать прогу (и удалить «БД для независимого открытия»). Негодования нет, просто есть интерес к программе, но нет желания тестировать «черный ящик».
(29)
Тестил как у себя на машине, так и по офису… После вывода ошибки «Данный тип обработки не поддерживается» нажимаем «OK», завершается процесс ERTStarter.exe и 1cv7X.exe…
Вот хто бы рассказал, как это всё запустить. Буду очень благодарен.
(31)
Инсталлируем программу и см. скриншоты…
Про глюк могу сказать, что после 10-15 вываливаний с сообщением «Данный тип обработки не поддерживается» вдруг стало поститься сообщение «Программа требует переустановки». Это — первое. Второе — сообщение «Данный тип обработки не поддерживается» выдается и тогда, когда база для обработки — родная. Возможно, на компах автора что-то настроено не так, как у меня. Но факт остается фактом. Запускаю, например, обработку PTr92_Tr.ert из демо базы Торговли. Вылетает сообщение. И как это не глюк?
че-то не мог запустить ни одной обработки: либо пишет, что данный тип обработок не поддерживается, либо при запуске обработки из открывшегося интерфейса диалога пишет, что в данном режиме просмотра функционал обработки отключен…. в чем м.б. трабл?
(33)
Нет ничего странного, что обработка PTr92_Tr.ert из демо базы ТиС-а, выдает предупреждение «Данный тип обработки не поддерживается». При открытии обработки в режиме «Открыть», т.е. по двойному клику, она, т.е. обработка, открывается в БД из дистрибутива ERT Starter-а, а в этой базе нет нужных ресурсов для открытия данной обработки. БД из дистрибутива ERT Starter-а создана, для осуществления открытия обработок общего назначения (например, конвертер xls->mxl), не заточенных под определенные конфигурации и не пользующиеся специфическими ресурсами. Обработки типа PTr92_Tr.ert нужно открывать режимом «Выбрать конфигурацию» и выбирать ту конфигурацию, под которую заточена обработка.
(34)
см. 35…
(35) Да… Тогда смысл двойного щелчка мышью? Я с таким же успехом открою конфигурацию 1С и запущу нужную обработку. А нельзя ли привязать запускаемую обработку к каталогу ИБ, в котором она лежит, автоматом?
(37)
“А нельзя ли привязать запускаемую обработку к каталогу ИБ…”
Ага, а потом ввести имя пользователя и пароль. 🙂
Я уже задавал аналогичный вопрос автору в (17) – ответа не получил. 🙁
Хм… И мне он не отвечает. По ходу, этот вопрос для автора с чем-то связан на подсознательном уровне 🙂
(39)
Это вопрос?
Догадка 🙂
4all
Не было времени на ответ, рассмотрю предложения O-Planet и hogik… Скоро вывешу обновления с новым режимом открытия «Открыть из каталога ИБ»…
(42)
А может быть имеет смысл сделать средства “настройки иконки” на каталог, имя пользователя и пароль. Например, у нас есть пользователи, которым надо дать возможность запускать один – два отчета, и они ничего более знать не хотят…
(43) Скорее нужен ярлычек на рабочий стол, и а нем все указания: какая обработка , какая база, пользователь, пароль. Было бы хорошо. Прям мечта.
у меня не получилось установить, он что то иероглифами написал
А защищенные ЕРТшки она открывает?