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

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

Разработка - Системная интеграция - Внешние источники данных

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
01.10.15
9
.zip 30,85Mb 9 Скачать
Обработка для определения состава метаданных, доступных через стандартный сервис OData
.epf 11,36Kb
30.09.15
30
.epf 1.0.18 11,36Kb 30 Скачать
Исходный код .NET для интеграции с сервисом OData
.zip 43,80Kb
30.09.15
9
.zip 43,80Kb 9 Скачать

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

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

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

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

10. pbazeliuk 1744 06.10.15 12:58 Сейчас в теме
(9) logarifm, есть разные люди, особенно бизнес аналитики. С консолью запросов можно положить базу при неправильных соединениях :)
11. motrl 13 07.10.15 08:19 Сейчас в теме
(10) Можно написать отдельный web-service с фильтрацией и ссылать на него, тогда и 1с наружу вытаскивать не надо будет.
14. FireFox_Manager 20.03.16 11:08 Сейчас в теме
Спасибо за ответ. Статья про RabbitMQ для меня сложновата, к сожалению.
Понял только, что о протоколе OData следует забыть. Расплата за его использование - тысячи зависших соединений, которые устраняются только рестартом службы 1С.
15. virtex3 18 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 1744 26.02.17 16:59 Сейчас в теме
(15) Лицензии это не такая и большая проблема, у себя используем что-то похожее (прокси-балансировщик).
17. virtex3 18 26.02.17 17:16 Сейчас в теме
(16) покупать отдельную лицензию для пользователя, который только отчеты смотрит - расточительство )))
А так сидят менеджеры, смотрят данные, если надо, то средствами ODATA даже счета формируют )))

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

По сути лицензия теперь нужна только тем, кто манипулирует данными и постоянно их вносит. А тем кто только смотрит - можно пересадить на ODATA и HTTP-сервисы.
18. KAV2 97 04.03.19 11:04 Сейчас в теме
Допустим мы написали дашбоард который получает данные из 1С через odata (или веб сервис). Как в этом случае правильно делать аутентификацию пользователя от имени которого будет выполняться доступ к данным 1С? выходит, что только остается хардкодить пароль в коде?
Если бы можно было использовать openID для этого, но вот что написано про openID в файле V8AddDoc.htm:
Примечание 1. Данный способ аутентификации не применим при обращении к веб-сервисам, опубликованным из «1С:Предприятия».
Оставьте свое сообщение

См. также

Загрузка данных из М-Аптеки+ в 1С:Бухгалтерия 8 (ред. 3.0) Промо

Внешние источники данных Файловые протоколы обмена, FTP v8 v8::БУ БП3.0 Фармацевтика, аптеки БУ Абонемент ($m)

Обработка для загрузки файлов выгрузки из программы для автоматизации аптек и аптечных сетей М-Аптека+ в 1С:Бухгалтерия 8, редакция 3.0.

11.07.2014    31431    26    1C_MApteka    34    

Нейроконструктор

Интеграция Искусственный интеллект (AI) Прочие инструменты разработчика v8 Абонемент ($m)

Изучайте нейронные сети и экспериментируйте вместе с расширением конфигурации "Нейроконструктор". Навыки программирования не требуются.

1 стартмани

20.05.2020    2344    18    user1404129    9    

Выбираем российского провайдера для интеграции с WhatsApp

WEB Интеграция v8 Россия Абонемент ($m)

Собственно, почему выбираем именно провайдера и почему российского? WhatsApp, создавая свое API, преследовал две цели - делать деньги и минимизировать спам. И чтобы убить сразу двух зайцев, было принято решение предлагать API исключительно через партнеров. Ну а вопрос по поводу российского партнера скорее уже риторический. И не только из-за курса рубля, но и из-за таланта работать с российскими телефонными номерами, коим одарены далеко не все провайдеры. Между тем статья не претендует на всесторонний анализ всех возможностей всех провайдеров. Мы копнем лишь верхушку айсберга этого немаленького рынка.

1 стартмани

19.05.2020    1683    0    ripreal1    1    

Язык запросов 1C#

Интеграция WEB v8 Абонемент ($m)

В новой версии язык запросов 1C# поддерживает практический полный синтаксис SQL Server 2005-2016. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям 1C# реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    2632    5    zhichkin    11    

Включение и выключение электроприборов из 1С

Интеграция v8 Абонемент ($m)

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

1 стартмани

02.04.2020    3873    4    bobreks    64    

Взаимодействие HTML (COM объект, WebKit) с 1С (обычные и управляемые формы)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Показан пример использования HTML (COM объект, WebKit) в 1С (8.3).

2 стартмани

18.01.2020    5370    19    Deniskinr83    0    

Разбираемся с web-kit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4. Допиливаем обмен с сайтом в УТ 11.4

Обмен данными 1С Интеграция Адаптация типовых решений v8 v8::УФ УТ11 Абонемент ($m)

Многие уже знают, что в релизе платформы 8.3.14.1565, браузер Internet Explorer был заменен на Web-Kit, это на самом деле большой шаг вперед, но я уверен, многим, как и мне, пока не совсем понятно, что к чему. Возник опыт использования web-kit в 1С, вызова JS из 1С и вызова 1С из JS. Давайте вместе попробуем понять, чем одно отличается от другого, и заодно сделаем, что-нибудь полезное. Да и наверняка многим придется переписывать свои подобные поделки после обновления на новую платформу, так что надеюсь мой опыт окажется полезным.

2 стартмани

08.12.2019    6638    8    Бэнни    25    

Менеджер загрузки данных из весов с печатью этикеток Промо

Внешние источники данных Весы Учет ТМЦ Учет ТМЦ v8 УТ10 УПП1 Абонемент ($m)

Программное обеспечение "Менеджер загрузки данных из весов с печатью этикеток" предназначено для автоматического получения данных по сети Ethernet из весов МАССА-К моделей ВПМ и ТВ_Р3 (модификация MF) в режиме On-Line.

1 стартмани

20.12.2011    18505    3    hrip    10    

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

WEB Внешние источники данных v8 1cv8.cf Россия Абонемент ($m)

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

10 стартмани

05.12.2019    6501    20    zykov_vitaliy    22    

Использование хранимых процедур MS SQL Server в 1С

Внешние источники данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.12.2019    7282    3    Dedushka    26    

Simple UI: простой конструктор мобильных приложений для устройств на Android.Самый быстрый способ создания рабочего места на смартфоне или ТСД. Обновление от 09.05.2020:развитие функций работы в самостоятельном режиме и Микро-WMS

Мобильная разработка v8 УУ Абонемент ($m)

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

5 стартмани

14.11.2019    9606    86    informa1555    64    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) Промо

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    36379    238    informa1555    200    

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

Мобильная разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.10.2019    7578    8    Kosigo    11    

Вебхук. Путь Телеграма

Внешние источники данных Интеграция v8 Абонемент ($m)

Долгое (на самом деле нет) и нелегкое путешествие телеграма к неведомым (из за РКН) конфигурациям 1С. Памятка себе.

1 стартмани

03.10.2019    13191    8    platonov.e    14    

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

Внешние источники данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

10.09.2019    8377    26    sivin-alexey    8    

Описание формата внутреннего представления данных 1С в контексте обмена данными

Практика программирования Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    15226    10    Dementor    29    

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

Внешние источники данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

06.09.2019    6393    11    duhh    17    

Обмен большими данными между клиентом и сервером

Внешние источники данных v8 Абонемент ($m)

В статье рассматривается вопрос передачи больших объемов данных, превышающих теоретический лимит сеансовых данных (4Гб за вызов) (они же временное хранилище) как с клиента на сервер, так и в обратном направлении.

1 стартмани

27.08.2019    11579    3    logos    24    

Что нам стоит Push построить Промо

Внешние источники данных v8 v8::Mobile Абонемент ($m)

Попробовал некоторое время назад, push сообщения, реализованные в платформе. Понравилось, но есть несколько минусов, на примере одной программы сообщений (не буду показывать пальцем), спустя некоторое время, сообщения переставали приходить онлайн, а на компьютере приходили моментально, при этом сами смартфоны звались флагманами. Читал позднее статью, где описывалось, что проблема на стороне смартфонов, что-то вроде технологий энергосбережения, но точно не помню. Также немалый минус доступно только для смартфонов.

