Онтология Бухгалтерского Учёта ….




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?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='\

39 Comments

  1. artbear

    (0) Ставлю минус за стиль других статей и сообщений, как бы странно это не выглядело.

    Ведь можешь же писать нормально, когда нужно 🙂

    Reply
  2. Арчибальд

    Чиается как вестерн :)))

    Reply
  3. Шёпот теней

    (1) … спасибо О-Арчибальд … !!!

    Reply
  4. Ish_2

    Шепот, послушай молодого «тяжеловеса твоего мнения».

    Вот так ! Я приветствую переход от перебранок к полезным статьям.

    Reply
  5. Ish_2

    Но для Ис , на мой взгляд , более подходит не пересказ и компиляция известных фактов , а выделение в статье какого-то одного вопроса (например, МФСО) и более подробное его раскрытие.

    Личный взгляд и личный анализ более привлекают, чем долгий пересказ.

    Шепот, «тяжеловес» плохого не посоветует.

    Reply
  6. Арчибальд

    (7) И такое было, например, ABC-XYZ анализ … и как «ЕГО» понимают …

    А здесь — не только интересно, но и увлекательно.

    Reply
  7. Шёпот теней

    (6), (7) — на вАс не угодишь молодой человек …

    … видимо это общее свойство российской молодёжи и не только — быть не довольными и искать истину за красивыми словами об «центрах ответственности» …

    … ах, где мои 16 лет … гЫыыы …

    … там и про МФСО есть … хи… хи … а раскрывать эту «дурь» замучаешься … впрочем вы её нам можете и раскрыть, и с компиллировать, и …

    … вообщем, спАсибо хотел скАзать …

    (8) … спАсибо …

    … удачи всЕм …

    … хм… нет не всем … кроме artbear-а … у него «своя» рАдость …

    … вОООт …

    Reply
  8. artbear

    (9) ОФФ. Ты себя в самого главного дедушку не записывай, ты старше меня максимум лет на десять, и это только возраст, а не опыт работы и знания 🙁

    Смотрю, твой возраст тебе ума не добавил 🙁 — не можешь критику правильно воспринимать, сразу на оскорбления переходишь.

    ЗЫ народ, извините за ОФФ — не люблю подобного поведения.

    Reply
  9. artbear

    Если берешь данные из каких-то источников (тупой копи-паст), нужно указывать эти первоисточники в своей же статье, а не где-то там в архиве глубоко.

    Reply
  10. Арчибальд

    (11) «Слушай, я такой лычный нэприязнь испытываю к этот патэрпевший — кушать не могу!»

    Reply
  11. artbear

    (12) У меня нет неприязни к автору, у меня есть непринятие его позиции на данном сайте, выражаемое в неуважении к участникам сайта 🙁

    Я отношусь с уважением к его знаниям, но не к стилю общения!

    Reply
  12. Шёпот теней

    (13) …

    » … я тебе одну вещь сейчас скажу … только ты пожалуйста не обижайся …»

    … ну, «ты», это …

    … можешь тупо «сюда» не ходить если гордость мучает …

    … а если пришёл то потерпеть …

    … Вы бы что-нибудь по делу … а не по-безделию …

    » … вот так я думаю …»

    … вАх …

    Reply
  13. artbear

    (14) Так нету на сайте правил, чтобы твои сообщения не показывались.

    Reply
  14. artbear

    (15) Все, в данной ветке умолкаю.

    ЗЫ еще раз извините за предыдущий ОФФ.

    Reply
  15. vip

    (14) Я тебе тоже одну вещь скажу.

    Тебе до Артура, как до Луны — и по знаниям, и по профессионализму, и по воспитанности.

    И пользы он принес людям на порядки больше, чем ты.

    Reply
  16. Ish_2

    Шепот , позиция в (1) может быть и необоснованной и неприятной , но она корректна по отношению к автору .

    Ты же сразу переходишь к личным выпадам : «когда надоест свистнешь».

    Ну , правда , нехорошо.

    Неужели не понимаешь , что этим ты понижаешь в глазах читателей не artbear , а себя.

    Reply
  17. Шёпот теней

    (19) … нуУу… каждый получает по своим ЗАслугам … принято … беССпорно …

    … только, что ты называешь корректностью … я же не учу некоторых товарищЬчей — своим прАвилам … писать… читать… мыслить…

    … считаю, что и меня не надо «воспитывать» …

    … и к тому же … прежде чем делать выборы надо знать историю вопроса … а если не знаешь — изучи … потом делай выводы … а то получается как с УУ … ей.. ей …

    … вОт …

    Reply
  18. vip

    (18) Я сказал именно по существу.

    Ты пытаешься оскорблять очень уважаемого человека (artbear) и смотреть на это очень неприятно.

    Reply
  19. Ish_2

    Ага ! Встретил две знакомые буквы : УУ.

    Было бы интересно ,если бы ты бросил мостик к статье Арчибальда.

    Показал бы историю вопроса откуда взялся УУ.

    Проанализировал бы это «недоразумение о двух буквах».

    Арчибальду в комментариях к его статье был подброшен вывод :

    «УУ — результат людской глупости и незнания БУ».

    Ты бы с историчекими фактами развил бы и углУбил этот вывод.

    Статья бы получилась, конечно, с неверным посылом и неверными выводами .

    Но зато спорная и интересная.

    Reply
  20. Шёпот теней

    (21) … я согласен с версией, что МЫ оба друг к другу НЕравнодушны …

    … но вот со словом «оскорблять» — не согласен …

    … он высказался и я высказался …

    … не больше и не меньше …

    (22) … гЫыыыы … в «Главах» есть история развития … в т.ч. и УУ … это во-первых … во-вторых: не начиная сначала то, что было закончено … или опять надо начинать бегать по кругу … или читать посты Арчибальда: http://infostart.ru/blogs/1286/

    … по поводу исторического факта появления и существования УУ — «УУ — результат людской глупости и незнания БУ» … не правда ! … себестоимость и все выводы на её основе существуют лет 200 … они по-разному называются но их смысл везде один что в ихней что в нашей — рассчитать КПД производства, его эффективность …

    себестоимость и её необходимость расчета появилась с первыми мануфактурами, рынками больше чем одна географическая область а через неё разделение труда… и т.д. и т.п. …

    … я произнёс слово УУ первый… ))) .. виноват … забираю его …

    Reply
  21. Ish_2

    Оттолкнёмся от твоей фразы :

    «УУ — результат людской глупости и незнания БУ» … не правда ! себестоимость и все выводы на её основе существуют лет 200

    Я осторожно продолжу :

    Необходимость оценки эффективности производства потребовала фиксации и хранения фактов и событий , причём хранения в очень неудобном для БУ виде.

    К тому же хранения формул различных преобразований , которым в БУ делать нечего.

    Может быть, поэтому появилось некое понятие , назовём его «ДУ» ( другой учет). А потом нехорошие люди его переименовали в ужасное «УУ» ?

    Шепот , я отрекаюсь от «УУ» и настаиваю на мире и дружбе .

    Т.е. на «ДУ»

    Reply
  22. Шёпот теней

    (24) … что я не помню, чтобы МЫ воевали … ))) …

    … я высказался только в части что разговаривать не имеет смыслы — нового ничего не узнаю …

    … это у вас вся жизнь впереди — а я уже не успеваю … ((( …

    … ))) …. ну нету никакого УУ и ДУ … есть СЕБЕСТОИМОСТЬ … у нас она зашита в БУ … у них в УУ … ничего другого не существует от неё — затраты, себестоимость, доход, прибыль, убытки …

    … почитай Онталогию … вроде нууу всЁ тАмА написано … америка в УУ и расчёте себестоимости америку не открыла и не открывала … она сделала БУ социальной наукой — это ДА … дык и то : какой запрос от общества такая и наука …

    … я от дружбы и мира не отходил …

    … ВОТ …

    Reply
  23. Re:аниматор

    + за комменты =)

    Reply
  24. Re:аниматор

    (21) какие оскорбления?! если это так считаете, то это беда в вашей стороне.

    человеку хорошо когда не ему хорошо, а когда другим плохо. вывод очевиден.

    собственная надуманность, не к чему к хорошему не приведет.

    главное спокойствие =)

    Reply
  25. Altair777

    (26) Ага 🙂

    Статью прочитал по диагонали, нет времени.

    Но комменты с интересом. Хотя, не скажу что с удововольствием.

    Reply
  26. Re:аниматор

    (28) собственно также, даже до статьи не дошел)

    Reply
  27. Арчибальд

    (22) Да моя статья была не о том вовсе. Там речь шла о том, что до внедрения всяких «ново»модных бантиков большим боссам следует разобраться с бухучетом. А пока он не разобрался — УУ (то, что под ним подразумевают) ему объективно во вред.

    Reply
  28. Шёпот теней

    Saw и Altair777 — спАсибо …

    … согласен читать комменты интерсно …

    … но не познавательно в массе своей …

    … вОООбще встретить или получит комментарий и даже отрицательный — уже радость …

    … у ЧЕ это хорошо получается …

    (30) … странно … я всегда с тобой СОгласен … ))) …

    … то ли рыбак — рыбака … то ли … ???

    ….

    … в своей «Онтологии» — хотелось рассказать что БУ это некая целостная система …

    … в разных странах, в зависимости от условий, географических, административных, способах производства и т.д. и многое что ещё т.п. — они, эти системы, созданы и существут самодостаточно …

    … они все похожи иногда называются разными словами — но все основные вещи, типа, себестоимости — совершенно одинаковы, а существующие различия лишь дополняют их похожесть … у нас это считает бухгалтер у них другой «центр ответственности» …

    … хотелось сказать, что наш БУ начиная с конца 19 века был самым передовым …

    … вот …

    Reply
  29. WKBAPKA

    Шепот, а кто на фото, ты?

    Reply
  30. WKBAPKA

    ох уж это волшебное слово — бухгалтерия.

    Само слово бухгалтер происходит от двух немецких слов Buch — книга и Halten — держать. Основоположником современной бухгалтерии можно считать итальянца Фра Лука Бартоломео де Пачоли — монаха и математика жившего в 16-ом веке.

    как же тогда в древнем Риме был «бухгалтерский» учет 😉

    Reply
  31. WKBAPKA

    тебе что, себестоимость покоя не дает? как будто мир клином сошелся на себестоимости! с чего это ты взял, что себестоимость это УУ, а не УС (учет себестоимости) ?

    Reply
  32. Шёпот теней

    (32), (33) … ага … читай внимательнее …

    … В 1929 г. понятие счетоводство было вытеснено понятием бухгалтерия …

    … и история даже сохранилА его имя …

    … всё под главой с именем «Счетоводство» — хотя и тогда этого слова не знали …

    … предложи версии — как назывался учёт в Древнем риме … ага а потом обЪясни нам чем отличается от Счетоводства и БухгалтерскогоУчёта … нУууу и конечно же как тама распредлялись и находились центры ответственности … ))) …

    … прОтивный …

    Reply
  33. WKBAPKA

    Шепот, давай про центры ответственности не будем. Не в одном бухгалтерском учете ты не найдешь какого либо определения ЦФО.

    А как тогда назывался БУ- какая разница. Прочто Паччоли изобрел метод двойной записи и честно, как он назвал его не знаю. Он ведь был итальянцем, а перевод я привел на немецком

    Reply
  34. Шёпот теней

    (37) … ага .. из вашей логики — видимо ВЫ немец …

    Reply
  35. WKBAPKA

    блин, ну ты явно не адекват. я лишь указал происхождение слова… с тобой разговарить бесполезно

    Reply
  36. Шёпот теней

    (40) … ага … закон дЕмагогии под номер 6 … сказал, обижайся, уходи …

    … сейчас убежишь …

    … потом прибежишь …

    … и всё по новой … как в теме Арчибальда …

    … вот и artbear к нам заглядывает … ))) …

    … я даже тебе плюсик поставлю, чтобы с ним рядышком побыть …

    … глядишь и помиримься …

    … уффф …

    Reply
  37. Арчибальд

    (37) ЦФО были до того, как изобрели бухгалтерию. Термин «ЦФО» — дело другое.

    А вот

    Программа подготовки и аттестации профессиональных бухгалтеров (главный

    бухгалтер, бухгалтер-эксперт (консультант); финансовый менеджер,

    финансовый эксперт (консультант); аудитор) (Утв. Методологическим советом

    по бухгалтерскому учету при Минфине РФ и Ассоциацией бухгалтеров и

    аудиторов Содружества 28 июня 1996 г.)

    2.3. Управленческий анализ (продвинутый курс для сдачи квалификационного

    экзамена на получение аттестата «Профессиональный бухгалтер — главный

    бухгалтер»)

    Тема 1. Роль и содержание управленческого анализа

    Цели и содержание управленческого анализа.

    Структура бизнес-плана и роль анализа в разработке основных плановых

    показателей.

    Сметное планирование (бюджетирование) и анализ исполнения смет.

    Тема 2. Анализ в системе маркетинга

    Цели и содержание маркетинговых исследований.

    Объекты маркетингового анализа.

    Методы маркетингового анализа.

    План маркетинга.

    Сметный расчет объема продаж и обоснование цен товаров.

    Тема 3. Анализ и управление объемом производства и продаж

    План производства и методы производственного анализа.

    Формирование и оптимизация оборота (объема продаж) производственных,

    торговых и других коммерческих организаций.



    Тема 4. Анализ технико-организационного уровня и других условий

    производства



    Тема 5. Анализ и управление затратами и себестоимостью продукции

    Управление себестоимостью: цели и содержание.

    Анализ поведения затрат и взаимосвязи затрат, оборота и прибыли.

    Обоснование безубыточности продаж товаров. Методы расчета порога

    рентабельности (критической точки) продаж товаров.

    Расчет и оценка показателей себестоимости продукции.

    Сметный расчет себестоимости реализованной продукции.

    Факторный анализ себестоимости продукции.



    Тема 6. Финансовые результаты коммерческой организации и методы их

    анализа



    Тема 7. Анализ эффективности капитальных и финансовых вложений



    Тема 8. Финансовое состояние коммерческой организации и методы его

    анализа

    Ну, и чего здесь нет?

    Опять: либо бухгалтерия ведет учет профессионально, либо спихивает (хотя бы частично) свои обязанности на других.

    Reply
  38. Шёпот теней

    … ммм .. ух… ты…. и тут то же:

    http://www.forum.mista.ru/topic.php?id=429365&page=1

    … на ту же тему … удивлЁн некоторыми товарищЧами …

    … впрочем это веяние времени… типа:

    Совковый подход. С внедрением информационной системы (не «автоматизированной») информации и её операторов/обработчиков становится больше и количество требуемых рабочих место УВЕЛИЧИВАЕТСЯ. Инф. система для предприятия всегда ЗАТРАТНА. Экономический эффект всегда косвенный.

    или :

    Почти никогда ты не найдешь экономической эффективности. Волшебник правильно говорит, исключения (Maniac) только подтверждают правило. Основная экономическая эффективность от автоматизации — это повышение достоверности и оперативности учета, в целях управления и ускорения бизнеспроцессов. А степень эффективности — зависит от того, насколько бизнес на эти достоверность и оперативность завязан.

    … вотТеТак …

    … к слову: всё это я слышал и читал и проходил когда на САП-е Р3 работал …

    … оказывается это всё распространяется и дальше…

    … хотя что тут удивительно если народ переходит с 7 на 8 — тратит кучу бабла — а толку никакого …

    … вОт ему поПуялно и обЪясняют … про крутой УУ типа как тут:

    …Смысл внедрения системы — предоставить высшему руководству и топ-менеджменту компании отчётность на основании учётных и плановых данных для принятия управленческих решений. То есть не система автоматизации, а система поддержки принятия решений. Одно верное управленческое решение может принести «прибыль» компании в миллионы и даже миллиарды рублей/долларов. И наоборот, отсутствие своевременных и верных решений может привести к банкротству.

    Так что если после внедрения АСУ (совковый термин) компания не обанкротилась в более сложных экономических условиях, это УЖЕ экономический эффект. Ведь без автоматизации могло быть хуже.

    … вот …

    Reply
  39. WKBAPKA

    я ушел…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *