Имя: Пароль:
1C
1С v8
v8: Разработка на Android для 1С 8.1 (8.2)

,
0 ver
 
04.10.13
15:10
Для 1С-ников, заинтересовавшихся также разработкой под Android, предлагаю ознакомиться с фреймворком «FBA Toolkit» http://www.profi1c.ru. Он существенно облегчат процесс разработки мобильных приложений для 1С.

“FBA Toolkit” это:
- разработка «нативного» приложения Android в родной IDE на языке Java;
- 1С:Предприятие 8.1 (8.2) в роли источника данных, корпоративной информационной системы.

Попробуйте  возможности «FBA Toolkit» на примере демо-приложений:
- «Заказы сотруднику» http://profi1c.ru/products/fba_toolkit/demonstratsionnoe-prilozhenie-zadachi-sotrudniku.html
- «Мониторинг» http://profi1c.ru/products/fba_toolkit/demo-app-monitoring.html

Вы можете создать похожее приложение буквально за пару часов или заказать разработку у нас. Работаем быстро и качественно с соблюдением Android Design Guideline.
47 Mafoni
 
04.10.13
18:04
(0) для обмена с девайсом 2 way ssl используете ?
48 Зойч
 
04.10.13
18:05
(35) простохотел понять как выглядит грид более чем из 2 колонок
49 Эмбеддер
 
04.10.13
18:07
(39) да хоть раз в минуту. если телефон лежит в кармане, координата не определится, а батарейка сядет
50 Зойч
 
04.10.13
18:08
Опять же иерархия в гриде как выглядит (и есть ли она вообще).
Ибо грид - это самое центровое место
51 Зойч
 
04.10.13
18:10
Короче нужна не просто платформа, а рабочее место мобильного сотрудника, как пример того что вы можете
52 Эмбеддер
 
04.10.13
18:12
(50) если время и желание есть, глянь как я сделал. на маркете ru.code22.mtrade
на винмобайле делал настоящую таблицу, на андроиде сделал как быстрее - штатными средствами. в принципе работают. насколько я полнял из статей ТС, здесь так же
53 ver
 
04.10.13
18:16
(47) Нет, не используется
54 Mafoni
 
04.10.13
18:20
(53) - боюсь спросить что голый http ????
55 ver
 
04.10.13
18:20
(49) Странный у вас телефон, из кармана/сумки/машины GPS как правило определяется без проблем.
56 ver
 
04.10.13
18:23
(54)Да, авторизация фактически по паре логин/пароль + IMEI устройства. Знаете аналоги использующие SSL?
57 Mafoni
 
04.10.13
18:23
(55) - в условиях каменных джунглей  GPS координаты могут либо не определятся либо определяться но с большой погрешностью (проверено на личном опыте).
58 Эмбеддер
 
04.10.13
18:25
(55) не один, все какие попадались себя так вели))) если в машине положить в любое место - определяется. через человека сигнал со спутника не проходит
59 Mafoni
 
04.10.13
18:30
(56) да мало то го что ssl так еще и 2 way (если вы понимаете о чем я)
да мой вариант работает через ssl

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

Печально это.
60 Mafoni
 
04.10.13
18:32
(56) веб сервис небось развернут на IIS да еще и с разрешенной анонимной авторизацией ?
61 vs1c
 
04.10.13
18:33
(0) Тема не нова, вопрос традиционен - чем это лучше нативной разработки под Андроид?
62 Эмбеддер
 
04.10.13
18:34
(59) скриншоты есть или тоже все зашифровано заминировано закодировано?
63 Эмбеддер
 
04.10.13
18:34
(61) быстрый старт. но не бесплатно
64 ver
 
04.10.13
18:34
(50 )Вопрос организации иерархических списков на мобильном устройстве довольно сложная тема. И здесь не стоить бездумно копировать 1С с ПК. Вообще по android user experience, советуют не использовать иерархию более 2 уровней.  Наш вариант: Обзор адаптеров (часть 1) см. совет по UI http://profi1c.ru/products/fba_toolkit/adapters_types_01.html
А реализация двух-уровневой иерархии здесь http://profi1c.ru/products/fba_toolkit/adapters_types_02-htm.html
65 Mafoni
 
04.10.13
18:35
(62) скриншоты чего ?
66 Эмбеддер
 
04.10.13
18:38
(65) программы о которой ты говоришь
67 vs1c
 
04.10.13
18:41
(63) Дело не в деньгах. Представьте, что вы уже разработчик - ADT под Eclipse, SDK, заготовочки там всякие уже складированы - что называется "наливай да пей". И тут начинается - 1С8.3, FBA и т.д. и т.п. Так вот и вопрос - зачем мне вставать с дивана и скидывать теплые тапки? Или это для растущей группы товарищей под девизом "вам ничего не надо знать про Android кроме нашего чуда ..."?
68 Mafoni
 
04.10.13
18:42
(66) она не для общего пользования
69 Эмбеддер
 
04.10.13
18:44
(67) а почему бы и нет. непонятно только ценообразование. выше чем у готовых решений
70 ver
 
04.10.13
18:44
(59) (60) Я понимаю о чем вы. Да,  авторизация анонимная. На сервере может быть IIS или Apache.  Мы решили пока не перегибать палку с безопасностью, возможно, добавим шифрование и защиту паролем zip-пакетов.  А то получится как в анекдоте по неуловимого Джо.
71 Эмбеддер
 
04.10.13
18:49
(70) я вот например в одной конторе от админов смог добиться только одного логина на ftp сервер
72 ver
 
04.10.13
18:49
(67) Если вы опытный разработчик под Android и у вас есть свои заготовочки по обмену с любой конфой 1С + UI + sqlite, то наверное вам это инструмент не нужен. Для начинающих же, это инструмент позволяет автоматизировать рутину и сконцентрироваться на разработке бизнес-логики.
73 1i37процентов
 
04.10.13
18:52
у меня иерархия ограничена группами 5 уровня, более тупо не влазит, да и не зачем, теряется скорость работы с прайсом.
74 smaharbA
 
04.10.13
18:56
быстро и качественно ?!
75 Mafoni
 
04.10.13
18:59
(70) можно поподробней про защиту паролем zip-пакетов ?
76 vs1c
 
04.10.13
19:00
(72) Ничего себе начинающий - вы у себя на сайте почитайте порядок подготовки рабочего места хоть под Win, хоть под Lin. Написано складно и красивые картинки (молодцы, короче) но в процессе косячков хватает. Это вот 1С для начинающих лепит 8.3 тут да. Кроме всего прочего нужно крепенько разобраться с вашей библиотекой - FBA Toolkit.Быстрый старт - раздел документация - Android библиотека FBA - культурный шок у каждого первого начинающего, хотя меня таким уже вряд ли можно    удивить. И если там будет что не так, то без вас видимо будет никак, а в случае со стандартными средствами весь stackowerflow планеты мне помогать будет.
И да непонятно лицензионная чистота всего комплекта. Вы используете кучу сторонних библиотек - под какими они лицензиями, что входит в поставку (речь не про конфу 1С, а про компоненты со стороны Android)?
77 smaharbA
 
04.10.13
19:00
вопрос простой - кто лично смог получить данные отправленные открыто ?
78 ver
 
04.10.13
19:01
(61) FBA это НАТИВНАЯ разработка. В упрощенном виде,  со стороны Android это выглядит как одна библиотека (jar) которая помогает выполнить обмен с 1С и сохранить данные в локальную sqlite-базу. Классы для работы с данными открыты (вы их сами генерируете в 1С) со спец-аннотациями, которые используются ORM-движком. Плюс к этому есть вспомогательные UI, но их использовать не обязательно.
79 vs1c
 
04.10.13
19:03
(61) не надо так кричать - читать мы умеем. Понятно, что НАТИВНАЯ.
80 ver
 
04.10.13
19:10
(76) Видно у нас разные критерии «начинающего» :-).  FBA рассчитан на опытного программиста 1С с начальными знаниями по Java. По моему мнению, опытный (действительно опытный программист) освоит java в необходимом для разработки объеме достаточно быстро.
Б) Лицензии используемого стороннего ПО не противоречат друг другу и допускают разработку стороннего коммерческого ПО.
81 ver
 
04.10.13
19:17
(75) Перед передачей данных 1С упаковывает в zip-архив, здесь и можно поставить пароль на архив.
82 vs1c
 
04.10.13
19:20
(80) видимо да, критерии у нас разные. Хочу взглянуть на опытного программиста 1С, который увидит фрагмент одного из ваших примеров(кстати, действительно толково написано, мне поннравилось) - взял наугад, ну типа:

//Кастомный построитель /форматтер для элементов строки
MetaAdapterViewBinder adapterBinder = new MetaAdapterViewBinder(getActivity(), ExTableCeni.class,
                      new String[] {
                      ExTableCeni.FIELD_NAME_NOMENKLATURA,
                      ExTableCeni.FIELD_NAME_CENA,
                      "kolvo" },
                      new int[] {
  R.id.tvDescription, R.id.tvPrice, R.id.fetKolvo});
  adapterBinder.setViewBinder(priceViewBinder);

