<?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='\
Отличная штука. Давно пользуюсь.
я так полагаю это только для 7ки?
(2) Правильно полагаешь.
очень жаль( для 8ки очень не хватает хорошего парсера кода
Супер
Класс!! Столько лет работал с OpenConf, а про него не слышал!! Жаль уже на 8 перешел, но вдруг пригодиться!
Давно пользуюсь OpenConf и в частности OpenConf Light Pack (http://infostart.ru/projects/1688/) . Спасибо!
отлично, для 7 самый кайф. Спасибо
(6) Возвращайся.
А то регулярно возникают презрительные разговоры о «костылях» к 7.7.
8.х в костылях нуждается еще больше.
Отлично сам давно пользуюсь OpenConf. Очень не хватает всех этих наработок в 8.1. В многом это и сдерживает активный переход на 8 версию так как все равно придется.
Семерка жива!!!
Странная вещь — выложен отличный инструмент, рядом с которым восьмерочная IDE и рядом не стояла, а в комментах тишина.
Перенумераторы вызывают гораздо больше эмоций.
Ощущение, что большинству кодить приходится редко, в основном обновлять типовые.
Откуда такое равнодушие к кардинально улучшеному основному инструменту разработки?
Я сразу говорил — за перенумераторами будущее!
И внешними печатными формами счетов на оплату и торг-12 🙂
(13)(14) Прав, как всегда ;))
(12) Это же для семерки! Неактуально уже! )))
А если серьезно, то основная аудитория этого сайта, отнюдь не суровые гуру, знающие цену разработки того или иного серьезного инструмента, а люди лишь косвенно связанные с 1С или начинающие 1С-ники, у которых больше интереса вызывает какая-нибудь «яркая» поделка… ) К тому же, если выложена хорошая разработка, то что тут скажешь, кроме «Отлично!». Зато в ветках с откровенным г… от комментаторов не протолкнуться, да посмотрите хотя бы ветки «гения»! )
(16) Зря Вы так о «гении». Морщась , нужно видеть его важную роль на сайте.
(12) вещь отличная! сам юзаю! кодить намного приятнее, особено в связке с телепатом… правда есть несколько «огрехов» у телепата, но это наверное надо в скриптах подправить немного…
(18) Наверняка :))
Не забывай только поглядывать за обновлениями — продукт становится все лучше.
Спасибо, очень удобная и полезная приблуда
Качать не стал, но автору + однозначно!
СПАСИБО ОГРОМНОЕ, АВТОР !!!
О, свежий колорер! Не представляю уже себе работу без Опенконфа и всех этих штуковин. Автору мегареспект!
Не перехожу на восьмерку — там нет функционала опенконфа и СциКолорера 😉
Блин, а у меня чето установить не получается. Скачал Опен конф, скопировал все в BINConfig, зарегил библиотеки, открываю конфигуратор и ниче не поменялось. Подскажите плиз че не правильно делаю
Здооорово..
Сначала брать не хотела (мол — да на что мне подсветка скобочек, что я — считать не умею?). Но увидев свернутые тексты процедуры и функций поняла: неее, надо брать 🙂 Собственно, имхо, это единственное, чем восьмерка выгодно отличается от семерки (отличается — в плане текстового редактора, естессно).
Спасибо!
(25) >>Скопировал все в БинКонфиг
Этого недостаточно, ты наверняка не подменил файл Бинконфиг.длл, как написано в инструкции.
Замечательный Инструмент!
А можно еще попросить добавить «свернуть/развернуть» не только при помощи мышки, но и «горячими» клавишами? Ну очень надоело хвататься за «мышь», когда работаешь на клавиатуре.
Большое спасибо. И ГЛАВНОЕ — что БЕСПЛАТНО. А то смотрю кризис начал сказываться, все больше обработок выкладывают не за интерес, а за деньги, как на рынке.
>А можно еще попросить добавить «свернуть/развернуть» не только при помощи мышки, но и «горячими» клавишами?
это делается средствами опенконфа, см. скрипт из комплекта.
меню OpenConf-макросы-клавиатура — новый — SciColorer — <любой нужный макрос>
(28) Стрелки вправо-влево, когда курсор на первой позиции заголовка блока.
Развернуть можно, встав в начале строки с объявлением процедуры (Процедура ТакаяТо()) и нажав стрелку вправо. Аналогично можно свернуть, нажав стрелку влево.
а, всмысле «свернуть всё»…
>Стрелки вправо-влево
а, ну да, так тоже можно)
>меню OpenConf-макросы-клавиатура — новый — SciColorer — <любой нужный макрос>
И какой макрос отвечает за «свернуть всё»… ?
ExpandAll() ‘Развернуть всё
CollapseAll() ‘Свернуть всё
открой SciColorer.vbs в блокноте, там всё прокомментировано
супер!
Присоединяюсь к похвалам, очень нужная вещь для семерки, давно ею прользуюсь.
Плюсую
кажется, баг: в версии 1.0.0.9 не сворачиваются блоки комментариев
>не сворачиваются блоки комментариев
настройки — галка «не сворачивать комментарии внутри процедур»… оно?
А как тут поставить сразу 10 плюсов? Это супер штука!
(41) Согласен на все 100%!
Плюсик.
Что очень не понравилось:
неконтролируемое блуждание курсора при переходе на след. строку;
при удалении фрагмента и переходе вниз курсор меняет позицию, предшествующую концу фрагмента удаления;
не передвинуть курсор вправо (иногда пользуюсь, чтобы не срабатывал шаблон), — только пробелом.
А так, удобная штука, но не для «поточного» написания кода, — напару с телепатом заставляют моск думать, нажимать клаву или нет, чаще смотреть на экран, многоцветие отвлекает, хотя подсветка реквизитов диалога — оч. здорово.
Вот мое мнение, отличное от общепринятого, но есть такое. Хорошо настроенные шаблоны по производительности написания кода могут поспорить с телепатом. А подсказки, всплывающие окна, подстановка объектов метаданных — это для творчества. 😉
(43) Лично у меня за счет одних только телепата+интеллисенса производительность написания кода выросла раза в 4, и у супруги тоже. Колоред конечно не столь критически нужная вещь, но тоже на несколько процентов повышает производительность труда.
Может конечно все дело в быстродействии мозга, но у меня мозг при кодинге работает уже на инстинктивном уровне, т.е. максимально быстро.
Не нужно путать шаблоны и телепат — это разные вещи. Шаблоны создаются раз и на все случаи жизни, а телепат и интеллисенс динамически отслеживают твой код, подстраиваясь под ситуацию. Именно это позволяет мне создавать переменные типа «ТЗ_РаспределениеОборотныхСредств», не затрачивая кучу времени на повторный набор идентификатора или копипаст, а ограничиваясь считанными нажатиями. В результате прозрачность и понятность кода на высоком уровне даже без комментариев, а скорость даже выше если бы я обозвал переменную «ТзРОС».
Так что все ИМХО. Жизнь без телепата, интеллисенса и колореда я уже не представляю. Хотя, если брать оплату почасово, то конечно же я в убытке — делаю работу намного быстрее. 🙂
(41) Зарегистрируйся 10 раз. Шутка.
>Что очень не понравилось:
>неконтролируемое блуждание курсора при переходе на след. строку,
>не передвинуть курсор вправо, …
это всё «особенности» компоненты на основе которой сделан редактор,
постепенно к ним привыкаешь
>не для «поточного» написания кода, — напару с телепатом заставляют моск >думать, нажимать клаву или нет, чаще смотреть на экран, многоцветие >отвлекает, хотя подсветка реквизитов диалога — оч. здорово
незнаю, у меня наоборот, пока я програмирую с опенконфом, моск отдыхает 🙂
наверное, опять-же нужно просто привыкнуть
БОМБА !!!!! СПАСИБА !!!
Огромное человеческое спасибо! Одна из самых ценных разработок:) Практически наравне с 1C++ и OpenConf!
Отличная штука! Жаль что раньше на нее не наткнулся 🙁
Теперь то все больше в 8-ке приходится сидеть…
Спасибо!
Наткнулся на небольшую фичу:
Если перед блоком стоит комментарий, например:
//——
Процедура ПриОткрытии()
то при комментировании блока (Шифт+Клик) происходит объединение блока с комментарием, а при последующем раскомментировании (Контрол+Шифт+Клик) раскомментируются и комментарии в том числе, что приведет минимум к ситаксической ошибке, а может и к появлению лишнего кода 🙂
Контрол+Шифт+Клик убирает комментарий со всего _блока_ а не с процедуры или «Если, …»
Шифт+Клик комментирует процедуру и вместе с первой строкой она превращаются в многострочный комментарий который тоже сворачивается, т.е всё вместе теперь является блоком.
Так что всё верно )
(51)
Я и не говорил, что это ошибка 🙂
Респект и уважуха +, ещ бы предопределенные процедуры подсвечивал 🙂
Одним словом — Оргазмирую… 😉
Поставил последнюю версию, но есть проблема. При вводе процедуры, функции или метода объекта слишком быстро скрывается всплывающая подсказка. Очень плохо. Как это победить?
читаем ридми файл в дистрибутиве.
нужно поставить вот это:
http://www.1cpp.ru/forumfiles/Attachments/telepatt.rar
Cпасибо. скачал буду пробовать, но по отзывам вижу — вещь очень нужная
(12) Инструмент конечно же для 7-ки хороший, но в 8-ке почти всё решается запросами, 7-ка тут в целом проигрывает.
Про прямые запросы в 7-ке я в курсе. Но это уже другая тема…
Спасибо. OpenConf’ом давно пользуюсь, а с этим еще удобней стало.
Наткнулся на такое поведение: если поставить курсор на слово с которого начинается или заканчивается блок, то эти слова отображаются «кракозябрами», например «Процедура», «КонецПроцедуры», «Если», «Тогда», «ИначеЕсли».
Вот скриншоты:
(58) Кгрхм…
Поделись, пожалуйста, бесценным опытом использования запросов в Конфигураторе.
Спасибо автору за эту разработку. Пользуюсь ей давно, очень удобно.
Но плюсик только сейчас поставил. Сорри.
Великолепно! Жаль, что узнал об этом инструменте только сегодня.
Спасибо автору.
Спасибо, Тоже жалею, что не сразу узнал о такой вещи
>Спасибо, очень удобная и полезная приблуда.
Однозначно +!
ОБНОВЛЕНИЕ:
— в настройки шрифтов добавлено поле для выбора набора символов (кодировки)
— исправлено положение подсказок телепата в соответствии с масштабом редактора
— добавлена возможность отображения непечатных символов (галка в настройках и новая команда в скрипте)
— исправлено отображение курсора в режиме перезаписи текста (OVR)
— добавлен новый стиль подсветки «Фон заголовков методов» для возможности установки фона строки с названием процедуры
— если в начале блока комментария первым символом стоит «», то при открытии модуля такой блок не будет свёрнут
— добавлена поддержка подсветки доп. ключевых слов также и в строковых константах. (только слова из списка №4)
— «разукрашен» диалог списка закладок, цветовых/модифицированных блоков
— добавлена функция отображения результатов поиска текста в текущем модуле. окошко появляется автоматически при вызове
команды поиска текста или же только по нажатию соответствующей кнопки на панели инструментов плагина.
режим показа настраивается в диалоге настроек. команда добавлена в скрипт.
Где на 1Cpp на форуме колорера- ссылка на скачивание актуального релиза? в каком посте?
(66)http://www.1cpp.ru/forum/YaBB.pl?num=1171946332
(67) ветку-то я знаю, но все равно спсб. натолкнуло посмотреть на «ветку-начало»… туплю-с…
Respect 🙂
Великая вещь !!! Спасибо огромное!!! 🙂 😉 ❗ ❗ ❗ И где я раньше был только ???..))
Очень удобно! Производительность и качество растет!!! //кроме шуток!
ну вот и как теперь на 8-ку переходить 😥
(71) Да легко. Те, кто бросил это грязное дело, ещё не пожалели.
Спасибо! просто супер!
+1 однозначно 🙂 очченя удобно!!!
Одна из самых крутых штук для 7.7. Без нее на 7.7 писать вообще невозможно.
Для семерочников вещь отличная — автору спасибо!
Я вот мало на семерках программирую, но довольно редко надо изучить их код, что-то дописать, тогда я весь код модуля 7.7 копирую и редактирую в модулях конфигуратора 8.1. Так я использую функционал 8.1. Кроме свертывания-развертывания и быстрого перемещения использую в том числе «интеллисенс» (то есть «контрол + пробел»).
Всем успехов! 🙂
Во-первых, большое спасибо автору! Массу времени и нервов сэкономил с помощью данного инструмента.
А во-вторых — хочу спросить, появится ли это чудо для 8.2?
Без функции выделения одинаковых слов, там просто невозможно работать. 😉
Отличная вещь:) С каждой версией все лучше и лучше:)
Спасибо, автору почтение! С ней на 7.7 писать очень удобно. Периодически работаю с семерками.
(77)
http://snegopat.ru/forum/viewtopic.php?f=1&t=61
Запоздалый ответ, но вот начало появляться:
отлично, юзаю давно
(80) снегопат платный, а SciColorerV8 пока глючный
но для 7.7 вообще вещь офигенная!!!
Класс, просто класс! и чего я раньше этим не пользовалась!?
А исходники не планируете обнародовать?