7 причин, почему интеграция стала приятной. Не упускайте ряд потрясающих возможностей

Публикация № 403426 01.10.15

Интеграция - Внешние источники данных

OData REST Android .NET Proxy Интеграция

В статье показаны примеры получения данных без программирования на стороне «1С:Предприятие 8». Вам нужно проверить гипотезу и проанализировать данные, почему бы не интегрироваться с Excel? Используете технологии .NET и «1С:Предприятие 8», процесс связывания систем движется катастрофически медленно? Хотите native Android приложение с вашими данными всегда под рукой?

Введение в Open Data Protocol

В 1С Предприятие 8.3.5.1068 появилась поддержка автоматического REST-сервиса. Теперь платформа может автоматически формировать REST интерфейс для всего прикладного решения. Вы привычным образом публикуете его на веб-сервере, и после этого сторонние системы могут обращаться к вашему приложению с помощью HTTP запросов. В качестве протокола доступа платформа использует протокол OData версии 3.0. Это открытый веб-протокол для запроса и обновления данных. Он позволяет оперировать данными, используя в качестве запросов HTTP-команды. Получать ответы можно в различных форматах, но пока присутствует поддержка формата Atom/XML

7 причин, почему интеграция стала приятной

  1. Платформа автоматически генерирует REST интерфейс, не нужно никакого программирования;
  2. Прозрачная интеграция прикладного решения с интернет-сайтами, мобильными приложениями и прочими системами;
  3. Реализация сторонними средствами дополнительной функциональности без изменения конфигурации;
  4. Загрузка данных в прикладное решение и выгрузка данных из него;
  5. Управление составом объектов метаданных, доступных через стандартный сервис OData API на лету;
  6. Ограничения прав доступа пользователей также действительны для запросов OData;
  7. Универсальность и кроссплатформенность.

 

Подготовительный этап

  1. Версия платформы «1С:Предприятие 8»  не ниже 8.3.5.1068;
  2. Режим совместимости конфигурации — "Не использовать" или не ниже "Версия 8.3.5";
  3. Включен флаг "Публиковать стандартный интерфейс OData";
  4. Определить состав объектов метаданных, доступных через стандартный сервис OData;
  5. Проверить работоспособность сервиса по ссылкам:
    http://{АдресВебСервера}/{ИмяПубликации}/odata/standard.odata;
    http://{АдресВебСервера}/{ИмяПубликации}/odata/standard.odata/$metadata;
  6. Посмотреть, проходит ли валидацию описание сервиса по ссылке.

Возникают трудности? Посмотрите видео:

 

Если возникают проблемы с валидацией, нужно обратиться по адресу https://partners.v8.1c.ru/forum/. Использовать веб-сервис все равно можно, даже если валидация не удалась.

Обработка для определения состава метаданных, доступных через стандартный сервис OData, прикреплена в конце статьи.

 

Интеграция с Excel

Бывают случаи, когда нужно получить данные из информационной базы «1С:Предприятие 8» и быстро обработать их. Работая с бизнес-аналитиками, руководителями потребность в данных есть всегда. Чаще всего информацию получить сложно без привлечения программиста, да и процесс передачи понимания, что же нужно, не так прост. С помощью стандартного сервиса OData, можно получать данные прямо в Excel, использовать все возможности Excel для анализа данных, построения моделей, формирования сводных таблиц и т. п. Самое приятное, что все расчеты будут автоматически обновляться при изменении данных в «1С:Предприятие 8». Рассмотрим поэтапно:

  1. Нужно настроить внешний источник данных в Excel

    Подключение из Excel к «1С:Предприятие 8»

  2. Настроить подключение к REST сервису «1С:Предприятие 8»
    Вводим ссылку на описание сервиса OData, логин и пароль
  3. Отмечаем нужные таблицы, в примере "Справочник.Валюты" и "РегистрСведений.КурсыВалют"
    Отмечаем нужные данные 
  4. Импортируем данные из «1С:Предприятие 8»
    Импортируем данные из «1С:Предприятие 8» 

Для получения детальной информации посмотрите видео:


Интеграция с .NET системами

