Имя: Пароль:
1C
1С v8
Сервер под Centos 6.6 x64
0 yuraid
 
30.09.15
16:58
Работает сервер отлично, но есть парочку косяков:
1. На клиенте появляется ошибка о недостающем шрифте DejaVu-Serif-Book, клиент под Windows
2. Не отрабатывает компонента NameDecl
Как решить данную проблему?
1 Asmody
 
30.09.15
16:59
(0) Шрифты поставить отсюда http://dejavu-fonts.org/wiki/Download
2 Midaw
 
30.09.15
17:01
(0) NameDecl не работает под клиентом линукс?
3 Midaw
 
30.09.15
17:02
4 Exec
 
30.09.15
17:48
(0)
yum install dejavu-serif-fonts -y
ну или погрепай :) в стандартных репах должны лежать
yum list | grep deja
5 Exec
 
30.09.15
17:49
(4) ой, сорь, перепутал сервер с клиентом
6 yuraid
 
01.10.15
08:35
(2) Клиенты все под виндоус, а сервер под линукс. Получается NameDecl локально на виндоус клиентах всё отрабатывает, а в клиент-серверном варианте нет. На клиентах вылетает ошибка что данная компонента не обнаружена.
(1) Шрифты ставить на сервер?
7 yuraid
 
01.10.15
10:21
Вопрос почему не находит шрифт? На linux вроде всё установили из репозитория.

ИнформацияОСистеме = Новый СистемнаяИнформация;
    Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда
        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
    ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
    ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда
        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);        
    Иначе
        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
    КонецЕсли;

    // Создадим объект внешней компоненты
    Компонент = Новый("AddIn.КартинкаШтрихкода.Barcode");

    Компонент.ОтображатьТекст = ВставлятьЦифры;
    
    // Если нет возможности рисовать
    Если НЕ Компонент.ГрафикаУстановлена Тогда
        // То картинку сформировать не сможем
        ТекстСообщения = НСтр("ru = 'Не удалось установить компонент штрихкодирования.'");
        ЗаписьЖурналаРегистрации(
            НСтр("ru = 'Штрихкодирование'"),
            УровеньЖурналаРегистрации.Ошибка,
            , ,
            ТекстСообщения);
        ВызватьИсключение(ТекстСообщения);    
    КонецЕсли;
    
    Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86
        ИЛИ ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда
        Если Компонент.НайтиШрифт("DejaVu-Serif-Book") = Истина Тогда
            Компонент.Шрифт = "DejaVu-Serif-Book";
        Иначе
            // Не удалось подключить шрифт
            ТекстСообщения = НСтр("ru = 'Не удалось подключить шрифт ""DejaVu-Serif-Book"". Необходимо обратиться к администратору.'");
            ЗаписьЖурналаРегистрации(
                НСтр("ru = 'Штрихкодирование'"),
                УровеньЖурналаРегистрации.Ошибка,
                , ,
                ТекстСообщения);
            ВызватьИсключение(ТекстСообщения);
        КонецЕсли;
    Иначе    
        // Если в системе установлен шрифт Arial
        Если Компонент.НайтиШрифт("Arial") Тогда
            // Выбираем его как шрифт для формирования картинки
            Компонент.Шрифт = "Arial";
        Иначе
            // Шрифт Arial в системе отсутствует
            // Обойдем все доступные компоненте шрифты
            Для Сч = 0 По Компонент.КоличествоШрифтов -1 Цикл
                // Получим очередной шрифт, доступный компоненте
                ТекущийШрифт = Компонент.ШрифтПоИндексу(Сч);
                // Если шрифт доступен
                Если ТекущийШрифт <> Неопределено Тогда
                    // Они и будет шрифтом для формирования штрихкода
                    Компонент.Шрифт = ТекущийШрифт;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
8 yuraid
 
01.10.15
10:33
(7) Наверно проблема в том что не подключается Компонент = Новый("AddIn.КартинкаШтрихкода.Barcode"). Как исправить проблему?
9 yuraid
 
01.10.15
10:56
(8) Может нужно какой-нибудь пакет дополнительно установить для linux?
10 yuraid
 
01.10.15
11:33
(9) Может кто-нибудь знает как проверить все ли файлы присутствуют на сервере. Версия 1С 8.3.6.2244
11 Midaw
 
01.10.15
11:41
вроде Barcode есть на ИТС. а это точно все ещё ЗУП хочет Barcode?
12 yuraid
 
01.10.15
12:14
(11) Конфигурация не ЗУП, а ДокументоОборот для РБ. Что за barcode это компонента для linux?
13 yuraid
 
01.10.15
12:15
До установили,кроме ImageMagick ещё gd libzip libpng12
Результат нулевой
14 Midaw
 
01.10.15
12:18
(12) barcode это шрифты и компонента со "штрихкодами". насколько я помню. изначально, есесно компонент под винду.
15 yuraid
 
01.10.15
12:25
(14) Понятно, а для линукс она есть и её нужно устанавливать? Похоже она уже есть в конфигурации или я ошибаюсь ( ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native))?
16 yuraid
 
01.10.15
12:25
(15) Ошибся, ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native)
17 ansh15
 
01.10.15
13:08
(7) Там два решения. Первое - указать в этом фрагменте года другой шрифт, который достоверно установлен, например DejaVuSerif. Второе - взять тот же DejaVuSerif.ttf(если есть), переименовать его в  каком-нибудь редакторе шрифтов в DejaVu-Serif-Book и положить msttcorefonts. После этого можно еще удалить type.xml и перезапустить сервер, чтобы список шрифтов создался заново. Понятно, что оба решения кривые, если речь идет о типовых конфигураиях.
В оригинальном пакете шрифтов dejavu нет шрифта именно с таким именем.
18 yuraid
 
05.10.15
15:37
Проблема со шрифтом отпала, оказалась проблемная конфигурация. Остался вопрос с NameDecl. Ругается программа на отсутствие модуля, хотя модуль точно есть в конфигурации
19 Asmody
 
05.10.15
15:49
(18) А как вы определили, что он есть в конфигурации?
20 AkeHayc
 
05.10.15
15:59
(0) Может проще сделать терминальный сервер на Линукс?
Основная теорема систематики: Новые системы плодят новые проблемы.