<?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='\
Первый коммент 🙂
Спасибо автору, получил клиента на 3.0, у которого нет даже завалящего материального отчета, а мой в УФ не работает конечно, вот эта статья помогла пока выкрутиться.
НЕ представляю что делать — конфы все нетиповые у клиентов. Визгу будет. Сижу уже сейчас в поте лица и готовлю 3.0.
Лишь бы не появилась какой -нибудь 3.1
спасибо, теперь не так страшно. Клиенты все равно будут в шоке.
А что делать с доп. печатными формами? То же самое, что и с обработками? Но как их тогда подключать?
Ни у кого не вылезала следующая ошибка:
{ОбщийМодуль.ОбменСообщениямиВнутренний.Модуль(424)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
ЭтаКонечнаяТочка = ЭтотУзел().ПолучитьОбъект();
?
(5) WildFire, была такая ошибка, добавлял попытку/исключение. Не помню причину, но ЭтотУзел() возвращал Неопределено.
//2013-07-16 НАЧАЛО
Попытка
//2013-07-16 КОНЕЦ
Если ПустаяСтрока(КодЭтогоУзла()) Тогда
ЭтаКонечнаяТочка = ЭтотУзел().ПолучитьОбъект();
ЭтаКонечнаяТочка.Код = Строка(Новый УникальныйИдентификатор());
ЭтаКонечнаяТочка.Записать();
КонецЕсли;
//2013-07-16 НАЧАЛО
Исключение
КонецПопытки;
//2013-07-16 КОНЕЦ
Я кстати сделал то же самое, только еще добавил «Сообщить» в исключения, чтобы посмотреть, что там за фигня такая вылезает. Так вот, в строке сообщений не было ничего, даже самой панели сообщений не вылезло! 8-О то ли эта строка в УФ выглядит как-то иначе, то ли я чего-то не понимаю.
(2) krenefff, Скоро появится,, токо для платформы 8.3, а не 8.2))) Но пока последнее не стоит на него кидаться))) Иначе все бетаТестерами будем)
(8) Bukaska, Хотелось бы по-подробнее узнать про 3.1, где можно найти такую информация? А то может пока что не стоит сильно доработанные 2.0 на 3.0 переводить?
(9) Lejlka, Дело в том, что если переводить на бух3.1, то и платформу ставить 8.3
Так что всё равно пока что на 2.0 или 3.0 придётся сидеть.. мы так всех будем переводить на треху.. у кого платформы 8.2 стоят)))
(9) Lejlka, бух 3.1? 😀 это не та ли что дурманила мозги прогерам лет так 14 назад?
где вообще такая инфа появилась про новую бух 3.1?
Добрый День! Не нашел информации по этому пункту в интернете. Ткните носом плиз.
5. Дополнительные отчеты/обработки.
Необходимо переделать для работы в управляемом приложении (примеры на инфостарте).
(9) Lejlka, Думаю можно ещё подождать.. Тем более что 2.0 оставили поддержку.
зачем двойная нагрузка клиенту, сначала с 2.0 на 3.0, А ПОТОМ С 3.0 НА 3.1.. По сути и 3.0 недолго проживет.. в середине года 3.1 должна выйти.. она пока что ещё наверняка бетка.. доступная токо для партнеров.
ЗУП 3.х я уже видала.. бух 3.1 — пока что нет, но знаю что будет)))
(13) Bukaska, скорее уж 4.0, чем 3.1 =)
Из-за чего может возникать такой глюк см фото?
(15) webresurs, возможно из-за разрешения экрана…
(15) webresurs, размер текста и элементов в системе увеличен. В windows 7 эта настройка делается тут:
(17) по умолчанию 100%
(13) Bukaska, подскажите где подтвердить инфу о том, что поддержку 2.0 оставили?
(19) asg1975,
(12) danil157, всё делается по аналогии.
сори, дубль
Даже страшно думать, как будем переходить на БП3. Много доработанных внешних форм, которые необходимо переделывать для УФ, некоторые изменения типового функционала…
Подскажите, пожалуйста, у Вас в статье написано, как я понял, что при переходе с версии 2 на 3 , если БП 3 запускать в режиме Толстого клиента, то все обработки и отчеты из БП 2 сохранятся, кроме внешних. А если все внешние отчеты и обработки поместить непосредственно через Конфигуратор в ветвь метаданных, то из БП 3 через меню можно будет их открыть? Спасибо
Спасибо огромное, очень подробно описаны многие проблемы. Интересно было-бы узнать подводные камни при настройке обмена УТ10,3 — БП30. Правила конвертации и регистрации существуют, но наверняка необходимы определенные настройки.
Спасибо за информацию, переход на БП 3.0 перенесли на следующий год (2015) что дает время переписать все нужные отчеты и обработки.
В нашей организации РИБ и куча внешних обработок, поэтому переход мне снится в кошмарах. Пробовала на тестовой, итог -все обработки переделывать…..
И ни у кого не возникло ошибки «Неразрешимые ссылки» при обновлении?
(28) elian, Ну дай бог одно предупреждение.. и усё
(27) WEBBY, Конечно есть разница.. обычное приложение или управляемое приложение.. по любому переделывать)))
(25) bahcha8, Самая главная проблема это, если уже был настроен обмен с БП 2.0, обеспечить синхронизацию справочников и документов при обмене. Для обмена с 3.0 в УТ 10.3 и БП 3.0 используется другой регистр соответствия объектов при обмене, и он будет пустым 🙁
Кстати, с 01.01.15 1С прекращает поддержку «1С:Бухгалтерии» версии 2.0.
Помогаем решить вопрос перевода с 2.0 на 3.0 с любой степенью доработки имеющейся у Вас конфигурации —
(32) 1Service2,
— устарело…
(33) Alex_E, ещё не поздно —
(35) 1Service2, Не понял? Что не поздно?