Как стать автором
Обновить

Комментарии 33

Верно ли я понял, что все таблицы в веб-версии выводятся графическими элементами? Заголовков нет. Ссылки есть, но текста не содержат. Даже не знаю, для чего они. В общем для работы со скринридером все довольно печально.

На самом деле, таблицы в веб-версии выводятся именно как таблицы. Никаких графических элементов ни в заголовках, ни в ячейках таблиц нет (ну, за исключением случаев когда туда нужно поместить именно картинку, например, как изображение товара). Заголовки в таблицах есть, текст в заголовках написан.
Наверное это какая-то особенность скринридера?! Мы проверим как веб-версия работает со скринридерами и постараемся исправиться.

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


Скринридер стандартный для windows — nvda.


Про заголовки я имел ввиду h1… h6. По-хорошему они должны отделять разные части страницы друг от друга. Так же, как и ul, например. Именно между ними, как правило, и осуществляется навигация с помощью скринридера. Например, заголовок с названием вашей статьи на этой странице — h1.

Нет, сводная таблица рендерится очень похоже на обычную таблицу, то есть tr/td'ками (хоть и coffeescript'ом, а таблица на самом деле GWT). Рендереры ячеек и там и там используются одинаковые.

Но как это все конечно скринридером воспринимается надо изучать.

Заголовки h* для бизнес-приложений это немного странная вещь, так как в бизнес-приложениях в основном используется более сложный flex / table layout'инг, и как в этом случае использовать эти теги конечно загадка.

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


Речевой вывод

2020 — 132020 — 152020 — 172020 — 192020 — 222020 — 242020 — 262020 — 282020 — 302020 — 352020 — 372020 — 402020 — 462020 — 502020 — 522021 — 12021 — 32021 — 52021 — 530200400600800 graphic


Ну, не знаю. А github и gitlab — это бизнес-приложения? Я пока не сталкивался с веб-приложениями, в которые нельзя было бы внедрить удобные способы навигации с помощью скринридера. Даже visual studio code имеет h* заголовки, списки, ссылки и т.п. Хоть по максимуму старается выглядеть для скринридера, как нативное приложение.

А RaspberryPi 4 c 4G ОЗУ потянет эту систему? вывод через экран с тачскрин сделать и всякие штрихридеры через юсб подключить. Чтобы создать раб место кассира в маленьком магазе.
Или Ваша система не для этого?
Серверная часть вряд ли сможет нормально работать на таком железе, а вот для клиента, как минимум, есть варианты. Самый простой — из браузера открывать веб-интерфейс, адаптированный для мобильных устройств. Можно пойти и более сложным путем — используя любую подходящую технологию, сделать для мобильного устройства клиентскую часть, которая будет посредством REST API общаться с серверной частью.
В целом, варианты есть — все зависит от решаемой задачи.
Хорошо — вынесем сервер в облако, закроем впн-ом. Клиента на малинке организовать получится? Ну или планшет на андроиде? или тсд на андроиде? — китайцы такие делают.
Клиент на мобильном устройстве — это не проблема. У нас в портфеле есть решения и с ТСД, и с адаптированными формами под смартфоны, и кейсы работы на планшетах.
Вы, например, можете попробовать зайти на демо MyCompany со смартфона и у вас автоматически откроются формы, адаптированные для таких устройств. Вы можете открыть эту же страницу с планшета, зайти в раздел «Розничная торговля» и попробовать форму POS — работа с планшета здесь вполне комфортна. Опять же, платформа позволяет очень легко добавить необходимые именно вам формы, в том числе и адаптированные для экранов мобильных устройств.
замена 1с


Это в первую очередь: работа конечного пользователя. Простая установка, обновление и работа, без привлечения третьих лиц.

Начало хорошее и есть к чему стремится.
Тут только надо учитывать, что все-таки есть разница в подходах и решениях между коммерческими (как 1С) и open-source проектами.

Но я бы не сказал, что вот это прямо про 1С, учитывая что при простом обновлении платформы с 8.3.17 до 8.3.18 могут возникнуть проблемы:
Простая установка, обновление и работа, без привлечения третьих лиц.
с 8.3.17 до 8.3.18

Если при обновлении минорной версии возникают проблемы, то версионирование неверное или баг какой-то конкретный имхо.
Добро пожаловать в мир 1С.

В современном мире (например, PostgreSQL или Java) уже второе число — это только баг-фиксы. А у 1С третья цифра — это добавление новых фич (причем существенных).

Ну потому что они не 8.3.18, а 8.3.18.1289

Проработав более 10 лет назад, в разработчиках ERP систем, Microsoft, SAP.
Наблюдаю удивительную приемственность 10 — 20 летней давности в UX.
image
Не стоит смешивать B2C и B2B интерфейсы. В первом случае, удобство и красота для пользователя стоит на первом месте. Во втором случае, на первых местах находятся эффективность выполнения сотрудником своих функций, гибкость бизнес-процессов, цена и так далее. Удобство и красота где-то дальше. Да, это плохо, но, к сожалению, такова жизнь, так как лица принимающие решения, как правило, не будут работать непосредственно с программой.
Да, но объем располагаемой информации одновременно на всём экране утомит любой мозг. Я не говорю о крайности про B2C, но и B2B подобный интерфейсы тоже крайность, видимо не хотят искать в B2B компромисс в UX. Конечно проще всего тянуть нашлёпывание ипутбоксов на формы со времен Borland Delphi X.0
А Вы видели когда-нибудь интерфейс биржевого брокера? Там тоже нужно делать одну кнопку, как у Apple?

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

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

