<?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='\
Добрый день!
Для ЗУП 2,5 базовая, подойдет ?
Тестировалось и обновление только на проф.
Обновление для Базовой версии.
(3)Извиняюсь, правильно понял, что к базовой версии подошло ?
(4)
У меня только проф, базовых нет.
Для Проф сделаете?
Приношу извинения. Исправил архив (cfu для проф).
(6)Скачал, до того как вы обновили обработку, запустилось на Базовой версии. Все ок!
(6)
Спасибо! Все ок!
В принципе можно аккуратно тянуть нужные вещи из поддерживаемой ЗУП 25 Корп.
Для ЗКБУ 1.0 Вы не делали такое же обновление?
(10) У меня нет ЗКБУ 1.0
(11) Для ЗКБУ 1.0 только и имеет смысл эта обработка, поскольку для сдачи отчетности, для конфигурации ЗУП 2.5 его можно легко на КОРП проапгрейдить, а для ЗКБУ 1.0 нет КОРП редакции.
Ошибка в формировании СЗВ-Стаж
(13) При выборе формата 2019 года в в файле выгрузки у периода не будет «ДЛОТПУСК».
Если хотите, чтобы период отпуска вообще не выделялся, то установите в настройке вида расчёта не отражать в перс. учёте и перезаполните документ.
Добрый день! При обновлении ругается на все запросы
подскажите , как с этим быть
Подскажите, как решить проблему
(17) Проверьте номер релиза. Должен быть 2.5.130.2.
2.5.130.2
(19) Эту процедуру нужно было выполнить перед обновлением базы.
какую процедуру
(21)Порядок установки обновления.
В связи со сменой типа реквизита «ПоставленаНаУчетВРанниеСрокиБеременности» в документах перед установкой обновления открыть обработку ОбновленияДляЗУП2_5_130_2.epf и на закладке «Перед обновлением» нажать на кнопку «Обработать документы».
После обновления конфигурации открыть обработку ОбновленияДляЗУП2_5_130_2.epf и закладке «Обновления» выбрать выполняемые обновления и нажать кнопку «Выполнить обновления».
Добрый день. Где можно найти вот эту часть «Добавлен формат 1.7.6 реестров пилотного проекта ФСС по прямым выплатам пособий»?
Общий модуль — > Обмен сведениями о пособиях с ФСС — > функция СформироватьФайлРеестра