Архив метки: Уроки

Сортировка списков

Достаточно часто перед разработчиком стоит задача по сортировке коллекций. Это может быть список клиентов в алфавитном порядке или прайс-лист продукции, упорядоченный по цене. В этой статье рассмотрим варианты сортировки, которые предлагает фреймворк FBA Toolkit, а также покажем, как можно реализовать свой вариант упорядочивания.

Читать далее

Табличная часть документа

Продолжение цикла статей о создании мобильного приложения «Заказ покупателя», предыдущие части: 1, 2, 3, 4.

Одной из самых востребованных задач при разработке корпоративного мобильного приложения является организация механизма ввода данных в списках. Если это основной функционал, то при проектировании пользовательского интерфейса этому вопросу следует уделить особое внимание. Желательно вообще избежать дополнительных кликов и открытий вспомогательных диалогов ввода, идеальный вариант – редактирование данных непосредственно в списке. Читать далее

Офлайн карты

Продолжим знакомство с фреймворком “FBA Toolkit” и рассмотрим еще один пример разработки андроид-клиента для 1С. Наше приложение “Аудит торговой точки” будет загружать маршрут посещения из 1С и отображать его на карте. Используются офлайн карты на базе картографического сервиса OpenStreetMap.

Предполагается, что у вас уже установлены и настроены все необходимые инструменты разработчика.Фреймворк “FBA Toolkit” должен быть не ниже версии 1.03, обновите конфигурацию 1С и Android-проект ru_profi1c_fba из SVN-репозитария.

Читать далее

Форма документа

Продолжение цикла статей о создании мобильного приложения «Заказ покупателя», предыдущие: 1 часть, 2 часть и 3 часть

Рассмотрим приемы интерактивного изменения реквизитов объекта. В 1С наиболее близкое понятие это «форма документа» или «форма элемента справочника».

В общем случае, порядок действий следующий:
- на «форме» (это условное понятие, у вас это может быть activity, fragment или кастомный View) разместить контрол View: поле ввода, переключатель, список  и т.п.;
- считать редактируемый документ, в контрол вывести значение редактируемого реквизита;
- назначить обработчики изменения, где считывать введенное пользователем значение и сохранять его в реквизит объекта.

Сложно? С помощью FBA это можно сделать изящнее. Давайте создадим простую форму для редактирования «реквизитов шапки» нашего документа «Заказ покупателя». Читать далее

Формы списков

Продолжение, предыдущая часть здесь.

В этой части рассмотрим создание списков документов и справочников. Общие правила для отображения любых списков на Android одинаковы – создать адаптер подходящего типа и связать его ListView (или любым другим элементом UI)  для просмотра и манипуляции данными.

Пример отображения списка справочника, показанный в статье «Обзор адаптеров (часть 1)»  с помощью MetaArrayAdapter, может показаться сложным и затратным для начинающего разработчика, потребуется:
- подготовить xml макеты заголовка и элементов адаптера
- сделать выборку данных из справочника
- создать адаптер и назначить его источником данных для списка (ListView)

Если требуется всего лишь отобразить примитивную «форму списка/выбора» справочника или документа этот вариант будет не самым оптимальным. Для этих целей проще использовать классы SimpleDocumentListActivity и SimpleCatalogListActivity. Читать далее

Обзор адаптеров (часть 2)

Продолжение, первую часть читайте здесь.

Содержание

SimpleHierarchyAdapter

Похож на PresentationAdapter, простой адаптер для иерархических справочников. Несмотря на название, по сути выводит линейный список, просто подчиненные элементы выводятся с небольшим отступом.

1
2
3
4
5
6
//Иерархический вывод групп справочника «Номенклатура»
CatalogNomenklaturaDao daoSku = getHelper().getDao(CatalogNomenklatura.class);
SimpleHierarchyAdapter<CatalogNomenklatura> adapter = new SimpleHierarchyAdapter<CatalogNomenklatura>(this, daoSku);
 
Spinner spin = (Spinner) findViewById(R.id.spinner1);
spin.setAdapter(adapter);
//Иерархический вывод групп справочника «Номенклатура»
CatalogNomenklaturaDao daoSku = getHelper().getDao(CatalogNomenklatura.class);
SimpleHierarchyAdapter<CatalogNomenklatura> adapter = new SimpleHierarchyAdapter<CatalogNomenklatura>(this, daoSku);

Spinner spin = (Spinner) findViewById(R.id.spinner1);
spin.setAdapter(adapter);

Читать далее

Обзор адаптеров (часть 1)

Содержание

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

    В первом уроке “Задачи сотруднику” уже приводился пример создания адаптера (MetaArrayAdapter) для отображения списка задач, сейчас рассмотрим этот и другие адаптеры из состава FBA более детально.

    Читать далее

    Рапорт руководителю

    Цель урока

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

    Читать далее

    Заказы покупателя (часть 2)

    Продолжение, первую часть читайте здесь.

    Создайте новый Android- проект по сгенерированному шаблону (как это сделать уже рассматривалось ранее) .Откройте MainActivity.java и добавьте следующую процедуру:

    Читать далее

    Заказы покупателя (часть 1)

    Предположим, что у вас в конфигурации 1С уже есть объект метаданных “Документ Заказ покупателя” и вы хотите разработать приложение для торговых представителей, которое позволит оперативно создавать заказы с мобильного устройства.

    В этом примере используется конфигурация «FBA-демо», которая поставляется в составе дистрибутива FBA для 1С.
    В целях упрощения примера, примем следующие правила для нашего будущего приложения:

    - все заказы с мобильного приложения будут оформляться только от одной организации, указанной в константе «Основная организация»;
    - валюта заказа и цен номенклатуры –  рубли,  используется только один соответствующий тип цен, указанный в константе «Основной тип цен продажи»;

    Читать далее