<?php // Полная загрузка сервисных книжек, создан 2026-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.5…
Ошибка загрузки документа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {}availableAsField Форма: Элемент Тип: {}anyType
хм… платформа 8.1.8.76, конфа 2.5.3.21 работает нормально.
Отличный отчет! Подскажите, можно ли добавить еще колонку «Отработано дней» перед начислениями? И еще пожелание — можно ли итоги отображать после видов расчета?
что обновлено-то? Где описание?
Взят из ЗУП 2.5.10.11. Предыдущая версия была из 2.5.3.21. Освежил, так сказать.
Работает отчет не совсем корректно и с ошибками.
сорри ошибся окном — замечание не к этому отчету
Без колонки «ФСС НС и ПЗ» для реального бухгалтера проку мало 🙁
Я в курсе. Заказ на доработку уже поступил, скоро сделаю.
Спасибо! Вещь нужная
Если несколько сотрудников — совместителей в разных подразделениях порождены одним физлицом — полная жопа. Группировать надо по сотрудникам, а не по физлицам! И вобще этот ЗУП полное Г… — по сравнению с ЗиК. Вообще сырой продукт. Не лучше УПП по качеству исполнения. Ну вобщем это видимо марка качества 1С
как он считает эти взносы? если у меня сотрудник по расчету имеет начисления необлагаемые ЕСН, ЗУП выдает все нормально — без начисление ПФ и ЕСН, а эта обработка начисляет. Странно.
(11) К сожалению, в данном случае группировать по сотрудникам не получится. Для этого придется менять структуру регистров и переделывать отчет.
(12) Действительно, странно. Данные беруться из регистра накопления «ЕСН Исчисленный» . Можно посмотреть через меню «Операции».
Обновлено:
Добавлена колонка с данными по ФСС НС.
(14) Ура ! ! !
Спасибо
(14) Замечание по отчету: отчет не выделяет/разделяет НДФЛ по видам ставок и/или видам начислений(которые были проведены в ЗУП-8.1) в соответствии со статьей 224 (23-глава Налогового Кодекса)
—-
ЗЫ. Собственно говоря, на мой взгляд это очень существенный недостаток самой конфигурации ЗУП-8.1 — неудобно смотреть(или я это не умею делать)
Обновлено:
Добавлен отчет, в котором НДФЛ выведен в отдельную группу, и разделяется в разрезе ставок налогообложения.
(18) Спасибо! Очень полезная вещь получилась!
Спасибо, особенно с отдельной группой!
Замечание по отчету: если формировать ведомость за календарный год и сформировать за тот же период отчет «Отражение зарплаты в регламентированном учете», то данные по начислениям в фонды (69-** счета) будут отличаться. У меня +-0,05 рубля по разным фондам.
—
ИМХО алгоритмы округления не корректные или данные для разных отчетов из разных мест берутся. Что не есть хорошо.
У меня вообще пустой файл сохраняется. Без расширения.
(18) Выявил баг или я что-то не так делаю: Отчет не включает начисления по дивидендам по акциям начисленные и выплаченные не работающим в организации физ.лицам(имхо и любые другие начисления и выплаты не работающим в организации физ.лицам 1С в своих отчетах не видит)
Спасибо!
Хороший отчет, но в отчете со ставками НДФЛ почему-то не заполняется графа «Всего удержано», хотя в первом отчете все заполняется. Исправьте, пожалуйста
Большое спасибо! очень своевременно мне попался ваш отчет! И очень помог 🙂
а можно добавить разбитее больничного еще?
Налоги с ФОТ по непонятным причинам показывет в 2 раза больше чем фактически начислено! Почему?
Налоги с фот считаются отражаются некоректно, если есть ЕНВД. В программе считается ПФР итого столько то и в том числе ПФР ЕНВД. При формировании отчета складывается ПФР итого и ПФР ЕНВД. Если ЕНВД 100% то происходит задвоение ПФР. Ну и как следствие сумма налогов с фот увеличивается. Во внутреннем запросе по налогам с фот, имеет смысл ПФР страх. ЕНВД и ПФР нак. ЕНВД вывести в отдельные колонки
Большое спасибо за обработку — очень полезная вещь!
Но графа «Налоги с Фот» и правда не совсем корректно считаеся, за счет того что графа «Федеральный бюджет» уже включает и ПФР страховую часть и накопительную часть, т.е получается ПФР попадает в расчет дважды.
Спасибо. Выручили.
отличная обработка, даже незнаю что бы и делал если бы не сайт
Хорошая обработка давно скачивал не много подшаманил ее правда очень помогла и вот сейчас спасла когда проверка была за прошлые года. Респект и уважуха тебе автор!
В 8.2 не работает((