Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамСоздание и изменение объект…

1С:Предприятие 8.2 /
Разработчикам /
Создание и изменение объектов метаданных

Оглавление

Особенности разработки конфигураций для ОС Linux

См. также

 

Область применения: управляемое приложение, обычное приложение.

1. В большинстве случаев, в конфигурации не требуется предпринимать каких-либо специальных мер для обеспечения работы конфигурации (клиентское приложение и сервер) на ОС Linux. В этой статье перечислены отдельные рекомендации для специфических случаев, описанных в приложении 7 документации по платформе 1С:Предприятие.

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

2.1. Вместо Windows-технологии COM (объект COMОбъект) следует использовать специализированные кроссплатформенные механизмы платформы:

В остальных случаях следует рассмотреть другие альтернативы технологии COM, работающие в ОС Linux, например, технологию создания внешних компонент Native API.

2.2. Внешние компоненты (клиентские и серверные), поставляемые в составе конфигурации, следует разрабатывать с использованием технологии Native API. Это позволяет создавать внешние компоненты для ОС семейства Windows и ОС семейства Linux, а также для веб-клиента, работающего в веб-браузерах, которые поддерживаются платформой 1С:Предприятие.

В состав внешней компоненты должны входить исполняемые файлы (.so) для 32-разрядной и 64-разрядной ОС Linux. Подробнее о разработке внешних компонент см. документацию по платформе.

2.3. Для механизмов, использующих объект Почта, следует рассмотреть альтернативные варианты:

2.4. Внешний вид элемента управления ПолеHTMLДокумента может отличаться в зависимости от того, в какой ОС – Windows или Linux запущено клиентское приложение. Это связано с тем, что в ОС Linux поле реализовано на основе библиотеки WebKit (вместо Internet Explorer в ОС Windows).

Следует учитывать, что внешний вид и объектная модель HTML-документа (DOM-модель), доступ к которому осуществляется с помощью свойства ПолеHTMLДокумента.Документ, могут отличаться в ОС Linux от таковых при работе в клиентском приложении, работающего на ОС Windows:

Например, неправильно:

Элементы.ПолеHTML.Документ.execCommand("SaveAs");

так как команда «SaveAs» поддерживается не во всех веб-браузерах (см. например: http://help.dottoro.com/larpvnhw.php).

Правильно:

АдресВоВременномХранилище = ПолучитьМакет(...); ПолучитьФайл(АдресВоВременномХранилище, "Инструкция.html");

2.5. Если в составе конфигурации поставляются картинки в форматах WMF и EMF (метафайлы Windows), их следует заменить на растровые, например PNG или JPG.

2.6. Также следует использовать возможности платформы 1С:Предприятие по унификации работы с файловой системой.

2.6.1. В ОС Linux имена файлов регистро-зависимые, поэтому во всех местах кода, который работает с конкретным файлом, его имя (путь) должен указываться в одном регистре.

2.6.2. Не следует указывать разделить пути файла и маску всех файлов вручную (например, «/», «*.*»), для этого необходимо использовать функции ПолучитьРазделительПути и ПолучитьМаскуВсеФайлы.

При использовании в конфигурации Библиотеки стандартных подсистем для работы с именами файлов также рекомендуется использовать функции общего модуля ОбщегоНазначенияКлиентСервер.

3. Для отдельных второстепенных (сервисных) функций прикладного решения допустимо отключать их работу в ОС Linux. Например, для прикладного решения в области торгового учета второстепенными могут считаться возможности по синхронизации данных через прямое подключение с другими программами, по импорту почты из сторонних почтовых клиентов и т.п.

Для этого следует скрывать команды таких механизмов из командного интерфейса программы при работе в ОС Linux, либо (если технически скрыть невозможно) выводить сообщение вида
«<Операция> недоступна при работе в ОС Linux».

Например:

&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) Информация = Новый СистемнаяИнформация; Если Информация.ТипПлатформы = ТипПлатформы.Linux_x86 Или Информация.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда ПоказатьПредупреждение(, НСтр("ru = 'Печать в Microsoft Word недоступна при работе в ОС Linux.'")); Возврат; КонецЕсли; <...> КонецПроцедуры

При использовании в конфигурации Библиотеки стандартных подсистем рекомендуется использовать функцию ОбщегоНазначенияКлиентСервер.ЭтоLinuxКлиент.

См. также


Подписка на новости RSS     Добавьте в закладки Google fusion     Мы в Google+    

 

Мы ВКонтакте

 

Мы на Facebook