Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Аналоги COM объектов для Linux 2 страниц V   1 2 >          
Veizdem Подменю пользователя
сообщение 30.10.14, 13:46
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Ищу аналоги COM объектов для загрузки/выгрузки XML, работы с XSD файлами, а так же аналог COMConnector под ОС Linux. Необходимо все делать без использования wine или windows. Кто что знает по данному поводу?

Сервер 1С на Debian, сервер БД PostgreSQL на CentOS, все клиенты на Kubuntu.

1C версии 8.3.5


Signature
В моих жилах текут нолики и единички...

Vofka Подменю пользователя
сообщение 30.10.14, 14:01
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Технология COM - это технология самой Windows. Если мы говорим о том, что есть какой-то COM объект - это само собой подразумевает то, что речь идет про Windows.

Veizdem Подменю пользователя
сообщение 30.10.14, 14:24
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Цитата(Vofka @ 30.10.14, 14:01) *
Технология COM - это технология самой Windows. Если мы говорим о том, что есть какой-то COM объект - это само собой подразумевает то, что речь идет про Windows.

То, что COM это сугубо плюшка Windows я знаю, меня интересует как те же действия выполнять на Linux, где нет COM объектов.

Вот нашел пример записи XML файла без использования COM:
&НаКлиенте
Процедура ЗаписьДанных(Команда)
    ВыполнитьЗаписьДанных();    
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ВыполнитьЗаписьДанных()
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл("d:\temp\tovar.xml");

    ЗаписьXML.ЗаписатьОбъявлениеXML();

    ЗаписьXML.ЗаписатьНачалоЭлемента("Корневой");

    // Записать атрибут элемента Корневой
    ЗаписьXML.ЗаписатьАтрибут("Справочник", "Номенклатура");

    ЗаписьXML.ЗаписатьКомментарий("Элементы справочника:");

    Выборка = Справочники.Номенклатура.Выбрать();
    Пока Выборка.Следующий() Цикл
        Если Выборка.ЭтоГруппа Тогда
            Продолжить;
        КонецЕсли;
        ЗаписьXML.ЗаписатьНачалоЭлемента("ЭлементСправочника");

            ЗаписьXML.ЗаписатьНачалоЭлемента("Код");
            ЗаписьXML.ЗаписатьТекст(Выборка.Код);
            ЗаписьXML.ЗаписатьКонецЭлемента();

            ЗаписьXML.ЗаписатьНачалоЭлемента("Наименование");
            ЗаписьXML.ЗаписатьТекст(Выборка.Наименование);
            ЗаписьXML.ЗаписатьКонецЭлемента();

            ЗаписьXML.ЗаписатьНачалоЭлемента("Цена");
            ЗаписьXML.ЗаписатьТекст(СокрЛП(Выборка.Цена));
            ЗаписьXML.ЗаписатьКонецЭлемента();            

        ЗаписьXML.ЗаписатьКонецЭлемента();
    КонецЦикла;    

    ЗаписьXML.ЗаписатьКонецЭлемента();
    ЗаписьXML.Закрыть();
КонецПроцедуры


И пример чтения XML файла без того же COM:
&НаКлиенте
Процедура ЧтениеДанных(Команда)
    ФайлXML = Новый ЧтениеXML;
    ФайлXML.ОткрытьФайл("d:\temp\tovar.xml");

    Сообщение = Новый СообщениеПользователю();

    Пока ФайлXML.Прочитать() Цикл
        Если ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
            Сообщение.Текст = ФайлXML.Имя;
            Сообщение.Сообщить();

            Пока ФайлXML.ПрочитатьАтрибут() Цикл
                Сообщение.Текст = "Атрибут: " + ФайлXML.Имя +
                                           " = " + ФайлXML.Значение;
                Сообщение.Сообщить();
            КонецЦикла;      
        КонецЕсли;    

        Если ФайлXML.ТипУзла = ТипУзлаXML.Текст Тогда
            Сообщение.Текст = ФайлXML.Значение;
            Сообщение.Сообщить();
        КонецЕсли;    

        Если ФайлXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
            Сообщение.Текст = "/" + ФайлXML.Имя;
            Сообщение.Сообщить();
        КонецЕсли;    
    КонецЦикла;    

    ФайлXML.Закрыть();
КонецПроцедуры


А такая же реализация но для COMConnector есть?

Так же не нашел, как работать с XSD.


Signature
В моих жилах текут нолики и единички...

Vofka Подменю пользователя
сообщение 30.10.14, 14:57
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(Veizdem @ 30.10.14, 14:24) *
А такая же реализация но для COMConnector есть?

COMConnector-а под Линуксом нету.

Цитата(Veizdem @ 30.10.14, 14:24) *
Так же не нашел, как работать с XSD.

Потому что то, что вы выше привели - это делается средствами платформы. А платформа на 90+% (мне так кажется) работает одинаково и в Виндовсе и в Линуксе. С XSD платформа сама работать не умеет.

Veizdem Подменю пользователя
сообщение 30.10.14, 15:45
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Работать с xml можно двумя способами получается - COM и внутренними средствами платформы, а что-то внутреннее по аналогии для COMConnector не придумано? Идиотизм какой-то... В очередной раз убеждаюсь, что проще было вместо 1С самостоятельно что-то написать...

Получается что для Linux только галочку на сайте разработали, а толку от этого никакого нет.


Signature
В моих жилах текут нолики и единички...

Petre Подменю пользователя
сообщение 30.10.14, 16:21
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Придуманы Web-сервисы.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Veizdem Подменю пользователя
сообщение 30.10.14, 16:54
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Цитата(Petre @ 30.10.14, 16:21) *
Придуманы Web-сервисы.

А как мне их применять, чтобы работая в одной ИБ получить данные из другой ИБ, если они обе физически на одной машине лежат на одном сервере БД и одном сервере 1с? Или как мне это применить чтобы выгнать всех из 1С обработкой?


Signature
В моих жилах текут нолики и единички...

Petre Подменю пользователя
сообщение 30.10.14, 17:07
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Не пойму, какие ограничения могут накладывать "если они обе физически на одной машине лежат на одном сервере БД и одном сервере 1с".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Veizdem Подменю пользователя
сообщение 30.10.14, 18:03
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Цитата(Petre @ 30.10.14, 17:07) *
Не пойму, какие ограничения могут накладывать "если они обе физически на одной машине лежат на одном сервере БД и одном сервере 1с".

Ну в этом случае я спрашивал что мне с этим делать, так как еще ни разу с этим дела не имел. Извините, если не совсем понятно выразился.


Signature
В моих жилах текут нолики и единички...

Vofka Подменю пользователя
сообщение 31.10.14, 9:15
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(Veizdem @ 30.10.14, 18:03) *
Ну в этом случае я спрашивал что мне с этим делать, так как еще ни разу с этим дела не имел. Извините, если не совсем понятно выразился.

Ну так цель озвучьте, пора уже. Вы задали вопрос про COM в Linux - вам сказали, что такого нету. Что вы собираетесь сделать - никому кроме вас из здесь присутствующих неизвестно.

Veizdem Подменю пользователя
сообщение 31.10.14, 10:12
Сообщение #11

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Цитата(Vofka @ 31.10.14, 9:15) *
Ну так цель озвучьте, пора уже. Вы задали вопрос про COM в Linux - вам сказали, что такого нету. Что вы собираетесь сделать - никому кроме вас из здесь присутствующих неизвестно.

Так цель же вот она - как мне организовать обмен данными между двумя разными базами и как делать выброс всех пользователей, включая зависшие сеансы?


Signature
В моих жилах текут нолики и единички...

Vofka Подменю пользователя
сообщение 31.10.14, 11:58
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(Veizdem @ 31.10.14, 10:12) *
как мне организовать обмен данными между двумя разными базами

