<?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)Да, конечно. Не смотря на надпись «С сайта 1С», загружается с РБК.
(2)а моей базе не работает, пишет ошибка работы Итернет
(5)Сейчас, После обновления до релиза 3.0.53.39 еще раз проверил. При включенной константе «Использовать альтернативный сервер для загрузки классификатора банков» все работает. Возможно, действительно проблемы с интернетом?
(2) Только сегодня столкнулся с данным «приколом» от 1С. Да, при установке константы все срабатывает. Только не нашел настройку константы в администрировании. Написал быстро обработку для установки/снятия значения константы за 2 минуты.
Включил константу «Использовать альтернативный сервер для загрузки классификатора банков» (зашёл в константы через кнопку «Все функции») и классификатор банков загрузился. Спасибо большое за подсказку.
У нас в БП3 изначально все работало, и загружалось с РБК, без установки константы «Использовать альтернативный сервер для загрузки классификатора банков».
Не работает в клиент-серверном варианте (рабочее место — сервер 1С), только если запускать на самом сервере. Что неправильно, не всегда есть к нему доступ.
С бубном, но отработало +1
Без бубна УТ11.4 Спасибо!!!
Спасибо , люди добрые)
(2)
(8)
Добрый день!
А не подскажите как обновить классификатор банков в Бухгалтерии 8.2?
(14) Операции Справочники Банки Добавить из классификатора банков РФ
Здравствуйте! пожалуйста подскажите как скачать классификатор банков с сайта РосБизнесКонсалтинг» по порядку с чего начинать ,спасибо за ранее.
Бухгалтерия предприятия, редакция 3.0 (3.0.74.58) (http://v8.1c.ru/buhv8/)
http://www.1c.ru)
Copyright (С) ООО «1C-Софт», 2009 — 2019. Все права защищены
(
Расширения конфигурации:
— Формирование тестовых данных контрагентов и организаций (1.14)
все работает , если константу изменить