<?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='\
Добрый день! Скажите, а доп.взносы выводятся?
(1) Добрый день. Вы про вредное производство?
Да, для вредных и тяжелых профессий
(3) не могу сказать точно, т.к. в наших компаниях нет таких профессий, и я не смотрел в каких регистрах и в какой аналитике хранятся эти данные.
У меня ожидается переход на зуп 3.1 в одной производственной компании, но это будет через пару месяцев
Суммы всех доп.взносов в компоновке у Вас получается, но в сумму «Всего взносов» они не попадают. Требуется 5-минутное точечное изменение.
Очень полезный отчет, здорово нам помог. Спасибо))
Извините, я ошиблась с комментарием — не в ту публикацию написала
(6) с каким именно комментарием? В итоге что-то нужно переделать?
Я не скачивала эту разработку, Извините
Если у сотрудника было кадровое перемещение в середине месяца, то отчет задваивает начисление
(9) Спасибо, проверю.
Странно что наши расчетчики не жаловались.
Я правильно понимаю что в течении месяца поменялось подразделение?
Да, поменялось подразделение. Это то что касается начислений. Здесь быстро удалось побороть…
А по налогам еще больше проблем. Так как они идут в разрезе ФизЛиц, а начисления в разрезе Сотрудников.
Например если ФизЛицо, одновременно работают на основном месте работы и по внутреннему совместительству
или если ФизЛицо было уволено как один сотрудник и принята как другой в одном периоде, в таком случае налоги задваиваются
Исправил обработку — устранил ошибку задвоения начислений.
Отчет неправильные суммы выводит в взносах, если сравнивать с типовым отчетом «Анализ взносов в фонды»
(12) Ошибка с двойными начислениями осталась. Возможно сумма самого начисления и сторнируется и выводится верно в итоге, но взносы и налоги задваиваются
(14) К сожалению у меня нет данных для отладки данной проблемы. Как именно можно повторить ваш случай?
(15) проблема с сальдо. Если существует сальдо по сотруднику по физ лицу, то оно выводится дополнительной строкой и в разделе взносов заполняется значениями из «реальных» взносов, т.е. дублируется
Уточните, отчет работает по месяцу начисления или по фактически выбранным датам?
(2 вариант — как в ЗУП 2.5 гораздо предпочтительней)
(17) По фактически выбранным датам.
Здравствуйте, а чем не устраивает «Анализ зарплаты по сотрудникам»?
По моему это та самая расчетная «привычная» ведомость.
(19) нет данных по авансам (как минимум). Этот отчет не появился бы, если б анализ зарплаты был полноценной заменой.
Добрый день! Подскажите, в чем отличие одного файла от другого?
(21) В описании есть что добавлено.
Добрый день.
В отчете есть ошибка: не выводятся взносы по уволенным сотрудникам. Например: сотрудник уволился в конце апреля. Мы формируем отчет за апрель и видим, что зарплату по сотруднику заполняет, а взносы нет. Тоже самое, если сформировать отчеты за предыдущие месяца.
Тестирование выполнялось на релизе 3.1.5.171.
Рашид, сможете исправить?
(23)
Могу, но хотелось бы образец такого неправильного заполнения, со слов не очень понятно. Можно сделать скриншот и скрыть фамилии.
(24) |ПОМЕСТИТЬ ВТСтраховыеВзносы
|ИЗ
| РегистрНакопления.ИсчисленныеСтраховыеВзносы.Обороты(&НачалоПериода, &КонецПериода, , Организация = &Организация) КАК СтраховыеВзносы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
| ПО СтраховыеВзносы.ФизическоеЛицо = ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо
| И СтраховыеВзносы.Организация = ТекущиеКадровыеДанныеСотрудников.ТекущаяОрганизация
Если я не ошибаюсь, у уволенных в регистре сведений «Текущие кадровые данные сотрудников» ТекущаяОрганизация имеет пустое значение, поэтому уволенные не попадают. Про эту ситуацию и писали в (23).
Просьба проверить и внешних совместителей, которые не попадают по той же причине.
На моих данных задваиваются страховые взносы у сотрудника, который в организации занимает две должности.
Эти ситуации можно смоделировать. Еще раз большая просьба проверить.
*
Добрый день. Скажите, пожалуйста, не вносили ли вы исправления в работу отчета для версий с ЗИК 3.1.7.128?
(27) Добрый день. Лично я нет, а есть какие-то проблемы?
Добрый день. Перестала работать. Поменяли что-то в справочниках.
(28)
(29) Обновил обработку, проверьте — должно работать.
Оу, извиняюсь за беспокойство, тут оказывается стоимость тарифа выросла до от 1500 до 4500, мне как бухгалтеру не потянуть(
(31) я перезалил обработку вместо старой — возможно ее можно скачать повторно (бесплатно)?
Добрый день. к сожалению нельзя. не могу и в сообщения вам написать. можно ли альтернативно её оплатить?
(32)
Добрый день. Хотим скачать Ваш отчет. Будет ли он формироваться на ЗУП 3.1.9.106?
(34)обновлю ЗУП и проверю. У меня пока 3.1.8
Спасибо за ответ. Ждем от Вас результат проверки.
Здравствуйте! Скачала Вашу обработку. ЗУП 3.1.9.106. Спасибо, очень вовремя.
Под Админом отчет открывается и формируется. Под пользователем, имеющим Профиль групп доступа Старший кадровик-расчетчик, открывается, но при нажатии на кнопку Сформировать выдает ошибку «Недостаточно прав для работы с таблицей «Документ.Перенос данных» (см. прикрепленный файл).
Какие права мне добавить пользователю, чтобы отчет формировался? Или только Администратор подойдет?
(37)
Добрый день.
Я просмотрел отчет — ни в одном месте нет упоминания этого документа. Возможно к нему идет косвенное обращение через какие-то общие модули. Т.е. тут я ничем помочь не могу.
Я посмотрел права на этот документ через Роли — Все роли. Для доступа к этому документу нужны ПолныеПрава. Для других ролей прав нет, даже на чтение.
Подскажите а отчет показывает районные и дальневосточные надбавки?
(39) К сожалению у нас нет РК и Серверных надбавок, мне не на чем проверить. Если это отдельное начисление — то показывать будет
Добрый день. Хотим скачать Ваш отчет. Будет ли он формироваться на ЗУП 3.1.10.50? Кто раньше скачал отпишитесь.
(41) Исправил отчет и проверил на 3.1.10.50 — формируется.
Кто может помочь с покупкой данной формы за стартмани, напишите пожалуйста в личные сообщения. Спасибо.
Не работает Ошибка Метод объекта не обнаружен (ИменаПолейКоллекцииПечатныхФорм) ЗИК ГУ 3.1.9.229
Может исправите. Зря потратился…………………….
(45) Я как раз специально исправил на ЗУП 3.1.10. Вы не планируете обновляться?
Ошибка Метод объекта не обнаружен (ИменаПолейКоллекцииПечатныхФорм) ЗИК ГУ 3.1.9.229
(47)вернусь из отпуска и исправлю
(38) Права не нужны. Необходимо во всех запросах выбирать разрешенные
Проверил на ЗУП 3.1.10.111 работает. Спасибо.
Здравствуйте! Скачал отчет, не отображаются взносы в фонды при поставленной галке.