<?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='\
Прикольно, можно самому себе спасибо сказать :).
Ну так, сам себя не похвалишь — никто не похвалит 😉
Замечание: период выводится не тот.
Еще одно; расшифровка не верная
Еще: Если ставим расшифровку налогов, зачем собирать данные по всем сотрудникам, если указан список.
>Замечание: период выводится не тот.
Где не тот? Проверил, все правильно.
>Еще одно; расшифровка не верная
Что не верно? В каких случаях? Еще раз провел проверку на своей базе, ошибок не нашел.
>Еще: Если ставим расшифровку налогов, зачем собирать данные по всем сотрудникам, если указан список.
Так и не собирает по всем, собирает по списку. С чего взял, что на всех?
Упс, нашел ошибочку при работе «по списку».
Щас подправим.
Обновил.
Исправлена ошибка при работе «по списку».
Цифру 2 и 3 перепутал :).
При установленном флажке «Разбивать … по периодам действия» в колонках «Обл.ЕСН» и «Обл.ФСС» показываются одинаковые суммы в разных периодах по одному и тому же виду расчета (у меня например, «Отпуск очередной»)
(Saguna)Ошибка зафиксирована :).
Сейчас будет смотреть.
Обновил.
1.0.2
Исправлена ошибка.
Saguna
28.09.2006
При установленном флажке «Разбивать … по периодам действия»
в колонках «Обл.ЕСН» и «Обл.ФСС» показываются одинаковые суммы
в разных периодах по одному и тому же виду расчета (у меня например, «Отпуск очередной»)
Обновил. СКАЧАТЬ ОБЯЗАТЕЛЬНО
1.0.3
Исправлены ошибки.
В некоторых случаях мог выдавать неверные результаты расшифроки.
Если база по ЕСН или ФСС была равна нулю, отчет вылетал с ошибкой.
Только один человек спасибо сказал.
Неужели никому не пригодилось!? У меня клиенты не нарадуются :-).
Спасибо понравилось
Ед замечание: при работе с бюджетной ЗиК не правильно отображает налоги (не разбивает по источникам финансирования)
вер 1.0.3 еще не смотрел
Период выдается НЕВЕРНО. Если ставлю несколько месяцев, в отчет идет последний.
В расшифровку начислений выходит сумма только первого месяца
В удержаниях нули не нужные, да и в начислениях тоже
4168509
Спасибо понравилось
Ед замечание: при работе с бюджетной ЗиК не правильно отображает налоги (не разбивает по источникам финансирования)
вер 1.0.3 еще не смотрел
В бюжетке, грешным делом, не тестировал. На этой неделе, постараюсь поправить.
vat-74
Период выдается НЕВЕРНО. Если ставлю несколько месяцев, в отчет идет последний.
Вы уже второй раз пишете, что период выдается неверно.
Я уже все глаза просмотрел, но у меня период выдается верно. Там вроде и ошибку допустить трудно, одно условие.
Если у кого нибудь есть такая же ошибка, напишите пожалуйста.
В расшифровку начислений выходит сумма только первого месяца
Ну собственно, то же самое, что и по предыдущей ошибке.
Отчет по ЕСН («Расчет авансовых платежей ЕСН») выдается верный?
Если у кого нибудь есть такая же ошибка, напишите пожалуйста.
В удержаниях нули не нужные, да и в начислениях тоже
Вы имеете ввиду, что нулевые значения лучше выводить пустыми или прочерками?
Добавлю опционно.
———————
vat-74, у меня создается ощещение, что у вас завелись барабашки :-).
Попробуйте скачать заново, и попробуйте на другой базе.
4168509
Спасибо понравилось
Ед замечание: при работе с бюджетной ЗиК не правильно отображает налоги (не разбивает по источникам финансирования)
вер 1.0.3 еще не смотрел
Посмотрел.
Это не ошибка. Это скорее пожелание о расширении функционала :).
Ну тогда уже надо распределять не только налоги но начисления и удержания.
Задача достаточно нетривиальная для ЗиК. Хоть, в принципе, и раелизуемая.
Правда отчет тогда будет выводиться не долго, а очень долго :).
В общем, надо думать :). В ближайшее время, не обещаю.
Релиз 269.типовой. После открытия формы меняем период начала назад и формируем, период в отчете текущий. Когда ставим галку Выводить рпсшифровку налогов, период нормальный.
Вы, видимо, отчет выводите всегда с расшифровкой налогов, а если без нее, все мои замечания вылазят.
Релиз 269.типовой. После открытия формы меняем период начала назад и формируем, период в отчете текущий. Когда ставим галку Выводить рпсшифровку налогов, период нормальный.
Вы, видимо, отчет выводите всегда с расшифровкой налогов, а если без нее, все мои замечания вылазят.
«А ларчик просто открывался» :).
Понятно. И правда, я только с «расшифровкой» тестил. Есть ошибка с выводом периода.
И с расшифровкой то же понятно. Я же думал, речь идет о расшифровке налогов, а тут речь о расшифровке суммы начислений/удержаний.
Спасибо за найденные ошибки.
Сейчас подправлю и выложу.
Исправлена очередная порция глюков :). Читайте в описании.
Новая версия.
1.1.0
Добавлено:
Расшифровка налоговой базы.
Спасиба, спасиба, спасиба!! Прям выручил!
Ks_83
http://infostart.ru/projects/rate.php?id=531&rate=1 :).
Да не за что, пользуйся на здоровье :).
ЗЫ
А для благодарности, есть сверху надпись «Спасибо автору» или
1. Если отчет формировать без всякий галочек в настройке, то там, где «2.Удержано» появляется три колонки. Если ндфл есть, то эта строка с ндфл нормальная выводится, а ниже печатаются строчки такого плана: 0.00 | 0.00
кол-во строк = до последней строки в начислениях.Если установить галочку «выводить налоговую базу», то там все нормально выводится. и лишней колонки нет.
2. Ставим только одну галочку «сворачивать выплаты».
К примеру у нас 6 выплат было за период. С установленной галочкой печатается первая строка с общей суммой выплат и плюс ещё 5 пустых строк.Причем в центре добавляется ещё одна колонка без обвода ячеек линиями.Причем, если мы убираем галочки, чтобы выводились все выплаты, то эта колонка теперь линиями обводится, получается, что в Разделе выплат вместо 2х колонок уже 3 колонки.
А вообще отчет замечательный! очень необходимый 🙂 Спасибо!
При выводе налоговой базы не учитывает
1. Есть подразделения работающие на ЕНВД. Они ЕСН не облагаются. Только Пенсион. взносы.
2. Нет налоговой базы по ФСС в связи с несчастными случаями.
3. Для Пенс взносов лучше сделать отдел колонку, так как их база не всегда совпадает с ЕСН. См пункт 1
Если это исправить, то обработка будет действительно незаменимой для составления и проверки отчетов в разные фонды.
2 q1q2
(1,3)Не делал колонки для ПФР, что бы не перегружать отчет. В вер. 2 сделаю опционно.
(2)Включу в вер. 2.
Суммы налогов в сводной карточке ЕСН, формируемой в программе «ЗиК» на копейки не сходятся с данными формируемыми данным отчетом и соответственно не совпадают с данными выгружаемыми в «Бух 4.5»
Так в чем же так хорош отчет? Как не заметили это те кто писали хвалебные отзывы?
(29)
В данном отчете для сбора данных по ЕСН используется глобальная процедура ЗиК, та же самая что используется при формировании сводной карточки ЕСН. Поэтому расхождения, скажем так, маловероятны.
Единственные расхождения возможны на «копейки округления». Так как данный отчет формируется помесячно, а сводная карточка за год. Вызвано это известной проблемой «копеек округления», так как расчет налогов по людям идет с точностью до пяти знаков, а в отчеты(и проводки) идет с точностью до двух знаков.
Проводки выгружаются за месяц. Кроме проводок по налогам, 1С делает проводки на 91 счет, это и есть «копейки округления», именно на них будут расходится отчеты. Организации, с которыми я работаю, в основном игнорируют эти копейки. Так как суммы небольшие а суеты много. Поэтому я и не считал это проблемой.
В принципе могу сделать, опционно, вывод с учетом «копеек округления», это не сложно. Если надо, напиши, сделаю.
расшифровка плавает,
при выборе периода действия?!
(31)Что значит «расшифровка плавает»?
Можно по шагам описать?
Новая версия
1.2.0
Добавлено
Расшифровка налоговой базы выводится по сотрудникам.
Исправлены ошибки.
При установленной галочке «Свернуть выплаты», в некоторых ситуациях, выводились лишние пустые строки.
Автору огромное спасибо за столь нужную и ценную вещь! 🙂
При запуске в типовой ЗиК 7.70.282 при установленной галке "Выводить налоговую базу и начисленные налоги" выдает ошибку:
…
Показать полностью
{D:DOWNLOADSСВОДСНАЛОГАМИ.ERT(572)}: Значение не представляет агрегатный объект (Выгрузить)
…
Проверил, все работает.
Посмотрел код, не смог найти условий, при которых могла произойти такая ошибка.
Если вышлете архив, посмотрю. Мыло strapot <собака> front.ru
(30)
Доработать отчет необходимо, чтобы им могли пользоваться организации ведущие учет правильно, а именно те, у которых в разной отчетности, одинаковые показатели имеют одинаковые значения. Проверяющих обычно абсолютно не интересуют проблемы округления.
С чем связано вот эта информация в описании:
>Важно:
>Cделан для 269 релиза, на более старых работать не будет.
(39)В 269 релизе были изменены глобальные процедуры используемые в отчете.
Поэтому отчет на более ранних релизах вылетит с ошибкой.
В принципе, переделать что бы работал, не сложно.
(38)Так отчет работает правильно :).
При установленных флажках «Разбивать суммы начислений и удержаний по периодам действия» и «Выводить налоговую базу и начисленные налоги», неправильное отображение секций в колонках «Обл.ЕСН» и «Обл.ФСС по отношению к секциям в колонке «Начисленно».
Например, в колонке «Начисленно» может быть несколько строк(пусть будет 3-и: январь, февраль, март) по какому-то виду начисления, в колонках «Обл.ЕСН» и «Обл.ФСС», добавляется одна строка с общей суммой облагаемой базы, но ее высота(расположение), не соответствует высоте(расположению) тем 3-м.
З.Ы. Если непонятно будет то скрин кину.
(41) Понятно. Скринов не надо. Сейчас попробую исправить.
1.2.1
Исправлены ошибки.
(41)
Отправил скрин. Похоже не поняли друг друга)
(44) Бывает ).
Протестируй новую версию.
Ошибки больше нет?
Все ок. Оперативно работаешь;)
(46) Тебе просто повезло :).
Я был за компьютером, у меня было свободное время. Это, к сожалению, довольно редко случается :(.
добый день, а по человеку за год можно как-нить просмотреть сумму НДФЛ?
ставлю галочку в насторойках Выводить….налоги — вылетает (Скульная версия)
(48)
>добый день, а по человеку за год можно как-нить просмотреть сумму НДФЛ?
А в чем проблема? В списке один человек, период «янв-дек) и «сформировать».
>ставлю галочку в насторойках Выводить….налоги — вылетает (Скульная версия)
Какая ошибка?
Вроде проблем не было. Скорее всего проблемы с базой.
>А в чем проблема? В списке один человек, период «янв-дек) и «сформировать».
просто людей много, а он выводит в формате:
ФИО1 вид вычета ДатаН1 ДатаК1 Результат1
ФИО1 вид вычета датаН2 датаК2….
ФИО1 вид вычета датаН3 датаК3…
ФИО1 вид вычета датаН4 датаК4…
ФИО2 видвычета датаН датаК
ФИО2 видвычета датаН датаК
ФИО2 видвычета датаН датаК
ФИО2 видвычета датаН датаК
и так 2500 чел
а мне надо чтобы был формат
ФИО1 ВидВычета датаН1 датаК1 Результат1 датаН2 датаК2 Результат2…….Сумма
это возможно?!?!
(50) Возможно все :).
Я собирался сделать так:
ФИО1 вид расчета ДатаН1 ДатаК1 Результат1
ФИО1 вид расчета датаН2 датаК2….
ФИО1 вид расчета датаН3 датаК3…
ФИО1 вид расчета датаН4 датаК4…
Итог по ФИО1
ФИО2 вид расчета датаН датаК
ФИО2 вид расчета датаН датаК
ФИО2 вид расчета датаН датаК
ФИО2 вид расчета датаН датаК
Итог по ФИО2
Но вроде ваш вариант покрасивше будет. Мы же всегда только один вид расчета «расшифровываем», зачем он нам в каждой строке!?
Может примерно так:
«Вид расчета»
ФИО1, ДатаН1, ДатаК1, Сумма, … ДатаН12, ДатаК12, Сумма, ИТОГ
ФИО2, ДатаН1, ДатаК1, Сумма, … ДатаН12, ДатаК12, Сумма, ИТОГ
…
ФИО100, ДатаН1, ДатаК1, Сумма, … ДатаН12, ДатаК12, Сумма, ИТОГ
Итого: Итого
Правда не уверен, что «читабельно» будет.
(50)
Подумал, ни фига не «читабельно» будет. Какая то каша получается. Большая «простыня» с кучей цифр.
С НДФЛ еще ничего, одинаковые периоды, а с другими вилами начислений кошмар получится.
Значится теперь идея такая:
Два варианта расшифровки.
1. Вариант 1 из (51).
2. Примерно такой:
…….. Янв Фев …. Дек Итог
ФИО1 … … … …
ФИО2 … … … …
…
2. Примерно такой:
…….. Янв Фев …. Дек Итог
ФИО1 … … … …
ФИО2 … … … …
— вот такой вариант идеален..:)
(53) Ок. Значит так и запишем :).
..извините за мою нескромность, когда сделаете?..:)
(55) Извиняю.
Вот, выпала свободная минутка, сижу делаю.
Может доделаю сегодня, а может …
Ничего обещать не могу. В планах значиться, закончить сегодня. Но это только планы :).
пасиб..:)…..за надежду..:)
ФИО1, ДатаН1, ДатаК1, Сумма, … ДатаН12, ДатаК12, Сумма, ИТОГ
можете сказать какими переменныеми в обработеке они обозначаються..;(
..просто пока делать нечего хоть покапаюсь, может опыта немного появиться..:)
..потом можно ли из этого отчета сделать файл для сдачи в налоговую?
НДФЛ расшифровку выдает не верную, сумма вначале правильная, сравнил со стандартной раз 5 (скидывал в ексел нажимал на сумму по столбам, с итоговой суммой в своде различаються!!!!) , по разным периодам, все равно не верно..;(
..похоже что он не проверяет, есть НДФЛ прошлого или будущего налогвого периода…выводит и настоящего и прошлого периода…;(
1.3.0
Добавлено
Расшифровка начислений/удержаний с итогами по сотруднику.
Расшифровка начислений/удержаний с группировкой по периодам.
ЗЫ
Делал урывками, практически не тестировал. Так что, кто не хочет рисковать, качает версию 1.2.1. Впрочем я ничего не менял, только добавлял, не думаю что будут проблемы.
(61) Извини, но не понял ничего. При чем здесь налоговые периоды?
Не знаю, успел ли кто скачать версию 1.3.0, но
1.3.1
Исправлены ошибки.
Несколько мелкий помарок в печатной форме.
(61) Ты хочешь НДФЛ сверить с налоговыми карточками?
Тогда тебе нужна галочка «разбивать по периодам действия».
А версия 1.3 тебе мало поможет.
(63,65) у меня свод НДФЛ удержано сумма одна, а на расшифровку нажимаю, сумма другая. Отчет получаеться не правильно расшифровку делает…;(.
А так то что по периодам выводит НДФЛ ващщее классно..:)
(66) Странно, на 3-х разных базах проверил, ошибки нет.
Может базу скинешь? Посмотрю. После просмотра обещаю сжечь :).
Если что, мыло strapot<собака>front.ru
А под «свод НДФЛ удержано» ты имеешь в виду мой отчет или отчетность в ИФНС?
(67)
-А под «свод НДФЛ удержано» ты имеешь в виду мой отчет или отчетность в ИФНС?
-Ваш отчет (Svod.ert)
-Может базу скинешь? Посмотрю. После просмотра обещаю сжечь :).
..может я скриншотами попробую объяснить..:)
отправил пару скиншотов на strapot@front.ru
(70) Понятно. Нашел таки в одной своей базе такую ошибку. Вскрытие показало, что ошибка в коде 1С. Только 1С её давно исправила. (отчет сделан на основе 269 релиза). А я и не заметил.
1.3.2
Исправлены ошибки.
Ошибка в расшифровке, не выводились записи за периоды несовпадающие с периодами отчета.
(Сообщил timurei)
..пасиб, очень помогло…:)
(72)
<Ошибка в расшифровке, не выводились записи за периоды несовпадающие с периодами отчета.
-теперь если несколько периодов выбрать — в расшифровке выводит данные только за первый период, остальные ставит 0….;(
(74) Вот ведь …, что значит делать впопыхах :(.
Повторное вскрытие показало, что дурак все таки я а не 1С. В общем, поторопился я.
1.3.3
Исправлены ошибки.
Ошибка в расшифровке, не выводились записи за периоды несовпадающие с периодами отчета.(попытка номер два, надеюсь последняя)
(Сообщил timurei)
..все клево, вроде ошибок нет, огромное спасибо…:)
вообще не работает. куча ошибок(((
(79)Очень информативно :).
Конфигурация (релиз)? При каких действиях происходят ошибки? Можно подробней (что нажимает, что «пишет» программа)?
(79)»Жаль, что мы так и не услышали начальника транспортного цеха …» (с)
Будем считать что «пост ушел не туда».
(79)Отвечу здесь, так как почту на работе «снял». Да и здесь удобней.
1. Сделал проверку. Скачал, запустил, работает.
2. В отчете нет процедуры глСтатусСтрока(), видимо ты сам её туда добавил. Зачем?
Ну и что делать:
1. Скачать заново и проверить.
2. Проверить не стоит ли «;» перед Процедура глСтатусСтрока(). Т.е. примерно так:
КонецПроцедуры;
Процедура глСтатусСтрока()
если есть «;» то убрать.
ЗЫ
И желательно все же сообщить релизы платформы, ЗиК и какие именно изменения были внесены и зачем.
ЗЫЫ
Общаться лучше здесь или в крайнем случае через личку. Почта у меня на работе, так что общение через неё не всегда удобно.
При установленной галочке «Сворачивать выплаты» строка «4. Выплачено» — есть, а строки «Всего выплачено» — нет.
Замечательный отчет!
Вот только не выдает страховые взносы и что-то непонятное в налоговых базах по галке «Выводить налоговую базу и начисленные налоги».
А очень хочется…:)
(84) Да знаю. Уже полгода собираюсь сделать. Самому надо.
К сожалению, я большой замах сделал 😮 (вывод страховых, ФСС, НДФЛ и любые произвольные удержания), и … времени все не хватает.
Вариант со страховыми выложу в начале октября, числа 4 го наверное.
(85) Спасибо! жду с нетерпением:)
Большое спасибо.
Очень удобно! Рекомендую.
Тысячу раз СПАСИБО!!! 🙂
Спасибо автору за обработку. Может пригодится.
Понравилось, спасибо.
Спасибо, отчет помог быстро собрать данные по годам