Ни для кого не секрет, что появляется множество новых систем, с которыми нужно интегрироваться. На живом примере видел, что связывание систем - очень долгий и сложный процесс. Почему бы его не упростить? Сделаем программу на c# (Windows Forms Application), которая будет выводить курсы валют. Рассмотрим поэтапно:

  1. необходимый инструментарий: Microsoft Visual Studio (в примере используется Visual Studio Community 2015), DataSvcUtil.exe (обычно идет вместе с Visual Studio Community 2015);
  2. сохраним описание REST сервиса в файл metadata.csdl;
  3. с помощью утилиты DataSvcUtil.exe сформируем прокси класс, которые будет делать всю работу по взаимодействию с REST сервисом «1С:Предприятие 8». Вот так выглядит командная строка:
    C:\Users\Designer>"C:\Program Files (x86)\Microsoft WCF Data Services\5.6.4\bin\tools\DataSvcUtil.exe" /in:D:\Public_OData\metadata.csdl /out:D:\Public_Odata\metadata.cs /version:3.0;
  4. создаем проект Windows Forms Application
    Создаем проект Windows Forms Application 
  5. добавляем в проект прокси класс metadata.cs;
  6. в файле App.config пропишем параметры доступа к REST сервису:
    <connectionStrings>
        <add name="ProductionOData" connectionString="http://wall-e.ktc.local/dt/odata/standard.odata" />
        <add name="UserOData" connectionString="username" />
        <add name="PasswordOData" connectionString="password" />
    </connectionStrings>
    
  7. добавим необходимые References в проект
    Необходимые References 
  8. добавим на форму DataGridView и настроим
    Добавляем DataGridView 
  9. при загрузке формы добавим код для получения курсов валют из REST сервиса:
    // Получаем ссылку на REST сервис
    Uri serviceRoot = new Uri(ConfigurationManager.ConnectionStrings["ProductionOData"].ConnectionString);

    // Инициализируем сервис
    EnterpriseV8 V8Base = new EnterpriseV8(serviceRoot);

    // Задаем пользователя и пароль в «1С:Предприятие 8»
    V8Base.Credentials = new NetworkCredential(ConfigurationManager.ConnectionStrings["UserOData"].ConnectionString,
        ConfigurationManager.ConnectionStrings["PasswordOData"].ConnectionString);

    // Получаем список значений справочника валюты
    List<Catalog_Валюты> currencyCatalog = new List<Catalog_Валюты>();
    IEnumerable<Catalog_Валюты> currencyResponse = V8Base.Catalog_Валюты.Execute();
    foreach (var item in currencyResponse)
    {
        currencyCatalog.Add(item);
    }

    // Выводим курсы валют в dataGridView, подставляя Description из списка значений справочника валют
    IEnumerable<InformationRegister_КурсыВалют> coursesResponse = V8Base.InformationRegister_КурсыВалют.Execute();
    foreach (var item in coursesResponse)
    {
        string[] record =
            {
                item.Period.ToString(),
                currencyCatalog.Find(x => x.Ref_Key == item.Валюта_Key).Description,
                item.Курс.ToString()
            };
        dataGridView2.Rows.Add(record);
    }
  10. Запускаем на выполнение и любуемся
    Результат выполнения 
Для получения детальной информации посмотрите видео:
 

Интеграция с системами на базе Android

Сказать, что мобильные приложения это хорошо — ничего не сказать. Преимуществ, которые они дают, очень много:

  1. решения для увеличения продаж;
  2. вся информация о вашей компании в смартфоне клиентов;
  3. важные показатели бизнеса всегда под рукой;
  4. улучшение качества бизнес-процессов;
  5. продвижение своего приложения позволяет компании повысить собственный имидж.
Чем native приложение лучше 1С мобильного приложения? Native приложение позволяет поддерживать высокую производительность, обрабатывать больше данных на стороне клиента, нет очень жестких ограничений, как при разработке 1С приложения, а самое главное среда разработки для Android развивается в разы быстрее. Из личного опыта, внедрение мобильного приложения в систему логистики, по доставке товаров и приема оплаты от клиентов, позволило обрабатывать в десятки раз больше заказов без ошибок и недоездов. Показательно, что в сезон продаж рост был четырёхкратный и система отработала безотказно.
Сделаем мобильное приложение Android, которое будет выводить курсы валют. Рассмотрим поэтапно: 
  1. необходимый инструментарий: Eclipse JAVA (создание прокси класса для взаимодействия с REST сервисом «1С:Предприятие 8»), библиотеки restlet.org (JAVA SE, Android) и Android Studio для создания приложения;
  2. создаем новый проект в Eclipse -> Java Project. Добавляем необходимые внешние библиотеки restlet.org (JAVA SE): 
    • org.restlet.jar
    • org.restlet.ext.odata.jar
    • org.restlet.ext.freemarker.jar
    • org.restlet.ext.atom.jar
    • org.restlet.ext.xml.jar
    • org.freemarker_2.3\org.freemarker.jar
  3. к сожалению, библиотека org.restlet.ext.odata.jar не умеет создавать прокси классы из файлов *.csdl и REST сервисов, где необходима авторизация. Покопавшись в исходниках Restlet, добавил возможность прохождения авторизации REST и дальнейшей генерации прокси классов, новая версия библиотеки есть в архиве в конце статьи. Официально, пока не известно когда мои изменения попадут в основную ветку Restlet, обсуждение этой задачи здесь;
  4. добавим код формирования прокси классов:
    import java.net.URI;
    
    import org.restlet.data.ChallengeResponse;
    import org.restlet.data.ChallengeScheme;
    import org.restlet.data.Reference;
    import org.restlet.ext.odata.Generator;
    
    public class Main {
         
        public static void main(String[] arg) throws Exception
        {
            String serviceURL = "http://wall-e.ktc.local/dt/odata/standard.odata";
            Generator ODataGen = new Generator(new Reference(URI.create(serviceURL)), "ODataConnector");
            ODataGen.setCredentials(new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "username", "password"));
            ODataGen.generate("D:\\Public_OData\\eclipse\\proxy_generated\\");
    
        }
    }
    
  5. запускаем, через несколько мгновений классы должны быть готовы;
Возникают трудности? Посмотрите видео:

  1. создаем новый проект в Android Studio, заполняем все необходимые поля; 
  2. переходим в каталог проекта, далее в директорию mobile\libs\, копируем внешние библиотеки restlet.org (Android):
    • org.restlet.jar
    • org.restlet.ext.odata.jar
    • org.restlet.ext.atom.jar
    • org.restlet.ext.xml.jar
      Копируем библиотеки Restlet в проект
  3. возвращаемся в корень проекта и переходим в mobile\src\main\res\layout\, добавляем описание layout item.xml, который будем использовать для вывода данных в gridView. Описание item.xml:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:id="@+id/tvText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:minHeight="40dp"
            android:textSize="20sp"
            android:text="">
        </TextView>
    </LinearLayout>
    
  4. в файл mobile\src\main\AndroidManifest.xml добавляем строки, связанные с доступом приложения (перед блоком <application></application>):
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <permission android:name="android.permission.INTERNET"/>
    
  5. в файл \mobile\build.gradle добавляем строки связанные с внешними библиотеками restlet.org (Android), чтобы включить их сборку проекта:
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        wearApp project(':wear')
        compile 'com.android.support:appcompat-v7:23.0.1'
        compile 'com.google.android.gms:play-services:7.8.0'
        compile files('libs/org.restlet.ext.odata.jar')
        compile files('libs/org.restlet.ext.xml.jar')
        compile files('libs/org.restlet.jar')
        compile files('libs/org.restlet.ext.atom.jar')
    }
    
  6. создаем папку ProxyClass в \mobile\src\main\java и копируем в нее файлы созданные на 5 шаге:
    Копируем прокси класс в проект
  7. добавляем в файл StandardOdataService.java, запись:
    package ProxyClass;
    
  8. во все файлы в папке \mobile\src\main\java\ProxyClass\standardodata добавим следующее:
    package ProxyClass.standardodata;
    
  9. к сожалению, библиотека Restlet не знает такой тип, как Type="Collection(Edm.String)" и формирует прокси класс с ошибкой, создавая неизвестный тип CollectionStringEdm. Переходим в файл \mobile\src\main\java\ProxyClass\standardodata\TypeDescription.java и заменяем CollectionStringEdm на List<String>;
  10. исправляем ошибки namespace'ов в файлах прокси класса;
  11. в Android Studio на активити добавляем gridView и настраиваем:
    Добавляем gridView и настраиваем 
  12. вот так выглядит процедура при создании:
     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
    
            setContentView(R.layout.activity_main);
    
            /* Инициализируем OData сервис */
            StandardOdataService service = new StandardOdataService();
            service.setCredentials(new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "username", "password"));
    
            /* Создаем соответствие межу GUID'ом валюты и ее Description */
            Map<String, String> hashTable = new HashMap<String, String>();
            Query<Catalog_Валюты> currencyCatalog = service.createCatalog_ВалютыQuery("/Catalog_Валюты");
            for (Catalog_Валюты data : currencyCatalog) {
                hashTable.put(data.getRef_key(), data.getDescription());
            }
    
            /* Подготавливаем заголовки таблицы */
            List<String> listData = new Vector<String>();
            listData.add("Период");
            listData.add("Валюта");
            listData.add("Курс");
    
            /* Получаем курсы валют, СрезПоследних(), и добавляем в список для вывода * подставляем Description из соответствия валют */
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            Query<InformationRegister_КурсыВалют> coursesResponse = service.createInformationRegister_КурсыВалютQuery("/InformationRegister_КурсыВалют/SliceLast");
            for (InformationRegister_КурсыВалют data : coursesResponse) {
                listData.add( formatter.format(data.getPeriod()));
                listData.add( hashTable.get(data.getВалюта_key()));
                listData.add( Double.toString(data.getКурс()));
            }
    
            /* Выводим данные на активити */
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, listData);
            GridView dataGridView = (GridView)findViewById(R.id.gridView);
            dataGridView.setAdapter(adapter);
    
        }
    

Возникают трудности? Видео 6-17 шагов:


Послесловие

Интегрироваться с «1С:Предприятие 8» стало на порядок проще, надеюсь информация будет полезна сообществу. 

Статья в личном блоге

Автоматически генерируемый REST интерфейс прикладных решений 1С:Предприятия

Средства работы с JSON

Расширение поддержки протокола OData


Скачать файлы

Наименование Файл Версия Размер
Исходный код JAVA generator, Android приложения

.zip 30,85Mb
8
.zip 30,85Mb 8 Скачать
Обработка для определения состава метаданных, доступных через стандартный сервис OData

.epf 11,36Kb
37
.epf 1.0.18 11,36Kb 37 Скачать
Исходный код .NET для интеграции с сервисом OData

.zip 43,80Kb
10
.zip 43,80Kb 10 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vano-ekt 122 01.10.15 21:52 Сейчас в теме
но пока присутствует поддержка формата Atom/XML.

полгода как REST доступен по JSON
paulsinev; +1 Ответить
2. pbazeliuk 1930 01.10.15 22:06 Сейчас в теме
(1) vano-ekt, поддержка, именно для OData, в релизах доступных простым смертным появилась с 23.07.15 (8.3.6.2152) , но конфигурации пока отстают, потому оставлю так как есть. В конце статьи есть ссылка «Средства работы с JSON».
3. orfos 214 01.10.15 22:11 Сейчас в теме
Хорошая статья, спасибо
pvlunegov; +1 Ответить
4. DoctorRoza 02.10.15 07:14 Сейчас в теме
5. Жолтокнижниг 255 02.10.15 09:30 Сейчас в теме
Не полная поддержка OData, ждемс 8.3.8. А из примеров еще WEB-интеграции не хватает.
6. infosoft-v 728 02.10.15 09:50 Сейчас в теме
Спасибо вам за такое большое количество примеров. Они простые, но для начала самое оно.
7. kwazi 536 02.10.15 09:53 Сейчас в теме
Отличная статья, но не забывайте читать лицензионное соглашение. Надо иметь лицензии 1С:предприятие на количество одновременных соединений по данному каналу, хотя само соединение лицензии не требует. Пользоваться таким сервисом могут только сотрудники компании владельца ПО. Если предполагается использование сервиса сторонними контрагентами, надо заключать с ними договор субаренды. Жесть короче...
Glebis; Maxis; +2 Ответить
12. FireFox_Manager 17.03.16 20:46 Сейчас в теме
(7) kwazi,
Надо иметь лицензии 1С:предприятие на количество одновременных соединений по данному каналу.. Если предполагается использование сервиса сторонними контрагентами, надо заключать с ними договор субаренды.

Интересно, как рассчитать нужное количество ключей? Допустим, мы разработали для Android приложеие, которое позволяет сделать заказ с мобильного телефона. Как узнать - сколько пользователей начнут одновременно коннектиться к базе и сколько времени занимает один коннект? И когда он отвалится и освободит лицензию? Уравнение с двумя неизвестными..
Не делает ли это всю затею абсолютно бессмысленной? Держать "про запас" много лицензий - слишком дорого, мало лицензий - значит "обломать" человека, который скачал приложение и не смог подключиться к базе. Или я чего-то не понимаю и в этом решении есть смысл?
13. pbazeliuk 1930 18.03.16 03:12 Сейчас в теме
(12) FireFox_Manager, прочитал ваш комментарий, не смог ответить в двух словах - написал статью. Надеюсь статья утром пройдет модерацию, http://infostart.ru/public/503059/
8. baracuda 2 02.10.15 10:12 Сейчас в теме
Статья зачем, тянуть аналитику самое то. Да и с сайтами синхронизация мягкая получается.
9. logarifm 1110 06.10.15 10:15 Сейчас в теме
Все отлично, но думаю без программиста всеравно не обойтись даже если настроить Ексель.
Я думаю это равносильно тому же, что дать консоль запрососов и сказать вот вам инструмент и тащите себе таблички какие угодно.

10. pbazeliuk 1930 06.10.15 12:58 Сейчас в теме
(9) logarifm, есть разные люди, особенно бизнес аналитики. С консолью запросов можно положить базу при неправильных соединениях :)
11. motrl 07.10.15 08:19 Сейчас в теме
(10) Можно написать отдельный web-service с фильтрацией и ссылать на него, тогда и 1с наружу вытаскивать не надо будет.
14. FireFox_Manager 20.03.16 11:08 Сейчас в теме
Спасибо за ответ. Статья про RabbitMQ для меня сложновата, к сожалению.
Понял только, что о протоколе OData следует забыть. Расплата за его использование - тысячи зависших соединений, которые устраняются только рестартом службы 1С.
15. virtex3 20 26.02.17 10:08 Сейчас в теме
(14) в 8.3.9 можно использовать один и тот же сеанс http://its.1c.ru/db/v839doc#bookmark:adm:TI000000726
ну и вообще можно настроить автоматическое закрытие сессии по неиспользованию.

Я так вообще, сохраняю идентификатор сессии на стороне WEB сервера в переменную $_SERVER['IBSession'] (для PHP) и если сессия не отвалилась по таймауту, она используется во всех последующих запросах к WEB серверу. Если же отвалилась по истечению времени из-за неиспользования, то создается новая сессия и идентификатор сохраняется опять в серверную переменную.

В итоге сотни пользователей висит на одной лицензии и соединения не подвисаются.
16. pbazeliuk 1930 26.02.17 16:59 Сейчас в теме
(15) Лицензии это не такая и большая проблема, у себя используем что-то похожее (прокси-балансировщик).
17. virtex3 20 26.02.17 17:16 Сейчас в теме
(16) покупать отдельную лицензию для пользователя, который только отчеты смотрит - расточительство )))
А так сидят менеджеры, смотрят данные, если надо, то средствами ODATA даже счета формируют )))

