<?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='\
Здравствуйте. А заполнение раздела 3 не предусмотрено?
У меня после заполнения отчета этой обработки появляется ошибка(((
{Форма.ФормаОтчета2013Кв1.Форма(2203)}: Преобразование значения к типу Число не может быть выполнено
ВозрастОС = Окр((ПараметрыОтчета.ДатаОкончанияПериода — Выборка.ДатаВводаВЭксплуатацию)/(86400*365),0);
А старые сформированные отчеты Формы11 за прошлые года не открываются, пишет
{ОбщийМодуль.РегламентированнаяОтчетность.Модуль(16017)}: Значение не является значением объектного типа (Открыта)
Если УжеОткрытаяФорма.Открыта() И УжеОткрытаяФорма.мСохраненныйДок.Ссылка = Форма.мСохраненныйДок.Ссылка Тогда
Для Yaga_2011. Вы очевидно имели ввиду заполнение раздела II, т.к. согласно приказа Росстата №543 от 29.08.2014г. раздела III у формы 11 (краткая) нет. Для автоматического заполнения раздела II могу порекомендовать в стартовой форме обработки выбрать обособленное подразделение, которое должно быть у вас в справочнике «Учреждения», и нажать кнопку «Заполнить», если по этому подразделению велся учет. Затем значение показателя среднегодовой полной учетной стоимости основных фондов, которое получится в строке 35 надо вручную подставить в строку 36 раздела II. Таким образом, вручную этот показатель Вам считать не придется. Поскольку срок сдачи отчета уже приближался я не стал тратить на раздел II время, чтобы как можно большее число пользователей смогло воспользоваться возможностями обработки для подготовки основного раздела I этого отчета.
(1) Yaga_2011, Ответ в комментарии №3.
(2) Valmena, Хотя я не увидел Вас в списке скачавших файл обработки, все же отвечу на второй вопрос. В статье сказано: «1) Отчет предназначен для подготовки формы 11 (краткая) за 2014 год в среде БГУ 8 версии 1.0.25.2 и выше». Т.е. я доработал стандартный отчет фирмы 1С только за 2014 год. Поскольку у фирмы 1С есть ошибки и недоработки в этом отчете за другие отчетные периоды (2005 — 2013 годы), то я не ставил задачу дорабатывать отчет 11 (краткая) за все эти периоды. Я их просто отключил. Если они Вам необходимы, то обращайтесь к стандартному отчету фирмы 1С.
Что касается первого вопроса, то проблема в Ваших погрешностях заполнения реквизитов справочника «Основные средства».
Спасибо за ответ)
Добрый день!
В БГУ релиза 32.6, были изменения по данной форме (Форма № 11 (краткая), утв. приказом Росстата от 29.08.2014 № 543).)
Но у нас часть данных не попадает в отчет (возможно ошибка разработчиков).
Ваш очтет сответствует полседним изменениям?
(7) trycrime, Отчет соответствует всем последним изменениям нормативных документов Росстата и проверен на последних релизах БГУ8 1.0.32.6 и 1.0.32.7.
Что касается стандартного регламентированного отчета фирмы 1С, то часть ваших данных не попадает в этот стандартный отчет потому, что в нем до сих пор отсутствует механизм заполнения граф 5, 6, 7 и 11. Ваш программист может убедиться в этом, посмотрев код функции «ЗначенияПоказателей_Форма11К_2013Кв1(ПараметрыОтчета)»
общего модуля «ЗаполнениеРегламентированнойОтчетности». Успешной сдачи отчета!
Здравствуйте!
В колонки 8 и 9 попадают все суммы по ОС, а должно попадать только то, что выше 40000. Если ОС были введены в эксплуатацию до 2011 года с линейным способом начисления амортизации, после 2011 года учитываются выше 40000 руб. они попадают все равно в отчет, хотя не должны
под описанный пункт 2 основные средства попадают. Но они были приняты до 2011 года, и тогда это был линейный способ. С 1 января 2011 года должны учитываться, если стоимость больше 40000 руб. Что не так? И что необходимо сделать, чтоб отчет выводил корректные данные?
(10) AlexandraSerg, В соответствии с п.43 Инструкции по бюджетному учету (утвержденной приказом Минфина РФ №148н от 30.12.2008г.) амортизация на объекты ОС и НМА до 01.01.2011г. начислялась линейным способом при их балансовой стоимости выше 20000 руб. И эти правила для объектов, введенных в эксплуатацию до 01.01.2011г., никто не отменял, ни Минфин РФ ни Росстат — они действуют до сих пор, и эти объекты включаются во все колонки формы 11 (краткая), а не только 8 и 9. С 01.01.2011г. в эти правила были введены изменения приказом Минфина РФ №157н от 01.12.2010г. (п.92 Приложения №1 «Единый план счетов бухгалтерского учета . . «), и лимит стоимости объектов, на которые амортизация начисляется линейным способом, возрос до 40000 руб. Так, что приведенные ссылки на действующие нормативные документы говорят о том, что скачанный Вами отчет выводит корректные данные. И еще один момент. Поскольку в комментарии № 9 Вы пишете, что у вас в колонки 8 и 9 попадают «все суммы ОС», т.е. как я понял с любой стоимостью, то ваши бухгалтеры выбирают линейный способ амортизации для всех объектов независимо от стоимости, нарушая инструкции. Но возможно это просто Ваша оговорка.
(11) Спасибо за подробный ответ. Все поняла. планируете доработать отчет, чтоб заполнялась 34 строка? по библиотечному фонду
(12) AlexandraSerg, Да, конечно. Я дорабатываю его ежегодно под новые требования. Просто для некоторых строк справочного раздела не хватает времени.
(12) AlexandraSerg, Как я могу Вам отправить расчет 34 строки?
(14) Можно по почте alexandrakorobitsina@gmail.com
Спасибо!
2015 года форма планируется ?
(16) Slovar, Да, через несколько дней опубликую.
Спасибо, будем ждать..)