Включаем звук в 1С. Доступно и всерьез.

03.07.20

Разработка - Математика и алгоритмы

Как сделать воспроизведение звука в 1С без внешних компонентов? Решаем средствами интернета. Для тонкого, толстого и web-клиента.

Скачать файлы

Наименование Файл Версия Размер
Простой вывод звука
.epf 39,25Kb
201
.epf 39,25Kb 201 Скачать
Счеты для 1С
.epf 55,50Kb
80
.epf 55,50Kb 80 Скачать

Статья для старой версии 1С - новая будет в //infostart.ru/public/1259789/

 

 Доброго времени суток в 2015 году!

1. Когда в 1С не было управляемых форм, вывод звука основывался на системных вызовах Windows. Можно было зарегистрировать специальный ActiveX и вызвать его специальную функцию. Например в //infostart.ru/public/85155/используется DynamicWrapperX и следующий код:

Попытка
  DynamicWrapper =Новый COMОбъект("DynamicWrapperX"); 
Исключение
  Объект=ПолучитьМакет("dynwrapx");
  Объект.Записать(КаталогВременныхФайлов() +"dynwrapx.dll");
  КомандаСистемы("regsvr32 dynwrapx.dll",КаталогВременныхФайлов() );
  Предупреждение("Поздравляю теперь и тебя появился звук в 1С"+ Символы.ПС +"Запустите обработку заново", 5);
  Закрыть();
КонецПопытки; 	                                               
DynamicWrapper.Register("winmm.dll", "sndPlaySoundA", "i=su");

Легко заметить, что данная библиотека может зарегистрировать функции не только работы со звуком. И возникает большая опасность, что это может использоваться не только в благих целях. С другой стороны в тонком клиенте или web клиенте доступ к таким компонентам нету. И пользоваться системным вызовом Windows из браузера неполучиться.

2. Поэтому, вооружившись только средствами интернета, будем воспроизводить звуки в 1С. Начнем работать с тэгом audio в html5 http://w3schools.com/html/html5_audio.asp. В интернете у всех уже имеются современные браузеры, и все прекрасно работает. Но мы же будем звучать из 1С. Значит первое что нам надо - это воспроизвести звук в тонком клиенте. Так как поле HTML в 1С работает в режиме совместимости IE7, то мы воспользуемся старый тэгом для IE bgsound. Мы можем хранить звук в виде макетов двоичных данных. И использовать их внутри HTML поля:

//Код для 1С

Данные = ОбъектОбработка.ПолучитьМакет("sound_ball");
АдресЗвука = ПоместитьВоВременноеХранилище(Данные);
url = '"+АдресЗвука+"' 
/* страница HTML */
BGSOUND id='sound_think' balance=0 volume='-5000'
/* И добавить скрипт в страницу */
document.all.sound_think.volume=0;
document.all.sound_think.src = url;


Проверяем работу в тонком и толстом клиенте.
- Windows 7 IE11 (компьютер)
- Windows Vista IE7 (VirtualBox)
- Windows XP IE8 (VirtualBox)
(Проверка на виратуальной машине VirtualBox со звуком, картинки прилагаются, спасибо Microsoft http://loc.modern.ie/ru/virtualization-tools#downloads)

Для понятности сделаем простую внешную обработку для вывод звука(см. ниже). Работает в тонком и толстом клиенте.

Но интересной особенностью этого метода, является то что IE и соответственно 1С не воспроизводит wav файлы, а mp3 легко. Вот вам и собственный формат (http://w3schools.com/html/html5_audio.asp)

 

3. А как нам работать в web клиенте? Правильно, в web клиенте 1С работает все по другому, ближе к современным стандартам. Возьмем в руки тэг audio, попробуем сделать данные во временном хранилище и получим полным облом. Так сделать звук в тонком клиенте не удалось. Но мы используем другой метод, не столь распостраненный. Надо превратить звук в текст. Скажете сказки? Нет читаем спецификации и доделываем (тип данных data:audio/mpeg;base64)

Дополнительная обработка -  бухгалтерские счеты //infostart.ru/public/85155/ Уж больно они мне понравились. Там полностью делаем для всех видов клиентов 1С.

Попробовать их в интернете - пожалуйста http://jsfiddle.net/sikuda/eY8Ba/

 

Р.S.

Статья для старой версии 1С - новая будет в //infostart.ru/public/1259789/

И самое главное не забудьте включить звук в Internet Explorer!

Свойство обозревателя - Дополнительно - Мультимедиа - Воспроизводить звуки на вэб-страницах.

звук audio sound

См. также

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    8107    YA_418728146    6    

134

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    1916    17    progmaster    7    

3

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    15801    125    sapervodichka    111    

128

Система контроля ведения учета [БСП]

Универсальные функции Механизмы типовых конфигураций БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    7124    quazare    8    

108

Хитрости СКД. Часть 3

СКД Универсальные функции Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Столкнулся с тем, что мне приходится писать гору отчетов. Во многих приходится использовать повторяющиеся приемы. Решил написать шпаргалку, которая, надеюсь пригодится не только мне. В этой статье: Объединение ячеек в отчете только на определенном уровне иерархии, Постобработка итогов в табличном документе, Скрытие колонок в зависимости от количества месяцев в периоде.

28.05.2022    9142    milkers    11    

94

Модули общего назначения - готовые полезные функции и процедуры конфигураций на БСП

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной статье я рассматриваю несколько полезных "классических" функций и процедур для работы с данными, которые уже встроены в БСП и готовы к использованию.

25.04.2022    14563    quazare    11    

136

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

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

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

12.11.2021    17264    acces969    95    

148
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Franco 82 31.12.13 10:32 Сейчас в теме
...Надо превратить звук в текст
в Base64, наверное?
3. sikuda 672 31.12.13 11:44 Сейчас в теме
(1) Ну да.
(2) Какой у Вас IE? Здесь работает http://jsfiddle.net/sikuda/gvGY9/ ?
11. postovalov 199 14.01.14 10:53 Сейчас в теме
(3)

IE 9. Проблема была связана с тем, что в свойствах IE был отключено воспроизведение звука.
2. postovalov 199 31.12.13 11:03 Сейчас в теме
Скачал, запустил. Звука нет :(
В чем может быть проблема? - ОС Win Vista
4. DenisKin 20 01.01.14 14:17 Сейчас в теме
Скачал, запустил, все зависло и вылетело ?!
5. sikuda 672 03.01.14 15:11 Сейчас в теме
(4) DenisKin,
Проверил на Windows 7 IE11(реал), Windows 8.1 IE11, Windows Vista IE7, Windows XP IE8(три VirtualBox) если приведете параметры вашей системы - проверю.
6. DenisKin 20 03.01.14 20:58 Сейчас в теме
7. sikuda 672 04.01.14 08:31 Сейчас в теме
(6) DenisKin, Моя основная машина на работе и стационарник дома отлично работают. Не лазили в реестр для улучшения 1С?
15. 2vadmaster 40 21.01.14 15:34 Сейчас в теме
(5) Да работает не плохо - но не стабильно - кликаю много и в какой то момент вылетает 1С с ошибкой ядра. Как сделать плей-лист из звуков?
16. sikuda 672 21.01.14 16:12 Сейчас в теме
(15) 2vadmaster,
Давайте по серьезному, версия Windows, IE, 1C, клиента 1С, обработка "Доступно и всерьез" или Счеты.
Пока не встречал вылетов, кроме компьютеров в которых залезли в реестр доброжелатели.
Если все приведете смогу проверить на виртуальной машине.
22. AlexanderKai 27.02.15 13:10 Сейчас в теме
(15) 2vadmaster,
Предприятие под отладкой из конфигуратора?
Сейчас внедряю DynamicWrapperX в своем проекте и методом плясок с бубном обнаружил, что если запускать обработку без отладки, то все просто идеально. Если из-под отладчика, то получаем постоянные вылеты 1С (в ntdll.dll). Причем вылетает как захочет, а может и не вылететь.
23. sikuda 672 27.02.15 16:41 Сейчас в теме
(15) 2vadmaster, Исправил ошибку повторного нажатия кнопки в толстом клиенте. Проверил в новой версии 1С 8.3.6.
8. пользователь 08.01.14 11:57
Сообщение было скрыто модератором.
...
9. haggart 13.01.14 15:25 Сейчас в теме
Я не пойму где это применить? Это стартовая площадка для 1Сников которые решат писать игрушки на 1С?
10. sikuda 672 13.01.14 17:12 Сейчас в теме
(9) Скорее для звукового сопровождения процесса. Справку или демо пример по программе можно начитать. И пользователь будет сидеть и слушать.
12. cool.vlad4 2 14.01.14 11:35 Сейчас в теме
(10) а какой в этом смысл? эти игрушки и без 1С работают.
13. Gendalf_beliy 14.01.14 11:49 Сейчас в теме
(12) cool.vlad4, ну мало ли. Может у людей на работе в браузере ограничения на некоторые сайты, хотя не уверен точно, не сработают ли эти ограничения в 1с, смотря как их настроили.
14. sikuda 672 15.01.14 14:52 Сейчас в теме
(13) Gendalf_beliy, Если все скрипты перенести в обработку 1С(моя со счетами), то и интернет не нужен.
17. tr75 24.05.14 06:08 Сейчас в теме
Наверно для игр было бы полезно.
18. yura1960 22.06.14 13:05 Сейчас в теме
Ну уж нет. Чтобы я своим юзверям это поставил... Они и так любят радио через Инет слушать. Еще им озвучку ставить...
19. Serge_ASB 25.10.14 11:58 Сейчас в теме
при выполнении ругается на :
{Документ.ВводОстатков.Форма.ФормаДокумента.Форма(175)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Данные = ОбъектОбработка.ПолучитьМакет("sound_ball");
по причине:
Недопустимое значение параметра (параметр номер '1')

И я бы тоже не понял, чего он меня хотят. Где взять (как сделать) этот макет?
20. sikuda 672 06.11.14 09:46 Сейчас в теме
(19) Serge_ASB, Сам скачал обработку с Инфостарта. Проверил в УФ и обячных формах 1С 8.3.5.1186. Все работает. Бинарный макет "sound_ball" в обработке есть. Проверьте что за Документ.ВводОстатков?
И самое главное не забудьте включить звук в Internet Explorer!
21. Serge_ASB 12.11.14 12:49 Сейчас в теме
Решил другим способом:
oVoice = Новый COMObject("SAPI.SpVoice");

oSpFileStream = Новый COMObject("SAPI.SpFileStream");
oSpFileStream.Open(Файл);
oVoice.SpeakStream(oSpFileStream);
oSpFileStream.Close();	
Но - звук есть под "обычной" Виндой - Win 7 или Win 8. А будучи запущенной из-под серверной (когда на сервере стоит SQL и база крутится там) - ругается на
oSpFileStream = Новый COMObject("SAPI.SpFileStream");
anton.fly7; +1 Ответить
24. pri_hod 77 14.03.15 16:06 Сейчас в теме
Тонкий клиент, база на веб сервере, не работает звук. Если через браузер то работает... Как заставить работать в тонком клиенте? 1С:Предприятие 8.3 (8.3.5.1119)
25. sikuda 672 14.03.15 20:51 Сейчас в теме
(24) pri_hod, Честно говоря звук для web-клиенте доделан только в счетах(вторая обработка). Работает даже для Linux клиента(Звук работает, градиент цвета нет). Проверяли именно счеты?
26. InformStandart 11 27.04.17 17:57 Сейчас в теме
Не работает звук под вэб клиентом; подскажите возможные варианты что делать, звук в браузерах включен
27. sikuda 672 28.04.17 10:51 Сейчас в теме
(26) В вэб-клиенте вывод звука происходит совершенно по другому. Галочка в IE там не важна. Только в вэб работает вторая обработка со счетами. Проверил сейчас IE 11 (Режим документов Edge).
28. sikuda 672 28.04.17 10:56 Сейчас в теме
29. unknown181538 150 25.06.20 18:19 Сейчас в теме
IE 11. Не воспроизвелся звук на разных машинах.
То, что "в интернете" пишет, что не поддерживается
30. sikuda 672 26.06.20 11:15 Сейчас в теме

Флажок стоит? А то все забывают.
31. unknown181538 150 28.06.20 02:27 Сейчас в теме
32. sikuda 672 03.07.20 10:56 Сейчас в теме
(31) Да стоит переписать обработочку... Потестируйте - https://yadi.sk/d/Tv5LovYRyMWt-w
unknown181538; +1 Ответить
33. unknown181538 150 03.07.20 17:13 Сейчас в теме
(32) К сожалению, на рабочем сервере не могу полноценно тестануть. Но на локальной машинке с IE 11 заработало! Классно бы, если бы еще ползунок получилось сделать.
34. sikuda 672 04.07.20 15:04 Сейчас в теме
(33) Да в стандартном варианте вообще черный квадрат на элементами управления. И не воспроизводит второй раз.
Первое еще можно преодолеть установив внешний плеер, а с глюками второго воспроизведения вообще непонятно как бороться.
https://yadi.sk/d/QX7PijeBRZzqJQ
unknown181538; +1 Ответить
35. unknown181538 150 04.07.20 18:42 Сейчас в теме
36. sikuda 672 05.07.20 18:26 Сейчас в теме
(35) И если нажать на внутренний play он воспроизводит?
38. unknown181538 150 08.07.20 09:26 Сейчас в теме
(36) ну да, если я правильно понял вопрос
37. sikuda 672 07.07.20 09:14 Сейчас в теме
Сделал работающим, пришлось все переписать https://infostart.ru/public/1259789/
Если есть вопросы - пишите.
Оставьте свое сообщение