20 человек таких и уже какая экономия на лицензиях.

По сути лицензия теперь нужна только тем, кто манипулирует данными и постоянно их вносит. А тем кто только смотрит - можно пересадить на ODATA и HTTP-сервисы.
18. KAV2 146 04.03.19 11:04 Сейчас в теме
Допустим мы написали дашбоард который получает данные из 1С через odata (или веб сервис). Как в этом случае правильно делать аутентификацию пользователя от имени которого будет выполняться доступ к данным 1С? выходит, что только остается хардкодить пароль в коде?
Если бы можно было использовать openID для этого, но вот что написано про openID в файле V8AddDoc.htm:
Примечание 1. Данный способ аутентификации не применим при обращении к веб-сервисам, опубликованным из «1С:Предприятия».
19. pvlunegov 154 09.09.20 13:23 Сейчас в теме
Цитата: "Покопавшись в исходниках Restlet, добавил возможность прохождения авторизации REST и дальнейшей генерации прокси классов, новая версия библиотеки есть в архиве в конце статьи."
Вопрос: "Где новая версия библиотеки?"

Цитата: "Добавляем необходимые внешние библиотеки restlet.org (JAVA SE): ... org.restlet.ext.freemarker.jar"
Вопрос: "Со времени написания статьи данные библиотеки попали в артефакты Mаven (Можно скачать на сайте https://restlet.talend.com/downloads/current/). Порылся там, нашел артефакты которые описаны в статье но не нашел данный артефакт (в цитате). Подскажите где его найти".
20. pvlunegov 154 09.09.20 13:25 Сейчас в теме
(19) Цитата: "7. переходим в каталог проекта, далее в директорию mobile\libs\, копируем внешние библиотеки restlet.org (Android):
org.restlet.jar
org.restlet.ext.odata.jar
org.restlet.ext.atom.jar
org.restlet.ext.xml.jar"

Вопрос: "в пункте 7 не упоминается библиотека org.restlet.ext.freemarker.jar Отсюда я сделал вывод что данная библиотека не используется в вашем проекте, который описан в статье, хотя ранее по тексту статьи она упоминается. Просьба убрать ее из статьи, чтобы не вводить в заблуждение".
21. pvlunegov 154 09.09.20 13:37 Сейчас в теме
Пункты 4-5 не ясны. Мы же создаем мобильное приложение, а в пункте 5 вы создаете класс для запуска в Windows.
Не понятно как выполнить пункт 6 - запуск данного класса.
Данное приложение создано для Android, класс созданный в п.5 не будет выполнятся - будет ошибка.
22. pvlunegov 154 09.09.20 14:11 Сейчас в теме
Просьба предоставить ссылки на документацию или примеры, где описан пункт 5.
Я порылся в документации https://restlet.talend.com/documentation/user-guide/2.4/introduction/first-steps/first-application
и не нашел в ней генерации кода классов, как описано в п.5.
п. 5 выполнить не получается, так как код устарел, вот этот импорт не работает:

import org.restlet.ext.odata.Generator;

поэтому п.5 выполнить не удается и далее статья не рабочая.

Просьба актуализировать код в статье!
23. pvlunegov 154 10.09.20 07:42 Сейчас в теме
Порылся в библиотеке org.restlet.ext.odata.jar
Она нерабочая, так как в официальной документации к библиотеке https://restlet.talend.com/documentation/user-guide/2.4/extensions/odata/tutorial
предлагается, для п.5 в данной статье, выполнить следующий код в командной строке:

java -jar org.restlet.ext.odata.jar http://restlet.cloudapp.net/TestAssociationOneToOne.svc/ ~/workspace/testADO

сайт cloudapp.net не доступен (видимо нерабочий с некоторого времени) поэтому само расширение недоступно к использованию.
В самом пункте 5 так же используется не рабочий код.

String serviceURL = "http://wall-e.ktc.local/dt/odata/standard.odata";
Generator ODataGen = new Generator(new Reference(URI.create(serviceURL)), "ODataConnector");
ODataGen.setCredentials(new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "username", "password"));
ODataGen.generate("D:\\Public_OData\\eclipse\\proxy_generated\\");

В коде выше, адрес serviceURL недоступен (сайт нерабочий)
В самой библиотеке, в версии 3.0 вообще нет класса OData
В версии 2.0 и 2.5 есть класс OData но в данном классе нет функций setCredentials и generate (в версии 2.0)

Таким образом, я считаю что рассмотренный в статье подход к созданию приложения для Android не рабочий, необходимо использовать другие библиотеки.
Chizhik2020; +1 Ответить
Оставьте свое сообщение

См. также

Распознавание паспорта РФ. Python+1С без сторонних сервисов

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В данной публикации мы рассмотрим методы разработки приложений на Python + 1С для распознавания Паспорта РФ.

1 стартмани

30.01.2023    5801    30    Indgo    32    

83

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    8074    21    huxuxuya    29    

