Форум ДИЦ

Пользовательский и Дилерский форум ДИЦ
Текущее время: Сб авг 19, 2017 1:23 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проекты Турбо9 на GitHub
СообщениеДобавлено: Пн июн 08, 2015 5:18 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
Собираем разработки на Турбо9, выложенные на GitHub

Это тема для обсуждения самих наработок.
Тема для обсуждения процесса работы на GitHub: viewtopic.php?t=9625

ТБ.Бюджет:
XMLRPC - инструментарий для доступа к веб-сервисам.
https://github.com/TB-Budget/T9_XMLRPC

АдресК - расширение функциональности адреса на основе ФИАС и веб-сервиса
https://github.com/TB-Budget/AddressK

TUL - Turbo Utilities Library. Вспомогательные функции и классы. В том числе: функциональная идиоматика, прототипы асинхронного выполнения etc.
https://github.com/TB-Budget/TUL

Т9_Тесты - инструментарий для описания спецификаций тестирования и создания протокола выполнения тестов.
https://github.com/TB-Budget/T9Testing

_________________
Turbo9 Open Source Initiative


Последний раз редактировалось Scondo Пн май 30, 2016 5:43 pm, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Пн июн 08, 2015 5:20 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
Создали новый проект (см. в шапке).

Ряд элементов в XMLRPC и АдресК переведён на функциональную идиоматику, соответственно новый проект (TUL) является для них необходимой зависимостью.

_________________
Turbo9 Open Source Initiative


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Пн июн 08, 2015 11:11 pm 
Не в сети

Зарегистрирован: Пт апр 16, 2004 5:11 pm
Сообщения: 5864
Откуда: OpenFly Soft Technology, Москва
Напомните, пожалуйста, сценарии использования Ваших проектов.

_________________
www.TurboFlyERP.ru


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Чт июн 11, 2015 2:19 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
XMLRPC, как и написано, служит для доступа к имеющимся веб-сервисам. Ну и для работы с сериализацией как побочный эффект.
Сейчас полностью реализован протокол XML-RPC, в планах JSON-RPC, по возможности SOAP.
Есть некоторые инструменты по работе с REST-представлениями.

Сейчас предполагается в основном применения для собственных веб-сервисов, поскольку реализации XML-RPC существуют в большом числе языков. По мере реализации того же SOAP - можно будет использовать для доступа к сервисам ЦБ, например.
Впрочем, часть сервисов ЦБ доступна как REST, например курсы валют:
Код:
  var map: XMLMapper;
  var subres:Storage;
  var valList:Storage[];
  -- Описываем парсер
  map = XMLMapper.Create;
  map.fields[1] = MapperNode.Create;
  --Массив валют
  map.fields[1].nodename = "Valute";
  map.fields[1].fieldname = "Valute";
  map.fields[1].nodekind = 1;
  map.fields[1].repeatable = True;
  map.fields[1].nodetype = XMLMapper.Create;
  -- Прописывать типы смысла нет - все строки
  -- Даже курс: у него нестандартный разделитель
  map.fields[1].nodetype.allowreflection = true;
  subres = SimpleRestGet.CreateEx('http://www.cbr.ru/scripts/XML_daily_eng.asp?', map).Call(['date_req=11/06/2015']).Get;
  valList = subres.Valute;
  --Можем найти конкретную валюту
  valList = Tul.FuncTools.Filter(Tul.EvalObject.CreateEx('Charcode = "USD"'), valList);
  -- И вывести курс (на забываем: это строка с разедлителем - запятой)
  Trace(valList[1].Value);



АдресК - всё ещё экспериментальный проект по использованию ФИАС, как раз через самописный веб-сервис.
Чуть больше уровней адресации, чем в КЛАДР. Запросы пока медленные, зато асинхронные.

Ну а TUL - это просто утилиты типа фильтрации в примере выше.

_________________
Turbo9 Open Source Initiative


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Чт июн 11, 2015 4:04 pm 
Не в сети

Зарегистрирован: Пт апр 16, 2004 5:11 pm
Сообщения: 5864
Откуда: OpenFly Soft Technology, Москва
1. XMLRPC
Можете привести пример использования XMLRPC ? Курсы валют и считывать данные контрагентов можно считывать и без Вашего проекта.
А можно на основе него создать SOAP сервер, к которому будут подключаться интернет веб-сервисы для получения данных? (viewtopic.php?f=40&t=9944)
2. АдресК - как я понял - это замена локального Кладр на сетевой сервис?
3. Не понял про фильтрацию TUL. Без фильтров TUL будет отображаться весь справочник Кладр?

