<?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='\
Отчет «Проверка соотношения показателей отчетов.erf» проверяет соотношения показателей регламентированных отчетов, указанных в виде формул. Результат выдается в виде отчета с возможностью расшифровки до места самого показателя.
Перейти к публикации
в связи с возникновением каких ситуаций рекомендуется применять данный отчет?
Допустим, если бухгалтера знают, какие формулы взаимосвязи показателей между отчетами применяются при камеральных (аудиторских) проверках, то можно заранее проверить себя. Эти формулы можно найти на сайтах, посвященных рассмотрению вопросов аудиторской проверки.
Штука интересная, но…
что может отпугнуть бухгалтера пользоваться данно разработкой:
1. Многие пользуют типовый конфигурации и снимать с поддержки не собираются.
2. малое количестов шаблонов.
3. Сложность в создании шаблонов, добавить интерактивность
4. Было бы верхом совершенства если это формировалось из данных БУ, не из заполненных отчетов.
(3) Вы пишете » … если это формировалось из данных БУ …».А из чего, по Вашему, формируются регламентированные отчеты? Из сводки погоды на неделю, что ли? Да, конструктора построения формулы пока нет, но есть описание, как составить формулу самому. Был бы спрос на отчет, то дописал бы и конструктор.
4. » … если это формировалось из данных БУ …» — это значит именно из данных БУ, не из сохраненных бух.отчетов.
(5) В этом универсальность отчета: можно сохранить несколько вариантов регламентированного отчета, затем проверять соотношения при различных вариантах учета.
Одно из самых важных для бухгалтерии — проверка соблюдения ПБУ 18/2 в бух. и налоговой учете. Для этого существует определенная взаимосвязь показателей отчетности. Бухгалтера должны знать эти соотношения. С помощью отчета очень просто выяснить, выполняются ли требования ПБУ 18/2 или нет. Если нет, то необходимо выявлят проблемы в учете (смотреть суммы БУ, НУ, ПР, ВР в документах, ПНА, ПНО, ОНА, ОНО и др.) И лучше это сделать до того, как это найдет налоговая или аудиторская проверка.
(5) Судя по тому, что вами минус не снят, расцениваю его как не знание вами предметной области бухгалтерии, налоговой отчетности и в частности ПБУ 18/02. Советую почитать!
(2) Задача очень интересная, не уверен, правда, что все бухи сразу проникнутся перспективами… Я так понимаю, у Вас есть бухгалтер, которому это помогло на практике?
(9) Эта тема писалась по заданию бухгалтеров. Например, ПБУ 18/02 регламентирует установление связи между налогом на прибыль в налоговой декларации и налогом на прибыль, исчисленным для целей БУ, т.е. устанавливается связь показателей отчета «Декларация по налогу на прибыль» и показателями отчета «Отчет о прибылях и убытках».
Одно из самых важных для бухгалтерии — проверка соблюдения ПБУ 18/2 в бух. и налоговой учете. Для этого существует определенная взаимосвязь показателей отчетности. Бухгалтера должны знать эти соотношения. С помощью отчета очень просто выяснить, выполняются ли требования ПБУ 18/2 или нет. Если нет, то необходимо выявлят проблемы в учете (смотреть суммы БУ, НУ, ПР, ВР в документах, ПНА, ПНО, ОНА, ОНО и др.) И лучше это сделать до того, как это найдет налоговая или аудиторская проверка.