OpenConf Light Pack




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

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

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

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

98 Comments

  1. Donat

    Да, с тех пор как я открыл для себя ОпенКонф, жизнь без него мне представляется серой 😉

    Reply
  2. MishaD

    стандартный Зик запускал 18 сек. А если мне надо много баз открыть. На каждой ждать по 18 сек.

    Reply
  3. leshik

    (2) — теперь попробуй открыть процедуры и функции глобального модуля?

    а еще и если туда включили colorer!!!

    Автору спасибо!

    Reply
  4. Donat

    Эти 18 секунд компенсируются сохранеными часами, если много кодить.

    Reply
  5. CheBurator

    завтра будем пробовать…

    Reply
  6. metaeditor

    (2)когда тормозило, в момент открытия окна конфигурации или на окне заставки когда снизу бежали строчки типа «Загрузка скрипта такогото…» ?

    Также отключи из области проверки антивируса папку ConfigScripts*.*

    и такую маску: Script_*.html

    касперский долго жует эти файлы

    Reply
  7. artbear

    (Дима) Зашли мне правленные исходники Истории.

    Как автору этого плагина 🙂 хотелось бы и у себя их видеть 🙂

    Reply
  8. infossa

    Дмитрий , огромный респект!

    Особенно за Colorer for Openconf.

    Reply
  9. MishaD

    Полное отрубание антивируса помогает. Реально грузится быстрее. У меня правда DrWeb. Загнал всю папки в 1с в исключения(не только скрипты). Не помогло.

    Reply
  10. CheBurator

    мелкая бяка — при открытии конфигурации и переходе на ExtExplorer — грорят две ветки — каталог 1С и Каталог ИБ — но пока не жмакнешь «Обновить» — фиг атм что показывается — плюсиков нет…

    Reply
  11. CheBurator

    Колорер — зашибись!

    Но есть другая бяка: Пишу

    ТЗ = Соз… вываливает подсказку, выбираю СоздатьОбъект дает посдказку агрегатных типов, жмакаю на букв Т — чтобы попасть быстро на ТаблицуЗначений — что-то не попадает.. по всякому по разным букавкам пробовал — не работает…

    Reply
  12. CheBurator

    Акцес виолатион эт адрес тралялля ин модуле inspector2.dll и т.д…

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

    Теперь вопрос: как вернуть инспектора к виду «нормальной» панели…?

    Reply
  13. CheBurator

    ..а так, конечно, ничего.. юзать будем.. хотя это нескольо претит моему чувству прекрасного… 😉 все эти .. недоделки…

    Reply
  14. JohnyDeath

    (10) Чебур, там же в настройках ясно написано: «заполнять дерево при открытии (иначе через «Обновить»)», т.е. если хочешь, чтоб дерево заполнялось сразу — добавь эту галочку. И ещё: настоятельно рекомендую сделать панельки из «ExtForms Explorer» и «Инспектора контролов». How to: Меню-OpenConf-Настройка панелей… там жмакаешь «создать панель» и переносишь нужную тебе. Теперь они будут в виде панелек (аля «справка по языку»).

    Reply
  15. CheBurator

    (14) ааа.. блин… позор на мои седые волосы…

    .. вопрос с инспектором остался…

    Reply
  16. metaeditor

    >MishaD

    Полное отрубание антивируса помогает. Реально грузится быстрее. У меня правда DrWeb. Загнал всю папки в 1с в исключения(не только скрипты). Не помогло.

    добавь в исключения еще маску Script_*.html

    эти файлы создаются в WindowsTemp при загрузке конфигуратора

    >Сhe Burashka

    Но есть другая бяка: Пишу

    ТЗ = Соз… вываливает подсказку, выбираю СоздатьОбъект дает посдказку агрегатных типов, жмакаю на букв Т — чтобы попасть быстро на ТаблицуЗначений — что-то не попадает.. по всякому по разным букавкам пробовал — не работает…

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

    ищи в нем строку

    SelectFromList = SelObjSvc.FilterValue(strList, 1 + 4 + 16 + 512,»»,0,0,0,0)

    и убирай из неё часть «1 + »

    Акцес виолатион эт адрес тралялля ин модуле inspector2.dll и т.д…

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

    Reply
  17. CheBurator

    > инспектор предназначен для использования только в виде прикрепляемой панели…

    опочки.. а чего это в нем тогда есть возможность сделать то, что сделал я.. это первое.. второе: криво написано! если акцес виолатион… 😉 нет так чтобы сказать так прямо.. начинаются гнилые отмазки… 😉

    ..

    > так происходит потомучто список фильтрует по вхождению подстроки в любом месте слова …

    — а поясните мне, какой в этом глубокий смысл..?

    Reply
  18. metaeditor

    >а чего это в нем тогда есть возможность сделать то, что сделал я..

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

    >- а поясните мне, какой в этом глубокий смысл..?

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

    тз = СоздатьОбъект(«Справочник.Номенклатура»);

    тебе надо написать в выпавшем списке «спр ном»

    Reply
  19. CheBurator

    оппа.. ломанулся проверить.. и чего-то у меня конфигуратор не запускается.. схлопывается и все… странно это все…

    Reply
  20. brr

    Жалко нельзя поставить 10000 плюсов! Количество времени сэкономленого с помощью ОпенКонфа не потдается определению. Рулез и мастхэв!

    Reply
  21. artbear

    (20+) Всем рекомендую подобную фильтрацию, очень и очень удобно.

    Например, без нее в глобальнике довольно трудно найти необходимую функцию без полного поиска.

    А если включить спец.кнопку в Цтрл+1, то любую функцию найти очень и очень легко.

    (Дима) Переход по метаданным у тебя на каком хоткее?

    Рекомендую всем попробовать этот хоткей 🙂

    Reply
  22. JohnyDeath

    (21) ctrl+1 выдаёт же список ф-ий и процедур текущего модуля. Переход по метаданным я себе повесил на ctrl+»Ё» (или в англ раскладке: ctrl+~)

    Reply
  23. infossa

    (20)+1

    по умолчанию переход по метаданным <Ctrl>+<G>

    СУПЕР!

    Дал попробовать своему кодеру, так он просто в ауте от счастья 🙂

    Редактор «восмерки» тихонько стоит в сторонке и отдыхает 🙂

    Самое главное очень стабильно работает (Win2000, XP) !

    Reply
  24. metaeditor

    21) список метаданных на Ctrl+G

    23)Самое главное очень стабильно работает (Win2000, XP)!

    согласен,

    вот только у Чебурашки всё почемуто какие-то аксесс виолейшены появляются 🙂

    Reply
  25. АЛьФ

    2(24) Че — это отдельная статья. Ему и стальной шар доверить нельзя. Разобьет… 🙂

    Reply
  26. CheBurator

    (24,25) Э, господа! Зато что у меня будет работать — будет работать у большинства юзеров беспроблемно…

    Reply
  27. CheBurator

    А есть плагин, который в титул окна обработки пишет «версию» (например, типа дата-время или еще как) — не на форму в угол, а в титул…?

    и как в этот телепат засунуть шаблоны? чтобы набрал типа ВыбТЗ — а он целый типовой кусок по работе с ТЗ забабахал…?

    Reply
  28. АЛьФ

    2(27) Дык, там же, вроде достаточно просто скрипты писать. Можешь свой написать, который будет присать версию туда, куда тебе надо. Или существующий подправить.

    А по поводу шаблонов — так чем штатные в этом плане не устраивают?

    Reply
  29. CheBurator

    вот мне нечего как скрипты писать… я то и по чистому 1Су.. не все нужное успеваю… 😉

    ДевЕлопер я, а не прОгер…

    Reply
  30. нарчена

    все просто СУПЕР!!! Только подскажите неспециалисту, пож-та, как поменять шрифт модулей, что-то у меня после этой установки не получается.

    Reply
  31. metaeditor

    >

    главное меню — Colorer — настройки

    Reply
  32. svsrus

    Colorer — вещь!

    Reply
  33. Cobra

    Очень продуманная подборка горячих клав!

    Ну и конечно Colorer ++++!

    Reply
  34. artbear

    (27) Окно Конфигурация — закладка Опенконф — Плагины — Телепат

    Там посмотри настройки.

    У меня лично всегда шаблоны подключены к телепату.

    Reply
  35. trdm

    У её О_о OCP_ExtFiles еще живой, я про него и забыл напрочь ((

    Reply
  36. metaeditor

    а чего, неплохой такой плагин получился )

    Reply
  37. CheBurator

    (34) а можно получить юзаемый вами набор шаблонов?

    Reply
  38. CheBurator

    + зафиксирована некорректная работа колорера в случаях выставления комментария на свернутый блок…

    .. бяка, короче…

    Reply
  39. metaeditor

    38>

    а ещё непонятней можеш объяснить?

    Reply
  40. Dolly_EV

    ВЕСЧЬ!

    Reply
  41. CheBurator

    блин.. задолбалло… регулярно валится конфигуратор при открытии с сообщением память не может быть реад… с родным конфигом — грузится ок…

    Reply
  42. metaeditor

    нутак убирай по одному плагину/скрипту дотех пор пока небудет вылетать…

    заодно и выясним вчем проблема…

    кстати может DEP у тебя включен?

    Reply
  43. infossa

    (41) Может все-таки более подробно можно объяснить.

    В какой момент происходит вылеты ?

    Как сэмитировать данные вылеты?

    Ставил по инструкции к пакету на Win2000 SP4, WinXP SP2.

    Работает не только у меня , но и у других разработчиков в отделе.

    Заработало с первого раза и ничего не вылетает.

    Возможно , ЧЕБУРАШКА великий тестер! 😉

    (42)

    Автору в очередной раз огромный РЕСПЕКТ за разработку!

    Reply
  44. metaeditor

    Че> склоняюсь к версии что утебя включен таки DEP, непервый раз сталкиваюсь

    (Свойства системы — Дополнительно — Быстродействие-Параметры — Предотвращение выполнения данных)

    Reply
  45. support

    Круто! Респект тому, кто создал подсветку кода и свертку/развертку процедур и логических блоков.

    Reply
  46. metaeditor

    support> да, да, респект мне)

    Reply
  47. CheBurator

    Обнаружена очередная бяка

    припопытке просто набить ДобавитьМесяц — подсказка не лается… если написать а = доб — подсказка дается…

    Reply
  48. CheBurator

    Обнаружена очередная бяка

    при попытке ввести код «конт.» (контточка) выдает «Некоректное выражение: «Форма.ОбработкаОжидания»

    Reply
  49. metaeditor

    «ДобавитьМесяц» это функция, она возвращает значение, так что всё верно…

    «Форма.ОбработкаОжидания» — ничего нескажу, незнаю…

    про (41) чтонибудь расскажеш, как решилось?

    Reply
  50. nosferatu20913

    Спасибо большое главное деражать это чудо в актуальном состоянии

    Reply
  51. orefkov

    (47)

    Это не баг. Это фича.

    Метод "ДобавитьМесяц" отнесен мной в разряд "функции, вызов которых как процедур бессмысленен".

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

    Если ты сможешь показать мне, какой толк может быть в реальном коде от просто

    Код
    ДобавитьМесяц(НачДата, КолМесяцев);
    

    Показать полностью

    то я перенесу ее в разряд "Функции, вызов которых как процедур имеет смысл"

    Reply
  52. Zita

    Помогите плиз! Поставил все по инструкции на Vista Home Premium, но при запуске крнфигуратора OpenConf не грузиться. В чем может быть проблема?

    Reply
  53. JohnyDeath

    (53) в Висте 😉

    Вообще, ИМХО, у разработчика не должна стоять Виста, по крайней мере пока.

    Reply
  54. metaeditor

    права администратора есть? контроль учетных записей выключен? dep выключен ?

    Reply
  55. Zita

    (55) Права Есть, отключен, отключен. Но если ставит powerpaсk то все работает

    Reply
  56. metaeditor

    >но при запуске крнфигуратора OpenConf не грузиться

    т.е конфигуратор открывается , но он «чистый», в окне конфигурации нет новой закладки «OpenConf»?

    если так, то неверно проделана установка. Проверь, в подпапке Config должна быть оригинальная config.dll

    а в Bin — config.dll от опенконфа

    Reply
  57. CheBurator

    Внесите в описание пояснение как сделать в таком случае:

    Ошибка CScript: на данном компьютере отключен доступ к серверу сценариев Windows

    Reply
  58. metaeditor

    добавил…

    хотя решение можно найти на первой же странице яндекса…

    Reply
  59. CheBurator

    (59) спсб.

    чисто интересно: дайте пример запроса к яндексу…

    а то везде пишут как запускать скрипты…

    Reply
  60. CheBurator

    1. сообщение появляется при запуске regall.bat

    2. если не установить WSH и не зарегить — то при попытке запуска конфигуратора — он валится намертво… правда из табло, которое появляется — удается понять из-за чего 😉 — из-за раздолбайства опенсорсников…

    Reply
  61. CheBurator

    блин, и как сделать чтобы выдавал правильные подсказки (в желтых тултипах)… а то на ТЗ выдает инфу по СЗ когда методы одинаковые…

    Reply
  62. CheBurator

    И еще бы хорошо бы инфу по установке данного чуда на висту…

    Reply
  63. metaeditor

    >пример запроса к яндексу…

    текст запроса к яндексу очень простой )

    «на данном компьютере отключен доступ к серверу сценариев Windows»

    >как сделать чтобы выдавал правильные подсказки

    «правильные» подсказки выдаваться небудут

    для одинаковых методов разных объектов выдается список подсказок, который можно листать нажатием Alt+вверх/вниз

    а что там у нас с вистой? описанный вариант установки неработает? в следующий раз как буду проходить мимо висты, проверю…

    Reply
  64. tatyana_schukina

    Извините,может я не там ищу , но в этой установке нет turboMd, для тех кто вносит изменения в работающую базу (пользователе не будут ждать пока я сохранюсь) — это очень важно

    Reply
  65. metaeditor

    если вы про

    http://infostart.ru/profile/1732/projects/431/

    то это внешняя компонента для «предприятия» и опенконф тут непричем

    Reply
  66. tatyana_schukina

    Но ведь вы прилагаете в этой сборке и скрипты тоже, почему бы turbomd.vbs туда не добавить «В целях продвижения опенконфа в народные массы «

    Reply
  67. metaeditor

    полное собрание скриптов находится тут

    http://1c.alterplast.ru/files/ocs/ocs_last.dos.zip

    а turbomd.vbs не включен потомучто light . об этом написано выше, в самом начале описания

    Reply
  68. Winter

    Прога супер. Пользуюсь уже несколько лет. И рад что ее не забросили и появляются новинки. Но вот заметил такое маленькое неудобство: если работаю на локальной машине при наборе текста и нажатии клавиши Enter она срабатывает два раза. При том, что я увеличил время на задержку перед начала повтора и скорость повтора сделал ниже. Кто-нибудь сталкивался с таким? Если далить OpenConf — такого не наблюдается.

    Reply
  69. metaeditor

    что такое «время на задержку перед начала повтора и скорость повтора» ? и что такое «на локальной машине»?

    Punto Switcher установлен? (недавно уменя спрашивали про такое же двойное срабатывание entera в терминале, там дело было именно в нём)

    Reply
  70. Winter

    (70) Это два параметра из настройки клавиатуры в Панели управления. Punto установлен. Но вот кстати в терминале такого не наблюдается.

    Reply
  71. Winter

    Хотя вариант, что это глючит Punto — есть. Сейчас включил 1С в проги-исключения — вроде заработало.

    Reply
  72. metaeditor

    обновил сборку свежими версиями плагинов SciColorer, fdsubst, KbdProcs

    Reply
  73. konfed

    XP servisPack2, 1с 025 релиз — вылетает конфигуратор при старте

    Reply
  74. konfed

    а как эта штука деинсталлируется? или как определить какие скрипты способствуют вылетанию стартера 1С и только их отключить?

    Reply
  75. artbear

    (75) 1. Убери папку БинКонфигСкриптс и проверь запуск.

    Если поможет, то удаляй поочередно подпапки из БинКонфигСкриптс, как найдешь, какая папка влияет, удаляй поочередно файлы из нее.

    Как найдешь файл, давай его название сюда.

    2. Если п.1 не помог, то дополнительно поочередно убирай все длл-файлы (это плагины для Опенконфа) из БинКонфиг, кроме БинКонфигконфиг.длл

    Как найдешь файл плагина, также давай его название.

    Reply
  76. metaeditor

    >XP servisPack2, 1с 025 релиз — вылетает конфигуратор при старте

    при вылете должно показываться окно с отправкой отчета об ошибке, там пишется имя модуля с ошибкой, что там написано?

    и выполнена ли рекоммендация по отключению DEP ?

    Reply
  77. konfed

    Спасибо за помощь [76] .п.1 не помог. п.2 — удалил inspector2.dll — пока без вылетов.

    DEP — было включено только для основных — поставил для всех и 1С внес в число исключений

    Reply
  78. metaeditor

    >DEP — было включено только для основных — поставил для всех и 1С внес в число исключений

    его наоборот нужно выключить, т.е оставить «только для всех», верни назад, а то вылеты точно будут 🙂

    Reply
  79. metaeditor

    оставить «только для всех» читать как

    оставить «только для основных»

    Reply
  80. vld92

    Подскажите в чём может быть проблема:

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

    Как можно пофиксить?

    Reply
  81. metaeditor

    >vld92

    оставь тут или в ЛС мне свою почту, я пришлю версию плагина для проверки, если поможет, обновлю сборку.

    Reply
  82. LeXXeR

    подскажите плз!

    После набора строки жму «Enter» — перенос осуществляется не на одну, а на две строки 🙁 приходится каждый раз удалять одну лишнюю… бесит.

    То же самое если из списка телепата выбираем методф-цию энтером. Как убрать лишний энтер?

    Reply
  83. LeXXeR

    Поторопился с вопросом, сорри!

    На соседней страничке все уже решено… Punto хад 🙂

    Reply
  84. neuromancer_aza

    Одним словом — Оргазмирую… 😉

    Reply
  85. batyrkin

    Народ, а на Vista x64 SP2 кому нить удалось запустить это дело?

    Скрипт авторегистрации не отрабатывает, пробую руками зарегистрировать модули — говорит что зарегистрировал, но при запуске все равно вылетает как будто ничего не зарегистрировано.

    Например команда regsvr32 scrobj.dll /n /i:»C:Program Files (x86)1Cv77BINconfigsystemCommonServices.wsc» говорит ОК. Запуск конфигуратора — ошибка при создании объекта OpenConf.CommonServices, зарегистрируйте библиотеку…

    Я так понял что библиотеки регистрируются, но сами объекты винда почему то запрещает создавать.

    Т.е. просто на new ActiveXObject(«MSScriptControl.ScriptControl») вылетает ошибка «Невозможно создание объекта сервером программирования объектов» Код 800A01AD

    Reply
  86. metaeditor

    ничего посоветовать немогу, х64 висты у меня нету…

    права админские есть?, UAC выключен? в реестре данные о регистрации появляются?

    например для MSScriptControl.ScriptControl

    HKEY_CLASSES_ROOTCLSID{0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC}

    Reply
  87. berezdetsky

    (86) regsvr32 надо брать не из System32, а из SysWOW64.

    Reply
  88. batyrkin

    (87) Права есть, UAC отключен, в реестре есть ключ с таким адресом HKEY_CLASSES_ROOTWow6432NodeCLSID{0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC}

    И вообще все ключи появляются только в подразделе Wow6432Node

    (88) Спасибо друг! Наставил на путь истинный! Были ж у меня уже похожие грабли когда к 7.7 SQL2005 прикручивал на х64.

    В общем поправил инсталляционный скрипт и все с первого раза зарегистрировалось и заработало. Для тех кому понадобится — надо в файле regfiles.js сделать чтоб function testPreconditions() тупо возвращала true и в функциях regwsc и regdll вместо regsvr32 указать полный путь %windir%SysWOW64
    egsvr32

    metaeditor, внеси плиз при случае эти данные в инструкцию по установке…

    Reply
  89. metaeditor

    так, а как можно из скрипта определить какая у нас ОС, незнаеш? какие есть отличительные особенности? две уже определили (есть папки и разделы реестра %systemdrive%Program Files (x86) и %windir%SysWOW64 и HKEY_CLASSES_ROOTWow6432Node) но есть ли они на XP64 или на Server2008 x64 можно ли по ним ориентироваться?

    Reply
  90. metaeditor

    или чтобы не заморачиваться с автоопределение, сделаю лучше два скрипта один для х32 другой для 64

    Reply
  91. berezdetsky

    (90) Есть переменная окружения PROCESSOR_ARCHITECTURE. Или WMI. Скажем, «sel ect DataWidth from Win32_Processor».. 🙂

    Reply
  92. metaeditor

    PROCESSOR_ARCHITECTURE пожалуй подойдет, спасибо )

    Reply
  93. metaeditor

    Сборку обновил.

    Доработан скрипт регистрации для 64-разрядных систем.

    Плагин scicolorer обновлен до текущей версии.

    (89)проверь пожалуйста на всякий случай скрипт регистрации, а то мне негде взять 64-ю висту

    Reply
  94. batyrkin

    (94) Проверил — все ОК. Спасибо за заботу и оперативность 🙂

    Reply
  95. zyto

    Подскажите, можно ли убрать вопрос о закрытии 1С-предприятия при запуске оного из конфигуратора?

    Раньше у меня по F5 отрабатывал скрипт, который не спрашивая убивал и предприятие и отладчик и перезапускал предприятие с сохранением конфы. Очень удобно было.

    Теперь этот скрипт не работает.

    Выводится вопрос — Закрыть «Предприятие»?

    Нажимаешь «Да» — ругается, что не удалось закрыть предприятие. (что логично, ибо процесс уже убит)

    Нажимаешь «Нет» — ничего не происходит.

    На всякий случай вот текст скрипта:

    ‘///////////////////////////////////////////////////////////­///////////

    Sub F5()

    On Error Resume Next

    Set objService = GetObject(«winmgmts:{impersonationLevel=impersonate}!\.
    ootCIMV2»)

    If Err.Number <> 0 Then

    message Err.Number & «: » & Err.Description

    End If

    ‘Исследуем все запущенные процессы на локальном компьютере

    For Each objProc In objService.ExecQuery(«SEL ECT * FROM Win32_Process»)

    ‘Получаем командную строку процесса

    str = objProc.CommandLine

    ‘Ищем в командной строке подстроку «*1Cv77BIN1cv7*»

    If InStr(1, str, «1Cv77BIN1cv7») > 0 Then

    ‘Ищем там же подстроку » ENTERPRISE /M »

    ‘(монопольный режим запуска 1С)

    If (InStr(1, str, » ENTERPRISE /M «) >0) or (InStr(1, str, «DEBUG») >0) Then

    ‘Ищем там же ключ /D»Имя каталога базы»

    If InStr(1, str, «/D»»» & IBDir & «»»») > 0 Then

    ‘Нашли нужный процесс.

    ‘Завершаем процесс

    objProc.Terminate

    ‘Удаляем 1SUSERS.DBF, чтобы 1С не спрашивала про переиндексацию

    Set FSO = CreateObject(«Scripting.FileSystemObject»)

    FSO.DeleteFile IBDir & «1SUSERS.DBF», 0

    End If

    End If

    End If

    Next

    ‘Команда «открыть в предприятии» (F11)

    SendCommand(33876)

    End Sub

    Reply
  96. metaeditor

    надо убрать плагин CloseEnterprise.dll из каталога BINConfig

    Reply
  97. zyto

    Спасибо, помогло!

    Reply
  98. ge_ni

    Здравствуйте! Помогите запустить OpenConf под Windows 7 при запуске regal выдаёт Ошибка (5) и всё. Заранее спасибо!

    Reply

Leave a Comment

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