_________________
www.TurboFlyERP.ru


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Чт июн 11, 2015 5:50 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
storm писал(а):
3. Не понял про фильтрацию TUL. Без фильтров TUL будет отображаться весь справочник Кладр?

Нет, я про пример кода в моём посте. Там используется функция фильтрации массива.
Поскольку ничего похожего я в ядре или СИС2 не нашёл - я написал её.
Поскольку я полагаю, что она будет полезна кому-то кроме меня - я выложил её на github.

storm писал(а):
1. Можете привести пример использования XMLRPC ?
А можно на основе него создать SOAP сервер, к которому будут подключаться интернет веб-сервисы для получения данных? (viewtopic.php?f=40&t=9944)

Ну можно получить последний пост из моего ЖЖ :) правда в UTF-8, а перекодировщика в Т9 вроде нет...
Код:
  var params: variant[];
  var res: variant;
    res = SimpleCall('http://www.livejournal.com/interface/blogger/','blogger.getRecentPosts',['','scondo']);
    params = res;
    params = params[1];
    res = params[1];
    Out = res.content.AsString;


SOAP-сервер создать нельзя. Но можно вызывать любые методы Т9 с любыми параметрами/результатами если иметь на целевом языке сетевую часть базового протокола Т9 (func_rpc.php + несколько методов из cls_Session.php).
Когда-то я делал подобное на Python в порядке эксперимента. Получалось примерно так:
Код:
def xml_call(Sock,fName,Params):
    '''Вызов функции через XML-RPC диспетчер прикладного уровня'''
    Request=xmlrpclib.dumps(Params, fName).encode("windows-1251")
    Resp=call(Sock,1,"XMLRPC.Calling|Caller|"+Request)
    Res=xmlrpclib.loads(Resp)
    return Res[0]

Проблема полноценного сервиса на сегодня в любом случае будет упираться в реализацию web-сервера. поскольку в Т9 его нет - надо будет всегда прикручивать что-то сбоку.

_________________
Turbo9 Open Source Initiative


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Пн авг 10, 2015 6:24 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
Поднял из архива старые наработки по подключению к Т9.

Файл, реализующий сервер, выложен в составе проекта
https://github.com/TB-Budget/T9_XMLRPC/ ... l/T9rpc.py

Для запуска надо:
1) Установить Python 2.7 (разрядность значения не имеет)
2) при необходимости изменить параметры подключения к Т9:
Код:
# config
Server="127.0.0.1"
Port=25700

DBServ="localhost"
ProcServ="localhost"

3) Запустить сервер ("python T9rpc.py" или двойным щелчком)
4) Подключиться к T9rpc и выполнять запросы посредсвом XML-RPC
Пример на Турбо9:
Код:
  var params: variant[];
  var sid: Integer;
  var res: variant;

    res = SimpleCall('http://127.0.0.1:8001/RPC2','T9login',["ДЕМО_2015", 'Администратор','']);
    params = res;
    sid = params[1];
    res = SimpleCall('http://127.0.0.1:8001/RPC2','T9exec',[sid, 'XMLRPC.Convinience.GetRecordData', '{МашинаРеквизитов.Настройки.ИнтерфейснаяПанель:1}', False]);
    params = res as Variant[];
    res = params[1];

В переменной res будет Storage с настройкой интерфейсной панели.
Disclaimer: функция 'XMLRPC.Convinience.GetRecordData' создавалась преимущественно для отладочных целей, пользуйтесь осторожно.

Соответственно из другого языка (JavaScript, Java, Python, Ruby, etc.) вызов будет производится с использованием модуля XML-RPC данного языка, в соответствии с его документацией.

Ещё раз:
XML-RPC реализует конкретный небольшой набор типов. Для использования библиотеки функции в Турбо9 должны работать с этими базовыми типами (скаляры, массивы, Storage, BinaryObject).
Проблема реализации SOAP: требуется анализ и публикация типов(классов) Т9, чтобы в процессе запроса данные приходили совместимыми с требуемыми классами Т9 и конвертировались в них.

_________________
Turbo9 Open Source Initiative


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Чт ноя 26, 2015 6:28 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
Для использования АдресК рекомендуется иметь по крайней мере одну запись "ПараметрыСтруктурыБизнеса" (выбирается первая, но она вроде и запроектирована как синглтон) где хранятся две опции настройки
Код:
  field NotUsedFIOSM: logical;
  field FIOSM_URL: String;       