"По моему мнению, опытный (действительно опытный программист) освоит java в необходимом для разработки объеме достаточно быстро." - вот согласен, но почему "1С" из это фразы пропало. В предыдущей-то (FBA рассчитан на опытного программиста 1С с начальными знаниями по Java) оно было?
Конечно, человек с опытом освоит и FBA, но зачем? Вед ранее в(72) вы сами пишете "Если вы опытный разработчик ... то наверное вам это инструмент не нужен".
Про лицензии - понятно.
83 Бертыш
 
05.10.13
09:01
Я опытный 1с программист с небольшим опытом на java
84 ver
 
05.10.13
13:03
(82) Не пойму, чего вы добиваетесь. Надергали фраз из контекста и пытаетесь поймать меня на слове, зачем?  В моих сообщениях  я говорю о «программисте 1С» и/или «программисте Java». И если сказано «опытный (действительно опытный программист) освоит java», то здесь из контекста понятно, что имеется ввиду программист 1С.
В (72) я отвечал вам, как опытному программисту Android (имеющему багаж наработок), а не программисту 1С. Пять же, в дополнение к (72) могу сказать, что для начинающего Android- разработчика или опытного (но в другой области) FBA может оказать существенную помощь.

Что же касается примеров, то вы опять выдернули кусок из контекста, причем из предпоследней статьи (а цикл идет по принципу «от простого к сложному» т.е это код уже был «разжеван» в предыдущих статьях и здесь дополнительно не комментируется.

Давайте спросим у (83) насколько сложно воспринимаются первые статьи цикла:
«Задачи для мобильного сотрудника (в двух частях)» http://profi1c.ru/products/fba_toolkit/primer-1-zadachi-dlya-mobilnogo-sotrudnika-chast-1.html
или «Рапорт руководителю» http://profi1c.ru/products/fba_toolkit/raport-rukovoditelyu.html

Да, для работы с FBA существует определенный порог вождения, но он намного ниже, чем нативная разработка под Android + 1C без него.
85 ver
 
05.10.13
13:05
Сорри,
«... определенный порог вХождения...»
86 vs1c
 
05.10.13
13:13
(84) Ну к чему эти обиды? У вас хорошая вещь в руках, но маркетинг все портит. Никто не собирается вас ловить на слове.
Но у меня наверное слишком буквальное восприятие слов. Даже исходя из ваших постов здесь выясняется, что фраза со стартовой страницы вашего сайта "Программисту на платформе «1С:Предприятие 8» не надо быть супер-профессионалом в мобильной разработке, достаточно базовых знаний Java." - уже не соответствует действительности, а ваше утверждение что порог вхождения ниже - как минимум спорно.
87 ver
 
05.10.13
14:01
Ок, вы считаете, что порог вхождения FBA > = нативная разработка Android, я считаю что существенно ниже. В этом топике я как раз и постараюсь  доказать это на конкретных примерах. Вы можете доказать обратное, давайте на конкретной задаче «Отображение списка» :
- выбрать данные в коллекцию (элемент коллекции: Строка и булево) из локальной базы sqlite;
- отобразить эту коллекцию на «форме»
- назначить обработчик изменения флажка: изменяет поле булево у связанного элемента коллекции.

Задача простая и очень часто используемая. Покажите свой код, а я покажу код с использованием FBA. Вот и сравним.
88 vs1c
 
05.10.13
14:32
(87) Надеялся, что до пузомерки не дойдет...

Речь не о том, кто что думает про порог вхождения, а о том, что о своем продукте вы говорите людям - "порог вхождения FBA ниже, чем нативная разработка под Android" - понятно, а "не надо быть супер-профессионалом в мобильной разработке" - ИМХО не айс. Профессионалом быть надо в любом случае, не надо убеждать людей в том, что отойдя от Бейсика в сторону на один шаг и взяв в руки FBA на них тут же снизойдет профессионализм в разработке на Андроид.

Про задачу - из того, что задача простая и часто используема вами не следует, что остальные должны решать ее также. Если вы умеете пользоваться молотком это вовсе не означает, что всё вокруг гвозди.
  
Что касается кода - у меня более чем 20-летний принцип в работе, которого я придерживаюсь неукоснительно - я не пишу код на спор и на корзину. Так что извините, исходников не будет.
89 1i37процентов
 
05.10.13
15:56
единственная реакция большинства местных тут все обо...ть.
90 Gepard
 
05.10.13
16:41
(0) а зачем это, когда можно и без этого с таким же успехом сделать приложение с прямым обменом с базой через веб-сервис?
91 vs1c
 
05.10.13
16:43
(89) Чего же сразу обо...ть? Форум не Госдума - отличное место для дискуссий и обмена мнениями. Обсудить - это да, но не обо...ть.
92 Gepard
 
05.10.13
16:48
(50) при нормальной организации данных - грид не нужен
93 1i37процентов
 
05.10.13
17:09
(92) спасибо, посмеялся :)
94 iamnub
 
05.10.13
17:26
(93)
Вообще не использую грид в приложении. Только опять таки - не пойму причем тут "организация данных".

(84)
Это просто мистовские 1С-ники. Не парьтесь - закаляйтесь духом. То ли еще будет.

(87)
На самом деле - если подумать, то я тоже в недоумении - для чего можно использовать вообще какой-либо FW. Для целей связки с 1С? Но мне кажется, что хранить это в черном ящике как-то чревато. А во всём остальном - чем уступает натив?

Я не знаю, как писать отображение списка на ведре, но приведу код для WP.  

Покатит? o_O

...в контексте страницы, где есть контрол типа ListBox Назовем его clientsView... Для простоты примера конечно.

using(dbContext db = new dbContext())
{
  clientsView = from aClient in db.Clients
                select aClient;
  clientsView.DataContext = clientsView.ToList();
}

Ну, в общем, всё.

Для ListBox-а должен быть нарисован template с:
1.  Галкой на форме - прибиндена к булево у client
2.  TextBox - Прибинден к имени у client.
3.  Тип используемых данных - забинден на клиента.
Это всё делается в Blende, без кода.
95 iamnub
 
05.10.13
17:27
using(dbContext db = new dbContext())
{
var clientsList = from aClient in db.Clients
                select aClient;
  clientsView.DataContext = clientsList.ToList();
}

Прошу прощения.
96 vs1c
 
05.10.13
17:50
(94)
"На самом деле - если подумать, то я тоже в недоумении - для чего можно использовать вообще какой-либо FW" - да для чего угодно.
"Для целей связки с 1С?" - а почему бы и нет.
"Но мне кажется, что хранить это в черном ящике как-то чревато." - там генератор кода, а не чёрный ящик.
"А во всём остальном - чем уступает натив?" - вот и я думаю, чем одно нативное приложение уступает другому?
"Я не знаю, как писать отображение списка на ведре, но приведу код для WP." - спасибо, улыбнуло.

По диагонали что ли тему читали?
97 iamnub
 
05.10.13
18:17
(96)
"По диагонали что ли тему читали?"

Ну ваши высеры я пропускал. Надо было вчитываться? O_o
98 vs1c
 
05.10.13
18:27
(97) Для начала попробуйте вчитаться в первые семь пунктов правил этого форума, а там наверняка полегчает.
99 Эмбеддер
 
05.10.13
18:34
(89) впервые вижу, чтобы ты кого-то похвалил кроме себя
100 iamnub
 
05.10.13
18:39
(0)
Меня в свое время тоже посещала мысль создать некую студию для разработки мобильных приложений в связке-не-пойми-с-чем.

Дело остановилось на собственном фреймворке, который в общем в собственных проектах и использую. Куда-то продвигать его дальше..

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

Уверен, что это было бы востребовано, но тут появилась 8.3
Дело даже не в том, что она стремная по интерфейсу - она работает. Пускай криво, пускай раздражает, но работает.
Дешево и сердито. И главное - ниоткуда появилась куча спецов, которые "в принципе" здесь и сейчас могут "изобразить" мобильное приложение.

Поэтому мне кажется, что начинать что-то конкурирующее с поделкой от 1С -смысла нет.

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

Всё же framework должен скрывать что-то. А я вот увидел в вашем примере doc.toString() - и гадаю, джизус, зачем это??
101 ver
 
05.10.13
19:12
(88) Никто с вами пузом мерятся не собирается. Здесь я и так планировал показать чем FBA лучше и для сравнения нужны будут 2 варианта кода :-) . А вы, если уж вступили в диалог, готовитесь отстоять свою точку зрения, иначе грош цена вашим категоричным выскакиваниям. Тематический форум и узкая тема это подразумевает, мы здесь не влияние лунного света на рост телеграфного столба обсуждаем.
Вы же вцепились в одну фразу на главной нашего сайта и вывели из нее такие следствия, что мы и не ожидали :-)

Что касается задачи, то списки + адаптеры к ним, это одна из самых распространенных задач под Android, а в случае разработки бизнес-приложений это верно на все 100! Готов подписаться под каждым словом, и пусть разработчик Android кинет в меня камень если я не прав.

(94) (95) В Android это сложнее и эту рутину приходится постоянно повторять (универсальное сделать сложно). Все это отнимает много времени. Я позже покажу код для сравнения
102 vs1c
 
05.10.13
19:32
(101) "для сравнения нужны будут 2 варианта кода" - по мне так это сравнивать мягкое с пушистым. Вы, я и еще куча народу - авторы своих чудо-произведений и никогда не будем объективно относиться ни к своему, ни к чужому коду, как бы краток, красив и чудесен он не был.
Что касается моей точки зрения, то вы сами неоднократно с ней соглашались. Мы разошлись с вами только в терминологии - кто такой "начинающий" и что такое "существенное облегчение процесса" - ну так тут сколько людей столько и мнений. Или вы будете по прежнему настаивать что профессиональный программист 1С с начальными навыками Java сможет "создать похожее приложение буквально за пару часов"?
А фраза с главной вашего сайта ИМХО вводит людей в заблуждение и я это сказал, чего вы здесь не ожидали?
103 ver
 
05.10.13
20:05
(100) Знаете, если бы прошлой осенью 1С выкатила свою бета-версию «Мобильной платформы», которая хотя бы чуть-чуть соответствовала основным руководящим принципам разработки мобильных приложений под Android (а на тот момент они уже были и был накоплен соответствующий user experience), этого проекта бы не было. 1С же, бездумно перенесла интерфейс с ПК или Windows Mobile. При первом запуске демки на мобильном устройстве не было желания поискать рядом стилус? (это я еще мягко сказал,у меня и коллег были более крепкие высказывания)

За последний год ничего не изменилось, а раз так, мы еще побарахтаемся :-) Я думаю, наши клиенты это те, кто остался недоволен мобильной платформой 8.3, как это было под Windows Mobile c «1C:Предприятие 8. Расширение на КПК». Что касается продажи самого фреймворка,  мы понимаем что вообще инструменты разработки продаются плохо, а для сообщества Java особенно и не планируем доходность более 10%. Основной заработок — проект под заказ с использованием FBA.

Похожее направление (с закрытым конструктором и псевдо-языком) рассматривалось, но решили что это не наш вектор. Лучше использовать родную IDE и всю мощь языка, при этом понимая, что теряется большой пласт потенциальных пользователей нашего продукта.  
Зато оставшиеся получают удовольствие :-). Хотите запрыгнуть с нами в поезд? Добро пожаловать, только подтяните ваши знания по Java чуть-чуть. Как то так...

Что касается вашего вопроса, то  toString() к объектам как правило применяется, чтобы получить тестовое представление этого объекта (в большинстве случаев это отладка и вывод лога, но не обязательно)
104 ver
 
05.10.13
20:15
(102) Да, буду настаивать. Я похожее приложение  (как «Задачи сотруднику») сделаю за 10-20 мин, ИМХО «профессиональный программист 1С с начальными навыками Java сможет сделать это за пару часов». Если нет, значит он слегка переоценивает свои силы и скорее всего по Java (делать «хело ворд» под Android он должен уметь).

Далее в этом топике, я больше не намерен обсуждать эту фразу, если  у вас есть  другие конструктивные вопросы, с удовольствие отвечу. Спасибо за ваши замечания.
105 vs1c
 
05.10.13
20:31
(103) "Я похожее приложение  (как «Задачи сотруднику») сделаю за 10-20 мин" - В вопросе из (102) речь шла совершенно очевидно не о вас лично. У меня нет никаких сомнений в том, что вы это сделаете. Но вы правы - нужно шире все толковать, побольше креатива и фантазии. Обсуждать ваши фразы и надписи у вас на сайте вы категорически запретили. Ок. Замечаний больше не будет только конкретные вопросы.
Сколько времени (минут, часов, дней) потребуется программисту, который только что сделал свой первый «хело ворд» под Android, на качественное освоение библиотеки классов FBA?
106 ver
 
05.10.13
21:14
С вами тяжело общаться, вы почему-то делаете противоестественные умозаключения из вроде бы очевидных фраз. Ищете какой-то срытый смысл? Напрасно. 2 часа из 10-20 мин это простая экстраполяция.
Вам время с точностью до минут? Сомневаюсь, что вас удовлетворит ответ, ведь мы же с вами так не сошлись в параметрах по «начинающему java-программисту» :-)
107 vs1c
 
05.10.13
22:22
Да-а... Я не делал никаких умозаключений, не ищу скрытый смысл, после (105) пообещал ничего не комментировать, задал простой и конкретный вопрос, предполагающий простой числовой ответ. Вы же вместо ответа начали мне рассказывать о своих сомнениях и экстраполяциях. И с кем из нас общаться-то тяжело? Ответ будет или как?
108 iamnub
 