75

Взаимодействие мобильного приложения 1С и центральной информационной базы с использованием http-сервиса

Мобильная разработка Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Казахстан Абонемент ($m)

Видимо, настала пора и мне написать статью на Инфостарте. Данная статья призвана помочь программистам 1С, которые занимаются разработкой мобильных приложений на мобильной платформе 1С и перед которыми стоит задача обеспечить взаимодействие мобильного приложения и центральной базы 1С.

1 стартмани

07.06.2022    4229    17    3dice    8    

16

Консоль запросов SQL (управляемые формы)

Инструменты администратора БД Инструментарий разработчика Внешние источники данных Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Иногда требуется подключиться к другим базам данных для обменов, например: MySQL (сайты, интернет магазины), MS SQL, PostgreSQL (базы данных такие как 1С, WMS, других приложений) и т.д. Данная консоль поможет настроить и проверить подключение, выполнить любые запросы на языке SQL, а также если подключить обработку в конфигуратор использовать для обменов между базами данных с помощью языка SQL.

2 стартмани

04.05.2022    6136    34    nikolasx    7    

27

Консоль обмена по протоколу TCP

Внешние источники данных Обмен между базами 1C Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Внешняя консоль-обработка, позволяющая осуществить обмен пакетами данных между любыми приложениями или устройствами по сетевому протоколу TCP. Консоль работает как в режиме TCP-клиента, так и в режиме TCP-сервера. Реализована с использованием стандартной библиотеки Windows "MS Winsock".

3 стартмани

10.04.2022    7124    29    Bassgood    15    

45

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Интеграция 1С и OTRS: Синхронизация заметок тикетов

Управление проектом (PMO, EPM) Внешние источники данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х ИТ-компания Управленческий учет Абонемент ($m)

Внешняя обработка для интеграции 1С с системой обработки заявок OTRS. Предназначена для обмена информацией о заявках, позволяет создавать тикеты и заметки из 1С, загружать заметки (элементы тикетов, заявок) из OTRS в электронные письма. Использует API, предоставленный OTRS. Обмен работает как регламентное задание. Разработан на базе УТ 11.4 и OTRS 5s free.

6 стартмани

18.11.2021    5542    11    tps_01    0    

3

1Scan. Интеграция веб-клиента 1С с устройством Android (смартфон, планшет, ТСД)

Мобильная разработка WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

Получение из Android устройства данных сканера штрихода, камеры, GPS, широковещательных сообщений и передача в код модуля формы 1С для дальнейшей обработки.

1 стартмани

15.11.2021    9321    38    kild    33    

29

Практика OData. Пишем проводник по данным

Внешние источники данных Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Абонемент ($m)

Специалисты, начиная работать с OData, сталкиваются с трудностями с первых шагов - не очевидно какие именно данные может дать источник и какие механики доступны для формирования выборок данных. Так возникла идея написать обработку, которая позволяет проанализировать структуру и содержимое источника OData, а так же станет примером кода для всех тех, кто делает свою интеграцию на платформе 1С:Предприятие 8.

3 стартмани

11.10.2021    7878    25    Dementor    7    

31

Конструктор подключения к внешним источникам

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Какую строку подключения использовать к новому источнику? Эта обработка позволяет создать и проверить множество строк подключения сразу.

2 стартмани

20.09.2021    6079    4    kraynev-navi    2    

16

Пример обмена данными через XDTO

Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Пример обмена данными между 1С и сторонним приложением посредством механизма XDTO.

1 стартмани

01.03.2021    15359    20    user925427    2    

22

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Внешняя компонента: Android tools

Мобильная разработка Разработка внешних компонент Платформа 1С v8.3 Мобильная платформа Абонемент ($m)

Несколько дополнительных функций для мобильного приложения\клиента под Android. Размер архива внешних компонент под архитектуры ARM и x86 - 390KB.

1 стартмани

12.01.2021    13057    37    KAV2    46    

15

Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Разработка внешних компонент Мобильная разработка Платформа 1С v8.3 Абонемент ($m)

Используя данный драйвер, можно без единой строки кода, просто установив на ТСД мобильный клиент 1С, сразу начать подбирать товары в документах вашей учётной системы. А, адаптировав нужные формы под небольшой размер экрана ТСД, можно просто создать полноценное рабочее место для выполнения операций с помощью ТСД, не прибегая к стороннему софту. Если же на складе плохая связь (или её нет вовсе), то можно использовать возможности мобильного клиента в автономном режиме (потребуется доработка вашей конфигурации). Драйвер также можно использовать и для Android приложения на мобильной платформе. В результате чего можно обойтись без ненужных полей ввода и клавиатуры «на пол-экрана».

3 стартмани

09.10.2020    49146    362    ltfriend    215    

105

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Универсальные обработки Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).

1 стартмани

23.06.2020    22313    208    Lem0n    1    

67

Нано HTTP сервер - внешняя компонента для мобильного приложения 1C, на Android

Разработка внешних компонент Мобильная разработка Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

