<?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='\
На чём написан интерпретатор?
Сдается мне, что такие отличия в синтаксисе связаны с анализатором, насколько автор смог его написать 🙂
Ключевые слова заглавными подтверждают догадку почти наверняка.
Поставлю плюс как единомышленнику в подобном направлении 🙂
FoxPro 9.
Объектно-ориентированный? Покажите как объявлять классы.
+1. Автор — трёх китов — в студию !
Позже опишу. Уверяю, что здесь все будет нормально, так как фактически будет руссифицировано FoxPro-шная технология. Моей заслуги тут особой нет. Можете принять участие советом, как лучше руссифицировать. Пишите на UfaScript@mail.ru
Заглавными, чтоб улучшить отличия операторов. Могу сделать и без учета регистра. Но мне, кажется, что так лучше дисциплинирует. Тем более, что весь отладчик состоит из команды Сообщить(). С отладчиком пока проблемы, Хотя я сам отладчиками мало пользуюсь.
(9) Вы за пользователя принимаете решение, что ему лучше, исходя из собственного восприятия мира.
Это накладывает ограничение, что производит недовольство конечного программиста.
напуркуа это изобретение велосипеда ?
приходится так делать, так как свобода увеличивает себестоимость разработки. Продукт не коммерческий, пока на скудном самофинансировании, а задумано сделать много. меня подобные ограничения в других языках не напрягают, а вот отсутствие ООП в других языках напрягает.
Кстати, на Ютубе буду выкладывать более полную инфу о развитии языка программирования РусскийФокс. Так что следите там.
Это велосипед с реактивным двигателем 😉
Зачем это?
(12) Ограничения приводят к тому, что вместо мыслей о программировании, пользователь думает об ограничениях.
И таки да, надо учитывать целевую аудиторию. Это 1Сники.
Если они привыкли писать Цикл и КонецЦикла с одной заглавной большой, то они будут плеваться на необходимость включать написание заглавными.
У меня нет цели критики, это наоборот.
Шоб было. Пригодится. А если серьезно, то планирую объединить свои наработки на разных языках программирования (FoxPro, PHP, JavaScript,CSS, 1C, 1Script) в одном языке программирования. К тому же это будет единственный русскоязычный объектно-ориентированный язык программирования. Планирую реализовать в виде русскоязычных функций командную строку Windows. Одним словом, все фантазии не опишешь кратко, хватило бы времени. Но уже сейчас данный язык я использую в своих программах на FoxPro в виде подобия внешних обработок 1С. Видео будет на моем канале в Ютубе. (подписывайтесь).
Это не сложно. Сделаю еще и «КонецЦикла» в следующей версии. По возможности надо приспосабливаться к 1С-никам.
Я правильно понял, что
вызывает вывод окна с вашим текстом, заголовок которого будет «Вопрос!!!»?
Доброе утро!
http://www.gendoc.ru/
Тема весьма актуальная.
Особенно на русском языке.
Вот работа коллеги:
С уважением
Обязательно требую наличие нескучных обоев!
Как известно, майкрософт прекратила поддержку Visual Foxpro, следовательно напрашивается вопрос: Для чего создавать продукты на языке вышедшем из употребления?
Потому что FoxPro — это уникальный язык, который даже майкрософт недооценила. Они может его и приобрели, чтоб убить. Это самый интерпретируемый интерпретатор, который может исполнять в полной мере куски своего кода сформированные программно при этом сохраняя полный доступ ко всем переменным программного кода.
Для вас могу сделать, чтоб заголовок менялся. я просто копировал 1С-функции.
К тому же, РусскийФокс — это пока единственный объектно-ориентированный русскоязычный язык программирования. В следующей статье я пока жу, как создавать объекты. РусскийФокс удобен для начального обучения, так как не требует инсталляции, занимает всего 14 Мб. Если найду переводчика, то еще сделаю башкирскоязычный язык программирования для национальных школ. Изучать РусскийФокс можно по учебникам 1С. То есть я снижаю планку вхождения в 1С программирование. Надо опустить эту планку ниже плинтуса, чтоб дети могли учится программировать.
(17) Не волнуйтесь, единственным русскоязычным ООП языком не будет… 🙂
у меня вот тоже руки чешутся опубликовать свой вариант… только всё хочется прилизать поприличней перед первым выходом в свет… но долго уже не стерплю… 🙂 пару месяцев максимум…
(20) а я на каком-то форуме читал сообщение автора КОНЦЕПТа, что проект закрыт, т.к. он не почувствовал спроса…
(17) посмотрел документацию и примеры… интересно замечать, как многие мысли совпали :)… в моем языке, который скоро так же выйдет в свет, тоже можно не ставить точки с запятой и не писать ключевые слова Тогда и Цикл… 🙂
с одной стороны, простые конструкции у меня больше приближены к языку 1С, чем у вас, а с другой, у меня очень много отличий из-за того, что мой язык типизированный и со статической проверкой типов…
1Script в этом выигрышней выглядит, т.к. пытается соблюсти максимальную совместимость с 1С…. но из-за этого много ограничений у него…
Честно говоря много нас таких стало, изобретателей волшебной палочки, но мне кажется, что это хорошо! Вам удачи в разработке и популяризации!
(4) вы тоже пишите свой язык?
(27)
26 ноября 2017г.
Проект КОНЦЕПТ закончен. Все материалы этого сайта останутся в открытом доступе.
Вероятно потому, что использование символа гадского $ многими нормальными людьми воспринимается негативно (правильно).
Видимо, автор не видел ПОБЕДИТ.
русскоязычный интепретируемый. со своей средой, оконными функциями и прочими. приятная вещь была (или есть)
(31) похоже уже нет… сайт не работает… версия 5.5 много лет уже не обновлялась…
(32) угу, а продукт мог получиться приятственный для своей ниши…
(29) Да, мы ведем работы в этом направлении.
(34) если не секрет, что это будет? Интерпретатор или компилятор? На базе какой технологии?
Интерпретатор. Из 1С в js. Для работы на клиенте в обозревателе и на сервере в среде node.js.
Компиляторы давно устаревшая и тупиковая технология.
Сейчас купцам для решения их задач нужна работа в обозревателях (настольных и мобильных), а это только js код.
У Русского Фокса будет Web-интерфейс наподобие того, что я делал для OneScript см.мой канал на Ютубе. Русский Фокс будет ганератором JavaScript, PHP и CSS-кодов. Будет генерация шаблона для Joomla и взаимодействие с РусскийФокс через технологию Ajax. Это уже опробировано на OneScript. Но сначала я опишу примеры работы с объектом OpenOffice, так как РусскийФокс я применяю в своих программах, предоставляя пользователям писать подобие внешних компонент для генерации произвольных отчетов по шаблонам OpenOffice.
NodeJS оправдан, если много обращений к серверу, так как поддерживает асинхронную обработку запросов. Им я займусь после Joomla, так как Joomla пока больше распространена.
(23) Безусловно, идеи заложенные в FoxPro опередили своё время. Это был мой самый любимый язык с 1991 по 2006 год но король умер и другого пока не видно. Ваша задумка с РуссимФоксом заслуживает высшей степени уважения но пока сам интерпретатор закрыт и не развивается существует огромный риск с выходом новых ОС получить не рабочую систему.
FoxPro развивается с DOS-версий. Возможно, что какие-то функции могут стать не рабочими, но сомневаюсь, что это случится с самим ядром. К тому же я планирую не просто FoxPro, а иной идеологический подход к программированию. Пока это сложно объяснить. Проще показать. В любом случае порог вхождения в РусскийФокс самый низкий: нужен только exe-файл и несколько DLL-файлов, без всяких инсталляций и заморочек. Сразу начинаешь программировать и смотреть результат. Это лучше, чем изучать устаревший Паскаль на уроках информатики, тем более, что на Русском Фоксе можно изучать ООП.
(9)
Разработка нового языка программирования без отладчика — это мощно. Внушает уровень.
(40)
Подобные объяснения вашего продукта тревожат память Виктора Ивановича Петрика и Дениса Попова. К тому же, сказанное в (8):
навевает очень сильные сомнения в «продукте».
Будьте добры, соберитесь с силами и расскажите простыми словами о ваших «прорывных» идеях.
В будущем будет и отладчик. Просто отладчик создавать — это отдельная тема. Пока сделал сообщения об ошибках, но не обо всех.
Собрался силами и описал, как создавать объекты. Но раньше времени лучше не рассказывать о планах, которые еще не оформлены, так как придется долго объяснять скептикам, как это будет сделано. На это уйдет много сил. Особо прорывных технологий не планируется, просто будет максимально удобный продукт, особенно для начинающих программистов. Так же планирую объединить свои знания других языков программирования (JavaScript, PHP, CSS, 1C, NodeJS, плюс командная строка Windows). В ближайшее время опишу формирование отчетов по шаблонам OpenOffice (LibreOffice), затем Excel, если будет потребность, потом работа с MySQL и создания экранных форм.
Не совсем понимаю все-таки — напуркуа? Как демонстрацию «смотри как могу» — понимаю, реальное использование в каких-либо проектах — не верю.
Для автоматизации уже есть русскоязычный 1С. С закрытым кодом платформы, но открытым кодом бизнес-логики и кучей уже написанных решений.
Для сценариев есть 1script (осознанно сделанный максимально похожим по синтаксису с 1С) — с открытым кодом и кучей уже написанных решений.
А для этого языка какая ЦА?
Перечисленные языки уже имеют многолетнюю историю развития. А данный язык только три месяца, как появился, но уже ООП. Считаю, что на первых порах — это наиболее удобный язык для начального обучения. Дальше, время покажет. Я то по любому его буду развивать, так как использую в своих программах в качестве встроенного языка для создания внешних компонент.
Работы ещё непочатый край, однако уже большой плюс ставлю.
В студенчестве писал подобный интерпретатор аж на паскале, однако забил, забыл, потерял файл.
Спасибо, теперь будем ждать интерфейс
Исследования объектов в РусскийФокс
(45) не знаю, помните ли вы словесные баталии на тему зачем нужен русский язык в программировании когда вышла 1с 7… тогда интернет мало у кого был… а программистов пишущих код по русски вообще не было… всем было не удобно и не привычно… в том числе мне… тем не менее, спустя 20 лет существует множество программистов пишущих только по русски и у них не возникает вопрос «напуркуа»… 1С всем хорош, но не универсален, он сосредоточен на задачах управления бизнесом… на нем много чего не напишешь, либо костыль получится, медленный и кривой… а ведь хорошо бы иметь язык хотя бы уровня C#… мне это надо, думаю и другие, кому это надо найдутся… я желаю удачи всем, кто работает над своими версиями русского языка программирования…
На базе С# сделан русскоязычный 1Script, но у него проблемы с ООП и интерфейсом. В Русском Фоксе не будет проблем с ООП и интерфейсом, но будет проблема с многоплатформенностью (Русский Фокс только под Windows)