<?php // Полная загрузка сервисных книжек, создан 2026-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.0 взять форму…
от туда и взял…
а выгрузка в xml там хоть корректная? а то мы по сбису отправляем.
Спасибо тебе, добрый человек! Выручил! Взлетела и на УПП.
для 8.1 (1.6) есть??
БП 1.6.30.7
При загрузке:
Ошибка при загрузке внешнего отчета:
Ошибка при вызове метода контекста (Создать): Ошибка загрузки документа ….
ну как, кто-нибудь победил заполнение отчета в 1.6 ?
кстати, если фсс сделан на основе вчерашнего обновления, то выгрузка в XML некорректна. сегодня уже есть исправленное обновление, но только для 2.0
как его подключить к 1.6 емае, пишет ошибку !!!??
а все, разобрался
хмм… 4-фсс вижу, рсв-1 не вижу
Как загрузить в 1.6 (1.6.30.7)
Ошибка при вызове метода контекста (Создать): Ошибка загрузки документа.
Внешняя обработка не может быть прочитана текущей версией программы.
И не конвертируется.
svbel85 12.04.11 10:58 Ссылка Цитата Ник
как его подключить к 1.6 емае, пишет ошибку !!!??
-У меня та же проблема, как разобраться?
Товарищи! а выгрузка есть ФСС ?(
если выгрузка бралась от 2.0 то неправильная, вон сегодня опять форма ФСС для 2.0 обновилась, опять какое-то поле поправили, именно в выгрузке
так а в данном файле то она есть? или еще на сайте?
а все, разобрался
нам тоже подскажи, в чем было дело, а то та же ошибка выходит
если выгрузка бралась от 2.0 то неправильная, вон сегодня опять форма ФСС для 2.0 обновилась, опять какое-то поле поправили, именно в выгрузке
где ты увидел обновления? у меня в списке его нет
где ты увидел обновления? у меня в списке его нет
я смотрю по кнопке «Информация об обновлениях» в форме регламентированных отчетов. внешние формы привязаны к конкретной версии и если у вас, например, 2.0.20.8, то новой формы не будет, а если обновитесь до 2.0.21.1, то появится очередной вариант ФСС, который подходит только для 2.0.21.1.
в последнем, кстати, еще добавился список отчетов по декларированию алкоголя.
в последнем, кстати, еще добавился список отчетов по декларированию алкоголя.
меня смутило слово «сегодня» это обновление 8 апреля вышло, я думала еще чтоли уже наштамповали))
обновление основной конфигурации может и 8-го а вот внешний отчет ФСС датирован 12.04.11 16:49, соответственно я увидел его только сегодня.
кстати, не поленился и сравнил вчерашнюю и сегодняшнюю, отличия только в карте заполнения XML, причем только в одной последней ячейке.
Нужная вещь спасибо…….
я так и не поняла, есть ли в этой файле выгрузка фсс из 1с 🙁
А проблема с заполнением то решилась????
Так все таки — написано что форма отчета для БП 1.6 — пишет «Ошибка загрузки.. не может прочитан этой версией» — и не конвертируется 😥 что делать — как с ней бороться — отчетность надо сдавать! ПОМОГИТЕ!!! Вроде есть люди которые это победили — поделитесь мудростью! Заранее благодарен………..
Эти обработки для платформы 8.2 (относится к ошибкам «не может прочитан этой версией»)…для 8.1 не актуально лично для меня, сконвертируйте базу на 8.2 и жить станет легче
Для того чтоб отчет зарегистировался необхоидмо обновится до последней версии 1.6, затем открыть отчет, на вопрос «добавить?» ответить «да», и ПЕРЕЗАПУСТИТСЯ так, как требует сообщение… после этого все должно работать…
П.С. Автозаполнение не работает, выгрузка работет но принимает ли её «Сбис» или другие зверюги я не знаю…
РегламентированныйОтчетРСВ1(1.6).erf под платформу 8.2 🙁 а надо часть под 8.1
Спасибо, очень хорошая обработка. Многие ещё не перешли на 8.2
Спасибо. Все работает.
Спасибо, нужно было быстро сдать отчетность. Потом переходить на 2.0
Обработка мне понравилась. Но не понадобилась все таки 1С дораьотали программу и сделали в ней регламентированную отчетность.
Выручили!
спасибо, все работает
Обработка полезная, жаль увидел поздно. Обновление на тот период уже было
Спасибо, помогло
Добавил, работает , немного докрутил руками (конфигурация сильно переделанная)
Если бы не эти отчеты, полгода назад кому-то было бы атата. Огромное спасибо.
кстати у меня и на других релизах работает