Нано HTTP сервер на терминале сбора данных "ATOL Smart.Lite android 7.0". Работает только с GET и POST запросами. Аутентификация BASE64. Не поддерживает HTTPS и не передает файлы. В прикрепленном архиве исходники на компоненту (С++ и java для Android Studio 3.6.2), ЦФ - мобильного приложения и тестовая обработка.

1 стартмани

22.06.2020    12136    20    SanyMaga    27    

18

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Обработка создания представлений (view) для BI, Tableau, QlikView и т.д.

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка создает view на все таблицы(почти) БД 1C в юзабельном виде, пригодном для работы с этими таблицами из BI систем.

1 стартмани

24.01.2020    5887    22    ebongo    2    

16

Обмен данными с Android через USB

Мобильная разработка Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка с примером обмена данными конфигурации 1С через USB. Без установки Web сервера и настройки WiFi.

1 стартмани

23.12.2019    10800    9    asdfgcom    3    

15

Google drive - менеджер файлов

WEB-интеграция Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Синхронизация с гугл диском легко и просто!

10 стартмани

05.12.2019    33158    49    zykov_vitaliy    28    

45

Simple UI: простой конструктор мобильных приложений для устройств на Android. Обновление от 15.03.23

Мобильная разработка Платформа 1С v8.3 Управленческий учет Абонемент ($m)

Simple UI – это полностью бесплатная платформа для создания мобильных рабочих мест на Android. Конструктор позволяет создавать мобильные клиенты для учетных систем и самостоятельные приложения на телефонах, ТСД (терминалах сбора данных), планшетах, электронных киосках и других устройствах. При этом не нужно разбираться в мобильной разработке, Android SDK ведь основная цель платформы – максимально упростить процесс разработки и поддержки, сделать его визуальным, собирать приложения из готовых блоков с минимумом кода. Причем код обработчиков можно писать на языке учетной системы либо задавать логику обработки событий с помощью команд REST, SQL и визуального конструктора. Проект постоянно развивается изыскивая новые способы упрощения разработки и повышения функционала и является пожалуй самым быстрым способом как создать MVP-проект так и продакшн-систему под конкретное внедрение или тиражный продукт.Тестировалось на 1С: Предприятие 8.3 релиз 8.3.13.1865.

1 стартмани

14.11.2019    45779    448    informa1555    249    

185

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Мобильное приложение для Android для отправки СМС из 1C

SMS рассылки Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Вашему вниманию предлагается мобильное приложение (конфигурация .cf) + HTTP сервис для отправки СМС из 1С8

2 стартмани

04.11.2019    14166    26    dimasikus31    7    

16

ODa - Android приложение для подключения к любой конфигурации 1С, используя OData протокол

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В платформе 1С реализована прекрасная возможность работы с открытым веб-протоколом OData, который предоставляет любой другой платформе интерфейс доступа - возможность запрашивать и обновлять данные из базы 1С. Далее в статье будут описаны особенности работы мобильного приложения ODa, которое без программировании на стороне Android'a позволит разработчикам публиковать базы 1С, что даст возможность обычным пользователям взаимодействовать с объектами метаданных, используя нативные элементы интерфейса платформы Android.

1 стартмани

22.10.2019    19354    8    Kosigo    11    

70

Получение изображения с IP-камеры

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Получение изображения JPG с IP-камеры в виде двоичных данных. В 1С может применяться для фотографирования объектов.

1 стартмани

10.09.2019    22166    58    sivin-alexey    11    

61

Чтение файлов PDF из 1С

Внешние источники данных Универсальные обработки Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Насколько мне известно, у платформы 1С нет встроенных средств чтения на лету файлов PDF для их последующего анализа, и приходится использовать внешние инструменты. Об одном из таких вариантов и пойдет речь.

1 стартмани

09.09.2019    34189    88    da_1c    8    

26

Согласование задач из Outlook

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Согласование задач непосредственно из почтовой программы, в моем случае Outlook 2013 без каких-либо дополнительных настроек. Из почты отправляется GET запрос к HTTP-сервису 1С, который в свою очередь выполняет задачу.

1 стартмани

06.09.2019    18206    19    duhh    17    

65

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

ERP 2.4 "Рабочее место работника склада" на ТСД + Android 7

Терминал сбора данных Рабочее место Мобильная разработка Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 Управленческий учет Абонемент ($m)

Решение задачи использования терминала сбора данных в режиме онлайн при помощи типовой обработки ERP 2.4 "Рабочее место работника склада", запуском ERP на мобильном клиенте 1С. Для настройки использовался ТСД Urovo V5100 на ОС Андроид 7.

1 стартмани

07.08.2019    29650    33    chemezov    10    

17

Расширение Бром для интеграции с 1С

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

06.08.2019    15444    5    itworks    25    

23

Быстрое изменение кода без обновления конфы на мобильных приложениях 1С и не только

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Отладка кода в андроид приложениях, кроме прямого пути через подключение отладки по http, возможна несколькими другими путями. Один из них мы и рассмотрим.

1 стартмани

02.08.2019    6785    0    avalakh    5    

