Обновление старой Альфа-Авто 5 для работы с ТСД Data Mobile

После штатного объединения конфигураций не нашел, как запустить Data Mobile из Альфа-авто.

Потом покопался и добавил АРМ Data Mobile в общий интерфейс:

Выглядит в режиме Предприятия так:

Поправил обращение к новому объекту платформы ОбрабатываемаяКартинка в модуле ДатаМобайл_ОбщийМодуль:

Пришлось накатать целый модуль сфпСтроковыеФункцииКлиентСервер:

// Устарела. Следует использовать см. СтроковыеФункции.СтрокаЛатиницей
// или см. СтроковыеФункцииКлиент.СтрокаЛатиницей.
// 
// Преобразует исходную строку в транслит.
// Может использоваться для отправки SMS-сообщений латиницей или для сохранения
// файлов и папок, чтобы обеспечить возможность их переноса между разными операционными системами.
// Обратное преобразование из латинских символов не предусмотрено.
//
// Параметры:
//  Значение - Строка - произвольная строка.
//
// Возвращаемое значение:
//  Строка - строка, в которой кириллица заменена на транслит.
//
Функция СтрокаЛатиницей(Знач Значение) Экспорт
	
	Результат = "";
	
	Соответствие = Новый Соответствие;
	СтандартныеПодсистемыКлиентСерверЛокализация_ПриЗаполненииПравилТранслитерации(Соответствие);
	
	ТолькоЗаглавныеВСтроке = ТолькоЗаглавныеВСтроке(Значение);
	
	Для Позиция = 1 По СтрДлина(Значение) Цикл
		Символ = Сред(Значение, Позиция, 1);
		СимволЛатиницей = Соответствие[НРег(Символ)]; // Поиск соответствия без учета регистра.
		Если СимволЛатиницей = Неопределено Тогда
			// Другие символы остаются "как есть".
			СимволЛатиницей = Символ;
		Иначе
			Если ТолькоЗаглавныеВСтроке Тогда 
				СимволЛатиницей = ВРег(СимволЛатиницей); // восстанавливаем регистр
			ИначеЕсли Символ = ВРег(Символ) Тогда
				СимволЛатиницей = ТРег(СимволЛатиницей); // восстанавливаем регистр
			КонецЕсли;
		КонецЕсли;
		Результат = Результат + СимволЛатиницей;
	КонецЦикла;
	
	Возврат Результат;
	
КонецФункции

Функция ТолькоЗаглавныеВСтроке(Значение)
	
	Для Позиция = 1 По СтрДлина(Значение) Цикл
		Символ = Сред(Значение, Позиция, 1);
		Если Символ <> ВРег(Символ) Тогда 
			Возврат Ложь;
		КонецЕсли;
	КонецЦикла;
	
	Возврат Истина;
	
КонецФункции

Процедура СтандартныеПодсистемыКлиентСерверЛокализация_ПриЗаполненииПравилТранслитерации(Правила) Экспорт
	
	// Локализация
	// Транслитерация, используемая в загранпаспортах 1997-2010.
	Правила.Вставить("а","a");
	Правила.Вставить("б","b");
	Правила.Вставить("в","v");
	Правила.Вставить("г","g");
	Правила.Вставить("д","d");
	Правила.Вставить("е","e");
	Правила.Вставить("ё","e"); // АПК:163 требуется транслитерация.
	Правила.Вставить("ж","zh");
	Правила.Вставить("з","z");
	Правила.Вставить("и","i");
	Правила.Вставить("й","y");
	Правила.Вставить("к","k");
	Правила.Вставить("л","l");
	Правила.Вставить("м","m");
	Правила.Вставить("н","n");
	Правила.Вставить("о","o");
	Правила.Вставить("п","p");
	Правила.Вставить("р","r");
	Правила.Вставить("с","s");
	Правила.Вставить("т","t");
	Правила.Вставить("у","u");
	Правила.Вставить("ф","f");
	Правила.Вставить("х","kh");
	Правила.Вставить("ц","ts");
	Правила.Вставить("ч","ch");
	Правила.Вставить("ш","sh");
	Правила.Вставить("щ","shch");
	Правила.Вставить("ъ",""); // Пропускается.
	Правила.Вставить("ы","y");
	Правила.Вставить("ь",""); // Пропускается.
	Правила.Вставить("э","e");
	Правила.Вставить("ю","yu");
	Правила.Вставить("я","ya");
	// Конец Локализация
	
КонецПроцедуры

После этого АРМ Data-mobile открылся:

Среда: Альфа-Авто 5.1.10.09, 1С 8.3.10.2252. Июль 2025

fixin

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

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

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

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