XML-ем делайте, либо любым форматом на свое усмотрение, в чем проблема? Так же, как выше писали - веб сервисы.

Цитата(Veizdem @ 31.10.14, 10:12) *
как делать выброс всех пользователей, включая зависшие сеансы?

Где-то (на диске ИТС кажется) встречал программный java интерфейс для управления сервером 1С. Вот видимо для счастливых обладателей Линукса его и сделали, чтобы через него можно было программно работать с сервером 1С.

Veizdem Подменю пользователя
сообщение 07.11.14, 11:54
Сообщение #13

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Цитата(Vofka @ 31.10.14, 11:58) *
Где-то (на диске ИТС кажется) встречал программный java интерфейс для управления сервером 1С. Вот видимо для счастливых обладателей Линукса его и сделали, чтобы через него можно было программно работать с сервером 1С.

Порылся на диске, нашел, да есть такая штука на Java, только вот я два дня промучился и не смог даже их пример работать заставить, он мне ошибку "отказ в соединении" выкидывает. И вот как с этим работать?

И ладно бы я не знал что такое Java, но я на ней не один проект сделать успел, до того как пересесть за 1С...

Может быть где-то есть какая-нибудь детальная информация как это все должно работать? JavaDoc предоставляемый в комплекте не дает полного описания того, как это все должно работать.


Signature
В моих жилах текут нолики и единички...

Vofka Подменю пользователя
сообщение 07.11.14, 12:29
Сообщение #14

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Veizdem, я лично, увы, не подскажу как оно работает и работает ли вообще smile.gif

Veizdem Подменю пользователя
сообщение 07.11.14, 12:33
Сообщение #15

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Просто по сути для полного перехода под Linux, без wine, мне осталось только реализовать администрирование сервера, а если еще точнее - автоматическое выбрасывание всех имеющихся в системе сеансов (включая зависшие, так как обычные можно выкинуть просто послав сигнал закрытия клиента) перед началом выгрузк *.dt файла и, возможно, но не обязательно, принудительное удаление зависшего сеанса по надобности. И именно без COM или чего другого, чего нет под Linux. Собственно говоря обмены между базами информацией, включая подгрузку цен из одной базы в документ другой нажатием 1 кнопки уже сделал через web-сервисы, спасибо за подсказку.


Signature
В моих жилах текут нолики и единички...

Acid Подменю пользователя
сообщение 07.11.14, 17:23
Сообщение #16

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

дык сначала убиваете все сеансы, а потом уже 1С-выгрузка.


Signature

Документируйте Код! мать вашу...


Veizdem Подменю пользователя
сообщение 10.11.14, 8:02
Сообщение #17

Говорящий
***
Группа: Пользователи
Сообщений: 96
Из: Кривой Рог, Украина
Спасибо сказали: 10 раз
Рейтинг: 0

Цитата(Acid @ 07.11.14, 17:23) *
дык сначала убиваете все сеансы, а потом уже 1С-выгрузка.

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


Signature
В моих жилах текут нолики и единички...

Vofka Подменю пользователя
сообщение 10.11.14, 9:05
Сообщение #18

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Veizdem, ну а как-то службу сервера перегрузить нельзя? В Windows достаточно сделать батник, который можно либо из 1С дернуть, либо в планировщик заданий поставить.

Acid Подменю пользователя
сообщение 10.11.14, 9:30
Сообщение #19

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

Цитата(Veizdem @ 10.11.14, 9:02) *
Обработочку, которая активные сеансы убивает я сделал, а вот как грохнуть тех, кто просто завис в системе?

Убиваете все сеансы.


Signature

Документируйте Код! мать вашу...


Vofka Подменю пользователя
сообщение 10.11.14, 9:32
Сообщение #20

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(Acid @ 10.11.14, 9:30) *
Убиваете все сеансы.

Бывает так, что сеанс так виснет, что его даже через консоль убить нельзя smile.gif .

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 21:32
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!