Звуки сканирования при инвентаризации. Розница 2.3

Клиент захотел, чтобы при инвентаризации раздавался звук, если товар не найден.

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

Расширение в модуль ПодключаемоеОборудованиеРТКлиент, чтобы работало из документа Пересчет товаров и других:


&Вместо("ЗавершитьОбработкуДанныхПоКодуКлиент")
Функция дор_ЗавершитьОбработкуДанныхПоКодуКлиент(Форма, СтруктураПараметровКлиента, ИмяТабличнойЧасти)
	
	ИдентификаторСтроки = ПродолжитьВызов(Форма, СтруктураПараметровКлиента, ИмяТабличнойЧасти);
	
	Если ИдентификаторСтроки <> Неопределено Тогда
		ИмяФайла = КаталогДокументов() + "scanOK.wav";
	Иначе
		ИмяФайла = КаталогДокументов() + "scanERROR.wav";
	КонецЕсли;
	
	Ф = Новый Файл(ИмяФайла);
	Если Ф.Существует() Тогда
		ПроигратьЗвук(ИмяФайла); 
	КонецЕсли;

	Возврат ИдентификаторСтроки;
КонецФункции

&НаКлиенте
Процедура ПроигратьЗвук(ИмяФайла) Экспорт
	oVoice = Новый COMObject("SAPI.SpVoice");
	oSpFileStream = Новый COMObject("SAPI.SpFileStream");
	oSpFileStream.Open(ИмяФайла);
	oVoice.SpeakStream(oSpFileStream);
	oSpFileStream.Close();
КонецПроцедуры

Для ошибки я использовал звук сирены из Among US.

Файлы scanERROR.wav и scanOK.wav должны быть расположены в папке «Мои документы» на компьютере пользователя.

Как проигрывать звуки в 1С, посмотрел здесь.

Розница 2.3.4.31. Объем 1 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 2

  1. rzd:

    Все очень медленно

Добавить комментарий

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