1 стартмани

08.09.2016    25349    17    PloAl    8    

Телеграм 1С – почти коробка

Внешние источники данных v8 Абонемент ($m)

Почему это решение называется «почти коробка»? Потому, что это почти коробочное решение. С его помощью, просто добавив подсистему в конфигурацию, уже можно начинать взаимодействовать с мессенджером Telegram.

10 стартмани

20.08.2019    10254    20    zfilin    63    

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

Внешние источники данных WEB v8 1cv8.cf Абонемент ($m)

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

4 стартмани

08.07.2019    8184    25    miha-28    16    

Интеграция 1С с Битрикс CRM через REST API

Внешние источники данных v8 1cv8.cf Абонемент ($m)

На фоне неутихающего обострения «бизнеса» по внедрению СРМ-систем остро встают вопросы обмена данными с уже существующими системами. В статье рассматривается выгрузка контактов, товаров и сделок из 1С в Битрикс CRM через REST API, приложена обработка для тестирования.

1 стартмани

28.06.2019    16397    21    muzipov    9    

Совместное использование 1С:Сервер взаимодействия и Документооборот 8 КОРП, редакция 2.1.13 - Уведомления для рабочего стола

Пользователю системы Работа с интерфейсом Интеграция Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Абонемент ($m)

С версии ДО 2.1.13 в программу встроена подсистема Обсуждения. Данная подсистема позволяет производить уведомление пользователей без необходимости открытия программы.

1 стартмани

18.06.2019    11443    3    ilya.rudziak    9    

Мобильное приложение 1С: Список покупок и анализ расходов

Мобильная разработка Финансовый учет и бюджетирование (FRP) Финансовый учет и бюджетирование (FRP) v8 v8::Mobile Домашние учет и финансы Россия УУ Абонемент ($m)

В публикации рассмотрено небольшое домашнее мобильное приложение для составления списка покупок и анализа расходов. В приложении реализованы: работа с штрихкодами (сканирование встроенной камерой), поиск наименования товара по штрихкоду из интернета, загрузка чеков из ФНС по QR-коду, вывод QR-кода ранее загруженного чека и др.

1 стартмани

06.06.2019    7602    28    vasilievil    5    

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

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

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

5 стартмани

27.05.2019    9846    31    informa1555    22    

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

Мобильная разработка v8 Абонемент ($m)

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

1 стартмани

19.06.2018    12927    4    informa1555    15    

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

Внешние источники данных WEB Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

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

3 стартмани

04.05.2019    15318    63    MarkoSokolov    47    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    26640    32    riposte    63    

Доработка функционала отправки дополнительных реквизитов 1С: ЭДО для Татнефть

Внешние источники данных Документооборот и делопроизводство Документооборот и делопроизводство v8 ERP2 БУ Абонемент ($m)

Подключаемое расширение к конфигурации ERP с функционалом отправки дополнительных реквизитов 1С ЭДО для Татнефть (№ и дата договора, подразделение, автор, примечание) в электронных документах Счет-фактуры и ТОРГ-12 Проверялось на 1С:ERP Управление предприятием 2.4.6.160.

2 стартмани

07.04.2019    7306    10    sapervodichka    6    

Аутентификация на внешних сервисах посредством OAuth

Информационная безопасность Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Пример подключения к сервисам Google из 1С с помощью протокола OAuth и получения данных с внешнего сервиса.

1 стартмани

03.04.2019    15747    16    binx    11    

Генерация схемы xsd из файла xml

Инструментарий разработчика Внешние источники данных v8 Абонемент ($m)

Утилита, генерирующая xsd схему на основании xml файла.

1 стартмани

25.03.2019    10986    17    fr13    10    

Декларации по формам 11 и 12 алкогольной продукции, интеграция с ПО Декларант-Алко

Розничная торговля Регламентированная отчетность Внешние источники данных Розничная торговля v8 Розничная и сетевая торговля (FMCG) Россия БУ Абонемент ($m)

Конфигурация на обычных формах, платформа 1С 8.2.19.130 и выше, с помощью которой можно сформировать Декларации по формам 11 и 12 алкогольной продукции, гибрид/интеграция с ПО Декларант-Алко версии 4.31.05 и выше.

