<?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='\
Спасибо. Надеюсь, Нашим Бухгалтерам тоже понравится.
Спасибо за заботу о бедных и не очень бедных бухгалтерах 🙂
И Вам спасибо на добром слове 🙂
Мда-а…
Остальные скачавшие не заценили никак что ли?
Тогда какой смысл выкладывать, если нет обратной связи?
(4) 3/31=10% — прекрасный показатель. Бывает и меньше 1%.
Спасибо!! Очень удобен в работе.
Спасибо, очень наглядный отчет. А мои бухгалтера используют мой свод за любой период, повторяющий типовой. Думаю, Ваш им понравится.
Спасибо. а то у нас типовой переделанный на любой выбор периода.
Если не сложно — добавь 3-й вариант, в котором для каждого Начисления/Удержания будут выводиться две строки: первая — за месяц, вторая — нарастающим итогом. Желательно, чтобы этот вариант устанавливался по-умолчанию, т.к. остальные будут не нужны 🙂
(6), (7), (8) Спасибо за комментарии и отзывы!Рада, что отчёт понравился.
(9) Ваши пожелания обязательно учту, что можно переделать — посмотрю после отпуска, сейчас других дел полно. Пока пользуйтесь такой формой.
Успехов всем!
Спасибо. Очень нужный отчет.
Удобно и наглядно, а самое главное — действительно «гибкие настройки», спасибо! 🙂
мне отчет понравился, думаю бухгалтерам тоже понравится
(11) (12) (13) Очень приятно получать такие отзывы, спасибо, что даёте обратную связь, значит, работаем не зря :))) Успехов!
Очень кстати. Как раз вчера главбуху такой отчет понадобился, а тут уже велосипед изобретен. 🙂
Спасибо !!!!!!!!
спасибо большое!!! будем с удовольствием пользоваться!!
Спасибо огромнейшее!!!!!!
спс
(15), (16), (17), (18), (19) — очень рада, что отчет понравился,
большое спасибо за Ваши отзывы, желаю всем успешной и плодотворной работы, а также хорошего отдыха на выходные!
А у меня ни фига не работает ВОООТ
(21) Странно, вроде никто не жаловался из скачавших. Какой релиз 1С ЗиК?
Описание внимательно прочитали? На кнопку «Сформировать» надо кликнуть после того, как всё выбрали, на третьей вкладке, не на первой, попробуйте ещё.
И сообщите, пожалуйста, результат. Успехов!
Все поняла на третьей закладке надо поставить точку на «помесячно» а не нарастающим итогом. Все поняла, оценила на 5+
Спасибо за оценку! Удачи и хороших выходных!
а можно выслать на мыло? пожалуйста вышлите….
komsu9@mail.ru
хотелось бы посмотреть
заранее благодарю
(25) Отправила на ваш эл.адрес, ловите.
as108, спасибо вам
Спасибо
Отчет заработал как то «с пинка». Выбрала С нарастающим итогом, стоят галочки с января по октябрь, но выдал только октябрь, делаю по сентябрь — та же история, только сентябрь. Ткнула на «помесячно», пошел протокол, видно что формируется, выдал. После этого заработал и С нарастающим итогом.
Не пойму как настроить чтоб получить свод с января по сентябрь по бюджету :cry:. Общий свод выводит и все тут.
(30) На кнопку сформировать жмите, когда перейдете на третью вкладку, где надо выбрать нарастающим или помесячно. Если на кнопку «сформировать» вы нажимаете, когда возвращаетесь на первую вкладку, то Свод по умолчанию выводится Общий. Попробуйте еще раз. Успехов!
(29) Конфигурация измененная или Типовая? Не могу воспроизвести Вашу ситуацию, у меня все работает нормально. Если в конце концов все заработало, то и слава Богу. Спасибо за оценку. Успехов Вам!
Второй день пытаюсь скачать — никак! 😥
Не могли бы вы сбросить на e-mail? sinilga@sibmail.ru
(33)Не поняла, какие у Вас проблемы при скачивании?
Я скачала без проблем, отправляю Вам на почту. Успехов!
Получила. Большое спасибо. Отличная идея! Но 🙁 . Отбор по ИФ не работает…. Все время формирует общие суммы — и бюджет, и внебюджет вместе.
(35)У нас такой задачи не стояло, поэтому про вторую вкладку я и не упоминала в Описании, нам нужно было сделать сверку по месяцам в общем.
Пока «не приспичит» — ничего не делаю, времени мало. Успехов Вам!
Просто слова «Понадобился такой отчёт для сверки с данными бух.учёта при внедрении ЗиК в бюджетном предприятии, где количество видов расчетов свыше 40, причём по разным Источникам Финансирования» вселили надежду, что реализовано именно «по разным ИФ» 🙁
Спасибо, полезный отчет!
Отличный отчет! Плюс автору. Сравнивая свод ЗП за разные периоды всегда формируешь несколько сводов за соответствующие периода и потом мучаясь переключаешься между окнами, а тут всё как на ладони — смотри, анализируй, как говориться «всё в одном флаконе», Спасибо.
(39) Спасибо за Ваш отзыв! А я не далее как на прошлой неделе скачала Ваш отчет по страховым взносам, моим бухгалтерам понравился, за что Вам от них и от меня — большое спасибо! С праздником и успехов Вам!
(37) Теперь отбирает и по Источникам финансирования, выложила отдельным файлом здесь:http://infostart.ru/public/66188/
Нужный отчет. Только почему доступ только для пользователей?
(42) Исправила — теперь в свободном доступе для всех.
Доступ: Пользователи
Скачиваний: 508
Все файлы (1)
Собственно а что исправлено?
(44) Похоже, что ничего 🙂 Сейчас проверю еще раз.
(44) Проверила, поправила — доступ для всех. Хотя не понимаю, какое это имеет значение для вас? Вы сами-то скачали?
(46) Теперь скачал 🙂
А я нет. Опять доступ — Пользователи, не для всех.
(48)Забыла написать, что это была праздничная акция к 23 февраля 😀
Спасибо!!! Нужный отчет!!!
Спасибо за отчет!
…есть пожелание к отчету — просьба добавить вывод по-месячно начисленние страховых взносов с ФОТ
Спасибо! Отличный отчет! 😀
На мой взгляд отчет не плохой, но я пока пользуюсь стандартным отчетном на платформе 1с. А так впринципе можно было вывести по месяцам начисление. Согласна с gutentag
Спасибо за отчёт очень помогает
Спасибо. Отчет пригодился при переходе с версии 7.7.,для поиска ошибок при переходе.
Спасибо, для моих бюджетников просто «то, что доктор прописал!»
Спасибо большое. Очень наглядно, а самое главное порадовали удобные настройки, спасибо!
А для 8 версии нет подобного отчета?
В базе 1с: БП 2.0 есть на подобие сводного — Расчетная ведомость по организации. Так же хорошо выдает нужные данные.