Стандартное значение "Ложь" и пустая строка соответственно - задействует онлайн-сервис с адреса "по умолчанию": fiosm.tb-b.ru

_________________
Turbo9 Open Source Initiative


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Пн май 30, 2016 2:59 pm 
Не в сети

Зарегистрирован: Пн июн 07, 2004 5:32 pm
Сообщения: 78
Откуда: г.Можайск
Проект "Т9_Тесты", представленный на семинаре, выложен на GitHub:

https://github.com/TB-Budget/T9Testing

Проект содержит инструменты для:
- хранения функциональной спецификации модулей прикладных решений
- проектирования тестовых примеров для ручного тестирования
- объединения тестовых примеров в тест-планы и программы тестирования
- ведения протоколов и хранения результатов ручного тестирования.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Ср апр 19, 2017 2:20 pm 
Не в сети

Зарегистрирован: Пт апр 16, 2004 5:11 pm
Сообщения: 5864
Откуда: OpenFly Soft Technology, Москва
Нашел еще ошибку в парсере JSON.

Код:
      sHTTPЗапрос="https://focus-api.kontur.ru/api3/contacts?key=3208d29d15c507395db770d0e65f3711e40374df&ogrn=&inn=561100409545";
      хHTTP = AutoObject.Create("Msxml2.XMLHTTP.6.0");
      хHTTP.open ("GET", sHTTPЗапрос, False);
      хHTTP.send;
      ТекстЗапроса=хHTTP.responseText;
      РЕЗЗапроса=Json.Parse(ТекстЗапроса);


Выбивает ошибка:
Цитата:
Значение типа "Целое" нельзя присвоить переменной типа "Массив типа Вариант"
на списке телефонов, когда самих телефонов нет.

_________________
www.TurboFlyERP.ru


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Ср апр 19, 2017 3:06 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
Исправлено
https://github.com/TB-Budget/TUL/commit ... 2a2f11afa7

В целом это, конечно, проблема ядра. Но пока обошли.

Просьба: просто сообщения об ошибках лучше заводить непосредственно на GitHub https://github.com/TB-Budget/TUL/issues
Там не такая сложная регистрация, зато тема не будет засоряться и будет связь с правками.

_________________
Turbo9 Open Source Initiative


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Чт апр 20, 2017 10:48 am 
Не в сети

Зарегистрирован: Пт апр 16, 2004 5:11 pm
Сообщения: 5864
Откуда: OpenFly Soft Technology, Москва
Нашел еще ошибку в запросе https://focus-api.kontur.ru/api3/buh?ke ... 6663003127 . Написал на GitHub .

_________________
www.TurboFlyERP.ru


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Вт июн 27, 2017 3:02 pm 
Не в сети

Зарегистрирован: Пт апр 16, 2004 5:11 pm
Сообщения: 5864
Откуда: OpenFly Soft Technology, Москва
Выложил проект "Быстрое Закрытие Периода" https://github.com/stormst1/ClosedPeriod

_________________
www.TurboFlyERP.ru


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Пт июл 07, 2017 11:56 am 
Не в сети

Зарегистрирован: Пт апр 16, 2004 5:11 pm
Сообщения: 5864
Откуда: OpenFly Soft Technology, Москва
А на GitHub можно бесплатно выкладывать коммерческие проекты?

_________________
www.TurboFlyERP.ru


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проекты Турбо9 на GitHub
СообщениеДобавлено: Пт июл 07, 2017 3:51 pm 
Не в сети

Зарегистрирован: Пт янв 11, 2013 12:51 pm
Сообщения: 46
Откуда: ТБ.Бюджет, г. Москва
Критическим условием бесплатного тарифа на GitHub является собственно открытие исходного кода. Как правило такое открытие сопровождается лицензией, уравнивающей всех разработчиков (изначального со всеми потенциальными).

Абсолютное большинство лицензий при это не запрещает коммерческое использование или даже продажу. Использованная нами LGPL2.1 скорее является исключением, но и она запрещает только непосредственно взимание платы за предоставление проекта, платное обслуживание проекта (включая факт его установки) не запрещает в принципе никто.

То есть пока вы готовы делиться своим кодом (в частности для этого создавалась и эта тема) - коммерциализация продукта не является ограничением для выкладывания на GitHub.

Если же вы хотите ограничить доступ к исходным кодам, то придётся либо покупать платный аккаунт GitHub либо воспользоваться другим сервисом (например другой популярный сервис схожей идеологии - Bitbucket)

_________________
Turbo9 Open Source Initiative


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB