Внешняя компонента Sundries: несколько полезных системных функций

Звук, пауза, буфер обмена, раскладки клавиатуры и т.д.

Предлагаем внешнюю компоненту для 1С, в которой реализовано несколько небольших, но очень полезных системных функций:

Имя метода Описание
Звук Воспроизводит WAV-файл
Пауза Приостанавливает выполнение текущего потока
ПереключитьРаскладкуКлавиатуры Переключает раскладку клавиатуры
ПолучитьСписокРаскладокКлавиатуры Возвращает доступные коды раскладок клавиатуры
ПоместитьВБуферОбмена Помещает строку в буфер обмена
ПолучитьИзБуфераОбмена Получает строку из буфера обмена
Разрядность Возвращает тип запущенного процесса (32 или 64)
ПолучитьИдентификаторТекущегоПроцесса Возвращает PID процесса 1С
ПолучитьВерсиюФайла Возвращает версию файла в виде xx.xx.xx.xx

 

Компонента выполнена по технологии Native API, предназначена для 1С от версии 8.2.9.356 и выше (8.2 и 8.3 любых версий) для ОС Windows x32 и x64.

Работает с веб-клиентом в браузерах  Firefox и Google Chrome (для версии платформы 1С 8.3.6.2152 и выше).

 

Нужны еще функции? Пишите в комментариях, рассмотрим…

 

Содержание архива:

1. Компонента

2. Исходники С++ (проект VisualStudio)

3. Тестовая конфигурация


Описание методов компоненты

Звук (PlaySound)
Вариант синтаксиса: по имени файла
Синтаксис:
Звук(<ИмяФайла>)
Параметры:
<ИмяФайла>
Тип: Строка
Воспроизводит указанный WAV-файл. Если <ИмяФайла> не указано или равно пустой строке, тогда останавливает текущее воспроизведение.

Вариант синтаксиса: по двоичным данным
Синтаксис:
Звук(<ДвоичныеДанные>)
Параметры:
<ДвоичныеДанные>
Тип: ДвоичныеДанные
Воспроизводит WAV-файл, помещенный в <ДвоичныеДанные>.

Вариант синтаксиса: без параметров
Синтаксис:
Звук()
Останавливает текущее воспроизведение

Возвращаемое значение:
Тип: Булево
Истина – если удалось воспроизвести файл, Ложь – если возникла ошибка.

Описание:
Воспроизводит WAV-файл с помощью функции WinAPI sndPlaySound()

Пауза (Sleep)
Синтаксис:
Пауза(<КоличествоМиллисекунд>)
Параметры:
<КоличествоМиллисекунд>(обязательный)
Тип: Число
Описание
Приостанавливает выполнение текущего потока на указанное количество миллисекунд с помощью функции WinAPI Sleep()

ПереключитьРаскладкуКлавиатуры (ActivateKeyboardLayout)
Синтаксис:
ПереключитьРаскладкуКлавиатуры(<КодРаскладки>)
Параметры:
<КодРаскладки>(обязательный)
Тип: Строка
Описание
Переключает раскладку клавиатуры с помощью функции WinAPI ActivateKeyboardLayout()

ПолучитьСписокРаскладокКлавиатуры (GetKeyboardLayoutList)
Синтаксис:
ПолучитьСписокРаскладокКлавиатуры()
Возвращаемое значение:
Тип: Строка
Доступные коды раскладок клавиатуры (через разделитель «;»)
Описание
Возвращает доступные коды раскладок клавиатуры с помощью функции WinAPI GetKeyboardLayoutList()

ПоместитьВБуферОбмена (SetClipboardData)
Синтаксис:
ПоместитьВБуферОбмена(<Текст>)
Параметры:
<Текст>(обязательный)
Тип: Строка
Описание
Помещает текст в буфер обмена (используя формат CF_UNICODETEXT)

ПолучитьИзБуфераОбмена (GetClipboardData)
Синтаксис:
ПолучитьИзБуфераОбмена()
Возвращаемое значение:
Тип: Строка
Описание
Возвращает текст из буфера обмена (используя формат CF_UNICODETEXT)

Разрядность (Bits)
Синтаксис:
Разрядность()
Возвращаемое значение:
Тип: Число
Описание
Возвращает 32 или 64 в зависимости от типа запущенного процесса 1С.

GetCurrentProcessId (ПолучитьИдентификаторТекущегоПроцесса)
Синтаксис:
ПолучитьИдентификаторТекущегоПроцесса()
Возвращаемое значение:
Тип: Число
Описание
Возвращает PID процесса 1С с помощью функции WinAPI GetCurrentProcessId().

ПолучитьВерсиюФайла (GetFileVersion)
Синтаксис:
ПолучитьВерсиюФайла(<ИмяФайла>, <Версия>, <Подверсия>, <Релиз>, <Сборка>)
Параметры:
<ИмяФайла>(обязательный)
Тип: Строка
<Версия>(необязательный)
Тип: Число
<Подверсия>(необязательный)
Тип: Число
<Релиз>(необязательный)
Тип: Число
<Сборка>(необязательный)
Тип: Число
Возвращаемое значение:
Тип: Строка
Описание
Возвращает версию файла в виде строки x.x.x.x, а также составные части версии в параметрах <Версия>, <Подверсия>, <Релиз>, <Сборка>

7 Comments

  1. VmvLer

    а сама 1С этого всего не умеет и наконец дожили до модных времен — звук и буфер обмена теперь через ВК?

    Reply
  2. palsergeich

    (1)

    а сама 1С этого всего не умеет и наконец дожили до модных времен — звук и буфер обмена теперь через ВК?

    Они говорят что нам это не нужно

    Reply
  3. VmvLer

    (2) Кто они — рептилоиды?

    Reply
  4. swenzik

    в буфер можно вот так копировать

    HTMLОбъект = Новый COMОбъект(«htmlfile»);

    HTMLОбъект.ParentWindow.ClipboardData.Setdata(«Text», СокрЛП(Объект.Номер));

    Reply
  5. palsergeich

    (3) Вендор.

    Темы про звук, паузу были на партнерке не однократно и заканчивались словами: «Вам это не нужно»

    Reply
  6. VmvLer

    (5) Все верно — нам это не нужно.

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

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

    Reply
  7. oleg_km

    Если подключить к 1С .NET по методу Сергея Смирнова, то расширять функционал использования .NET можно будет прямо из 1С, не меняя ВК.

    Например, текущая раскладка:

    Раскладка = бокм_Общие.ПолучитьNET().GetType(«System.Windows.Forms.InputLanguage», «System.Windows.Forms»);

    индекс = ВРег(Раскладка.CurrentInputLanguage.Culture.TwoLetterISOLanguageName);

    или буфер обмена:

    л_БуферОбмена = ПолучитьNET().ПолучитьТип(«System.Windows.Forms.Clipboard», «System.Windows.Forms»);

    Возврат л_БуферОбмена.GetText();

    л_БуферОбмена = ПолучитьNET().ПолучитьТип(«System.Windows.Forms.Clipboard», «System.Windows.Forms»);

    л_БуферОбмена.SetText(п_ТекстБуфера);

    и пр.

    Reply

Leave a Comment

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