<?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='\
Жаль что нет расшифровки входящих в показатель значений.
очередной вариант
http://infostart.ru/public/64861/
Что за аналитика? В каких разрезах? Где описание? Где скриншоты? Минус
Идея хорошая — собрать все взносы и НДФЛ вместе. Но, если страховые взносы — учитываются по месяцу регистрации, то НДФЛ может и в ноябре или в декабре прошлого года оказаться начисленным за январь или февраль текущего года. И эти суммы в отчете не отражаются….
(3)Ключевое слово «РСВ-1» вынесено в наименование публикации. Те бухгалтеры, которым мне хотелось сделать Новогодний подарок, знают, о какой аналитике идет речь…
без скриншотов грустно
Вот отчет, который показывает все, что есть в
http://infostart.ru/public/69141/
таблице значений ДоходыВычетыНалогиСотрудников, сформированной
глобальной функцией глСобратьДанныеДляСтраховыхВзносов()
Спасибо, очень помогло при составлении РСВ-1, к сожалению выгрузить из ЗИК теперь никак 😥
Спасибо, очень хороший отчет. Именно то что нужно бухгалтерам, особенно когда есть превышения. Единственное было бы хорошо если бы суммы превышений показывались не только при печати «Шкала», но при «Печать с аналитикой». Но все равно хороший отчет.
Это файл для восьмерки? на 7.7 он невидиться
(10) Нет, это файл внешней обработки под 7.7.
Мне так себе
скачал, поставил, тэстим, описание хромает, скриншотов нет — это минус, и мну смущает дата публикации, для формирования данных на 4ка 2011 года эта обработка ещё актуальна?
скачал, поставил, тэстим, описание хромает, скриншотов нет — это минус, и мну смущает дата публикации, для формирования данных на 4ка 2011 года эта обработка ещё актуальна?
Отчет поддерживаю в актуальном сосотоянии — он нужен людям, которые, в отличие от Вас, мне благодарны.
Я бы только за оформление поставил бы минус.
Подожду, вдруг автор исправится… Затем обещание непременно исполню.
Отличный отчет и реализован хорошо. Не может один и тот же отчет нравиться всем программистам, а уж бухгалтерам тем более. Я, к примеру, все скачанные отчеты дорабатываю по требованиям бухгалтеров. Но смысл внести как можно меньше изменений и затратить как можно меньше времени, поэтому nesl, спасибо за отчет!!!
спасибо
Воще класно.Спасибо.
Спасибо! Актуально — не то слово!
Что-то у меня при запуске вываливается ошибка :
Выполнить<<?>>();
{D:1C_BASE7ЗИК_ДЕМО313PRDEMOEXTFORMSАНАЛИТИКА СТРАХОВЫХ ВЗНОСОВ 01.11. 2011.ERT(2109)}: Процедура не обнаружена (Выполнить)
Выполнить<<?>>();
{D:1C_BASE7ЗИК_ДЕМО313PRDEMOEXTFORMSАНАЛИТИКА СТРАХОВЫХ ВЗНОСОВ 01.11. 2011.ERT(2145)}: Процедура не обнаружена (Выполнить)
Помогите, плиз!
(20) klaus,
Извините, перестаралась, когда чистила модуль. Исправила…
Спасибо, за оперативность!
Сразу бросилось в глаза, у некоторых «Подоходный налог Исчисл» не равен «Подоходный налог Удерж». А в столбце «НДФЛ_Исч не равен НДФЛ_Уд» у всех стоит Н!
С Вас уже 2 деньги!:)
(22) klaus, Буква «Н» (неравен) как раз и означает неравенство НДФЛисч и НДФЛуд…
мда… девушки-программисты жгут.
Нет чтоб написать всем понятное «<>», лучше влепить «Н».
Замечательно. 115 сотрудников у всех Н. Даже в приведённой выше картинке, первая строка 735.00 Н 735.00 Что-то не так!
Отличный отчет и реализован хорошо.
Подскажите, плз, в столбце 4 — НДФЛ_исч не равен НДФЛ_уд, только у меня «Н» при любых сочетаниях соседних столбцов?
Спасибо! Ошибку исправила…
Спасибо, пригодилась!
(28) А ссылочку бы чёб проверить? Можно в личку.
Спасибо большое за отчет. Очень пригодилось выделение по инвалидам. Удобный и информативный отчет.
Спасибо, очень хороший отчет. Именно то что нужно бухгалтерам, особенно когда есть превышения предела.Вот только-бы выделение позиций с ошибками более наглядно сделать или выпускать отделный отчет.Будет востребован бухгалтерами при составлении отчета в ПФР.
мне такой отчет нужен, непонятно только — люди выводятся или нет, и насколько он актуален
все выводится, а если мне понадобился страховой номер — тоже добавила в макете. хороший отчет, для 7 мало возможностей, нет рсв и пр
пригодился и в первом квартале 2013 для сверки начислений по сотрудникам и по пачкам, а то разошлись суммы в рсв и пачках
плохо что нельзя посмотреть имя файла. когда-то скачивала, не могу найти на диске по входящим словам, имя хоть убей — не помню, придется еще раз скачивать видно
Подскажите, а с превышения 568000 10% поправили?
(37) 27272, предел базы определяется автоматически, так что превышение всегда актуально. А распределение по возрастной шкале я поправила (не формировалась «шкала» за 2013 год). Спасибо.
Добрый день!
А для 2014 года этот отчет можно использовать? или нужны доработки?
(40) ice_777, конечно! Этот отчет всегда поддерживаю в актуальном состоянии (он нужен людям). Сейчас он работает для 2014 и прошлых годов, о чем я и упоминаю в анонсе.
у меня не работает на релизе 342…
(42) ФеяС, Простите, не изменила в анонсе — не написала, что обновление действует только с 343 конфы — 342-я была никакая, не имело смысла. Пишите, помогу обязательно! Своих друзей без помощи не оставляю!
(43) Мне надо еще раз скачать файл? Или вы можете мне новый прислать от 27.02.2014?
(44) ФеяС, если Вы не скачивали после 27.02.14, то нужно скачать. Не знаю, как переслать.
Не работает почему-то с релизом 346
(46) ФеяС, внесла изменения и выложила сегодня 26.04.2014 для 346 конфы
(47) спасибо
Спасибо, все хорошо работает, самые необходимые отчеты..