<?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='\
«Ондатр по-прежнему лежал в гамаке.
— Привет, дядя Ондатр, — сказал Муми-тролль.
— Не мешай мне, я работаю! — ответил Ондатр.
— Работаете?.. Над чем? — удивился Муми-тролль.
— Я думаю, — сердито проворчал Ондатр — Думаю о тщете и напрасности всего сущего.
— А мне кажется, напрасного на свете так мало, — робко возразил Муми-тролль. — Вот разве что умываться, да кашу есть, да…
Ондатр вздохнул и сбросил с себя одеяло. Он поглядел на небо, поглядел на пальцы ног и пожал плечами – все это должно было означать, что целый день работы пошел насмарку.»
А че делать то надо?)
(4)
Мир спасать!
(5)Тех задание где?
(6)
В интернетах часто пишут что «программист» творческая профессия, значит в ней должно быть место для творческой импровизации, экспромта 🙂
Да действительно платформа 1с сильно ограничена в возможности создания интернет ориентированных интерфейсов. Но не все так плохо, есть http-сервисы, пожалуйста бери какой-нибудь js-Фреймворк(например dhtmlx) и рисуй какой-угодно интерфейс который будет работать с данными из базы напрямую без интеграционных прослоек. Понятно, что разработка такого решения будет стоить дороже чем нарисовать интерфейс на web-клиенте, но это это закономерно так как мы отказываемся от стандартных возможностей платформы по созданию интерфейса.
ИМХО
(8)
Что конкретно для вас является ограничением? 1С все верно сделала, дала Веб клиент, если устраивает его функционал, милости просим, нужна большая кастомизация, ваша цитата:
Вот без HTTP сервисов было туго.
Просто, те кто работает с 1С привыкли, что стоимость разработки сопоставима со стомостью разработчика «плагина» для WordPress.
Я думаю всем понятно, что 1С создана как платформа для создания систем учета, почему многие сравнивают ее с более универсальными языками платформами?) Это как сравнивать автомобиль и самолет, ругая автомобиль за то, что он летать не умеет, а доработки для его полета стоит намного дороже, чем поменять резину.
.
Нужно полноценное веб мобильное приложение, берите для этого подходящие инструменты и пользуйтесь, зачем ругать 1С за то, что она делать и не должна?)
(8) Статья, imho не про интерфейс, а про распределенные данные, коих в 1с никогда не было и не предвидится. dhtmlx и http сервисы протухли еще до рождения. В их основе — модель с центральным сервером, как единственным источником истины, а мир живёт по другим законам.
(10)
Разве статья не про ограничения платформы наличие которых заставляет обращаться к другим системам и как следствие делать неисчислимое множество интеграций?
Есть что возразить и по сути статьи, но писать много, а результата не просматривается. Спрошу так — почему Метадата а не Куба, например?
По моему мнению, в настоящее время для рациональной автоматизации бизнеса нужны больше организационные решения, а не технические. Сегодня существует масса технологий для решения любых проблем. Типовые механизмы в бизнесе все равно будут дорабатываться под себя — это же конкурентное преимущество, так же как и квалификация своих сотрудников, например. Так что 1С идёт правильным путем — предоставляют выбор средств для достижения своих поставленных целей.
Поработав в кровавейшем энтерпрайзе могу сказать одно:
Единая платформа — серебряная пуля, которая мало кому нужна, ну не сможет Ваш продукт конкурировать к примеру со связкой САП + 1С + сайт.
Для примера — федеральный ритейл с несколькими тысячами точек в котором я имел честь работать: 5 разработчиков 1С(и это штат увеличили под один проект, было 3) + около 10 специалистов САП(внедрено несколько решений), + около 5-10 ВЕБ на корп портал и сайт, реально high load (техподдержку не учитываю, но ее штат тоже не сильно большой) и вся эта связка прекрасно и без сбоев работает годами, а если что то ломается, то на моей памяти не более 6ти часов исправляется и новый функционал весьма резво добавляется. Онлайн кассы — пожалуйста, любые изменения в законодательстве — к моменту обязательного исполнения есть везде. Через шину данных пошло очень много данных и начались проблемы — от вендора пол отдела приехало 2 недели разбирались и поправили. Возможно ли такое на пропиетарной системе, от без обид, неизвестного вендора, как быстро этот вендор будет поспевать за всем что происходит в мире и будет ли это дешевле существующего стека? Очень сильно сомневаюсь.
Могу привести и обратный пример:
Когда на 200 человек штата — 20 — 1С и веб разработка и никто нигде не успевает, потому что никто не знает что надо в итоге.
Может быть дело не в стеке технологий/решений, а в том как этим стеком управляют?
Конечно же я понимаю о чем статья.
Но категорически не согласен с посылом — разные системы это дорого. Интеграции — не выгодно.
1С к примеру это шикарная система для ведения учета и главное конкурентное преимущество у нее: это скорость внесения изменений и реально низкая цена владения. Но да, сайтик на ней не сделаешь, что то отходящее хоть на пол шага в сторону от основной методологии — через костыли. Возможности и невозможности платформы они известны и не являются тайной. Недорого, быстро и условно надежно.
САП — В нем реально настроил учет и забыл. Очень дорого, долго, надежно. Но да любое изменение через боль, или невозможно, но это и не нужно, это нищевой продукт с именем.
Веб технологии гибкость, Дорого, долго условно надежно (то то у меня гугл и еще много чего в свете последних событий 2 недели то работают то нет).
Но бизнес редко когда начинается будучи готовым к полному стеку сразу, на старте как правило это какая то желтая коробка + интеграции с существующими сервисами, что благодаря распространенности платформы, как правило не составляет труда. Ибо мало у кого на старте есть минимум 4 миллиона.
Потом, если дела начинают идти в гору, да потихоньку начинается зоопарк. Но это не хорошо и не плохо. Это современный тренд. Все развивается настолько быстро, что уже практически невозможно сделать решение, которое будет удовлетворять всех. Да что там говорить, даже современные языки программирования из коробки — одно, а хочешь что то еще — устанавливай фремворк, но фреймворк нельзя просто так взять и установить, для него надо еще то то и то то. Простой пример: не так давно для парса логов ТЖ написал скриптик на питоне, озадачился вопросом, нельзя ли проще, слишком много нативного кода. Оказалось можно. Всего то надо установить установщик пакетов питона, установить фреймворк pandas, и еще что то установить. В моем случае, так как интерес чисто академический и ресурсов на еще 1 вирт сервер для экспериментов уже нет — проще оказалось отказаться от этой идеи.
При грамотной IT политике, а я своими глазами 2жды видел такую, интеграции пишутся в крайне короткие сроки (единицы часов) и после запуска работают по методу пустил и забыл. + При сбоях в интеграции — оповещение. А сдуру все мы прекрасно знаем что сломать можно.
В тех бизнессах, которых я работал — скорость изменения — было конкурентное преимущество на рынке, не сделаешь сегодня эту фичу — завтра ее сделает конкурент и ты потеряешь долю рынка.
В нынешних реалиях, когда компаниям спокойно, а то и с ростом пережавших кризисы 08,12,14 годов сейчас приходится очень туго, проекты один за другим или урезаются или замораживаются, немного не до этого.
Категорически не согласен ни с логической цепочкой ни с посылом статьи.
Хотя возможно я только что добился цели этой статьи — дать хайпа)
Добавьте сайту ресурсов, а то в некоторые моменты время ожидания «загрузки модулей» заставляет задуматься о производительности системы. Также поправьте вёрстку с учётом просмотра на мобильных устройствах, чтобы заголовки статей не наезжали на текст.
А так — больше систем, хороших и разных. Сила в разнообразии.
(11)
А по-сути, ИМХО, все вопросы бизнеса с помощью 1С не решаются (тем более организационные). А взгляд на одну и ту же проблему у всех разный, о чём ТС и писал.
(10) так значит статья про использование шины? Поставил какой-нибудь реббит-эмкью и все системы автоматически данными стали обмениваться, никаких интеграции больше не нужно. Нет — центральному серверу, да — гетерогенной распределенной среде? Фантазёры…
Пока читал, в голове крутилась мысль — выгрузка цен и товаров, загрузка заказов, CRM, управление задачами — да тут описывают типовой функционал 1С:Битрикс24 (в облаке для малых компаний бесплатно). Кому мало — берут 1С:Битрикс корпоративный портал, кому много — 1С:UMI (тут же фишка в готовой интеграции с типовыми, а для самописок можно сказать готовый шаблон).
Поддержу коллег из более ранних комментариев. «Зоопарк» — это ни хорошо, ни плохо; важна только кривизна рук исполнителей!
P.S. И как ваша хваленная метадата.жисы без интеграции обменивается с налоговой, собирает данные со сканером отпечатков пальцев и показатели со станков?
На написание статьи потеряно 8-16 часов
(12) Потому, что философия совсем другая. Куба — традиционная клиент-серверная система, а у нас — распределенные типизированные данные.
(7) Значит опять сверхурочные за «спасибо». Директора, идите лесом!
(21)Философия понятно. Я про преимущества для бизнеса. В моем понимании, распределенные данные реально нужны достаточно специфичным комнаниям.
(15) «это нищевой продукт »
— это ты правильно выразился.
Из статьи понятно что все плохо. а что делать не понятно. Читал все статьи автора, если он пытается нас к чему-то подвести, то пора бы уже к сути переходить. Или суть как раз будет «в платной версии на конференции infostart event»?
У нас на предприятии вопрос многих голов решается внешними источниками данных. Односторонне, зато можно сказать «бесшовная интеграция»))
В одной из статей автора было написано, что нас не спрашивают, а мы все-равно пишем зачем то. Вот я напишу свою мысль: Зачем «сращивать» между собой по системе все со всеми? Прелесть разных систем в их изолированности, и их обмен тоже жестко регламентирован. Сколько уже таких «систем» написано даже на той же 1С. Например, старая, древняя УТ в хлам переписанная, соединяется с такой же старой вхлам переписанной бухней. Та в свою очередь, соединяется с обновляемой типовой бухней откуда сдаются отчеты согласно законодательству. ЗУП соединяется с той же старой бухней, где есть вся инфа для начисления зп (которая была получена из УТ), но сама не лезет в УТ! И все это решение на удивление стабильно работает. Если нужно прикрутить что-то еще, прикручиваем к одному, а не ко всем сразу.
(23)
У меня таких клиентов 100%. И за 10 лет ни один из этих клиентов не задал мне ни одного вопроса про бухгалтерию и налоги — с этой чепухой они как то справлялись самостоятельно. Так что, в моём мире, распределенные данные нужны всем, а регламентированный учет — никому.
(27) У вас 100%, а у других 1%, просто автор статьи претендует на некоторое универсальное решение, поэтому и вопросы…
Очень расстроила эта статья. Непонятно, о чем она, видимо о том, как программист себе видит проблемы бизнеса с ИТ. И написана разве для того, чтобы «эффективный менеджер» мог поплакаться, какие ИТ «редиски» и постоянно выжимают деньги.
На самом деле множество разнородных систем это безусловно плюс, который предоставляет возможность выбора. А выбор нужен для того, чтобы можно было найти систему (платформу) наиболее подходящую для конкретной компании с экономической точки зрения. Т.е., например (очень условно), компания растет и закрепление клиента за определенным менеджером становиться невозможно. А клиентов то нужно холить и лелеять. Соответственно встает вопрос об обеспечении информацией о клиенте для всех «продажников» иначе клиенты будут отваливаться. Мы можем оценить количество постоянных клиентов — 20% с оборота, допустим, оценили что в случае падения качества обслуживания, вероятно, отвалиться из них половина, т.е. 10% c оборота, допустим в 300 руб. Стоимость внедрения системы CRM 100 руб., стоимость лицензионных отчислений и обслуживания 30 руб. в год. Увеличивающаяся сложность поддержки зоопарка систем (интеграция) — 5 руб. в год. Нужно еще одно рабочее место для программиста — 5 руб. в год (офис, хоз., бух, кадры и т.п.). Но внедрение конкретной CRM упростит работу продажникам, оценочно на 5 руб. в год. Итого внедрение CRM окупиться через 4,5 года. Это и есть оценка экономической эффективности, конечно, очень упрощенно.
Подобная экономическая оценка делает для управляющего компанией деятельность ИТ более прозрачной.
Проблема в том, чтобы разобраться какие системы могут дать положительный результат и подготовиться к внедрению раньше чем появится проблема вида «если не внедрим CRM сейчас то предприятие начнет сдавать». А для этого нужен нормальный ИТ-директор (директор по автоматизации), который разбирается не только в своем зоопарке систем, но и в бизнесе для которого он и работает, и чем автоматизированные системы могут помочь оному бизнесу.
И, кстати, если на metadata.js посмотреть глазами ИТ-директора с точки зрения оценки экономической эффективности, то становиться достаточно грустно. Т.к. почти нет историй применения, а соответственно, возможные области применения и проблемы по каждой из них не очень понятны. Нет готовых решений, как, например, у bitrix. Есть одно — теоретически красивое техническое решение, для оценки применимости которого надо потратить немало ресурсов.
Понравилось «Программы от 1С обещают бесшовную интеграцию с основной системой учета (что бы это не значило)»
(16) спасибо, вроде поправили.
(20) 1.2 часа.
(25)
именно «подвести» — только иногда, в развлекательных статьях. Первое и главное — увидеть собственную работу, окружающую среду и свои перспективы под другим углом. Ну и начать что-то делать. Например, статусами задач управлять (https://infostart.ru/public/830605/) .
(26)
когда вы «пишете свои мысли» — вы тратите время зря. Никому в этом мире, ни единому человеку, не интересны ваши мысли, высказанные в комментариях. А вы все пишете и пишете, в надежде, что кто-то оценит. Надежда — подсознательная, вы ее не чувствуете, не видите, но она гложет вас изнутри.
Вижу, вы знакомы с «Кодексом читателя». Когда читаете статью, если только вы, и статья. Нет автора, нет других читателей, нет шоблы троллей, нет вашего директора. А вы думаете, что они есть, подсматривают через плечо, «как вы читаете», «как вы комментируете», «как вы себя ведете». Ну вы и ведете себя соответственно — вместо того, чтобы просто прочитать и взять для себя полезное, пытаетесь как-то «себя вести».
Всем на вас насрать, ищите пользу для себя. В написании комментариев ее нет.
(35) Судя по Вашему комментарию, вам не всё-равно. Вот Вы пишете статью. Она рассчитана на читателя, иначе Вы не выкладывали бы ее на ИС а сожгли бы. Коменты, это тоже в некотором роде Статья (по сути что статья, что комментарий имеют одну природу — информационную), ориентированная на узкий круг лиц. Иногда складывается впечатление, что для Вас, уж простите, существует только 2 мнения: одно — Ваше, другое — неправильное. Буду рад ошибиться.
(36) правильно пишете, что статья рассчитана на читателя. Но не на комментатора. Читателей — 90 %, комментаторов — 10 %. Я пишу в расчете на читателей. Не для читателей, не чтобы понравиться читателям, не для удовлетворения их потребностей. Но — в расчете на них.
Комментарии — они для кого? Для читателей? Сколько читателей у комментариев? Бывает, что больше, чем у статьи, но это пустые прочтения, бесцельные, не приносящие пользы ни вам, ни читателям.
Или комментарии — для автора? Ну, на этот вопрос я уже отвечал.
Писать комментарии невыгодно чисто экономически. О кармических последствиях даже говорить не стОит.
Друзья, прошу прощения за спам — поучаствуйте вголосовании .