1 стартмани

25.03.2019    7181    8    independ    8    

Мобильное приложение "Отчет по проделанной работе" Промо

Мобильная разработка Учет рабочего времени Учет рабочего времени v8 Россия УУ Абонемент ($m)

Приложение выполняет фиксацию рабочего времени у клиентов, а также заявок на работы, пригодится как шаблон для разработки своего или как готовое решение для работников в сфере услуг, которые фиксируют время у клиентов. В приложении 2 документа: первый "отчет за день", второй "заявка" и полезный инструмент "Отчет задачи", который в свою очередь создан для просмотра, анализа и закрытия заявок. Тестировал на Iphone 6s.

10 стартмани

01.12.2017    18488    10    olejnikov_m    6    

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

Внешние источники данных v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

26.02.2019    9355    70    Смешной 1С    7    

Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат

Внешние источники данных v8 Абонемент ($m)

Много строк исписано про интеграцию Телеграма и 1С. Но нигде не увидел полной инструкции по установке и настройке вебхуков. Попробую её написать.

1 стартмани

26.02.2019    12601    11    alexlx    29    

Универсальное расширение 1С для Google Таблиц и Документов

Внешние источники данных v8 1cv8.cf Абонемент ($m)

Эта статья для тех, кто использует G Suite и 1С. Готовое решение для выгрузки отчетов и печатных форм из баз 1С в Google Диск в формате Google Таблиц и Google Документов. Информация по его внедрению. Описание создания и настройки проекта в GCP.

1 стартмани

31.01.2019    13499    24    Maria18    20    

Выгрузка и подготовка данных для программы "Перечень льготных профессий" для 1С: ЗУП 2.5 (ОТКРЫТЫЙ КОД) Промо

Рабочее место Внешние источники данных Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 Россия БУ ФОМС, ПФ, ФСС Абонемент ($m)

Обработка для формирования и редактирования данных для перечня льготных профессий. В связи с прекращением поддержки ЗУП 2.5 и отсутствием времени на доработку для сдачи годовой отчетности открыл код модуля. Не очередная выгрузка стажей, а практически полный аналог перечня для 1С. Формирование и редактирование стажей с последующей выгрузкой в формат перечня, но только ГОРАЗДО удобнее и быстрее. В общем, смотрите видео. Где-то половина времени на написание обработки ушла именно на удобство и скорость работы. Внимание: код модуля обработки открыт

5 стартмани

09.11.2015    48498    82    Black-fog    62    

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

Внешние источники данных v8 1cv8.cf Абонемент ($m)

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

2 стартмани

14.01.2019    9043    21    John_d    8    

Применение средств MS SQL R service для 1С

Внешние источники данных v8 1cv8.cf Абонемент ($m)

Некоторое время назад Microsoft добавила в MS SQL сервер службы машинного обучения, позволяющие выполнять программный код на языках программирования R и Python. В статье будет продемонстрирована общая схема и принцип того, как можно использовать данные службы в контексте разработки на 1С. 

1 стартмани

25.11.2018    13232    0    Robbi    14    

Интеграция WhatsApp в 1С (botcorp.io и api-messenger.com)

Внешние источники данных v8 Абонемент ($m)

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

3 стартмани

22.11.2018    22055    56    17808849    49    

Bluetooth сканер штрихкодов и мобильное приложение 1С (Android)

Сервисные утилиты Сканер штрих-кода Мобильная разработка v8 1cv8.cf Абонемент ($m)

Сервис для работы со сканером штрихкодов и передачи данных в мобильное приложение 1С.

1 стартмани

06.11.2018    13481    48    Isonic    21    

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен) Промо

Внешние источники данных WEB Инструментарий разработчика v8 1cv8.cf Беларусь БУ НДС Абонемент ($m)

Подсистема включает документы и обработки для автоматического обмена данными с порталом ИМНС через web-сервис. Присутствует возможность заполнения данными типовых операций за период, учёта входящих документов, учёта произвольных исходящих документов. Приложены обработки для запуска задания планировщика на автоматический обмен данными.

1 стартмани

28.07.2016    30608    19    c1nil    4