НЕТЛЕНКА




Принцип обмена данными из 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. Hadgehogs

    Комментарии где? Вы мне баги, баги давайте! 🙂

    Reply
  2. coder1cv8

    ИМХО, конечно на практике вещь абсолютно бесполезная… 🙂 Но за одну документацию уже можно плюс ставить! 🙂

    Reply
  3. Hadgehogs

    to (2)

    Ну так дурная голова рукам покоя не дает..

    Reply
  4. reboot

    Завтра займусь тестированием 🙂

    Reply
  5. mashinist

    Я так понимю что с 7-кой работать не будет?

    Reply
  6. reboot

    УстановитьПрозрачностьОкна|SetGhostingWindow

    Описание: Выполняет изменение степени прозрачности окна. Не работает для дочерних окон.

    Параметры:

    ДескрипторОкна – 4-х байтное, целое, беззнаковое. Принимает дескриптор окна, для которого будет выполняться снимок.

    СтепеньПрозрачности– 1 байтное, целое, беззнаковое. Принимает степень прозрачности в процен-тах. 0 – окно полностью непрозрачно, 100 – окно полностью прозрачно (фокус ввода и события от клавиатуры отрабатываются).

    Возвращаемое значение: значение не возвращается.

    СкриншотОкна| ScreenShotWindow

    Описание: Выполняет снимок окна и сохранение рисунка в файл с сжатием в формат JPG.

    Параметры:

    ДескрипторОкна – 4-х байтное, целое, беззнаковое. Принимает дескриптор окна, для которого будет выполняться установка прозрачности.

    Качество– 1 байтное, целое, беззнаковое. Принимает качество сжатия рисунка. 100 – максимальное качество, 0 – минимальное качество.

    Возвращаемое значение: значение не возвращается.

    ИмяФайла – строка. Принимает имя файла, который будет создан и будет содержать рисунок.

    Ощибка в документации !!

    Reply
  7. reboot

    СкриншотОкна — как снять весь экран прложения , а не только активное окно?

    Reply
  8. Hadgehogs

    (5) Пока нет. Есть же FormEx!

    Пытался сделать версию под 7.7 — криво пошло, пока отложил.

    (6) Запарился, когда писал. Поправлю

    (7) Надо шотить окно рабочего стола. Добавлю свойство дескриптора рабочего стола.

    Reply
  9. Hadgehogs

    Тут у некоторых расширение не отображается???

    Это Rar архив, если что…

    Reply
  10. Hadgehogs

    (10) ААА, все вспоминал, что еще хотел реализовать.. Просто из головы вылетело.

    Попробую

    Reply
  11. Dziden

    а можно сделать генерацию события при активации окна 1с.

    Reply
  12. Hadgehogs

    Если основного окна — тогда там есть. В обработке галочку поставить надо…

    Reply
  13. vip

    to Hadgehogs

    Вот так плавно весь функционал FormEx у тебя и попросят.

    Неладно, видно, что-то в восьмерочном королевстве…

    Reply
  14. Hadgehogs

    Ну дык, все для фронта, все для победы…

    Reply
  15. Dziden

    Еще вопросик, будут ли исходный код? Ведь использовать никто не будет опасаясь спайваре.

    Reply
  16. Abadonna

    >Ведь использовать никто не будет опасаясь спайваре.

    О как! Народ, кто качнул мои проги — срочно кладите назад :))) Там спайвая до фига

    Reply
  17. coder1cv8

    (10) А зачем для работы с буфером обмена нужны ВК?…

    Reply
  18. Hadgehogs

    А это краснодарские пацаны: Димон и Славик, которые пытаются заставить 1С работать так как надо.

    -Славик, я чето очкую ВК от Hadgehogs-а скачивать..

    -Че ты очкуешь, че очкуешь? Все, давай, погнали…

    -Как бы не облажаться, Славик…

    Исходники не выкладываю:

    1) Пока стыдно за код 🙂 (не структурирован)

    2) Могут появиться алтернативные версии

    3) Выложу, когда закончу/надоест

    Насчет SpyWare гарантии:

    1) Мой честный ник здесь, на Мисте, на Кубани

    2) Не использование сторониих компонент в проекте: только VCL Borland (сильно сомневаюсь, чтобы тут было нечисто), Win API Microsoft (тут нечисто, но так и надо (:-), свой код (тут пучком), чужой код ( анализирован, безопасен)

    3) Блин, ну просканьте порты, если не верите.

    Reply
  19. Hadgehogs

    Это… пишите чего еще надо…

    Reply
  20. Dziden

    напоминаю про событие двойного нажатия на иконке.

    Reply
  21. temp-all

    а можно конфу для 1С 8.1 выложить?

    плиз!!!

    Reply
  22. temp-all

    для 8.1 выложите конфигурацию, пожалуйста

    Reply
  23. Hadgehogs

    (22-23)

    ППЦ

    Меню «Файл->Открыть» выбираем файл с конфой 8.0

    Скажет «Требуется конвертация документа»

    Согласимся.

    Получим конфу формата 8.1

    Жесть?

    Reply
  24. Dziden

    (24) cf в 8.1 не загружается =), обновится можно только с 1cd, а у них видно нет 8.0 =)

    Reply
  25. tormozit

    А где метод получения позиции окна. Установки есть, а получения нету?

    Reply
  26. tormozit

    А можно ли подписаться на событие компоненты? Типа ловить нажатие «.» хочу.

    Reply
  27. serezhenko

    что-то не получается обменяться сообщениями по UDP

    Reply
  28. tormozit

    (26, 27) Нашел.

    Reply
  29. Hadgehogs

    28. Подробней. Есть ли файрвол, попробуйте сниффером порты пощупать.

    Reply
  30. tormozit

    Как получить размеры и положение окна? УстановитьРазмерОкна есть, а ПолучитьРазмерОкна нету.

    Reply
  31. serezhenko

    30. Файрвол отключен. Порекомендуй pls какой нить снифер не сложный

    Reply
  32. Hadgehogs

    Netstat2. Ищите и обрящите…

    Reply
  33. lustin

    1. в документации читаю объект «Addins.TrayIcon» — а объект который удается создать называется «Addin.TrayIcon»

    (так же кстати и со всеми отсальными объектами по моему)

    Reply
  34. lustin

    есть какой нибудь сокровенный смысл в создании пунктов меню в трэе «затененными» (недоступными) ?

    Reply
  35. Hadgehogs

    (34) Ошибся, Addin правильно.

    (35) Не понял вопроса 🙂

    Reply
  36. lustin

    (36)

    у меня простейший код

    Код
    _ТрэйИконка = СоздатьОбъект("Addin.TrayIcon");
    _ТрэйИконка.СоздатьИконку("Это типа иконка в трэе");
    Тест1 = _ТрэйИконка.ДобавитьПунктВМеню(0,"Это типа тестовый пункт меню",1954,1);
    
    Сообщить (""+Тест1);
    

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

    Добавляет пункт меню к иконке — НО пунтк меню НЕДОСТУПЕН

    ЗЫ Может имеет смысл что я всё это дело тестирую на ВинXP

    добавляеи

    Reply
  37. O-Planet

    «ПолучитьДревоОкон» — пАлУбОмУ плюс! 🙂

    Reply
  38. O-Planet

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

    Reply
  39. Hadgehogs

    (37) Фых, я уж мспугался.. Эт у вас семерка, там ето не тестировалось 🙂 Не работает значится..

    7.7 от 8.0 отличаютсь по устройству окон.

    Reply
  40. lustin

    (40)

    ну значит попробую как потестировать функционал на семерке

    кстати вопрос

    трафик по udp сжимается чем нибудь?

    Reply
  41. Hadgehogs

    (41) Нет, не сжимается. Как есть…

    Reply
  42. Hadgehogs

    (42) Надо кстати добавить параметр

    Reply
  43. lustin

    (40)

    только сейчас понял

    а причем тут разница между семеркой и восьмеркой и Виндовым tray’ем

    Reply
  44. Путин

    При работе стал слетать процесс 1сv8.exe в течении дня 2-3 раза. Без видимых причин. Неделю понять не мог в чем трабла. Пока не отключил загрузку компоненты v8add.dll.

    Reply
  45. Hadgehogs

    (45) Какие объекты использовали?

    Reply
  46. Путин

    Пользовался только отловом событий клавиатуры. Компонента загружалась при открытии формы «Рабочее место оператора». Объект «Addins.Events» создавался при открытии формы выбора, и уничтожался перед закрытием. Слет программы происходит в любой момент, если загружена компонента. Независимо от того открыта форма выбора или нет. Т.е. похоже независит от объекта «Events. Весьма жаль, потому как юзеры уже привыкли к функционалу, который был реализован при помощи компоненты.

    Reply
  47. Hadgehogs

    Какая версия Нетленки?

    Какая версия латформы?

    Пришлите код формы подбора…

    Буду ковырять/смотреть

    Reply
  48. Путин

    Версия Нетленки была 2.0

    платформа 1cv8.1.10, режим работы клиент-сервер(!) т.е. компонента загружается на каждом компе, перед загрузкой проверяется условие

    «#если клиент тогда ПодключитьВнешнююКомпоненту()»

    вчера поставил на тестирование нетленку 2.1, хотя ТЕОРЕТИЧЕСКИ проблема может быть и не в компоненте.

    Код вышлю чуть позже (сейчас не на работе)

    Reply
  49. Abadonna

    А зачем столько объектов? Замучаешься их создавать 🙁

    По мне бы лучше объект один, а в нем все методы…

    Но это дело вкуса

    Reply
  50. kraft

    может откроешь код?

    Reply
  51. Hadgehogs

    Код — позже, чуть позже.

    Ну, есть какие-нибудь баги, предложения?

    Reply
  52. lustin

    >> Ну, есть какие-нибудь баги, предложения?

    >> причем тут разница между семеркой и восьмеркой и Виндовым tray’ем

    Предложение всё-таки глянуть почему в семерке не работает

    Reply
  53. Hadgehogs

    1) CRC32 есть

    2) Сохранение/загрузка буфера — сделаю

    3) MXL->JPEG — если MXL открытый формат — сделаю.

    Reply
  54. Hadgehogs

    (56) Что за флуд в тематической ветке? 🙂

    Reply
  55. lustin

    to Hadgehogs

    Вы старательно игнорируете мои вопросы

    Очень инетерсно почему? Я надеюсь просто не все комментарии читаете к своей разработке

    Reply
  56. Hadgehogs

    (58) Помоему там идентификатор меню совпадает с внутренним 1С-овским. Поэтому элементы контекстного меню недоступные, а при проведении по ним курсором — в строке состояния 1С выводится всякая ерунда. Надо ковырять.

    Reply
  57. Hadgehogs

    Всем, кто писал здесь, в контактах, хочу сообщить, что эту неделю я нахожусь в перманентном переезде. Сняли с девушкой квартиру, пустую, счаст обустраиваемся. Компьютера нет, надеюсь купить в выходные (если з/п будет). До этого полтора месяца жили у друзей в условиях жесткой конкуренции между 3 самцами за 1 ноутбук. Поэтому Нетленка 2.2 так долго выходила…

    Поэтому по всем вопросам смогу сказать только после покупки ПК…

    Reply
  58. zag2art

    Держись 🙂

    Reply
  59. mt171

    Использую dll для управления GSM-модемом. Столкнулся с проблемой, что dll не совсем корректно генерирует данные при возникновении внешнего события. При подключении модема я выполняю некоторые предварительные действия, как то: подключаю АОН,устанавливаю параметры СМС,определяю СМС-центр и, при необходимости, выполняю ряд других установок. Взаимодействие с модемом осуществляется следующим образом: я отправляю модему команду типа: «AT+CSCA?» (определение СМС-центра), он мне возвращает типа такого: «+CSCA: «+79037011111″,145» (номер СМС-центра) — это я читаю уже из генерируемого dll внешнего события. Внешнее событие генерится, когда форма не выполняет других действий, поэтому после выполнения первоначальных установок модема (3-4 команды типа вышеуказанной), я начинаю оптом читать ответ модема на мои команды. Проблема заключается в том, что текст генерируемый dll мне приходит в виде ответа на последнюю команду, повторённую столько раз, сколько было команд-установок (в данном случае 3-4 штуки). Если я читаю сразу после установки команды (команда-ожидание 100мс-ответ модема) с помощью ПринятьДанные(), то ответ соответствует отправленной команде, а вот, если читаю оптом, то получается вышеназванная ерунда.

    Reply
  60. mt171

    версия Нетленки — 2.2, версия платформы — 8.1.10.50

    Reply
  61. Hadgehogs

    Попробуйте использовать задержку из

    «Addin.System» команда Спать(150) между каждыми командами. Работа с COM — портом идет отдельным потоком, поэтому внешнее событие успеет сгенериться.

    Если не поможет — сделаю что — то типа общего буфера возврата..

    Reply
  62. stem

    Огромное спасибо!

    Reply
  63. mt171

    (64) Попробовал, к сожалению, не помогает…

    Reply
  64. Wiz@rd

    а возможно добавить перехват открытия любой формы ? (например формы списка документа) ???

    Reply
  65. vladnet

    Можно ли переделать демо конфигурацию под платформу 8.1. 8.0 ведь умерла уже почти. Да и ошибки валятся в демо конфигурации.

    И еще вопрос осуществимо ли для элементов формы узнавать их родительский элемент. Например для ЭлементаУправления, узнать к какому табличному полю он принадлежит, и к какой колонке. Для табличного поля узнать какой форме поле принадлежит?

    Reply
  66. Душелов

    Что-то подобное и я хотел написать… 😉

    Reply
  67. Air777

    идея для нетленки:

    у FormEx для 7.7 была полезная фича:

    «отображение в строке состояния текущего времени и раскладки клавиатуры»

    Для восьмеры ничего подобного нет. Думаю многим было бы полезно. Особенно

    когда работаешь в терминале вещь просто незаменимая.

    Reply
  68. ShoGUN

    Хочу нормальный md5, через ВК? Почему CRC32 есть, а md5 нету?

    А вообще компонента рулит, истинная нетленка 🙂

    Reply
  69. tocv

    http://depositfiles.com/files/9pshei7ox

    нетленка 1с81

    Reply
  70. АЛьФ

    2(73) Это что?

    Reply
  71. tocv

    пост. 68

    Reply
  72. АЛьФ

    2(75) В таком случае ее было бы логичней направить автору с просьбой выложить в проект. Или самому создать свой проект, а не давать ссылку на депозит.

    Reply
  73. Аверков

    Вещь. Автору плюс. Кто-то здесь говорил об обработке события по клику на значке в трее — поддерживаю, было бы очень полезно. Ещё хотелось бы метод, который получает дескриптор активного дочернего окна, а то по заголовку не всегда удобно. Например когда нужно сделать скриншот такого окна.

    Reply
  74. karandashura

    Вылетает 1с (8.1.12.101) после

    Объект.НачатьОтловСобытий(1000);

    в обработке РаботаССобытиями

    Нетленка с

    » tocv 10.02.2009 12:34:58

    http://depositfiles.com/files/9pshei7ox

    нетленка 1с81″

    Reply
  75. Mitay

    (78) У меня то же самое: вылетела тестовая конфа при включении отлова событий

    Reply
  76. mashinist

    эх.. хорошая штука. много полезного можно было бы применить

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

    и тут как у (78) и (79)

    Нажимаю в тестовой конфе и прога тихо закрывается

    Reply
  77. Batchir

    (80) Аналогично, все обыскал, думаю: вот он — отлов нажатий кнопок. Так слетает 1С, обидно.

    Reply
  78. Мастер1С

    Аналогично 80, 81

    А требуется именно отлов нажатий кнопок 🙁

    Reply
  79. Batchir

    Потестил в 2.3 (бета) отлов событий — сейчас вроде работает без вылетов. Правда в своей задаче я уже сделал с помошью АктивИкса, но + поставил.

    ИМХО. Чрезмерная деталихзация событий — «нажал-отжал». Хотелось бы управлять этим. Редко когда нужно будет отлавливать отжатие клавиши, а лишний раз неоправданно вызывать ВнешнееСобытие как то не хочется

    Reply
  80. Hadgehogs

    (83) Параметризуем

    Reply
  81. Мастер1С

    Использую USB сканер, с эмуляцией клавиатуры. Сканированный ШК перехватывается как набор нажатий/отжатий клавиш. Все бы ничего, но часть нажатий/отжатий клавиш пропускается. Например, ШК 4005808231492 возвращается как

    НАЖАТА_КЛАВИША 4. Код клавиши:52

    ОТПУЩЕНА_КЛАВИША 0. Код клавиши:48

    НАЖАТА_КЛАВИША 0. Код клавиши:48

    ОТПУЩЕНА_КЛАВИША 5. Код клавиши:53

    НАЖАТА_КЛАВИША 8. Код клавиши:56

    ОТПУЩЕНА_КЛАВИША 8. Код клавиши:56

    НАЖАТА_КЛАВИША 0. Код клавиши:48

    ОТПУЩЕНА_КЛАВИША 8. Код клавиши:56

    НАЖАТА_КЛАВИША 2. Код клавиши:50

    ОТПУЩЕНА_КЛАВИША 2. Код клавиши:50

    НАЖАТА_КЛАВИША 3. Код клавиши:51

    ОТПУЩЕНА_КЛАВИША 1. Код клавиши:49

    НАЖАТА_КЛАВИША 1. Код клавиши:49

    ОТПУЩЕНА_КЛАВИША 4. Код клавиши:52

    НАЖАТА_КЛАВИША 9. Код клавиши:57

    ОТПУЩЕНА_КЛАВИША 2. Код клавиши:50

    НАЖАТА_КЛАВИША 2. Код клавиши:50

    ОТПУЩЕНА_КЛАВИША Enter. Код клавиши:13

    НАЖАТА_КЛАВИША Enter. Код клавиши:13

    непонятно как разобрать эту последовательность

    Reply
  82. Batchir

    А куда делась версия 3.0? Я успел скачать и уже переделать свою разработку на использование этой версии? Я так полагаю она ушла на доработку. Можно сказать что за глюки обнаружены и когда ждать выхода новой версии?

    Reply
  83. Batchir

    Извиняюсь это версия 2.3 — перепутал.

    Reply
  84. Batchir

    Да по поводу (85), действительно если запушен отлов событий то все внешние события передаются как «КЛАВИАТУРА», в то время как сканирование ШК должно идти как «BarCodeValue». Получается что компоненту можно использовать только в тех формах, где не предусмотрена обработка других внешних событий. Это означает, что при компоненту нельзя использовать при написании интерфейса кассира (мне кажется основное место использования компоненты будут различного рода АРМы)

    Reply
  85. Мастер1С

    (88) Дописываю арм кассира, очень бы хотелось разделить эти два события

    Reply
  86. berezinbp

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

    Было бы очень здорово и совершенно замечательно, иметь возможность передавать массив тех кнопочек, реакция на нажатие которых интересна, а не все подряд. И работало бы быстрее и без гимороя.

    И ещё если можно реализовать ЗакончитьОтлов(). А в остальном работает 2.3 нормально. Тестил на 8.1.13.43 если не ошибаюсь последнем релизе. В табличном поле всё работает и отлавливает. И это позволило управлять Recordsetom и двигать указатель.

    Спасибо !!!

    Reply
  87. Ku2Z

    Искал внешнюю компоненту для обработки событий, нашел эту программу был потрясен! Все здорово, одного не могу понять почему отлов событий обрабатывает только клавиатуру, а событие нажатия на кнопки мыши нет? Заранее спасибо, буду ждать ответа! 🙂

    Reply
  88. Широкий

    Кроме слипа наверно ничего не понадобится.. но все равно плюс

    Reply
  89. bearB

    Вещь полезная. И даже очень. Но что делать с вылетом программы и как преключать клавиатуру на украинский?

    Reply
  90. mikola123

    Вот такой вопрос, а можно ли используя вашу ВК, сменить картинку в окошке, которое появляеться при запукске 1С Предприятие или убрать его совсем?

    Reply
  91. tormozit

    Проверил под обычным пользователем 2.2.1СЕ — не загружается, а под админом загружается.

    Reply
  92. tormozit

    (95) Приношу извинения. Я сам накосячил. Работает без прав админа! Спасибо!

    Reply
  93. tormozit

    У меня загрузка этой супер-полезной компоненты длится 6 сек.

    Помогите диагностировать «болезнь».

    Что я делаю не так?

    Win7 Ultimate x86 + 1c8.1.15.14

    Под Win2003 все быстро грузится.

    Reply
  94. sound

    Судя по дате последнего комментария автора, у него опять переезд 🙂

    Reply
  95. GolDS

    Искал внешнюю компоненту для обработки нажатия клавиш, наткнулся на эту вещь. Действительно хорошая и рабочая вешь! Тестировал НЕТЛЕНКУ 2.3 на 8.1.13.43 — использовал перехват событий и замену заголовка главного окна 1С (без «1С:Предприятия» — удобно когда используется много приложений, в т.ч. куча 1С’ок — сразу видно что открывашь из панели).

    (90) согласен с berezinbp — «Было бы очень здорово иметь возможность передавать массив тех кнопочек, реакция на нажатие которых интересна, а не все подряд. И работало бы быстрее»

    Есть вопрос: «Возможно ли при отлове событий отменять событие, что-то типа Отказа?»

    Reply
  96. Gens76

    А в 8,2 под упр приложение должно работать или нет. Вот у меня ошибочка {ОбщаяФорма.МониторДвижениеТоваров.Форма(51)}: Тип не определен (Addin.Events)

    Объект = Новый («Addin.Events»);

    Reply
  97. spacedragon

    Нашелся явный баг в версии нетленки 2.3. При работе с объектом ком-порт происходит самопроизвольное зависание. На ком-порте сидят весы, на них посылаем команду «типа отдай вес». Так вот при посылке 5, 10 … 3-го сообщения в ком-порт через набор команд виснет наглухо 1С. Внешнее событие не создается.

    Если МассивКодовСимволов.Количество()>0 Тогда

    МассивКодовСимволов.Добавить(13);

    МассивКодовСимволов.Добавить(10);

    БезопасныйМассив = Новый COMSafeArray(МассивКодовСимволов,»VT_UI1″,МассивКодовСимволов.Количество());

    глВесы.ОтправитьДанные(БезопасныйМассив); //Отправляем массив на запись

    Задержка(300);

    КонецЕсли;

    Помогите разобраться. А так компонента хорошая, но глючит и нет описания подробного. Например, непонятно какие еще функции есть у объект ком-порт.

    Reply
  98. devs

    1С:Предприятие 8.1 (8.1.15.14)

    {МодульПриложения(5)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты

    ЗагрузитьВнешнююКомпоненту(«V8ADD.dll»);

    по причине:

    Ошибка при загрузке внешней компоненты

    и «НЕТЛЕНКА_232 и «НЕТЛЕНКА2_2_1(CE)»

    а 2,0 несовместима версия 1са

    Reply

Leave a Comment

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