<?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='\
подскажите, как настроить отчет что бы суммы выводились по месяцам. А то месяца идут не в колонках а вниз друг за другом
Странно, там в Структуре отчета прописано, что Месяца начисления разносится по колонкам. Вы не меняли настройки отчета? Напишите свай e-mail, я скину вам скрин настройки Структуры отчета
В отчете учитываются кадровые перемещения сотрудника с одной должности на другую в течении одного месяца? Т.е. если сотрудник 15-го числа перешел из Специалистов в Руководители, в своде разобьется сумма начислений или вся сумма попадет на Руководителя?
(3) nord, проверила, вся сумма попадает на руководителя, попробую поправить по возможности, сейчас загружена очень. По результатам отпишу.
(4) Спасибо. Будем ждать.
Нет разбивки по месяцам, нужна структура отчета. Сейчас это практически копия стандартного. Перезалейте файл.
При открытии отчета загружается стандартный отчет «Свод», верните деньги!!!!
(6) tonimontana05, извиняюсь, «отстала от жизни» еще актуально? Прислать настройку структуры?
(7) bossansan, отчет не бьет данные по категориям сотрудников? Может быть Вы не включили настройку? Вам выслать скрин настройки структуры отчета?
(7) bossansan, Откройте внешнюю обработку, нажмите «Список вариантов отчета», там должна быть Настройка «Свод начислений по категориям», если ее вдруг не окажется, давайте вышлю Вам на почту скриншот настройки структуры, расскажу как ее применить.
tonimontana05 (файл скачал) 09.12.2015 10:59
Нет разбивки по месяцам, нужна структура отчета. Сейчас это практически копия стандартного. Перезалейте файл.
1. Дайра (файл скачал) 12.07.2015 20:00
подскажите, как настроить отчет что бы суммы выводились по месяцам. А то месяца идут не в колонках а вниз друг за другом — как в стандартном
Я думаю в этом проблема. Т.к. при открытии внешней обработки сама форма отличается от вашего скриншота.
скрин после открытия внешней обработки
(12) bossansan, нужно разобраться почему он тянет данные только из типового отчета, пока убрала из публикации внешний отчет, раз с ним иногда возникаю проблемы (проверила на 3х разных базах ЗУПа, действительно, в одной — отчет открывается только типовой, необходимо настраивать структуру руками, либо загружать ее из файла).
Жду от Вас эл адрес, скину файл настройки структуры, загрузите через Справочник «Сохраненные настройки» — после чего в типовой отчет добавится данная настройка.
Добрый день, Татьяна! Пожалуйста сбросьте мне на olga_peymer@mail.ru файл настройки структуры, потому, что у меня открывается только типовой отчет
вопрос — а в разрезе статей затрат свод может быть делали?
(16) я давно не работала в этой конфигурации, настройка старая, новых не делала, не было необходимости.
жаль — в раздумьях что делать …
Спасибо за настройку — двинула она меня чуть дальше по пути ваяния ….
(19) Пожалуйста, только мне кажется из типового Свода не получится у вас вытащить статьи затрат .. придется «склеить» в СКД … насколько я помню в ЗУПе статьи затрат только в документе Отражения есть, ну и в справочнике Способов отражения …
дорабоТАЛ расчетные ведомости организаций добавив БУОсновныеНачисления и БУДополнительныеначисления
отработаннное время, статьи затрат, количество работников
НО ЕСТЬ СВОИ ЗАМОРОЧКИ