<?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='\
спасибо, нужный отчет для проверок НДФЛ
Да не то, что нужный, просто необходимый. Сегодня как раз колупался с этим НДФЛ, который распределяется стандартно настолько коряво… Вот эту обработочку вчера бы увидеть! Помогла бы здорово.
А концу года НДФЛ вообще будет больным местом, т.к. необкатанный временем. Обработка пригодится очень. Спасибо автору.
Потестировал отчёт — впечатление очень и очень положительное. Показывает реальную картину очень наглядно, и, главное — ясно кому и как надо корректировать уплату НДФЛ. Молодец!
Спасибо! Хороший отчет, необходим к концу года и не только, сейчас многие расчетчики не парятся по этому поводу и не распределяют НДФЛ перечисленный, а зря, уже пора бы ознакомиться!
сейчас многие расчетчики не парятся по этому поводу и не распределяют НДФЛ перечисленный, а зря, уже пора бы ознакомиться!
Это верно а к концу года будет как всегда АВРААААЛ.
Спасибо попробую.
Хороший отчет -актуально сейчас)))Спасибо автору.
Спасибо
Спасибо, очень полезный отчет. Только хорошо бы еще добавить строку ИТОГО.
Почему то в «Перечислено» сумму ндфл ставит только с одного документа,не собирает со всех…И естественно в остаток для перечисления кидает оставшуюся сумму,хотя полностью все перечислено(несколькими документами).Это только у меня так,никто не проверял?
(9) Katusha_iv, Для перечисленных сумм собираются данные со всех документов «Перечисление НДФЛ» введенных с начала года по выбранный период. т.е. если дата документа в интервал не попадает, то суммы удержанного НДФЛ учитываться не будут. Даже если суммы оплачиваются за период входящий в интервал.
Файл перезалит. Добавлены общие итоги.
Файл перезалит. Добавлены общие итоги.
спасибо ещё раз за данную обработку
Отчет полезный. Жаль, что иностранцев с 30% НДФЛ не обрабатывает…
(10).Например ,беру период с 01.01.2011 по 14.02.2011. Документы «Перечисление НДФЛ в бюджет» введены 10.01.2011 , 28.01.2011 и 14.02.2011. Суммы выходят только те ,которые введены 14.02.2011.
(11) спасибо!
Файл перезалит. Добавлена обработка иностранцев со ставкой 30%.
Спасибо за отчет. Актуален как всегда… конец года грядет
Огромное спасибо за отчет. Уже начинает болеть голова, как подумаешь об отчетности по НДФЛ.
Очень нужный отчет
Дает расхождение между исчисленным и удержанным НДФЛ по сотрудникам, у которых прошли начисления отпуска будущего месяца. При этом справка 2-НДФЛ по ним расхождения не дает.
Спасибо! пригодился
Дает расхождение между исчисленным и удержанным НДФЛ по сотрудникам, у которых прошли начисления отпуска будущего месяца. При этом справка 2-НДФЛ по ним расхождения не дает.
Справка 2-НДФЛ включает исчисленный НДФЛ до конца года, а в отчет берется исчисленный НДФЛ за указанный период. Смотрите регистр налогового учета по НДФЛ.
Спасибо за отчет! Вовремя! Есть время до конца года проанализировать отклонения и откорректировать перечисляемые предприятием суммы.
Спасибо! Очень актуально, не только до конца года не ждать а уже сейчас можно проверять к тому же разносит программа безобразно
хотелось бы галочки для анализа отчета по итогам года:
«выводить только с отклонениями», где НДФЛ исчисл <> НДФЛ удерж <> НДФЛ уплач
«выводить только с переплаченным НДФЛ», где НДФЛ исчисл < НДФЛ уплач (кто знает — может переплату запретят показывать как в пфр)
«выводить только с недоплаченным НДФЛ» , где НДФЛ исчисл > НДФЛ уплач (тут штраф)
хотелось бы галочки для анализа отчета по итогам года:
«выводить только с отклонениями», где НДФЛ исчисл <> НДФЛ удерж <> НДФЛ уплач
«выводить только с переплаченным НДФЛ», где НДФЛ исчисл < НДФЛ уплач (кто знает — может переплату запретят показывать как в пфр)
«выводить только с недоплаченным НДФЛ» , где НДФЛ исчисл > НДФЛ уплач (тут штраф)
Мне бы тоже это не помешало бы, автор если можно добавь.
Спасибо. Отчет хороший. Если бы автор по аналогии сделал такой же отчет по страховым взносам на страховую и накопительную части. Было бы просто СУПЕР.
Спасибо. Отчет хороший и я присоденяюсь к GVALA по страховым вносам было бы здорово, автору ++++++++++++
(29) 2011b11, не имеет смысла писать такой отчет.
для этих целей прекрасно справляется программа Документы ПУ 5. и уплату раскидывает на ура. и сальдо на начало любого периода можно посмотреть, переплата прекрасно отслеживается.
+ скоро все будет снова по-другому
Хм, а почему у меня выдает такю ошибку
Дебет = ТаблицаНалогов.ПолучитьЗначение(ТаблицаНалогов.НомерСтроки,Группировка);
{*****ЗАРПЛАТААНАЛИЗ НДФЛ.ERT(526)}: Номер за пределами значения!
а можно прислать тчет на почту? klimova1967@yandex.ru. Спасибо.
Спасибо! пригодился
Спасибо! Отчет помог выявить и исправить ошибки в НДФЛ (уплата).
Автору: а как заполняли Перечисление НДФЛ в бюджет ? Не было ли проблем с этим, как решали эту проблему ?
Особенно по ОКАТО-КПП по разл.подразделениям.
А отчет судя по картинкам просто отличный, завтра распробую.
(35) b-dm, Проблем небыло. Так как отчет изначально задумывался для проверки сумм по сотрудникам из налогового регистра по НДФЛ, то все расчеты там уже реализованы. От себя добавлена только группировка/отбор/сортировка полученных результатов. Сами суммы начисленного/удержанного/перечисленного НДФЛ на 100% совпадают с данными регистра налогового учета по НДФЛ.
С перечислением НДФЛ все просто: Собираются суммы с документов «Перечисление НДФЛ в бюджет», там все данные есть: «Сотрудник, период перечисления НДФЛ, ОКАТО/КПП». Далее суммы обрабатываются и выводятся в отчет.
(36) я имел в виду несколько иное. Как вы формировали сами документы Перечисление НДФЛ в бюджет по ОКАТО/КПП ? То есть корректно ли у вас распределялись суммы, как поступали с договорниками ? А то у меня с этим сейчас куча проблем возникло.
(36) — и ещё такая вещь. Нельзя ли в отчет добавить отбора по подразделением например ? Или вывода с группировкой по подразделениям ?
черт не работает(
Ситуация — в январе 2011 по расчетке начислены больничные за дек 2010, ндфл исчисл за январь есть. В 1-НДФЛ за 2010 бл не попали, зато попали в февр 2011 в налоговый регистр, соотвественно по отчету в январе разница по НДФЛ исчисленному по своду и по вашему отчету (ндфл из налогового регистра). Из 100000р пропало примерно 30000р. в общем надо разбираться… Есть ощущение что не учитываются ручные корректировки 1-ндфл
в типовом релизе что нибудь подобное не планируется?
(40) — думаю что врядли…ждать ВООБЩЕ что-либо на 7-ке думаю уже не стоит. я имею в виду что то толковое и аналитическое. потому что 7-ку теперь делают по остаточному принципу.
(39) — а как вы эти корректировки вводите ? я, если честно, совершено не понял как этот механизм работает и для чего он нужен….это вместо документа Возврат НДФЛ сделано или для того чтобы как раньше можно было править карточку 1-НДФЛ ?
(42) b-dm, вместо карточки 1-НДФЛ теперь КОРРЕКТИРОВКА НДФЛ. Для исправления или добавления инфы по налогам и доходам. Например перенести отр.суммы с одного месяца на другой где есть доход, или ввести займы, подарки, призы по ставке 35%.
Когда сдавали 2010 год переносили суммы дохода из января обратно в декабрь, так как принесенные бл портили всю картинку сторнируя декабрьские начисления. Сейчас это все вылезет боком.
УХ! Спасибо, то что надо. А для 1С 8.2. Зарплата и Управление персоналом, возможно такуюже сделать?
Прикольный отчетик. За вополощение «розовой мечты буха» — плюс
интересная обработка… а можно скинуть на flash82@list.ru заранее спасибо
хорошая помощь для буха… спасибо
Небольшое дополнение
в модуле стр.327
ТаблицаНалогов.НоваяКолонка(«Период»,»Число»);
Присвоить реквизиту тип число вместо строка, иначе сортировка не красиво: Январь, Октябрь, Февраль,….
т.е.
1
10
2
3
4
5
6
7
8
9
Отчет выведет помесячно сколько было удержано, перечислено?
Очень жаль, что не увидела раньше, пришлось (так как переходим на 8.2) отчет делать в восьмерке, а очень хотелось сделать в той программе, в которой были выполнены расчеты, а не перенесены выгрузкой данные.
А для октмо этот отчет работает?