В общем, не все так однозначно. Видимо не просто так SAP, Axapta, 1С и прочие бизнес-приложения имеют такие интерфейсы. Возможно это наименьшее из зол.
Честно говоря последние несколько лет работаю, делая интерфес биржевого брокера для CFD и CE. И да, могу с уверенностью сказать что видел и делаем с UX сейчас.
И как там? На формах одна большая кнопка с одним болшьим текстовым полем? Или все-таки много разных относительно небольших элементов, каждый из которых отображает отдельную необходимую для принятия решения информацию?
Второе.
Но в описанной в статье системе второе х 10
НЛО прилетело и опубликовало эту надпись здесь
1. В настоящий момент вы можете вести базу физических и юридических лиц с информацией об их адресах, контактах, договорах, местоположении и т.д. Кроме того, в планах есть добавление базового функционала CRM — логики потенциальных сделок.
2-3 Вообще говоря, система MyCompany ориентирована, в первую очередь, на работу с товарами и в большей степени она подходит организациям, занимающимся оптовой и розничной торговлей. Несмотря на это, базовый функционал работы с услугами в MyCompany присутствует. Он, по меньшей мере, позволяет работать с услугами начиная от заказов и заканчиваю учетом задолженностей. Следует понимать, что это только базовый функционал, не учитывающий никаких отраслевых специфик.
Если говорить о возможности добавления такого функционала, то да — такая задача, учитывая модульность системы и открытый исходный код, представляется не запредельно сложной.
Очень не хватило отдельной части как проверить получившийся результат. Куда и как писать автотесты на автоматизируемые процессы. Я понимаю, что это потянет на отдельную статью, но хочется видеть мнение разработчиков платформы на этот вопрос.
Тут есть вот какая особенность. Надо понимать, что lsFusion очень высокодекларативная платформа (думаю, что на порядок превышающая все существующие). Соответственно, в ней максимально описывается именно ЧТО надо получить, а не КАК это надо получить. А значит непонятно, что значит тестировать «получившийся результат», потому как, как говорится, «программа работает так, как она написана». Еще более непонятно как тестировать пользовательский интерфейс (и что в нем тестировать).

Впрочем допускаю, что какие-то сценарии тестирования все же могут быть (все же действия и события привносят определенную императивность, пусть и в пропорции 20 на 80), но для их проверки в любом случае придется запускать сервер. Поэтому я бы это видел как прописывание в действие выполняемое на старте сервера:

onStarted() + {
     IF inTestMode() THEN {
         // заполняем данные, после чего делаем APPLY и проверяем applyCanceled и / или результат после него, пишем в лог и кидаем exception если что-то пошло не та
     }
}

Соответственно дальше на сервере сборки / тестирования запускаем старт сервера в test mode и проверяем, что он прошел успешно (по логу можно понять что именно упало). Правда пока готовой инфраструктуры под это нет, но она скорее всего сведется к каким-то стандартным действиям, которые не сложно написать самому.

Sql тоже декларативный. Но зачастую запросы содержат ошибки

Ну, во-первых, SQL все же менее декларативный, работает на более низком уровне абстракции (таблиц, а не функций), и, в том числе поэтому, имеют большую accidental complexity (скажем типы join'ов, возможность соединения не по всем ключевым полям и т.п.). Как следствие имеет существенно большую вероятность ошибок.

Плюс (и что наверное главное) в SQL нет инкрементальности (реактивности) из коробки (только в очень частных случаях), а именно ее обеспечение в современных бизнес-приложениях это чуть ли не 90% всей императивной логики. В lsFusion такой проблемы нет.

Впрочем, опять-таки, не отрицаю, что все же, в весьма редких случаях, некоторые сценарии тестирования могут быть необходимы, и я выше контурно описал, как это все может выглядеть на практике.
А есть ли примеры интеграции Вашей платформы с 1C? Через HTTP/Web сервисы, ODATA, AMQP и.т.д. В любом случае для отчетности (в России) будет использоваться 1с бухгалтерия/ЗУП, (да и у многих процессы также завязаны на ERP/УНФ)… В принципе примерно понятно как реализовать, но хотелось бы реальных use case.
Конечно у нас есть достаточное число кейсов интеграции с другими системами. Среди этих систем есть, конечно же, и решения на базе 1С. Для интеграции мы используем различные технологии — механизмы и способы обмена зависят от требований каждого конкретного проекта.
Что касается именно myCompany, то в самых ближайших планах у нас добавление базового механизма обмена в формате 1C:EnterpriseData. Это должно позволить достаточно просто интегрироваться с большинством типовых решений 1С.
Существуют методы для синхронизации товаров с WooCommerce(да и с другими движками?
Это было бы интересно, учитывая, что микро/малый бизнес часто можно уувидеть на платформах типа WP, а не, во всех смыслах, монстрах, типа 1C:<нужное вписать>
Готового решения по интеграции с WooCommerce в myCompany сейчас нет — просто пока не вставал такой вопрос, однако интеграционные решения достаточно просто создаются средствами платформы.
Ряд интеграций планируем реализовать мы сами, но для этого необходимо понимать существующие потребности.
В наших планах, например, реализация стандарта CommerceML. Если есть потребность в реализации других форматов и стандартов, то мы обязательно рассмотрим возможность их реализации нашими силами.
Спасибо за ответ. Буду наблюдать.
На мой субъективный взгляд, интеграция с распространенными e-commerce движками может быть полезна.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий