ВК для 1С:Предприятие 8.2 NativeAPI на Delphi - доработанная

10.01.13

Разработка - Разработка внешних компонент

Доработанная версия: http://infostart.ru/public/88060/
Добавлено:
1. Альтернативная "пауза" - с практически нулевой загрузкой на процессор;
2. Счетчик бездействия (определение времени простоя сеанса, работает даже в терминале Citrix)
3. Важное сообщение (выводится в окне 1С сверху-справа красный прямоугольник сообщения);
4. ПолучитьИнформациюОСеансе() - расширенная информация о текущем сеансе 1С (то, чего платформа не умеет).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
v8utils2.zip
.zip 227,88Kb
84
84 Скачать (1 SM) Купить за 1 850 руб.
Исходники
.zip 20,34Kb
62
62 Скачать (1 SM) Купить за 1 850 руб.
v8utils.zip
.zip 226,81Kb
51
51 Скачать (1 SM) Купить за 1 850 руб.


Рекомендую, если не хватает стандартного функционала платформы 1С Предприятие - обратиться к  Miracle Native v8 - по крайней мере, прежде, чем изобретать велосипед разрабатывать нечто своё...

 

Новые методы данной ВК: 

Пауза(мс)

Процедура (метод).

Альтернативная пауза, без нагрузки на ЦП, с нормальной прорисовкой и т.п., мс - число, время бездействия в миллисекундах (обязательный).

НаблюдениеВремениБездействияАктивно

Свойство (чтение и запись). Тип: Булево.

После установки в ИСТИНА начинается подсчет времени бездействия пользователя текущего сеанса. Перед закрытием 1С настоятельно рекомендуется установить данное свойство в ЛОЖЬ;

ВремяБездействияПользователя

Свойство (только чтение). Тип: Число.

Хранит в себе число миллисекунд простоя данного сеанса 1С. Удобно, чтобы автоматически закрывать "забытые" окна стандартными средствами 1С.

ФоновоеСообщение(Заголовок, ТекстСообщения)

Процедура (метод).

Показывает сообщение вверху формы 1С вот так:

 

УбратьФоновоеСообщение()

Процедура (метод).

Закрывает сообщение вверху формы (если оно открыто);

ПолучитьИнформациюОСеансе()

Функция (метод).  

Возвращает строку дополнительной информации о текущем сеансе.

В файле имеется обработка с демонстрацией всех перечисленных возможностей.

 

О Native API

Native API - это новая технология компонент, появившаяся в 1С Предприятие 8. Главные достоинства - не требует регистрации и административных прав, простота разработки.

Основные материалы по теме:

//infostart.ru/public/125913/ - Miracle Native v8 - мощная вещь! Умеет почти всё, что умеют данная и нижеприведенные ВК (графика, мультимедиа, много информации об ОС и терминальной сессии, закрытие терминальных сессий, пара полноценных игр, дополнение функционала платформы 1С, взаимодействие с главным окном 1С Предприятие и открытыми формами, обмен сообщениями между приложениями Windows и между запущенными сеансами 1С, работа с файловой системой, шустрое прямое чтение из XLS-файла, и еще много-много мелких но полезных функций).  

//infostart.ru/public/81644/ - исходники Delphi / Free pascal - основные шаблоны и модули для начала разработки ВК;

//infostart.ru/public/88060/ - исходники Delphi, компонента - основа для данной разработки.

//infostart.ru/public/144151/ -  Delphi, реализация доступа к сокетам. Кто не знает, что такое сокеты - воспользуйтесь интернет-поиском по теме "сокеты в delphi"

//infostart.ru/public/91306/ - Visual C++ 2010, Перехватчик клавиатуры (как я понимаю, глобальный (не только для текущего окна)?..);

//infostart.ru/public/137945/ - Альтернативная реализация функции Сигнал(Beep), ничего сложного, но может и пригодится;

//infostart.ru/public/168241/ - ВК для выполнение запросов SQL к базе данных Firebird

Делитесь ссылками в комментариях - буду пополнять безу компонент на Native API.

В данный момент хотелось бы реализацию утилиты Gold Parser, имеющуюся в Инструментах разработчика и в их мобильной версии.

Обновление от 11.01.2013: Исправлено описание (несправедливость по отношению к Miracle Native - ВК для V8, отмеченная в комментариях к публикации). Обновлена основная обработка тестирования ВК (в соответствии с комментарием 3, спасибо UncleVader).

 

 

 

См. также

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Программист Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18000 руб.

30.05.2017    54225    9    69    

46

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1218    3    4    

3

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77634    73    257    

191

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47500    124    66    

67

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3705    3    0    

5

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    36888    114    127    

115

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2429    bayselonarrend    14    

48

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5100    kovalevdmv    26    

75
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. German 413 04.01.13 23:52 Сейчас в теме
Gold Parser еще и в Ei используется, но как и везде к сожалению только для x32. Сделать ВК там не сложно, просто нужно заняться и тогда будет счастье и на х64
2. German 413 04.01.13 23:55 Сейчас в теме
ВремяБездействияПользователя, а что именно считать бездействием? если документ проводится 3 мин это 3 минуты бездействия?
4. DrAku1a 1752 05.01.13 16:35 Сейчас в теме
(2) Если за это время пользователь не разу не двинул мышью и не нажимал никаких клавиш на клавиатуре - то да!..
3. UncleVader 129 05.01.13 15:14 Сейчас в теме
Авансом +, но хочется иметь полноценную работу в управляемом режиме.
Немного допилил управляемую форму, но часть функционала в ней так и не работает.
Прикрепленные файлы:
ТестВнешнейКомпоненты2.epf
6. DrAku1a 1752 05.01.13 16:43 Сейчас в теме
(3)Что не работает в УФ? Если честно, там почти не тестил - не возникло надобности. Но сделаю. Вот только ФоновоеСообщение() вряд ли будет там работать...

(1) эх... хотя бы исходнички GoldParser.DLL добыть...
7. UncleVader 129 05.01.13 18:37 Сейчас в теме
(6)
Вот только ФоновоеСообщение() вряд ли будет там работать
Как раз вот это и заинтересовало, но только в УФ, жаль если не заработает.
А исходники не планируется выкладывать?
8. DrAku1a 1752 06.01.13 07:38 Сейчас в теме
(7) Да вроде выложил уже - в отдельном файле.
5. DrAku1a 1752 05.01.13 16:39 Сейчас в теме
Реализация контроля "забытых" сеансов состоит из нескольких этапов:
1. Периодический опрос времени бездействия;
2. Вопрос пользователю: "ты тут вообще?" с автоответом "нет" через скажем 600 секунд;
3. Завершение работы и запись в журнал регистрации события;

Если периодический опрос делается штатными средствами 1С (ПодключитьОбработчикОжидания), то он не будет выполнятьчся во время проведения документа или формирования отчета - а только по завершении операции.
9. Abadonna 3970 10.01.13 12:42 Сейчас в теме
(0)
Miracle Native v8 (для любителей поизвращаться приукрасить интерфейсы);

Это ты как-то забавно только на одну часть функционала обратил внимание;)
Класс V8System:
СвойствоИмяКлиентаТерминала – имя компьютера, с которого подключена терминальная сессия
СвойствоСетевоеИмяПользователя – сетевое (а не 1С-овское) имя пользователя
СвойствоВерсия1С – версия движка, на котором запущена база
УстановитьИндикаторРакладки() – устанавливает индикатор раскладки на нижнюю панель главного окна (поддерживает только отображение раскладок RU и EN)
УстановитьТаймер(Интервал:число) – устанавливает таймер на систему с указанным интервалом, мс. Таймеру присваивается идентификатор, равный интервалу.
УдалитьТаймер(ИдентификаторТаймера:число) – удалить таймер с указанным идентификатором
СнимокЭкрана(ИмяФайлаДляСохранения) – делает снимок экрана и записывает картинку JPG в указанный файл
ВремяРаботыWindow():число – количество в минутах после запуска Windows
УстановитьКонтрольАктивности() – устанавливает упрощенную ловушку событий мыши (клик левой/правой кнопками) для оценки активности пользователя в текущем сеансе.
Генерирует внешнее событие LAST_CLICK, данные - количество в минутах после запуска Windows
ЗвукСистемногоДинамика(Частота, Длительность:число) – пискнуть системным динамиком
ВнешнееСобытие(Источник,Событие,Данные:строка) – сгенерировать произвольное внешнее событие
ЕстьПраваАдминистратора():булево – возвращает Истина, если у текущего пользователя 1С есть локальные административные права на данный компьютер
ВерсияФайла(ИмяФайла:строка):строка – возвращает версию exe,dll- файла (если таковая имеется)
Задержка(Время:число) – ненагружающаяпроцессор задержка на указанное время, мс.
СабклассингMDI() – включить сабклассинг, переопределение оконной процедуры окна MDI (только толстый клиент). Позволяет отслеживать рождения/разрушения форм 1С, а так же получать сообщения WM_COPYDATA от внешнего приложения.
Генерирует события:
FORM_CREATE, данные - строка вида Хендл;Заголовок (разделитель точка с запятой)
FORM_DESTROY, данные - строка вида Хендл;Заголовок (разделитель точка с запятой)
WM_COPYDATA, данные – переданные данные из другого приложения
СабклассингГлавногоОкна() – включить сабклассинг, переопределение оконной процедуры главного окна (только управляемое приложение). Позволяет отслеживать рождения/разрушения форм 1С, а так же получать сообщения WM_COPYDATA от внешнего приложения или другого экземпляра 1С
Генерирует события:
SDIFORM_CREATE, данные - строка вида Хендл;Заголовок (разделитель точка с запятой)
SDIFORM_DESTROY, данные - строка видаХендл;Заголовок (разделитель точка с запятой)
WM_COPYDATA, данные – переданные данные из другого приложения
ЗапуститьОтИмени(КоманднаяСтрока,ИмяПользователя,ИмяДомена,Пароль:строка) – запустить внешнее приложение, например, от пользователя с административными правами
Примечание: аналогично интерактивной команде «Запуск от имени…»
ЗапуститьИПодождать(КоманднаяСтрока,Параметры:строка,РежимПоказа:число) – запустить приложение, обозначенное в командной строке, с указанными параметрами. Режим показа – как показывать окно.
Примечание: практически аналогична оператору ЗапуститьПриложение(), но с вариантами показа окна запускаемого приложения.
МежпроцессноеТекстовоеСообщение(Хендл:число,Сообщение:строка) – послать сообщение внешнему приложению, в т.ч. другому экземпляру 1С.
Ваше приложение должно уметь обрабатывать сообщение WM_COPYDATA.
УстановитьЛовушкуМыши() – устанавливает ловушку на мышь.
ОтключитьЛовушкуМыши() – отключает ранее установленную ловушку
УстановитьЛовушкуКлавиатуры() – устанавливает ловушку на клавиатуру
При действиях с клавиатурой генерируются внешние события WM_KEYUP и WM_KEYDOWN
Данные – код клавиши
ОтключитьЛовушкуКлавиатуры() – отключает ранее установленную ловушку
УстановитьРасширеннуюЛовушкуКлавиатуры(БлокируемыеКлавиши:многострочная строка) – устанавливает ловушку на клавиатуру с блокировкой необходимых клавиш
БлокируемыеКлавиши – многострочная строка с кодами клавиш, которые необходимо блокировать.
При действиях с клавиатурой генерируются внешние события WM_KEYUP и WM_KEYDOWN
Данные – код клавиши
СписокТерминальныхСессий():многострочная строка. Возвращает многострочную строку со списком терминальных сессий. Каждая строка имеет вид:
ИдентификаторСессии;СетевойПользователь;СетевойКомпьютер;IP
ЗакрытьТерминальнуюСессию(ИдентификаторСессии:строка)- Закрывает сессию с указанным
Показать

Не говоря уж о классе V8Files ;)
10. DrAku1a 1752 10.01.13 15:29 Сейчас в теме
(9) ну да, согласен, недооценил! Прошу прощения! Дайте краткое описание - поправлюсь в статье.
11. Abadonna 3970 10.01.13 15:43 Сейчас в теме
(10) Описание в архиве и тут http://dev.1tsm.ru/project/148 и на ИС также.
Ваще-то она умеет практически все то, что заявлено у этой ВК + еще много чего ;)
И давно уже умеет
12. DrAku1a 1752 10.01.13 17:04 Сейчас в теме
(11) Перечитал весь перечень процедур в "MiracleNative ОПИСАНИЕ.doc" из архива на ИС. Впечатляюще!
Хотя, что касается системы - по большей части плюшки из какой-нибудь "Базы знаний Delphi" типа DRKB или типа того, но ведь их действительно тупо нету в 1С. Но у Вас есть и то, что добыто явно личным упорным трудом - изучая внутренности платформы 1С. Кроме того, как я понимаю, всё работает и в обычном и в управляемом приложении... Круто! Очень круто!
ВремяРаботыWindow():число – количество в минутах после запуска Windows
это смаливает на опечатку в названии метода ;-)

Но все-же не нашлось:
1. Методов СОН или ПАУЗА (я невнимательно читал?)
2. Счетчика бездействия для контроля неактивного сеанса (хотя его можно организовать с помощью имеющихся методов отлова событий мыши и клавиатуры).

И еще...
При написании своей ВК, я старался как можно меньше непосредственно взаимодействовать с платформой 1С, в частности с главным окном - я стараюсь сохранить целостность и стабильность платформы (и без того шаткую). Однако,ПоказатьФоновоеСообщение выводит сообщение внутри окна 1С (просто за пределами MDI-фрейма) и использует таймер для позиционирования окна (внутренними средствами delphi).
Ваша же компонента, как я понимаю, активно внедряется в интерфейсы окон 1С (а иначе такой функционал не реализовать) - а после этого система работает стабильно?..
14. Abadonna 3970 10.01.13 18:39 Сейчас в теме
(12)
ПАУЗА

Задержка(Время:число) – ненагружающая процессор задержка на указанное время, мс.

ПоказатьФоновоеСообщение

СообщениеТрейИконки(ТекстСообщения:строка,ВремяПоказа:число)
Выводит трей- баллун с указанным сообщение на определенное время, сек.
Если ВремяПоказа=0 - на 60 сек.

Оповещение (ТекстЗаголовка,ТекстСообщения,ИмяФайлаКартинки:строка,ВремяПоказа,ЦветОкна:число)
Выводит окно оповещения по типу окна от 1С ПоказатьОповещениеПользователя() на время= ВремяПоказа, сек. Если ВремяПоказа=0 – до закрытия пользователем. При нажатии на текст окно оповещения закрывается и генерирует внешнее событие DESKTOP_ALERT_CLICK, данные – текст сообщения.

СоздатьСообщениеПользователю(ТекстСообщения:строка) – создает отдельное окно с сообщением пользователю.
СоздатьИнформОкно(ТекстСообщения:строка,ВремяПоказа:число) – создает отдельную форму информации (по типу, как в AIMP последних версий), располагающуюся вверху экрана.



Счетчика бездействия для контроля неактивного сеанса

УстановитьКонтрольАктивности() – устанавливает упрощенную ловушку событий мыши (клик левой/правой кнопками) для оценки активности пользователя в текущем сеансе.

Генерирует внешнее событие LAST_CLICK, данные - количество в минутах после запуска Windows

Соответственно и ВремяРаботыWindows - в минутах, для удобства. Оценивать неактивность в мс или сек - просто элементано неудобно.
Кстати, в тестовой базе, все эти методы задействованы.
а после этого система работает стабильно?..

А спроси у скачавших MiracleV8: Расширенная версия :)))
Я такие ВК пишу года эдак с 2002...
И никогда не публикую (и не пользую), что нестабильно
15. DrAku1a 1752 10.01.13 18:49 Сейчас в теме
(14) Спрашиваю! Народ, отпишитесь, кто тестил - особенно, если падало!.. У меня - ни разу, но пробовал только на толстом брате...
УстановитьКонтрольАктивности() – устанавливает упрощенную ловушку событий мыши (клик левой/правой кнопками) для оценки активности пользователя в текущем сеансе. Генерирует внешнее событие LAST_CLICK, данные - количество в минутах после запуска Windows
Счетчик бездействия - ловит не только нажатия мыши, но и малейший сдвиг курсора или нажатие клавиш на клавиатуре.
Кстати, публикацию обновил - теперь с рекламой ВК Miracle (с нее собственно и начинается).
16. Abadonna 3970 10.01.13 18:56 Сейчас в теме
(15)
ловит не только нажатия мыши, но и малейший сдвиг курсора или нажатие клавиш на клавиатуре.

Отказался еще на заре. Юзверь (обычный) обязательной мышью кликнет, если что-то делает.
И уж тем более на сдвиг его "ловить"... Ну, двиганул, случайно.
P.S. Пресловутая тетя Маша запустила 1С сама не знает зачем (на всяк случай), потом бумажки перебирала или пыль со стола стирала - вот тебе и сдвиг ;)
У меня - ни разу, но пробовал только на толстом брате...

Ты, видать, Native тестил, а я про COM - MiracleV8, а той уж сто лет в обед. А Native, как и написано в описании,
наследница вышеупомянутой. Да еще я до фига от предка выкинул, хотя бы потому, что та еще и 7.7 поддерживала.
И оставил в Native только то, что мне действительно надо.
18. DrAku1a 1752 10.01.13 19:20 Сейчас в теме
(16) Одна пресловутая тетя Маша - один сеанс, погоды не делает... Да и все равно через какое-то время будет отключена. Так то я выкидываю в основном тех, кто на ночь открытой 1С-ку оставляет... Еще и в журнал регистрации записываю событие - потом таких наказываю.
19. Abadonna 3970 10.01.13 19:25 Сейчас в теме
(18)
кто на ночь открытой 1С-ку оставляет...

Дык и я про то же! Если на ночь оставил, контроля клика вполне достаточно.
А я всех гадов на пару часов сажаю (а иногда и на полчаса), ибо не фиг:)) А то родные проггеры в нашей родной базе и то умудряются "забыть".
20. DrAku1a 1752 11.01.13 02:02 Сейчас в теме
(19) Аналогично. Хотя у нас на ночь прогеры порой важные расчеты оставляют...
13. DrAku1a 1752 10.01.13 17:09 Сейчас в теме
(11) Кстати, а исходники, как я понимаю, закрыты? ;-)
17. Abadonna 3970 10.01.13 19:20 Сейчас в теме
(0) Плюс ставить не буду, а то скажут "за что кукушка..." :)))
Но в уме плюс, полный одобрямс!
21. CaSH_2004 374 16.01.13 18:13 Сейчас в теме
+ за профессиональное и доступное оформление/описание
> Я так понимаю ФоновоеСообщение (Заголовок, ТекстСообщения) не имеет никаких настроек типа ЦветФона, Картинка, Параметры шрифта? Всегда будет как на рисунке? Что за зеленая стрелка справа?
> Было бы удобно если были бы скриншоты результатов всех функций
23. DrAku1a 1752 14.03.13 07:29 Сейчас в теме
(21) Настроек действительно нет никаких - реализовано только так, как на картинке. Но ведь исходники прилагаются - никто не мешает Вам это дело исправить ;-)
(22) ни 1, ни 2 не реализовано - но вроде, реализовать то не сложно... но я бы для таких целей использовал VBScript...
24. yuraos 1006 14.03.13 15:14 Сейчас в теме
(23)

ни 1, ни 2 не реализовано - но вроде, реализовать то не сложно... но я бы для таких целей использовал VBScript...


а можно по-подробнее в порядке ликбеза
:)
22. yuraos 1006 14.03.13 07:19 Сейчас в теме
Я смотрю тут всякие вкусности реализованны,
что-то навроде FormEx.dll для 1с-7.7

Люблю интерфейсные плюшки!
Их так не хватает в 1С, особенно в управляемом интерфейсе.

Скажите
1) Может ли ваша ВК управлять расположением окна формы?
Ширину и высоту ее изменять можно,
Но иногда хочется вершний левый угол окна подогнать
к какому-нибудь из элементов управления в другом окне.
2) Мне не нравится как отрабатывается метод Форма::ВыбратьИзМеню().
Список выбора выравнивается по верхнему левому углу
элемента управления, для которого метод вызывается.
Иногда хотелось бы видеть его около курсора мыши,
аналогично варианту без привязки к элементу управления
у метода Сервис::ВыбратьЗначение() у ВК FormEx.dll.
25. babylon_5 55 29.04.13 18:45 Сейчас в теме
А можно в ВК добавить возможность отправлять какое-либо значение на LPT? Чтобы определенную линию данных порта на какое-то время переключить 0-1.
26. kentavr27 97 17.10.14 00:04 Сейчас в теме
Чего-то я недопонял...
выложено 2 архива (не считая исходников). v8utils2.zip и v8utils.zip
Обработки в этих архивах разные, но DLL-ки абсолютно одинаковые (от 24.09.2012 15:35 размер то же одинаковый)
Если "Обновление от 11.01.2013" то чего ж файл 12-ым годом датирован?
Обработки изначально нерабочие (смотрю в управляемом приложении)
{Форма.ФормаОтчета.Форма(25)}: Ошибка при вызове метода контекста (ПоместитьВоВременноеХранилище)
АдресВК = ПоместитьВоВременноеХранилище(ОбъектВК, ЭтаФорма.УникальныйИдентификатор);
по причине:
Переданное значение не может быть помещено во временное хранилище

Сделал через переменную модуля. Дошли до паузы... Метод объекта не обнаружен (Пауза)
ОбъектВК.Пауза(3000);
Бездействие: Поле объекта не обнаружено (НаблюдениеВремениБездействияАктивно)
Фоновое сообщение: Метод объекта не обнаружен (ФоновоеСообщение)
Инфо о сеансе: Метод объекта не обнаружен (НомерСоединенияИнформационнойБазы)

Это как? Не ту версию выложил, или это шутка такая была?
27. DrAku1a 1752 17.10.14 02:01 Сейчас в теме
(26)
Если "Обновление от 11.01.2013" то чего ж файл 12-ым годом датирован?
DLL-ка не изменялась.
Что касается тонкого клиента - там совершенно другая система поставки ВК (нужно делать комплект для Windows+Linux+Плагины для браузеров + описание всего этого в XML), но 1С не выдает ошибку при попытке зарегестрировать ВК - она просто возвращает неопределено.
28. kentavr27 97 17.10.14 17:16 Сейчас в теме
(27) да она регистрируется, вот только во временное хранилище помещать такой объект нельзя. А как на счет отсутствия вышеперечисленных методов? (и в тонком, и в толстом поведение одинаково)
29. DrAku1a 1752 18.10.14 02:56 Сейчас в теме
(28) kentavr27, протестировал в толстом клиенте - все методы есть и работают. Проверяйте, что возвращает
ОбъектВК = Новый("AddIn.DemoLib.ExecExtention")
если неопределено - то надо разбираться в причинах, почему 1С не грузит компоненту.
Прикрепленные файлы:
30. Omicron 03.12.15 08:27 Сейчас в теме
Вдруг тут ещё кто-то есть.
Я хотел воспользоваться компонентой для отслеживания времени простоя сеанса, но либо она не предназначена для этого, либо я не понимаю, что нужно делать.
"Глобально" объект компоненты никак ведь не объявить. Если опрашивать её в ОбработчикеОжидания(), то экземпляр каждый раз создаётся новый.

Делал примерно такой код:
	АдресХранилищаКомпоненты = Инициализация.ПодключитьКомпонентуСервер();
	ПодключитьВнешнююКомпоненту(АдресХранилищаКомпоненты, "DemoLib");
	Компонент = Новый ("AddIn.DemoLib.ExecExtention");
	Компонент.НаблюдениеВремениБездействияАктивно = Истина;
	ВремяПростояРазрешённое = 15;
	ВремяПростояНакопленное	= Инициализация.ВернутьВремяПростоя(); 
	ВремяПростояТекущее = Компонент.ВремяБездействияПользователя; 
	Если ВремяПростояТекущее + ВремяПростояНакопленное > ВремяПростояРазрешённое Тогда 
		Инициализация.УстановитьВремяПростоя(0);
		ЗаблокироватьРаботуПользователя();
	Иначе
		Инициализация.УстановитьВремяПростоя(ВремяПростояНакопленное + ВремяПростояТекущее);
	КонецЕсли;
Показать


Время простоя пишется в параметр сеанса.
В момент вызова метод ВремяБездействияПользователя возвращает 0.
Что я делаю не так?
31. DrAku1a 1752 04.12.15 03:47 Сейчас в теме
(30)
"Глобально" объект компоненты никак ведь не объявить.

На форме - можно попробовать так:
&НаКлиенте;
Перем Компонент;

32. Omicron 07.12.15 06:34 Сейчас в теме
(31) Да. Но не прописывать же объявление компоненты во всех формах конфигурации.
Я думал, можно как-то инициализировать её при начале работы системы, чтобы она постоянно работала и подсчитывала время простоя сеанса пользователя, а в ОбработкеОжидания я бы это время получал, но, похоже, это невозможно.
33. DrAku1a 1752 08.12.15 02:40 Сейчас в теме
(32) Может, сделать для неё глобальную переменную в модуле сеанса управляемого приложения?
Оставьте свое сообщение