05.10.13
23:51
(107)
Ну не хотят тебя, мистер "20-лет-стажа-я-не-пишу-код-в-корзину-почему-БП-сырая", неужели непонятно?
109 iamnub
 
05.10.13
23:53
(103)
"При первом запуске демки на мобильном устройстве не было желания поискать рядом стилус?"

Я "евангелист" другого решения - мне на 1С-поделие и смотреть-то грешно. Хотя конечно конкурента надо знать в лицо, надо бы и пощупать..
110 iamnub
 
05.10.13
23:58
Но я повторюсь - мне щупать его особо нечего - ко мне прибегают и суют его под нос, и то что я вижу - вызывает скепсис. Я при разработке основывался на несколько других концепциях в принципе.
111 ver
 
06.10.13
12:13
(107)
На самой деле в библиотеке FBA ничего сложного нет, все классы логически сгруппированы по пакетам и для успешного применения на практике не обязательно сразу осваивать все.

Для начала советую ознакомится с пакетом ru.profi1c.engine.meta и здесь вам в помощь статья «Работа с данными (выборка, создание удаление)» http://profi1c.ru/products/fba_toolkit/crud.html, диаграммы классов можно вообще распечатать, чтобы были всегда под рукой (на начальном этапе очень помогает).

Затем из пакета ru.profi1c.engine.widget стоит обратить внимание на адаптеры MetaArrayAdapter, PresentationAdapter и MetaExpandableListAdapter т.к они используются чаще всего. Как с ними работать (создавать, привязывать биндер) рассказано в статье «Обзор адаптеров» в двух частях:
http://profi1c.ru/products/fba_toolkit/adapters_types_01.html
http://profi1c.ru/products/fba_toolkit/adapters_types_02-htm.html

И на конец из пакета ru.profi1c.engine.app посмотрите на FbaDBActivity. От него чаще всего бы будете наследоваться, когда потребуется работать с данными. Хотя что в нем смотреть, из этого «ужасно сложного класса» нужна только функция getHelper()

Таким образом, при активном использовании материалов с нашего сайта, анализе исходного кода примеров и FBA (да, код 1С открыт полностью, код на Java открыт частично) думаю за 3-4 недели освоить FBA можно достаточно хорошо.

За это время вы вполне можете создать несколько несложных работоспособных приложений, а к концу т.н курса у вас уже будут хорошие наработки и шаблоны приложений для будущих проектов.  Плюсом к этому освоите библиотеку OrmLite. Уверен пригодится даже если вы решите продолжать разработку без FBA.

На самое деле сообщество Java огромно, примеров кода и уроков масса. Вы можете создать приложение с уникальными возможностями, которые на 1С 8.3 недоступны.
112 1i37процентов
 
06.10.13
12:58
все это ерунда, главное что агент+ конец!
113 vs1c
 
06.10.13
13:13
(111) Спасибо. Про время на освоение я спросил не зря. ИМХО мне бы (будь я новичком) было удобно читая уроки на вашем сайте видеть и примерное время на освоение того или иного материала. Так сделано на многих сайтах и в куче книжек (к примеру у той же 1С - практическое пособие разработчика). Сделать оценку времени не трудно, было бы не лишним и у вас, а разработчикам это позволит планировать время на освоение.

С OrmLite познакомились уже давно и также давно подружились :)
114 Gepard
 
06.10.13
13:52
(93) да на здоровье)
115 Gepard
 
06.10.13
13:53
(114) + кстати, сейчас переделываю локальный сервер, он будет полностью бесплатный.
116 1i37процентов
 
06.10.13
13:55
лучше бы свой клиент полностью бесплатный для агент+ сделал, пользы было бы больше!
117 Gepard
 
06.10.13
13:57
(116) не понял причем тут агент+
p/s клиент и так бесплатный.

Если что, я про "Ассистент торговли"
118 1i37процентов
 
06.10.13
14:02
платная версия отсеивает толпы идиотов, которые бесплатно выносят тебе мозг даже ночью.
119 ver
 
06.10.13
14:07
Вот обещанный пример для сравнения, я постарался быть объективным и для варианта  без FBA не раздувать код.

1. Подготовка
а) класс, элементы которого будут отображаться списке. Я взял за основу справочник и добавил в него поле «cheked»:

public class SimpleCatalog extends Catalog{

    /*
     * Возвращает тестовую коллекцию элементов для нашего примера. С выборкой из
     * базы данных не заморачиваемся, сейчас это не важно, просто создаем
     * коллекцию из 10 элементов
     */
    public static List<SimpleCatalog> getDummyCollection() {
        List<SimpleCatalog> lst = new ArrayList<SimpleCatalog>();
        for (int i = 0; i < 10; i++) {
            lst.add(new SimpleCatalog("Имя элемента " + i, i % 2 == 0));
        }
        return lst;
    }
    
    public boolean cheked;

    public SimpleCatalog(String desc, boolean checked){
        setDescription(desc);
        this.cheked = checked;
    }
...
}

б) создан макет row_item.xml для строк списка:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android";
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minHeight="48dp"
    android:padding="5dp" >

    <TextView
        android:id="@+id/desc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true" />

    <ru.profi1c.engine.widget.FieldCheckBox
        android:id="@+id/cheked"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true" />
</RelativeLayout>
Здесь используется FieldCheckBox, для варианта без FBA он работает как обычный CheckBox.
120 Gepard
 
06.10.13
14:08
(118) у бесплатной поддержка только через форум
121 Эмбеддер
 
06.10.13
14:08
(104) хэлло ворлд создается в эклипсе вообще без программирования
122 ver
 
06.10.13
14:09
(119)
2. Теперь код стандартный (без FBA). Сложность задачки как раз в требовании обработчика на флажок, по этому и потребуются пляски вокруг реализации своего адаптера:

/*
* Свой адаптер придется создавать  от ArrayAdapter или BaseAdaper
* в основном из-за того, что нужен свой обработчик
*/
public class StandartArrayAdapter extends ArrayAdapter<SimpleCatalog> {

    private final LayoutInflater mInfrater;
    
    public StandartArrayAdapter(Context context, int resource,
            List<SimpleCatalog> objects) {
        super(context, resource, objects);
        mInfrater = (LayoutInflater) context
                .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    }
    
    /*
     * Вам этот метод придется переопределить в любом случае чтобы добавить
     * логику (обработчик) клика по флажку.
     * И здесь пример еще самый простой т.е не используется паттерн ViewHolder.
     */
    Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // создать макет для строки
        View row = mInfrater.inflate(R.layout.row_item, parent, false);

        // элемент отображаемый в строке
        SimpleCatalog item = getItem(position);

        // Установка текущих значений для элемента в списке. Дополнительно для
        // флажка устанавливается обработчик из через Tag сохраняется текущая
        // позиция (нужна при изменении флажка)
        TextView tvDesc = (TextView) row.findViewById(R.id.desc);
        tvDesc.setText(item.getDescription());

        CompoundButton cbCheked =  (CompoundButton) row.findViewById(R.id.cheked);
        cbCheked.setChecked(item.cheked);
        cbCheked.setOnCheckedChangeListener(listener);
        cbCheked.setTag(position);

        return row;
    }
    
    /*
     * Обработчик изменения флажка. К какому элементу коллекции относится флажок
     * определяется через Tag (в нем сохранили тек. позицию)
     */
    private OnCheckedChangeListener listener = new OnCheckedChangeListener() {

        Override
        public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {

            int position = (Integer) buttonView.getTag();
            SimpleCatalog item = getItem(position);
            item.cheked = isChecked;
        }

    };
}

//и вывод на «форму»
list.setAdapter(new StandartArrayAdapter(this, R.layout.row_item,
                SimpleCatalog.getDummyCollection()));
123 ver
 
06.10.13
14:13
(122)
3. Код на FBA, сравните:

list.setAdapter(new MetaArrayAdapter<SimpleCatalog>(this,
                SimpleCatalog.class, SimpleCatalog.getDummyCollection(),R.layout.row_item,
                new String[] {
                        SimpleCatalog.FIELD_NAME_DESCRIPTION,
                        "cheked" },
                new int[] { R.id.desc,
                            R.id.cheked }));

Адаптер используется готовый, а обработчик на флажок реализован внутри.
124 ver
 
06.10.13
14:15
Офф: кто-нибудь может подсказать как ставить тег код для форматирования сообщений?
125 ver
 
06.10.13
14:18
(123) Результат на картинке
http://s24.postimg.org/i379yc3ut/simple_Mista01.png
126 iamnub
 
06.10.13
14:30
Теперь понятно, почему меня от ведра инстинктивно воротит.
127 Gepard
 
06.10.13
14:31
(126) зря, код отдельных программистов - не показатель. Тут намного проще чем в том же WP8 (хотя концепция формирования форм похожи)
128 Gepard
 
06.10.13
14:31
(127) *концепции
129 ver
 
06.10.13
14:37
(126)
Что тут такого страшного? Единственное неудобство WP-программера это то, что биндинг контролов с данными делается программно, а вы привыкли делать это интерактивно.
130 iamnub
 
06.10.13
15:14
(127)
ЧТО в ведре может быть проще?
131 Gepard
 
06.10.13
15:47
(130) ты не поверишь...)
132 ver
 
