<?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='\
Вот ещё сюда бы ссылку на сам Notepad++ — было б совсем хорошо.
notepad-plus.sourceforge.net/ru/site.htm
А для SciTE случаем нету?
А как вставляется в Word? Копипастом из Ноутпада?
Копируется из Notepad Меню-NPPExport-CopyRTFToClipboard, вставляешь просто Paste
Плюс авансом — давно было желание иметь в нпп++ этот синтаксис
Плюс однозначно
И какие же вещи вы пишите в отдельном НП++ ?
ИМХО неудобно — нет проверки синтаксиса хотя бы в объеме 1С, нельзя менять метаданные, нет подсказки по метаданным.
(7) это уже описывать API нужно, впринципе Notepad++ и это поддерживает…
СПАСИБО, плюсую!
Сам хотел сделать, но все руки не дойдут, NP++ супер блокнот.
(7) Писать с нуля код в нем, конечно смысла мало, но как для разборки кода, множественных вставок, замен, поиск по регулярным выражениям и т.д. тут NP++ на несколько голов выше стандартного редактора 1С.
Если доделаете подсветку ключевых слов ( Тогда ), группировки по условным операторам, Если КонеЦесли, Пока Цикл и т.д., а так же директивы препроцессора, и вроде можно как то сделать независимость к регистру т.е. что бы эквивалентными считались Тогда и тогда и ТоГда — будет просто супер!
(7) когда исследуешь исходники от v8Unpack очень приятно будет видеть
знакомую расцветку 😀
а так для реальной работы одной подсветки синтакиса маловато
однако плюс поставил — потому что пригодитЦо
оо..Плюсую!
knight2007, планы по развитию данной фичи есть, или это уже финал?
(12) Расширяю потихоньку количество операторов. По мере работы с документацией по 1С. Буду периодически обновлять.
Можно сделать еще и Autocomplete, но как то странно работает. При добавлении «Стр» и нажатии на Ctrl+Space добавляет СтрСтрДлина, т.е. не затирает уже набранное…. Думаю больше раздражать будет, чем помогать 🙁
(13) Да такие грешки водятся в NP++ (если не ошибаюсь такие проблемы есть и в редакторе E, а он крутейший из крутейших 😉 ) при объявлении доп. языков, на мой взгляд Autocomplete не так важно, как полное соответствие ключевых слов и группировки конструкций.
Типов, функций, процедур и т.д. предостаточно в 1С 8.х поэтому их сложно все прописать, но даже если осилишь эту задачу, народ захочет Autocomplete свойх объявлений хранящихся в конфигурации, а это уже совсем космос!
Жду новых версий!
Плюс++
Plus
Реально пользуюсь своей разметкой в нпаде++ уже 4 года, но не знал, что это необходимо такому количеству пользователей.
Плюс за опережение,распостранение и популяризацию нп++
Спасибо за обновление, стало лучше! 🙂
💡 СПАСИБО! Давно искал!!!
спасибо!
Расскажите поподробней: как и куда записывать эти файлы, что бы воспользоваться этой надстройкой в блокнот++?
Что-то не могу понять, как же ею пользоваться.
Заранее спасибо. Перепробовал кучу вариантов- не получается.
(21) присоединяюсь — перепробовал много способов — не могу подключить никак!!! Опишите пожалуйста подробно инструкцию по подключению.
пардон скачал более новую версию блокнота — получилось. видимо был глюк в старой версии. Заметил недочет — некорректно закрываются процедуры и функции. Когда в конце добавляешь точку с запятой «КонецПроцедуры;» вроде начинает понимать. Видимо как-то надо ; по особому обрабатывать
Спасибо за файл разметки.
Подскажите, пожалуйста, как его прикрутить к Notepad++? Прикрепленная инструкция как-то непонятно написано… Заранее спасибо!
(24) Можете прочитать насайте
Пункт «Файлы для Языка определенного пользователем»
Добавил немного операторов на английском…
Если б мог поставил бы два плюса )
Интересно. У меня зарезервированные слова не выделяет. Весь текст синий, комментарии зелёные.
Noteoad 5.7 Unicode
Windows 7
Всё, разобрался.
У меня дефолтовая кодировка была установлена UTF8, переключил на ANSI, заработало.
(29) Там со шрифтом критично… Один самый большой минус, что большие и маленькие буквы для Notepad отличаются в русском языке 🙁
респект и уважуха, держи плюс
на всякий случай скажу проhttp://infostart.ru/public/19544/
а то вдруг мужики то и не знают
(33) Прикольная штука ) Там все завязано на программировании в 7-ке. Плюс нужно OpenConf ставить.
Мне нужен был только синтаксис 7/8. OpenConf для этого ставит круто )
Хорошо, удобно. Спасибо
(7) npp позиционируется как замена блокнота для спеца, — я там редактирую xml, html(есть плагин tidy для приведения к xml, удобно при парсинге), скрипты vbs,php, иногда c#. Плюс в том, чтоб отредактировать мелочь не нужно запускать монструозную среду, в случае 1С, конечно, все равно придется, поэтому твоя правда, конечно.
(8)Это как? не слышал о таком
Спасибо от души, а то часто пишу из под мака.
Классно! Доволен как слон :).
То, что надо! Спасибо.
Чтож попозже посмотрим … что — с чем.
ааа, я вас люблю *_*
спасибо!!!
подскажите плиз поподробней как подружить это с Notepad++
я что-то не понял ничего в инструкции
«1. Скачайте файл языка определенного пользователем на ваш компьютер»
что это за файл такой «языка определенного пользователем»
3. Нажмите Пуск, Выполнить, наберите (или скопируйте) %APPDATA%Notepad++ и нажмите ok
это действие приводит к открытию папки C:Documents and Settings olikApplication DataNotepad++
какой в нем смысл?
вобщем непонятно
(43) Открываете в редакторе файл
%APPDATA%Notepad++userDefineLang.xml или %ProgramFiles%Notepad++userDefineLang.xml и вставляете в конец его содержимое файла из сабжа или просто замещаете содержимое, если он у вас пустой.
Здесь всё понятно расписано.
http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Language_Files
If you don’t have an userDefineLang.xml file already, you can drop this file among your other configuration file, in the Notepad++ Install Folder. It should be named userDefineLang.xml.
Otherwise, open both the existing and new file.
Select all of the new file, copy, and paste at the end of the current file.
This will have created a spurious </Notepad_Plus><Notepad_plus> pair i the middle, each tag on a line by itself. Remove these two consecutive lines.
Close Notepad++.
файла userDefineLang.xml у меня нет ни в %APPDATA%Notepad++ ни в %ProgramFiles%Notepad++\r
Но в пункте меню «Синтаксис» у меня присутствуют кодировки по J, С и др.
Если просто скопировать userDefineLang.xml скачанный отсюда, то в код в кодировках 1С не появляется
подскажите плиз что еще можно проверить
(45)
Файла там вначале такого нет.
При добавление файла userDefineLang.xml в путь %APPDATA%Notepad++, %ProgramFiles%Notepad++\r
добавится подменю в меню Синтаксис «1С».
Есстественно после перезапуска Notepad++
Для Vista/7 это путь C:Users[Имя пользователя]AppDataRoamingNotepad++
Файлы будут подсвечиваться с расширением .onec или.onec.txt
Спасибо автору. Сразу не разобрался куда бросать файл userDefineLang.xml. Сначала положил файл в %ProgramFiles%Notepad++, а оттуда он не работает. Заработало, когда скопировал файл в %APPDATA%Notepad++. Оказывается при инсталяции Notepad++ есть опция использовать папку %APPDATA% или не использовать.
Не раскрашивает файл сохраненный из 1с 8, т.е. в кодировке UTF-8, раскраска появляется только после преобразования в кодировку ANSI (меню EncodingConvert to ANSI)
Спасибо. Файликом пользуюсь, добавил много своего.
Спасибо! в портабельную версию скинул в папку с программой, работает!
В версии 6.5.5 не подсвечиваются начало и конец процедур и функций, не работает группировка/свертка.
Подсветка работает только для некоторых методов глобального контекста.
Сделал через:
Синтаксисы — Задать свой синтаксис — Импортировать.
ЧЯДНТ?
(50) Что-то в Notepad++ поменялось полгода назад. Пришлось переделывать/перенастраивать подсветку в самом Notepad++.
(51) PetroP, произошли изменения в стайлере Notepad++. Добавил в проект файл для импорта.
(50) DigitalMan, произошли изменения в стайлере Notepad++. Добавил в проект файл для импорта.
Не выделяется инструкция «ИЛИ»
Спасибо за труд!
(54) madfox, должно быть заглавными буквами «ИЛИ». Сам текст переключите на UTF-8
Версия сырая… (((
а я сам сделал 🙂 пока 1С -ка жевала миллионы записей было много времени на раскраску)
я скачал, но не могу ей воспользоваться… по иснтрукции написанной в описании, ничего не получается…
Поэтому ставлю — пока…
(59) TEENAGER1984,
для 6.x и выше инструкция простая Синтаксис — Задать свой синтаксис — Импорт — Файл 1C-utf8.xml
Текст кода 1С должен быть в формате utf-8 !
Расширение файлов *.onec (либо установите своё в поле «Расшир.» в окне настройки синтаксиса)
Только что проверил на версии 6.8.3
А текст запросов раскрашивает как в 1С? Чтобы вместо черного было как в конструкторе запросов
На актуальном NP++ некорректо обрабатывает конструкцию Пока Х Цикл КонецЦикла;
Ждет второй КонецЦикла;
upd: Аналогично Для сч = 0 По Количество — 1 Цикл
(62) Обновил.
Ребята, извините, а почему не VSC со специальным крутым расширением для 1С и OneScript xDrivenDevelopment.language-1c-bsl ?
я сам пользовался NP++, но раскраска для NP++ давно устарела, теперь намного лучше уже все.
(64) NP++ быстрее, чем VSC. На не очень производительном компе разница существенна.
Я сам в зависимости от ситуации использую и то, и то
Просветите — что такое VSC. Яндекс говорит явно что-то другое: VSC — система курсовой устойчивости
(66) Visual Studio Code
очень рекомендую
Почитайте офиц.страницу расширения xDrivenDevelopment.language-1c-bsl для 1С и OneScript
(64) Ну вы сравнили: блокнот и IDE
NPP используется для быстрого просмотра / изменения кода.
Смысл грузить огромную IDE, когда есть установленная 1С.
(68) вы не путайте Visual Studio 20ХХ и Visual Studio Code
Это разные инструменты!
(67)
Спасибо
Кто-нибудь в курсе, как в Notepad++ побороть проблему раскраски кода в различии малых и больших русских букв? А то получается, что слово «Процедура» будет подсвечиваться, а «ПрОцЕдУрА» — уже нет.
у меня половину синтаксиса не подсвечивает. аяяй
(72) текст должен быть в utf-8, операторы с большой буквы (рекомендованный стиль 1С)
Для notepad++ русские слова в разном регистре — это разные слова.