Довідковий матеріал

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

<em>Область застосування: керований застосунок, звичайний застосунок.</em>Див. також

Кросплатформна архітектура: єдиний набір модулів проходить через універсальний міст між середовищами Linux і Windows, поруч показано файлову систему, вебкомпонент і пошту.

Див. також

 

Область застосування: керований застосунок, звичайний застосунок.

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

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

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

  • Для адміністрування кластера серверів 1С:Підприємства, замість роботи з об'єктною моделлю агента сервера через COM-об'єкт v83.ComConnector, слід використовувати сервер адміністрування (ras) та утиліту адміністрування (rac).
  • Для отримання шляхів до робочих каталогів замість COM-об'єктів ОС Windows слід використовувати методи глобального контексту РабочийКаталогДанныхПользователя, КаталогДокументов, КаталогВременныхФайлов.

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

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

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

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

  • Щодо переходу на об'єкт ИнтернетПочта;
  • Щодо розробки зовнішніх компонент для ОС Linux, які підтримують роботу зі встановленими поштовими клієнтами в ОС Linux.

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

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

  • Задіювати лише стандартні елементи DOM-моделі, доступні в усіх варіантах роботи.
  • Під час підготовки HTML-вмісту орієнтуватися на стандарти веброзробки — не слід використовувати методи та властивості, специфічні для конкретного веббраузера.

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

Элементы.Поле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Клиент.

Див. також

  • Загальні вимоги до конфігурації
  • Глава "33. Особливості розробки кросплатформних прикладних рішень" документації з платформи 1С:Підприємство
Записатися телефоном