06.10.13
17:39
(131)... но Java работает под Linux и Mac OS...)
133 ver
 
06.10.13
17:47
А если серьезно и чтобы не начинать холивары давайте ближе к теме.
134 iamnub
 
06.10.13
17:51
(133)
Давайте. Как вы живете без LINQ?
135 Gepard
 
06.10.13
18:21
(134) Замечательно)
да и на шарпе тоже, к выходу LINQ у меня уже был свой фреймворк такого же типа
136 ver
 
06.10.13
18:23
Лично я отлично, пишу на 1С, Java, C++ и С# и не гнушаюсь Delphi. При реализации поставленной задачи выбираю инструмент на котором эта задача может быть решена наиболее оптимальным методом. У каждого языка/инструмента есть свои плюсы и минусы. Повторюсь, давайте ближе к теме, хотите устроить холивар — заводите отдельный топик. Спасибо.
137 ver
 
06.10.13
18:27
Немного об ограничениях FBA.

Наверное основное ограничение в том, что не все объекты 1С могут быть использованы мобильным клиентом. В первую очередь это касается реквизитов составного типа. Они не поддерживаются, и если до версии 1.04 их вообще нельзя было использовать, то начиная с версии 1.04 правила немного смягчены — можно выбрать один тип.
Например, реквизит «ТипЦен» договора контрагента может быть ссылкой на справочник «ТипыЦен» или «ТипыЦенКонкурентов», чтобы использовать надо явно указать его тип (или одно или другое). Плюс к этому, при запросе данных мобильным клиентом, не передавать данные непереживаемого типа.

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

Как можно обойти:
для реквизитов справочников и документов создать дополнительный (ные) реквизиты для второго и последующих типов если они также должны использоваться на мобильном устройстве;
вместо регистра сведений создать «внешнюю таблицу» которая по своему составу повторяет регистр (только содержит один тип для проблемного реквизита) и заполнять ее по данным регистра при запросе от клиента.
138 ver
 
07.10.13
11:15
Теперь о некоторых преимуществах/удобствах FBA

- если реквизит объекта 1С типа «ХранилищеЗначения» содержит объект «Картинка» или «ДвоичныеДанные» передача его выполняется автоматически, никаких дополнительных действий предпринимать не надо.

Если такой реквизит (содержащий например фото)  при проектировании пользовательского интерфейса связать с ImageView,  изображение будет автоматом отображено.

Это свойство позволяет легко организовать обмен небольшими файлами и фотографиями.
139 ver
 
07.10.13
13:28
В FBA, в отличие от мобильного решения 1С 8.3, действительно можно работать с картами интерактивно и в полном объеме. Да, в 1С последней версии можно отобразить карту и даже маркер с всплывающим уведомлением, но реакцию на выбор пользователем точки на карте сделать не получится.

В FBAможно использовать карты:
- Google Maps
- Yandex
- OpenStreetMap (вариант mapsForge, офлайн карты и есть вспомогательные классы, облегчающие работу)

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

Как может выглядеть ваше приложение:
- OpenStreetMap см. в статье «Офлайн карты» http://profi1c.ru/products/fba_toolkit/offline-maps-mapsforge.html/2
- Google Maps см. в портфолио, приложение «Аудит торговой точки» http://profi1c.ru/portfolio-audit-salespoint
140 ver
 
08.10.13
11:09
И естественно с FBA можно делать виджеты.

Кстати вопрос. Как вы думаете, востребован ли для корпоративного мобильного клиента функционал интеграции в эко-систему Android? Например:
- опять те же виджеты, скажем отображать на экране список задач или маршрут посещения;
- интеграция со встроенным календарем, сервисами Google Docs, Box, DropBox;
- bluetooth-сканеры, NFC-метки
141 Ахмадинежад
 
08.10.13
13:57
что-то при заходе на http://fba.profi1c.ru/demoFba пишет неопределённую ошибку
142 Ахмадинежад
 
08.10.13
14:01
это в интернет-эксплорере. При попытке выбрать моб.компьюетр у мобильного сотрудника - вылетело с ошибкой и дальше не пускает.

А вот через оперу снова зашёл. Всё ок пока что.
143 ver
 
08.10.13
15:53
Проверьте настройки вашего браузера (см. http://v8.1c.ru/small.biz/online/settings.htm)
Все должно работать,  там стандартные обработчики 1С 8.2 срабатывают
144 zladenuw
 
08.10.13
16:14
(103) по поводу поезда. как попасть в вагон ?
145 ver
 
08.10.13
16:47
(144) В вагон или к машинисту?
146 kaban50
 
14.10.13
13:47
(0) Ух ты, пошел читать