<?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='\
Огромная просьба к приобретающим обработку: оставляйте пожалуйста отзывы и пожелания. А то счетчика продаж на страничке нету и понять что это за продукт людям сложно. Заранее спасибо =)
Подскажите, а для бюджета работает обработка?
ХЗ. Я с бюджетом не работал никогда, даже конфу ни разу не видел. Для выборки данных используются таблицы Документов пенс. отчетности, регистры РаботникиОрганизаций и ШтатноеРасписаниеОрганизаций + механизм доп. свойств объектов. Если в бюджетке те же метаданные используются, то должно работать
Уважаемый разработчик! Подскажите, когда последний раз вносили изменения в обработку, почему возник вопрос, т.к. программа «Перечень льготных профессий 3.6.3 от 22.09.2015 «.
Надеюсь, что структура файла XML совпадает с требованиями ПФР, а именно поля Адрес и Дата рождения — присутствуют?
При приобретении обработки можно ли самим вносить изменения и сколько будет стоит дальнейшее обновление обработки
Спасибо
(4) amv79, Реквизиты присутствуют. В последний перечень все загружается. На видео вроде бы всё видно. И адрес и дату рождения. выгрузка будет поддерживаться в актуальном состоянии пока я работаю в этом франче. У нас знаете-ли каждое второе предприятие по вредникам отчитывается) Код модуля закрыт (основные процедуры заполнения там), но в модуле формы можно дописать что-нибудь по мелочи.
Добрый вечер, а есть возможность доработать обработку, чтобы в перечень попадали сведения о стаже не только по 1 и 2 спискам (27-1, 27-2), но и льготный стаж например по медикам (27-ГД, 27-ГДХР 27-СМ, 27-СМХР)
А как это выглядит в базе? Я просто не имел дела с такими случаями. В индивидуальных сведениях эти данные заполняются автоматически?
(6) kitenok1982, А как это выглядит в базе? Я просто не имел дела с такими случаями. В индивидуальных сведениях эти данные заполняются автоматически?
(8) да автоматически на основании поля «Основание выслуги лет» в должности сотрудника.
(9) kitenok1982, Увы, но нет. Т.к. в ЗУП 2.5 таких полей нету, то и в выгрузке они отсутствуют, а для доработки нужна база и заполненный перечень ЛП как пример. Ни тем ни другим я не располагаю.
(10) эти поля есть.
исправил ошибки
Спасибо огромное!! всё работает! и за обратную связь тоже спасибо!!!
Было выявлено небольшое несоответствие при формировании таблицы»отчет по работнику».
В разделе командировки за период с 01.01.2016 по 31.03.2016
выводятся на экран командировки прошлого периода, а точнее самые последние за 2015 год Н.р с 03.12.2015 по 14.12.2015- при этом
в разделе «периоды работы»- дата начала и дата окончания периода- программа разбивает все точно без ошибок исключительно период за 1 квартал.
Так же в разделе командировки- был указан сотрудник, который уже уволен. Т.е есть одно физ лицо и 2 сотрудника. Один уже уволен еще 2013, а второй работает с 2014. В таблице по сотруднику указывается две командировки: одна по уволенному сотруднику, другая по работающему. Табельные номера у сотрудников разные.
В принципе ошибки не существенные, на работу обработки никак не влияют, единственное что отдел кадров начинает паниковать при виде некорректных данных в приведенной в справке.
добавил возможность изменения пенс возраста и выгрузку колонки ОснованиеВыслугиЛет
Не дает изменить модуль формы!
Мне дает. При сохранении спрашивает пароль, но если нажать отмена норм сохраняет на диск
(16) babikoff, Мне дает. При сохранении спрашивает пароль, но если нажать отмена норм сохраняет на диск
Здравствуйте.
Приобрели вашу обработку. Большое спасибо, сильно облегчает. Вопрос такой:
как организовать кооллективную работу с корректированием списков? Ну или можно ли сохранять данные не локального пользователя, а глобально, видимые для всех пользователей. Сейчас данные сохраняются только для отдельного пользователя. Если заходить под одним и тем же аккаунтом, то сохраняются данные того, кто первый сохранил. Цель — распределить работу по разным людям. Ну или хотя бы сделать так, чтобы можно было работать по очереди разным пользователям с одними и теми же данными.
(19) user595534_petrov, знаю вопрос больной) На этих выходных хочу сесть. вроде бы время и силы есть. как выйдет новая версия скину на почту
(19) user595534_petrov, Добавил возможность загружать из файлов. Подходят даже те файлы которые выгружаются из перечня. Так что есть возможность сэкономить время на ввод выгружаемой в перечень информации использовав отчетность за пред квартал. При выгрузке задается вопрос о там итоговая ли это выгрузка. Если да, то происходит обычная выгрузка, если нет, то выгружается в расширенном формате, добавляет UIDы подразделений, должностей и физлиц. Короче то что нужно для полного восстановления сохраненной информации. Этот файл в перечень не загрузится.
Хотите сказать спасибо — оставьте отзыв, а то народ качает, а отзывов нету(
Спасибо ещё раз, за обновлённую версию! всё работает!
Приобрел данную обработку. Бухгалтера безмерно рады. Спасибо автору за продукт и отдельное Спасибо за оперативный отклик по доработке под нашу специфику.
Здравствуйте. Нужна такая же обработка для ЗУП 3.1.1.81, платформа 8.3.8.1861.
(24) yandukov, Добрый день. Пока в планах нету.
добрый день. а может ли обработка выгрузить данные в эту программу?
http://www.pfrf.ru/branches/krasnoyarsk/info~program/2418 в версию 3.6.5
(26) Elrod, именно для выгрузки в нее она и предназначена
спасибо.
Добрый день! Работает ли обработка на релизах 2017года? Например релиз 2 5 117 1.
Спасибо!
(29) с 2017г РСВ-1 не применяется, а обработка берет стажи именно с РСВ-1. так что нет, только если вы будете формировать в ней 2016г и ранее.
Я так и предполагала. Планируется ли новая обработка или, если она уже есть, то сколько стоит?
(31) планируется. как вопрос у моих клиентов ребром встанет. стоить будет так же.
Будем благодарны, если отпишитесь по готовности в этой теме, чтобы нам оповещение пришло.
(33) хорошо, так и сделаю)
В зарплате 3.0 эта обработка работает?
очень нужна эта обработка для ЗУП 3.1 (3.1.2.212)
(36) увы, сейчас для меня переписывать ее нецелесообразно. Не раньше чем я своих на 3 переведу, а это будет ближе к концу года.
Добрый день! Владислав, я так поняла, Вы серьёзно проработали тему формирования перечня льготный профессий. Подскажите, пожалуйста, почему именно для версии 3.6.5 файл формируется? Столкнулись с такой проблемой, что наш клиент использует программу «Перечень льготный профессий» версии 1.0.5.97 ссылка на программу:http://www.pfrf.ru/branches/irkutsk/info~strahovateli/902 . А формат для загрузки данных совсем другой. Заранее спасибо!
(38) Это другая версия программы. надо смотреть формат. В ближайшее время гляну
Вопрос, даже, немного в другом, почему Ваши клиенты используют версию 3.6.5? Может, она более удобная, чем версия 1? Вообще, не понятно, как кадровик принимает решение, какой версией пользоваться. Не нашла никакой информации. На инфостарте только одна обработка под версию 1 от 2015 года и куча под 3.6.5.
(40)честно говоря я даже не знал, что такая есть до вашего сообщения. Наши отделения ПФР работают именно с версией 3.6.5. ее и рекомендуют организациям региона. (Рекомендовали до 2017 г.)))
(41)вот и мы даже не догадались уточнили это перед тем, как обработку ставить клиенту и вот теперь как то перед ним совсем не комильфо :))
Буду пробиваться в наш ПФР. Даже не знаю, что проще — переписать на новый формат или убедить клиента, что надо другой программой пользоваться…. спасибо за комментарии. В идеале же, круто было бы иметь универсальную обработку под все форматы.
Выложил с открытым кодом, за стартмани. времени нет ни дорабатывать, ни переписывать под годовую отчетность.
Владислав, подскажите. Верно, что в 2017г перечень ЛП сдается за весь год? Получается Вашу обработку надо дорабатывать:
1) что-бы была возможность выбрать весь год, а не квартал;
2) Теперь данные о стаже надо подтягивать из документов СЗВ-СТАЖ? Пачки то не формировали в этом году.
И наверно много чего еще…
Все так?
Как Вы оцениваете много всего по коду придется менять?
(45) думаю да, поэтому и выложил с открытым кодом, в тайне надеясь потом купить готовое) Формат поменялся, Заполнение переписать не трудно, там один запрос, но выгрузку подгонять под формат думаю будет много возни.
(46) Наш ПФР готов принять за 2017г в формате 3.6.5.
Добрый день! Подскажите данная обработка на ЗУП 3.1.4 работать не будет?
(48)нет конечно
Сделала внешнюю обработку для 8.3. Если кому-то нужно, пишите.
(50) Поделитесь пожалуйста обработкой
(50)Наталья, доброй ночи, поделитесь пожалуйста. avgur82@ya.ru
Наталья, доброго времени суток, и со мной поделитесь пожалуйста sedcom1@mail.ru.
(53) Если можно то и мне petrov@zsgp.ru
Всем отправила
Не формирует 2017 год
Здравствуйте. Как я понимаю, при создании отчетности за 2018 год обработка будет совсем не актуальна. Огромная просьба ко всем разработчикам: при создании отчетности за 2018 год поделиться обработкой.
Не заполняет 2018 год по кнопке заполнить
(59) и не должен. отчет заполняется по стажам из пачек раздела 6 отчета РСВ-1
можете переписать запрос в модуле объекта привязав его к пачкам сзв-стаж. думаю это не сложно, но сам заниматься этим не буду.
для сдачи отчета за 2018 год обработка в нынешнем виде неактуальна.
Скачивая обработку, которая называется: «Выгрузка и подготовка данных для программы «Перечень льготных профессий» для 1С: ЗУП 2.5 (ОТКРЫТЫЙ КОД)», я понимаю, что получу версию для ЗУП 2.5. Логично? В комментарии обработки — версия для зуп 3.1.8 бета. На ИНФОСТАРТЕ можно было назвать ее корректно? Скиньте на мою почту версию для ЗУП 2.5 пожалуйста. mikhalin_1991@mail.ru.
для 2.5 на сдачу 2018 года обработки готовой нет. выложенная версия предназначалась для сдачи 2016 года и требует адаптации, на которую у меня нет времени и желания. Можете скачивать на свой страх и риск, с пониманием, что придется пилить, хотя и не сильно.