При переходе на клиентов Linux - пропадает возможность использования COM-объектов
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) insurgut,
ну вы подумайте сами - откуда в линкус возмутся механизмы Виндоувс? Нет ни COM, ни каких-либо специфических обращений к графическим длл-ам (например, если у вас работала ВК до этого на виндовых библиотеках) и т.д.
И своего ничего 1С не предложила взамен по обмену, кроме как сливать в файл, и читать его построчно. Зато пять лет переносила 1С на линукс, чтобы поставить галочку "теперь и на линукс". И то только Предприятие, без Конфигуратора.
ну вы подумайте сами - откуда в линкус возмутся механизмы Виндоувс? Нет ни COM, ни каких-либо специфических обращений к графическим длл-ам (например, если у вас работала ВК до этого на виндовых библиотеках) и т.д.
И своего ничего 1С не предложила взамен по обмену, кроме как сливать в файл, и читать его построчно. Зато пять лет переносила 1С на линукс, чтобы поставить галочку "теперь и на линукс". И то только Предприятие, без Конфигуратора.
(1) insurgut, для обмена данными шикарно подходят веб-сервисы (файл обмена проще передавать в виде ДвоичныеДанные). Вызов Обработки.УниверсальныйОбменДанными делается уже из серверного модуля, в который передается ХранилищеЗначения с двоичными даннымии внутри.
Между прочим, соединение устанавливается быстрее, чем ComConnector. На крупных обменах это не заметно, а вот когда передается небольшой объем данных - заметно на глаз.
Между прочим, соединение устанавливается быстрее, чем ComConnector. На крупных обменах это не заметно, а вот когда передается небольшой объем данных - заметно на глаз.
Ну почему без конфигуратора? Я в конфигураторе и настройки базы изменял, и модули правил, и справочники добавлял - в общем - полноценно.
Внешние источники данных вероятно тоже не будут работать? Плохо что нет полного списка того, что пока не работает в клиенте 8.3 под Linux.
Внешние источники данных вероятно тоже не будут работать? Плохо что нет полного списка того, что пока не работает в клиенте 8.3 под Linux.
Особенности разработки конфигураций для ОС Linux и macOS
#std723
Область применения: управляемое приложение, обычное приложение.
1. В большинстве случаев, в конфигурации не требуется предпринимать каких-либо специальных мер для обеспечения работы конфигурации (клиентское приложение и сервер) на ОС Linux и macOS. В этой статье перечислены отдельные рекомендации для специфических случаев, описанных в приложении 7 документации по платформе 1С:Предприятие.
2. Для реализации всех ключевых функций прикладного решения следует использовать возможности платформы 1С:Предприятие по унификации работы на различных операционных системах.
2.1. Вместо Windows-технологии COM (объект COMОбъект) следует использовать специализированные кроссплатформенные механизмы платформы:
Для администрирования кластера серверов 1С:Предприятия, вместо работы с объектной моделью агента сервера через COM-объект v83.ComConnector, следует использовать сервер администрирования (ras) и утилиту администрирования (rac). При работе в macOS утилиты rac и ras недоступны.
Для получения путей к рабочим каталогам, вместо COM-объектов ОС Windows, следует использовать методы глобального контекста РабочийКаталогДанныхПользователя, КаталогДокументов, КаталогВременныхФайлов.
В остальных случаях следует рассмотреть другие альтернативы технологии COM, работающие в ОС Linux и macOS, например, технологию создания внешних компонент Native API.
2.2. Внешние компоненты (клиентские и серверные), поставляемые в составе конфигурации, следует разрабатывать с использованием технологии Native API. Это позволяет создавать кроссплатформенные внешние компоненты для различных операционных систем, а также для веб-клиента, работающего в веб-браузерах, которые поддерживаются платформой 1С:Предприятие. Подробнее о разработке внешних компонент см. документацию по платформе.
2.3. Для механизмов, использующих объект Почта, следует рассмотреть альтернативные варианты:
По переводу на объект ИнтернетПочта;
По разработке внешних компонент для ОС Linux и macOS, которые поддерживают работу с установленными почтовыми клиентами в ОС Linux и macOS.
2.4. Если в составе конфигурации поставляются картинки в форматах WMF и EMF (метафайлы Windows), их следует заменить на растровые, например PNG или JPG.
2.5. Также следует использовать возможности платформы 1С:Предприятие по унификации работы с файловой системой.
2.5.1. В ОС Linux имена файлов регистро-зависимые, поэтому во всех местах кода, который работает с конкретным файлом, его имя (путь) должен указываться в одном регистре.
2.5.2. Не следует указывать разделить пути файла и маску всех файлов вручную (например, «/», «*.*»), для этого необходимо использовать функции ПолучитьРазделительПути и ПолучитьМаскуВсеФайлы.
При использовании в конфигурации Библиотеки стандартных подсистем для работы с именами файлов также рекомендуется использовать функции общих модулей ОбщегоНазначения и ОбщегоНазначенияКлиент.
3. Для отдельных второстепенных (сервисных) функций прикладного решения допустимо отключать их работу в ОС Linux и macOS. Например, для прикладного решения в области торгового учета второстепенными могут считаться возможности по синхронизации данных через прямое подключение с другими программами, по импорту почты из сторонних почтовых клиентов и т.п.
Для этого следует скрывать команды таких механизмов из командного интерфейса программы при работе в ОС Linux и macOS, либо (если технически скрыть невозможно) выводить сообщение вида
«<Операция> доступна только при работе в ОС Windows».
Например:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Информация = Новый СистемнаяИнформация;
Если Информация.ТипПлатформы <> ТипПлатформы.Windows_x86 И Информация.ТипПлатформы <> ТипПлатформы.Windows_x86_64 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать в Microsoft Word доступна только при работе в ОС Windows.'"));
Возврат;
КонецЕсли;
<...>
КонецПроцедуры
При использовании в конфигурации Библиотеки стандартных подсистем рекомендуется использовать функции ЭтоLinuxКлиент, ЭтоMacOSКлиент и ЭтоWindowsКлиент из общих модулей ОбщегоНазначения и ОбщегоНазначенияКлиент.
#std723
Область применения: управляемое приложение, обычное приложение.
1. В большинстве случаев, в конфигурации не требуется предпринимать каких-либо специальных мер для обеспечения работы конфигурации (клиентское приложение и сервер) на ОС Linux и macOS. В этой статье перечислены отдельные рекомендации для специфических случаев, описанных в приложении 7 документации по платформе 1С:Предприятие.
2. Для реализации всех ключевых функций прикладного решения следует использовать возможности платформы 1С:Предприятие по унификации работы на различных операционных системах.
2.1. Вместо Windows-технологии COM (объект COMОбъект) следует использовать специализированные кроссплатформенные механизмы платформы:
Для администрирования кластера серверов 1С:Предприятия, вместо работы с объектной моделью агента сервера через COM-объект v83.ComConnector, следует использовать сервер администрирования (ras) и утилиту администрирования (rac). При работе в macOS утилиты rac и ras недоступны.
Для получения путей к рабочим каталогам, вместо COM-объектов ОС Windows, следует использовать методы глобального контекста РабочийКаталогДанныхПользователя, КаталогДокументов, КаталогВременныхФайлов.
В остальных случаях следует рассмотреть другие альтернативы технологии COM, работающие в ОС Linux и macOS, например, технологию создания внешних компонент Native API.
2.2. Внешние компоненты (клиентские и серверные), поставляемые в составе конфигурации, следует разрабатывать с использованием технологии Native API. Это позволяет создавать кроссплатформенные внешние компоненты для различных операционных систем, а также для веб-клиента, работающего в веб-браузерах, которые поддерживаются платформой 1С:Предприятие. Подробнее о разработке внешних компонент см. документацию по платформе.
2.3. Для механизмов, использующих объект Почта, следует рассмотреть альтернативные варианты:
По переводу на объект ИнтернетПочта;
По разработке внешних компонент для ОС Linux и macOS, которые поддерживают работу с установленными почтовыми клиентами в ОС Linux и macOS.
2.4. Если в составе конфигурации поставляются картинки в форматах WMF и EMF (метафайлы Windows), их следует заменить на растровые, например PNG или JPG.
2.5. Также следует использовать возможности платформы 1С:Предприятие по унификации работы с файловой системой.
2.5.1. В ОС Linux имена файлов регистро-зависимые, поэтому во всех местах кода, который работает с конкретным файлом, его имя (путь) должен указываться в одном регистре.
2.5.2. Не следует указывать разделить пути файла и маску всех файлов вручную (например, «/», «*.*»), для этого необходимо использовать функции ПолучитьРазделительПути и ПолучитьМаскуВсеФайлы.
При использовании в конфигурации Библиотеки стандартных подсистем для работы с именами файлов также рекомендуется использовать функции общих модулей ОбщегоНазначения и ОбщегоНазначенияКлиент.
3. Для отдельных второстепенных (сервисных) функций прикладного решения допустимо отключать их работу в ОС Linux и macOS. Например, для прикладного решения в области торгового учета второстепенными могут считаться возможности по синхронизации данных через прямое подключение с другими программами, по импорту почты из сторонних почтовых клиентов и т.п.
Для этого следует скрывать команды таких механизмов из командного интерфейса программы при работе в ОС Linux и macOS, либо (если технически скрыть невозможно) выводить сообщение вида
«<Операция> доступна только при работе в ОС Windows».
Например:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Информация = Новый СистемнаяИнформация;
Если Информация.ТипПлатформы <> ТипПлатформы.Windows_x86 И Информация.ТипПлатформы <> ТипПлатформы.Windows_x86_64 Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Печать в Microsoft Word доступна только при работе в ОС Windows.'"));
Возврат;
КонецЕсли;
<...>
КонецПроцедуры
При использовании в конфигурации Библиотеки стандартных подсистем рекомендуется использовать функции ЭтоLinuxКлиент, ЭтоMacOSКлиент и ЭтоWindowsКлиент из общих модулей ОбщегоНазначения и ОбщегоНазначенияКлиент.
(14) В ЗУПе есть особо "защищенные" печатные формы, при открытии которой на клиенте запускается виндоусовое приложение и в нем открывается. Соответственно под Линуксом не работает. Обмен, скорее всего, через папку настраивать. Но обмен на сервере происходит, если сервер на Линукс - ком-объектов не будет со всеми вытекающими из этого.
(15)
да, именно так будет: сервер на Линукс.
Может быть подскажете:
при переходе на Линукс - план действий каков?
Как определить что перестанет работать?
Как дорабатывать это?
В Linux нет com-объектов. Значит все, что реализовано com-объектах в типовой конфигурации (например, ЗУП) - нужно дорабатывать?
Как определить - что именно в конфигурации работает на com-объектах?
Может уже есть шпаргалка по переходу на Linux?
сервер на Линукс
да, именно так будет: сервер на Линукс.
Может быть подскажете:
при переходе на Линукс - план действий каков?
Как определить что перестанет работать?
Как дорабатывать это?
В Linux нет com-объектов. Значит все, что реализовано com-объектах в типовой конфигурации (например, ЗУП) - нужно дорабатывать?
Как определить - что именно в конфигурации работает на com-объектах?
Может уже есть шпаргалка по переходу на Linux?
(16)
Развернуть тестовые копии и тыкаться во все подряд, пока на косяк не наткнетесь.
По конфигурации com поищите поиском - вот там и перестанет работать)
Шпаргалка у кого-то, может и есть..
А насчет дорабатывать, может и не нужно... ЗУПы и Бухгалтерии часто обновляются. Мучаться потом с обновлением? Критически важных механизмов не должно быть на ком завязано (по крайней мере, надеюсь на это).
Может быть подскажете:
Не подскажу, только часть клиентов на Линукс сидит, не сервер.
Развернуть тестовые копии и тыкаться во все подряд, пока на косяк не наткнетесь.
По конфигурации com поищите поиском - вот там и перестанет работать)
Шпаргалка у кого-то, может и есть..
А насчет дорабатывать, может и не нужно... ЗУПы и Бухгалтерии часто обновляются. Мучаться потом с обновлением? Критически важных механизмов не должно быть на ком завязано (по крайней мере, надеюсь на это).
(15)
ком-объектов не будет
Эти объекты - это унылое г, которое морально устарело. Ибо они работают внутри одного компьютера, а сейчас сервисы обычно между компьютерами разделяют (ну или в разных докер-контейнерах запускают пусть и на одном физическом компе). И сейчас что-то с чем-то обменивается не через СОМ, а через веб-сервисы. Ну и 1С умеет обмениваться и через веб-сервисы, и через каталоги, включая фтп, от которого даже мелкомягкие отказались, и через СОМ, который пожилые программисты до сих пор юзают направо и налево, т.к. другое уже не в состоянии освоить - слишком много стало технологий.
(15)
при открытии которой на клиенте запускается виндоусовое приложение и в нем открывается
Если в 1С используется "ЗапуститПриложение(ИмяФайла)" (ну или как-то так - не помню, смотреть лень), то оно и в линухе отработает как надо, запустив тот же вьювер PDF (это вполне может быть хром). Так что в этом скорее всего проблем как раз не будет. А вот в путях к файлам, каталогам и т.д. - может быть. Например, при хранении файлов в томах. Нужно будет перенастроить тома и перенести файлы отдельно.
(14)А чего вы боитесь? ЗУП и БП уже кучу лет работают во фреше, который, внезапно, целиком и полностью развернут на линухе.
Ну это речь про типовые.
Доработки да, некоторые товарищи при разработке линух не подразумевают, но они и про клиент-сервер обычно тоже не думают, на файловой работает и ладно)
Ну это речь про типовые.
Доработки да, некоторые товарищи при разработке линух не подразумевают, но они и про клиент-сервер обычно тоже не думают, на файловой работает и ладно)
Не так давно (пол года назад) работал на удаленке в 1С на линуксовом сервере
Впечатления крайне негативные:
- внезапные вылеты из конфигуратора без ошибок
- очень сильные тормоза при отрисовке экрана
- очень плохая работа буфера обмена, постоянно не то и не туда копировалось, по факту было быстрее писать руками если копировать меньше нескольких строк
Я не претендую на истину в последней инстанции, возможно мне попалась какая то неудачная сборка, или как то неправильно было настроено, но это был мой первый опыт работы под линуксом и надеюсь последний.
Как то так.
Впечатления крайне негативные:
- внезапные вылеты из конфигуратора без ошибок
- очень сильные тормоза при отрисовке экрана
- очень плохая работа буфера обмена, постоянно не то и не туда копировалось, по факту было быстрее писать руками если копировать меньше нескольких строк
Я не претендую на истину в последней инстанции, возможно мне попалась какая то неудачная сборка, или как то неправильно было настроено, но это был мой первый опыт работы под линуксом и надеюсь последний.
Как то так.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот