<?php // Полная загрузка сервисных книжек, создан 2025-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='\
Очень полезная доработка. Спасибо. Ставлю +
Странно, что так мало людей скачали. Неужели, 6-НДФЛ у всех заполняется корректно?
(1) 1kashak, Спасибо.
Скорее всего не у всех есть возможность вносить изменения в конфигурацию или же стремятся заставить типовой механизм отрабатывать.
Скажите, а вы суммируете апрельское перечисление (ДатаПлатежа = Апрель, МесяцНалоговогоПериода = Март) в строке 70?
http://www.buhonline.ru/pub/comments/2016/4/10985
У меня зарплата выплачивается следующим месяцем.
После нажатия кнопки «Заполнить из перечислений НДФЛ», формируется доп. отчет по ТЧ «ПеречислениеНДФЛвБюджет» и регистрам по вычетам.
Суммы из этого отчета я вытаскиваю и вношу в Раздел 1.
020 — общая сумма дохода;
030 — вычеты;
040 — исчисленный НДФЛ;
070 — Общая сумма исчисленного НДФЛ;
Но, по последним сведениям, исходя из этого источника
Получается, что в Раздел 1, в строку 070, нужно еще суммировать и апрельское перечисление НДФЛ за месяц март.
(3) 1kashak,
1 раздел расчетчик заполняет у нас самостоятельно, поэтому по строке 70 не могу, Вас, сориентировать.
Попробую уточнить у бухгалтера.
Добавлю, что если заполняем отчет за 1 квартал 2016, то в раздел 2 попадают документы «Перечисление НДФЛ в бюджет», в которых ДатаПлатежа находится в 1 Квартале 2016.
Таким образом в раздел 2 не попадают «Перечисление НДФЛ в бюджет» у которых дата платежа апрельская, но месяц за который идет перечисление стоит март.
(3) 1kashak,
расчетчик ответил:
«В разделе 1 нужно ориентироваться по месяцу начисления. а в разделе 2 по дате перечисления. Так же по году будут сравнивать раздел 1 с предоставленными справками 2 НДФЛ, Общая сумма дохода и НДФЛ должны сходиться.»
(5) Спасибо большое. Это полезная информация.
В дальнейшем, если ситуация с типовым заполнением 6-НДФЛ не улучшиться, попробую еще дописать автоматическое заполнение 1-го раздела. Во избежание ошибок расчетчика.
(1) 1kashak, 1)править «недоделки» 1с-плохой тон
2) вот почему-то не прижился док по перечислениям ндфл
(7) согласен, но ситуации бывают разные.
Классная доработка- всё просто и красиво
Ещё бы суммы начисления брались как есть, а не расчетные. А то из-за округления (отбрасывания копеек) погрешность слишком большая получается
Вот и думаю, то ли допиливать новую графу в «Перечислении в бюджет» для хранения исходных сумм, то ли типовой механизм всё-таки задействовать
(9) serg999,
спасибо за отзыв.
Мне кажется если брать начисленные суммы, тогда сумма НДФЛ (если ее посчитать руками из полученной начисленной суммы) будет расходится с тем, что реально оплатили и отразили в отчете 6-НДФЛ.
И это будет повод для проверяющих. Здесь же мы сумму дохода рассчитываем из перечисленной суммы НДФЛ, что гарантированно будет верно.
Скорректировано заполнение строки:
Срок перечисления налога (код 120)
если полученная дата выпала на выходной или праздничный день, тогда дата заменяется на первый следующий рабочий день.
А что за реквизиты у вас в скрине формы документа — «»Фактическое перечисление», «Не перезаполнять», «Характер выплаты» ? В типовом документе таких реквизитов нет. Тоже добавлены самостоятельно? На работу внешнего отчета не повлияют?
(12) doronin70,
Добрый день.
Нет не повлияют.
Для работы отчета, достаточно добавить только следующие реквизиты в документе «Перечисление НДФЛ в бюджет»:
1. ивПодразделениеОрганизации (тип СправочникСсылка.ПодразделенияОрганизаций)
2. ивПеречислениеЗП (Тип Булево)
3. ивСрокПеречислениеНалога (Тип Дата)
Как добавить реквизиты:
https://youtu.be/eTmzQQcGTF8
(12) doronin70,
поправил скриншоты в описании, чтобы не путали.
(14)
Спасибо, отчет скачал, установил, на релизе ЗУП 2.5.105.1 пошло влет.
(15) и это замечательно.
Спасибо за отзыв.
Здравствуйте.
Это все работает с установленными флагами «Упрощенный учет взаиморасчетов» и «При начислении НДФЛ принимать исчисленный налог к учету как удержанный»?
(17) zul333,
Добрый день.
Да, работает.
У нас признаки «При начислении НДФЛ принимать исчисленный налог к учету как удержанный» и «Упрощенный учет взаиморасчетов» включены.
Здравствуйте.
Скачала отчет. Спасибо.
(19)
Добрый вечер, Людмила.
Спасибо за комментарий, рад что отчет, Вам, помог.
Всем привет.
Обновление 11.10.16:
Обновлена версия отчета «ивРегламентированныйОтчет6НДФЛ_111016.erf» для ЗУП 2.5.110.1
А для Управления Предприятием отчет будет работать?
(22)
«А для Управления Предприятием отчет будет работать?»
Речь про «Управление производственным предприятием 1.3» ?
Если да, тогда отчет скорее всего будет работать, но надо проверять.
Здравствуйте!
Заполняем отчеты с Вашей замечательной доработкой, возник вопрос — отпускные и больничные выплаченные в декабре имеют срок перечисления 31.12.16, который отодвигается на 09.01.17. Но в прошлом квартале были очередные разъяснения — если налоговый агент производит операцию в одном отчетном периоде, а завершает ее в другом отчетном периоде, то такая операция отражается в том периоде, в котором она завершена (см. письма от 02.11.2016 № БС-4-11/20829@, от 24.10.2016 № БС-4-11/20126@).
Подскажите, как Вы вышли из этой ситуации?
Большое спасибо!
(24)
Заполняем отчеты с Вашей замечательной доработкой, возник вопрос — отпускные и больничные выплаченные в декабре имеют срок перечисления 31.12.16, который отодвигается на 09.01.17. Но в прошлом квартале были очередные разъяснения — если налоговый агент производит операцию в одном отчетном периоде, а завершает ее в другом отчетном периоде, то такая операция отражается в том периоде, в котором она завершена (см. письма от 02.11.2016 № БС-4-11/20829@, от 24.10.2016 № БС-4-11/20126@).
Подскажите, как Вы вышли из этой ситуации?
Большое спасибо!
Добрый день, Анна.
Вопрос записал, как будет время постараюсь ответить.
(24)
Заполняем отчеты с Вашей замечательной доработкой, возник вопрос — отпускные и больничные выплаченные в декабре имеют срок перечисления 31.12.16, который отодвигается на 09.01.17. Но в прошлом квартале были очередные разъяснения — если налоговый агент производит операцию в одном отчетном периоде, а завершает ее в другом отчетном периоде, то такая операция отражается в том периоде, в котором она завершена (см. письма от 02.11.2016 № БС-4-11/20829@, от 24.10.2016 № БС-4-11/20126@).
Подскажите, как Вы вышли из этой ситуации?
Большое спасибо!
Добрый день, Анна.
В таких случаях мы вручную указываем срок перечисления налога в документе «Перечисление НДФЛ в бюджет», мы указывали 30.12.16.
На УПП 1.3 всё работает как надо. Не понимаю, почему разработка почила в бозе. Неужели прям все на зуп-3 перешли?
В типовой (2.5, 1.3) как было криво сделано, так и осталось.
Здравствуйте, отличная доработка! Обновление будет? (изменения с 2018г)
(28)
Добрый вечер, Дмитрий.
Какое обновление интересует?
изменения с 2018г, в частности новый формат выгрузки
(30)
Эти изменения уже прошли в релизе зуп? Если да то в каком?
только планируются, но сдавать за 2017 надо будет по новой форме
(32)
Да, буду делать чтобы за 2017 сдать.
Добрый день! Подскажите, когда будет обновление Вашего отчета?
(34)
Добрый день, Анна.
Пока не могу сказать когда буду делать,
но скорее всего когда начнем делать этот отчет за 2017г.
Добрый день, будет обновление касаемое (Приказ ФНС от 17.01.2018 № ММВ-7-11/18) ?
(36) (34) (32)
Обновление 18.04.18:
Обновлена версия отчета «ивРегламентированныйОтчет6НДФЛ_190418.erf» для ЗУП 2.5.130.2 от 29.03.2018
Инфа о релизе ЗУП 2.5.130.2: В конфигурацию включена форма Расчета 6-НДФЛ, утв. приказом ФНС России от 14 октября 2015 г. № ММВ-7-11/450@ в редакции приказа ФНС России от 17 января 2018 г. № ММВ-7-11/18@.
Добавлена почта проекта:sdesk1c@bk.ru
Может работать в 1с 8.3 Бухгалтерия?
(38)
Добрый день, Дмитрий.
Нет, в Бухгалтерии 3.х работать не будет.