<?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='\
оу, спасип за отчетик
в отчете ошибочка., тоесь описочка. а так спасип.+
НеВзимать = Сотрудник.НеВзниматьВзносыПФРиФСС.Получить(ДатаМесяца);
НеВзимать = Сотрудник.НеВзиматьВзносыПФРиФСС.Получить(ДатаМесяца);
ТаблНалоговФОТ.УстановитьЗначение(НомерТекСтроки,Колонка,Результат);
{C:DOCUMENTS AND SETTINGSАДМИНИСТРАТОРРАБОЧИЙ СТОЛНАСТРОЙКА2007EXTFORMSTAXSH2010.ERT(2328)}: Номер за пределами значения!
Спасибо! у меня без ошибок работает
Спасибо Вам за отчет. Очень удобный, т.к. наглядный.
Но у меня с ошибками: обложилась налогами мат. выгода по займам (кредитам), и премия за счет прибыли (взносами в ПФР) (((( И ещё облагаемая база по ФОМС Итого неправильно 😥
(5) Поставьте ВР «Мат. выгода по займам (кредитам)» тип дохода для страховых взносов «не является объектом налогообложения».
А насчет премии за счет прибыли я вообще бы еще подумала. «За счет прибыли» -это все из налогового кодекса, который к страховым взносам не имеет отношения.
А так , конечно, отчет очень сырой, я не проверяла многие вещи, мне надо было только что-бы правильно по-месячно отразились суммы за переделом в 415000.
Понятно, спасибо. Мат. выгоду подправлю. Ну классно что из Вашего отчета можно взять суммы свыше предела и разбиение по годам 🙂
Мне показалась, что не верно отразились суммы за переделом в 415000, т.к. в законе написано: Суммы, начисленные работникам, представляют собой базу для исчисления страховых взносов. Ее определяют отдельно по каждому работнику нарастающим итогом с начала расчетного периода (календарного года) по истечении каждого календарного месяца.
У меня каждый не получает столько! Может я не правильно закон читаю! 🙁
(8) У меня каждый тоже столько не получает, только один генеральный директор.
Я считаю превышение по каждому работнику отдельно.
Если у человека оклад 150000=, то в марте он и перейдет предел в 415000.
(9) У нас бюджет, максимальная зп это у руководителя 26 тыс в месяц, судя по отчёту у меня сумма превышающая предельную величину начинается уже в январе! разве такое может быть при средней оплате в 6-8 тыс?
Бухи говорят, что компенсация отпуска при увольнении с 2010-го облагается страховыми взносами.
Однако в отчете показывается будто по компенсациям страховые взносы не начислялись, хотя в базе расчета взносов компенсация отпуска включена и «тип дохода» выбран «в полном размере».
Взносы пересчитывались, в карточке учета страховых взносов компенсации есть и взносы с них брались.
В базу по ПФР попадает «материальная помошь при рождении (усыновлении) ребенка», а потом эта же цифра учитывается в сумме превышающей предельную величину(т.е. сумма превышающая неправильная), в итоге облагаемая база по ПФР становится правильная, а остальные базы нет.
ТаблНалоговФОТ.УстановитьЗначение(НомерТекСтроки,Колонка,Результат);
{C:DOCUMENTS AND SETTINGSАДМИНИСТРАТОРРАБОЧИЙ СТОЛНАСТРОЙКА2007EXTFORMSTAXSH2010.ERT(2328)}: Номер за пределами значения!
ошибка выдается при спецрежимах, т.к. в отчете анализируется расчет ПФРНакопительнаяЧастьс2010, а ПФРНакопительнаяЧастьЕНВД — нет аналогично для Страховой части 👿
Попробую проверить спецрежимы, в обычной жизни у меня их нет, надо какую-нибудь базу для примера сделать.
Компенсацию отпуска при ув-ии в базе выводит как облагаемую. То, о чем сыр-бор (инф-ция по превышению лимита) в итоговой строке «Суммы, превышающие предельную величину базы для начисления страховых взносов» никакой инфы не выдало, хотя есть. По сотруднику, у которого превысило в тек. месяце лимит, один и тот же вид расчета для ПФР обложен причем полностью (хотя обложилась часть), а по ТФОМС, ФОМС не обложен(база 0), хотя есст-но обложена часть. Единственное, что хорошо, что добавили верный необлагаемый итог (правда без расшифровки), но на него по отчету никак не выйти, так для справки.
Вот хочу поделиться сомнениями, осуществимо ли вообще в таком отчете по видам ВР правильно показать начисления по ВР с учетом лимита? Допустим, за месяц у сотра начислений 300т, из них оклад 100т, отпуск 200т. А учитывая лимит с начала года, обложиться у сотра в тек. месяце должно только 80т. Какой должна выйти база сотра по окладу? 80? тогда отпуск 0? или пропорционально суммам ВР? вобщем огород, к-рый городить однако не стоит. В станд. отчете (по ЕСН еще) ведь тоже был лимит в 600т, но облагаемые виды расчетов за месяц выводились полностью, не видя этот лимит, и итоговые суммы были завышены
А у меня выдает вот такую ошибку — е могу понять в чем дело. 🙁
ТаблНалоговФОТ.УстановитьЗначение(НомерТекСтроки,Колонка,Результат);
{C:1СPRBASIC_2006EXTFORMSTAXSH2010.ERT(2328)}: Номер за пределами значения!
В колонку Расходы за счет ФСС: не попадают суммы пособий до 1,5 лет 🙁
(15) ПО поводу облагаемой компенсации отпуска при увольнении:
Согласно пп. «д» п. 2 ч. 1 ст. 9 Закона N 212-ФЗ не подлежат обложению страховыми взносами для плательщиков страховых взносов, производящих выплаты и иные вознаграждения физическим лицам, компенсационные выплаты (в пределах норм, установленных в соответствии с законодательством Российской Федерации), связанные с увольнением работников, за исключением компенсации за неиспользованный отпуск.
Таким образом, с 01.01.2010 компенсации работникам за неиспользованный отпуск, выплачиваемые при увольнении, облагаются страховыми взносами в Пенсионный фонд РФ, Федеральный фонд обязательного медицинского страхования и территориальные фонды обязательного медицинского страхования.
а, ну хотела сказать выводит необлагаемую, по нулям, что неправильно
при формировании отчетность на январь выдается ошибка
ПФР_БазаЗаМесяц = ПФР_База — (ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,2) — ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,3));
{C:USERSНИКОЛАЙDOWNLOADSTAXSH2010_V2.ERT(2272)}: Номер за пределами
за февраль и март ошибка не выдается.
(21)Спасибо, исправила. Все время забываю, что у января нет предыдущих месяцев в году.
Вместо строки 2272
ПФР_БазаЗаМесяц = ПФР_База — (ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,2) — ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,3));
можно написать так
ПФР_БазаЗаМесяц = ПФР_База — ?( Месяц>1,(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,2) — ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,3)),0);
Попробовал запустить. Во-первых, по всему предприятию я так и не дождался вывода результата. Тормозит видимо так, что только на ночь оставлять, а по одному человеку выдает ошибку:
ТаблНалоговФОТ.УстановитьЗначение(НомерТекСтроки,Колонка,Результат);
Номер за пределами значения!
Привет. Отчетик хороший, но есть маленький недочет. Если в справочнике видов расчета выбрать «материальную помощь при рождении ребенка» и в налоговом учете поставить тип дохода для страховых взносов «материальная помощь при рождении (усыновлении) ребенка, облагается частично» то в отчет суммы не попадают, а если поставить «материальная помощь, облагается частично» то пападают.
(24) что намой взгляд неверно )
(24) Я вручную код дохода выставляла только материальной выгоде по займам(кредитам) — что это не является объектом налогообложения.
А материальной помощи в глСобратьДанныеДляСтраховыхВзносов явно устанавливается код дохода .
…
Если ВР=ВидРасчета.МатПомощьПриРожденииРебенка Тогда
СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,2,»МатПомощьПриРожденииРебенка»);
ИначеЕсли ВР=ВидРасчета.МатПомощь Тогда
СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,2,»МатПомощь»);
….
Но это , конечно, справедливо для стандартных видов расчета , уже по умолчанию присуствующих в конфигурации. А для «самодельных » матпомощей — надо проверять.
Спасиб, разобрался. У меня получилось так, я для страховых взносов по Тип дохода для ЕСН по (2009г) убираю «не является объектом налогообложения» тоесть оставляю графу пустой тогда работает как надо.
Народ, а ни кто не пробывал переложить этот отчет под SQL?
Начисления и прочие доходы Сумма по виду расчета Страховые взносы и прочие налоги
ПФР страх. и накопит. ФФОМС и ТФОМС ФСС ФСС_НС
Компенсация отпуска при увольнении 664 520.72 0.00 0.00 0.00 0.00
в отчете «Суммы, превышающие предельную величину
базы для начисления страховых взносов» 0.00 0.00 0.00
но расшифровку дает:
Сотрудник Сумма
Иванова Светлана Владимировна 201 390.71
Петров Александр Георгиевич 237 967.32
Сидоров Иван Михайлович 206 899.20
Итого: 646 257.23
А кто нибудь её пробовал на инвалидах и на ЕНВД-шниках 😥 ?
(31) На инвалидах и ЕНВД я и не тренировалась еще.
Я не правильно учитываю ЕНВД или неправильно считаю превышение , суммы ЕНВД попадают у меня в превышение над 415000. Не знаю как правильно отделить общий режим и ЕНВД.
Вот скажите мне : Если у человека начислений , к примеру, 250000 на общем режиме и 250000 на ЕНВД. У него есть превышение предела? Для определения превышения над 415000 надо складывать начисления по различным тарифам или по каждому тарифу свое?
1. превышение есть
2. ЕНВД — только пенсионный, на общим все … скорее всего каждому тарифу своё (государство себя не обманет =)
пс а под комплексную конфигурацию можно адаптировать отчет?
Если в виде расчета не указано ЕСН до 2010 г работает неправильно, для военных работает неправильно в плане оплаты по окладу
Спасибо за отчет.
Добавил от себя:
стр 1611 глЗаполнитьРазделыНК2009
стр 1645 Если (Имя = «СВМес3″+МесСНулями)или(Имя = «СВМес4″+МесСНулями)или(Имя = «СВМес5″+МесСНулями)или(Имя = «СВМес8″+МесСНулями) или (Имя = «СВМес9″+МесСНулями)или (Имя = «СВМес10″+МесСНулями)или (Имя = «СВМес11″+МесСНулями)или (Имя = «СВМес12″+МесСНулями)или (Имя = «СВМес13″+МесСНулями) Тогда
а то когда показывать НДФЛ вычеты не брала…
(35) Спасибо, если честно я НДФЛ и не смотрела вообще — со страховыми бы разобраться.
(34) Я сейчас, чтобы не путаться, вообще хочу убрать все связанное с ЕСН — отчет будет работать только начиная с 2010 года.
Отчёт понравился, но к сожалению, неправильно определяет базу по ФСС и ФОМС: среди начислений есть премия разовая (стандартная), которая «облагается в полном размере». Так вот, в базу ПФР она входит, а в ФСС и ФОМС отчего-то — нет. Из-за этого искажаются и итоговые сумы баз, но сами налоги определяются правильно. Отчего это может быть?
P.S. Собственно, ответ уже получил: сделал так же, как и (27) — очистил реквизит ЕСН в расчётах, кторые «барахлили», и всё нормализовалось.
Но, конечно, зависимость от ЕСН нежелательна, поэтому, если будет реализовано, как обещано в (36), то будет просто замечательно!
P.S. Собственно, ответ уже получил: сделал так же, как и (27) — очистил реквизит ЕСН в расчётах, кторые «барахлили», и всё нормализовалось.
Но, конечно, зависимость от ЕСН нежелательна, поэтому, если будет реализовано, как обещано в (36), то будет просто замечательно!
не учитывает значения записей сторно в журнале расчетов
Добрый день!подскажите пожалуйста: а на фсс_нс превышение не распространяется?
(40) Нет, не распространяется. Взносы по НС и ПЗ к страховым взносам, для которых введен предел облагаемой базы 415000 , не имеют никакого отношения.
(39) Исправила немного — теперь должно сторно учитываться, я надеюсь.
Мат.помощь свыше 4000 при первом получении в году целиком показывает в налоговой базе по стр.взносам. 🙁
(43) Не знаю, я ввожу материальную помощь 10000 — 6000 показывается как облагаемая.
Надеюсь , вы используете стандартный расчет «материальная помощь»?
Просто, если у вас для материальной помощи сделаны «самодельные» виды расчета — то этот случай и 1С не отрабатывает , скидка в 4000 при расчете страховых взносов предоставится только по встроенному в конфигурацию виду расчета «материальная помощь».
Все в порядке, вопрос снят. Матпомощей у нас несколько, все самодельные. В одной из них не выставил «Тип дохода для стр.взносов»=»материальная помощь, облагается частично», после уточнения все заработало правильно. 😀
(45) Вы бы проверили, правильно ли считаются страховые взносы с «самодельных» матпомощей. Если посмотреть глСобратьДанныеДляСтраховыхВзносов, как определяется соответствие ВР и дохода для страховых взносов, то там идет проверка на совпадение вида расчета с предопределенным видом расчета «МатПомощь». А тип дохода для страховых взносов не анализируется.
Я пробовала вводить собственный вид расчета для матпомощи , и хоть я и указывала в типе дохода для страховых взносов, что это материальная помощь, этот новый вид расчета облагался целиком. Надо править глСобратьДанныеДляСтраховыхВзносов, чтобы взносы считались правильно, хотя может я и ошибаюсь.
Спасибо за совет, проверил еще раз по цифрам и заглянул в модуль процедуры. Действительно, предопределенная «МатПомощь» обрабатывается отдельно. Но несколькими строками ниже есть еще одна проверка «ИначеЕсли ВходитВБазу = 1 «. Вот тут проходят «прочие» матпомощи. Для верности просмотрел таблицу «ДоходыВычетыНалогиСотрудников», там они есть в нужных колонках. Так что все в порядке, еще раз спасибо. 🙂
Убрал из отчета виды расчета, у которых код дохода по ЕСН — «НеЯвляетсяОбъектом». Бухгалтеры довольны.
Правда не понял почему используется функция КодДоходаПоЕСН() когда речь идет о страховых взносах, но т.к. отчет выдает нужный результат, заморачиваться этим не стал.
Добрый день! можно ли сделать разделение ФФОМС И ТФОМС на основной тариф и инвалидов — вроде как они тоже должны делиться. И по ФСС_НС разделение баз также было бы не лишним, так как при нынешней схеме база по ФСС_НС не совсем логична, хотя и результат в итоге правильный. Еще очет не учитывает иностранцев у которых в карточке указано что не взимать страховые взносы (у них только ФСС_НС) и база завышается…
Добрый день! Отчет неплохой, но вот есть еще одно упущение… У тех «договорников», у которых Оплата по договору заводилась как перерасчет за предыдущий период , сумма договора не включается в облагаемую базу НДФЛ, хотя сам НДФЛ берется…..
Отличный отчет! Постоянно пользуюсь. Но надо бы заточить под 2011 год… 🙂
спасибо!!!
Спасибо огромное! Отчет — это просто находка для нас. Без него работа расчетчиков была бы тяжелее. 😉
Прекрасный отчет , быстро формируется, но ТОЛЬКО если не ставить галочку НДФЛ.
НДФЛ наступает конец света для компьютера, ПОЧЕМУ ?)))
Почему-то материальная помощь попадает в ФСС_НС целиком.