17

Конфигурация для обмена данными (интеграционная шина)

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Система позволяет организовать обмен данными, как с базами 1С, так и любыми другими приложениями. Система представляет собой отдельную конфигурацию. Система позволяет организовать гибкие возможности по настройке обмена. В качестве брокера сообщений, для передачи данных, используется отдельная самостоятельная конфигурация на 1С. Комплект поставки содержит файл расширения для "клиентской" части шины, данное расширение позволяет без снятия "ключа" организовать гибкий механизм обмена данными.

4 стартмани

08.07.2019    29613    46    miha-28    17    

41

[Расширение] для подключения мобильного устройства к УТ11.4/ КА 2/ERP 2 для работы с ордерным складом на базе Simple WMS. UPD Устарело (см. Simple UI)

Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Розничная торговля Учет ТМЦ Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Абонемент ($m)

Представляю готовое решение для работы с ордерами и проведения инвентаризаций в виде расширения на базе конструктора Simple WMS. Не требует доработки конфигурации, подключается как обычное расширение. Работать может с обычного телефона на Андроид либо с ТСД либо через RDP. Расширение содержит справочники, поэтому режим совместимости конфигурации должен быть не меньше 8.3.11. Расширение написано для конфигурации Управление торговлей 11.4.7 и тестировалось на Комплексная автоматизация 2.4.7.151.

5 стартмани

27.05.2019    27630    48    informa1555    41    

30

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Пример работы с viber из 1С, отправка сообщений из 1С в viber

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка разработана для примера отправки сообщений в viber из 1С.

1 стартмани

16.05.2019    28553    120    Isa816    25    

20

Шаблон http-сервиса для вашего проекта

Внешние источники данных WEB-интеграция Мобильная разработка Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    34492    113    MarkoSokolov    48    

114

Подписи для 1С

Мобильная разработка Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Россия Абонемент ($m)

Получение подписей в Мобильной платформе 1С с помощью приложения.

1 стартмани

28.02.2019    14093    14    Grivba    7    

14

Работа с Active Directory из 1С (загрузка / выгрузка данных)

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Загрузка данных из Active Directory / Изменение информации пользователя в AD из 1С.

1 стартмани

26.02.2019    24505    164    Смешной 1С    9    

23

HTTP API Диадок. Загружаем в Диадок любой документ. Посредством POST и GET запросов

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Поставили задачу через HTTP API Диадок (diadoc-api.kontur.ru) отправить любой файл в Диадок и подписать его (например, служебную записку в формате пдф). Посредством POST и GET запросов.

2 стартмани

14.01.2019    26700    92    John_d    17    

32

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Исправление ошибки универсального обмена Бухгалтерия предприятия, редакция 3.0 (3.0.65.х, расширение конфигурации)

Внешние источники данных Адаптация типовых решений Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Уже у третьего клиента вижу ошибку Ошибка проверки данных XDTO: Структура объекта не соответствует типу: {http://www.1c.ru/SSL/Exchange/Message}Header Значит, как говаривал Винни-Пух - это неспроста. Ну и точно неспроста, 1С что-то подшаманили в обмене через универсальный формат.

1 стартмани

19.10.2018    36518    57    capitan    15    

24

Внешние обработки-полуфабрикаты

Универсальные обработки Внешние источники данных WEB-интеграция Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Абонемент ($m)

На данный момент в публикацию включены внешние обработки-"болванки": для интеграции со сторонними системами на основе типового плана обмена; для вывода отчета по какой-либо проверке с последующей обработкой-корректировкой; механизм для создания универсальной настройки на основе отбора СКД (отбор на СКД, запиханный в табличную часть).

1 стартмани

16.10.2018    12081    48    Kutuzov    0    

14

Загрузка чека онлайн-касс (загрузка товаров из чека)

Внешние источники данных WEB-интеграция Кассовые операции Розничная торговля Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка-пример, позволяет любому и из любой конфигурации загрузить информацию о товарах из чека(и не только) из почтового сообщения, отправленного из приложения ФНС проверка чеков.

2 стартмани

08.10.2018    37138    47    echo77    76    

46

Обмен 1С:Управление Торговлей 11 и Frontol 5

Внешние источники данных Розничная торговля Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Абонемент ($m)

Обработка обмена для 1С Управление Торговлей 11 и фронт-кассовой системы Frontol. Отличия от типовой: выгрузка дисконтных карт с накоплениями. Выгрузка категорий товаров.

3 стартмани

14.07.2018    37286    144    Kutuzov    169    

15

Приложение Android для идентификации/распознавания образов (с обучением с одного раза, One-Shot Learning) с возможностью работы с 1С через веб-сервис

Мобильная разработка Платформа 1С v8.3 Абонемент ($m)

В данной статье описано приложение, алгоритм и методика распознавания изображений, предоставляющее посредством http-запросов информацию о распознанных объектах в 1С. В качестве примера интеграции прилагается конфигурация, реализующая веб-сервис для приема запросов от приложения.

1 стартмани

19.06.2018    24163    5    informa1555    16    

16