<?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='\
!
А у автора в заначке, похоже, еще много всякого :))
(2) с 2000 года я, в основном, занимаюсь, частными конфигурациями, не типовыми. Так что, «в заначке» 🙂 много но не для типовых
неплох бы на 8-ку портировать.
неплохо
Ставлю + хотя и выдала:
НачОСС = (НачСИ-НачВА)/НачОА;
{Эккоэффинансовойустойчивости.ert(103)}: Деление на 0
Наверное, делали по книге В.В.Бочарова «Финансовый анализ» 😉
Следует только добавить, что этот отчет имеет смысл использовать лишь после того как полностью сошелся бухгалтерский баланс в 1С. Ведь эта методика основана на его данных.
В моей личной практике было только одно предприятие, в котором сошелся баланс в 1С — это фирма-франчайзи где я работал. Ни у кого из клиентов этого добиться не удалось, несмотря на все мои старания и усилия бухгалтерии. Баланс не идет уже по начальным остаткам… Воруют-с…
Наверное, делали по книге В.В.Бочарова «Финансовый анализ» 😉
Следует только добавить, что этот отчет имеет смысл использовать лишь после того как полностью сошелся бухгалтерский баланс в 1С. Ведь эта методика основана на его данных.
В моей личной практике было только одно предприятие, в котором сошелся баланс в 1С — это фирма-франчайзи где я работал. Ни у кого из клиентов этого добиться не удалось, несмотря на все мои старания и усилия бухгалтерии. Баланс не идет уже по начальным остаткам… Воруют-с…
Ставлю + хотя и выдала:
НачОСС = (НачСИ-НачВА)/НачОА;
{Эккоэффинансовойустойчивости.ert(103)}: Деление на 0
(8) «Несходимость» баланса по начальным остаткам у клиента — это что-то из сферы общей патологии. Ладно еще по конечным — «кривые руки» никто не отменял. У нормального бухгалтера с одноэсиной на нормальном сопровождении баланс сходится всегда.
(7-8) Да, банальный недосмотр. Но я как-то не думал, что у предприятия могут отсутствовать оборотные активы. 🙂
На счет В.В.Бочарова не знаю. Делал по какой-то методичке, лет 8 назад.
Извиняюсь, пропустил важную деталь — отчёт актуален при закрытом периоде и «подбитом» балансе.
(9) Согласен, что баланс сходится всегда (кроме тех случаев, года он не сходится. Но это зависит от программеров)
Баян
http://infostart.ru/projects/3478/
2(Поручик): нефиг делать в 8-ку портировать
http://infostart.ru/projects/4094/
2(7): моя любимая тема. сча порвем боян.
Во первых, делать финансовый анализ хозяйственной деятельности на базе данных бухгалтерского учета в условиях Украины и России не благодарное дело. Результаты такого анализа могут быть интересны разве что аудиторам, и то не понятк с какой целью. Для потенциальных инвесторов такой анализ не показывает реальной картины предприятия. Для руководителя и собственников зачастую это вообще филькина грамота.
Баланс не так то и сложно свести, другой вопрос квалификация бухгалтера. Да, мало квалифицированных бухгалтеров нынче, да и раньше их было не очень много, однако, есть стандартны регламентирующие бухгалтерский учет, и если бухгалтер не может получить баланс, в шею такого бухгалтера нужно гнать.
У предприятия не могут отсутствовать оборотные активы, это тоже самое, что у человека отсутствует кровь. Вспоминаем, что входит в оборотные активы: денежные средства и их эквиваленты, товары и запасы на складах, дебиторская задолженность. Если у предприятия всего этого нет, а есть только необоротные активы, то фактически такое предприятие банкрот, да и не понятно, чем это предприятие занимается. А если такие и есть компании, тогда нет смысла под них делать финансовый анализ.
Теперь по существу:
Наличие собственных оборотных средств, что под этим понимается? Ведь оборотные активы формируются как за счет собственного капитала так и заемного. Как автор посчитал источник формирования собственных оборотных средств. От суммы собственного капитала отнял долгосрочные обязательства + текущие обязательства и необоротные активы? Величина оборотного капитала может превышать величину сосбственного капитала. Или под этим понимается основной капитал, формируемый за счет собственного и заемного (долгосрочного)? Не понятно. Т.к. если автор подразумевает таки собственный капитал, тогда формула у него не правильная.Т.к. отнимать от собственного капитала величину необоротных активов нельзя, т.к. обычно, необоротные активый пополняются за счет долгосрочного заемного капитала.
Общая величина основных источников, если внимательно посмотреть на формулы, дык это общая величина по пассивам предприятия.
Теперь перейдем к коэффицинтам финансовой устойчивости. Коэфициент обеспечения собственными средствами, это что? Коэффициент текущей ликвидности или абсолютной? Выделяются ли в этом коэффициенте абслолютно ликвидные средства? Это что, сравнение сумарных оборотных средств и текущих обязательств? Коэффициент обеспечения материальных запасов собственными средствами, это что, рабочий капитал?
автору незачот и минус. по такому финансовому анализу ничего нельзя сказать, директору показывать не советую, засмеет.
не понимаю, за что народ ставить плюсы, что бы было, такое каждый из вас может сморганить, берете типовую конфигурацию, берете баланс, его показатели, берете книжку по финансовому анализу и вперед.
для того и есть разработки типа моего финансы и анализ, что бы не придумывать велосипед. А для нормального финансового анализа нужно делать поправки в учете, организовывать то, что называется управленческим учетом. А это решают другие системы, например, эта:
http://www.kubik-lite.com
(11-16) !!!! +++ — ??!? !!!!!!!!!? — !!!!?!!!?!!!!! + ??!?????!??? !? —
?
🙂
(14) ставит плюсы тот народ, который сам не»может сморганить». А появившиеся программы ускоряют работу данного народа, ведь даже при наличаи «книжек» вручную это дело трудоемкое, а времени всегда не хватает.
ничего против вашего мнения не имею, но данная разработка не представляет никакой ценности.
(19) По этому она и бесплатна.
Arwis я написал это все не для того что бы показаться умнее вас, просто действительно, такой финансовый анализ не дает никаких полезных результатов.
(10) на «(9) Согласен, что баланс сходится всегда (кроме тех случаев, года он не сходится. Но это зависит от программеров)»
От программеров это не зависит. Знаю два способа доказательства (притом опробованных на практике). Но здесь их публиковать не буду по коммерческим соображениям 😀
(22) Если _автоматический_ баланс не сходится, то из-за того , что в формировании результатов _не_были_учтены_все_счета/субсчета_.
(Те кто составлял свой план счетов и писал свои формы баланса, знают это. В типовых формах есть ошибки 🙁 )
Вторая причина — несходимость дебета с кредитом — устранена путём автоматизации двойной записи в 1С и, поэтому не может быть причиной несходимости баланса.
здорово
Очень интересно )
За 2009 — стабильно, если добавить 2 месяца 2010- кризис.
Может пригодится )