ПоказатьОповещениеПользователя("Документ не записан!", "http://doc.ru", "О правилах заполнения документа, читайте здесь!", БиблиотекаКартинок.Важно);
#Если Клиент Тогда Форма = Источник.ПолучитьФорму(); Если Форма.Открыта() Тогда ПоказатьОповещениеПользователя("Ошибка", ПолучитьНавигационнуюСсылку(Источник.Ссылка), "Не указана организация. Невозможно распределить платежи по документам расчетов с контрагентом", БиблиотекаКартинок.Ошибка32); КонецЕсли; #КонецЕсли
WshShell=СоздатьОбъект("WScript.Shell"); WshShell.Popup("Текст сообщения",,"Текст заголовка",20);
//Процедура выводит или убирает сообщение мессенджера и иконку, в зависимости от бПарам Процедура ВывестиСообщениеМессенджера(бПарам = Истина) Экспорт #Если Клиент Тогда сКаталог = СокрЛП(Константы.КаталогПолногоДоступа.Получить())+"БП\MessageService"; ИмяФайла = сКаталог + "\autohotkey.exe"; Файл = Новый Файл(ИмяФайла); ИмяФайлаИНИ = сКаталог + "\autohotkey.ini"; Если бПарам Тогда ИмяФайлаИНИ_Задачи = сКаталог + "\autohotkey_Yes.ini"; Иначе ИмяФайлаИНИ_Задачи = сКаталог + "\autohotkey_No.ini"; КонецЕсли; ФайлИНИ_Задачи = Новый Файл(ИмяФайлаИНИ_Задачи); Если Файл.Существует() И ФайлИНИ_Задачи.Существует() Тогда Попытка КопироватьФайл(ИмяФайлаИНИ_Задачи,ИмяФайлаИНИ); ЗапуститьПриложение(ИмяФайла, сКаталог); Если бПарам Тогда ПараметрыСеанса.бСостояниеМессенджера = Истина; Иначе ПараметрыСеанса.бСостояниеМессенджера = Ложь; КонецЕсли; Исключение КонецПопытки; КонецЕсли; #КонецЕсли КонецПроцедуры
Сервис=СоздатьОбъект("Сервис"); Сервис.РаскладкаКлавиатуры("Russian");
Если (ЗагрузитьВнешнююКомпоненту("NetaTable.dll")=1) Тогда РовнаяТаблица=СоздатьОбъект("AddIn.NTable"); Иначе Предупреждение("Внешняя компонента AddIn.NetaTable НЕ подключена!!!"+РазделительСтрок+"Работа программы невозможна!!!"); СтатусВозврата(0); Возврат КонецЕсли; Процедура ПриНачалеВыбораЗначения(ИдентЭлемента,ФлагОтбора) Если ИдентЭлемента = "Диагноз" Тогда РовнаяТаблица.УстановитьРаскладку(67699721); ИначеЕсли ИдентЭлемента = "ИсточникФинансирования" Тогда РовнаяТаблица.УстановитьРаскладку(68748313); КонецЕсли; КонецПроцедуры
//примеры Sserj Процедура СменитьРаскладку(Реж) //Можно и просто через wrapper.dll //Wrapper = CreateObject("DynamicWrapper"); //Wrapper.Register("USER32.DLL", "ActivateKeyboardLayout", "i=ll", "f=s", "r=l"); //Wrapper.Register("USER32.DLL", "LoadKeyboardLayout", "i=sl", "f=s", "r=l"); //rus = Wrapper.LoadKeyboardLayout("00000419", 0); //eng = Wrapper.LoadKeyboardLayout("00000409", 0); //Если Реж = "RUS" Тогда // Wrapper.ActivateKeyboardLayout(rus, 0); //ИначеЕсли Реж = "EN" Тогда // Wrapper.ActivateKeyboardLayout(eng , 0); //КонецЕсли; Если Не (Константа.ВключатьНамЛоокВТелефонах = Истина) Тогда Возврат; КонецЕсли; wshShell=createObject("wScript.shell"); Если Реж = "RUS" Тогда wshShell.SendKeys("^(8)",0); ИначеЕсли Реж = "EN" Тогда wshShell.SendKeys("^(9)",0); КонецЕсли; КонецПроцедуры // СменитьРаскладку(Реж) //ЕЩЕ //Обновляем хоткеи смены языков, для подмены в полях где нужна английская раскладка текст = СоздатьОбъект("текст"); текст.ДобавитьСтроку("Windows Registry Editor Version 5.00"); текст.ДобавитьСтроку(""); текст.ДобавитьСтроку("[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000100]"); текст.ДобавитьСтроку("""Virtual Key""=hex:39,00,00,00"); текст.ДобавитьСтроку("""Key Modifiers""=hex:02,c0,00,00"); текст.ДобавитьСтроку("""Target IME""=hex:09,04,09,04"); текст.ДобавитьСтроку(""); текст.ДобавитьСтроку("[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000101]"); текст.ДобавитьСтроку("""Virtual Key""=hex:38,00,00,00"); текст.ДобавитьСтроку("""Key Modifiers""=hex:02,c0,00,00"); текст.ДобавитьСтроку("""Target IME""=hex:19,04,19,04"); ИмяФайла = КаталогИБ() + "LangHotKey.reg"; Попытка текст.Записать(ИмяФайла); wshShell=createObject("wScript.shell"); StrComand = "regedit /S " + СокрЛП(ИмяФайла); wshShell.Run(StrComand,1); //Задерживаемся, иначе скрипт не успевает прочитать файл Для Сч=1 По 50000 Цикл КонецЦикла; ФС.УдалитьФайл(ИмяФайла); Исключение КонецПопытки;