SlideShare a Scribd company logo
Как (красиво)
программировать в
AngularJS то, что обычно
программируют в 1С
Интернет-магазин как услуга
Собственный склад
Собственный контакт-центр
Собственная бухгалтерия (с разбором отчётов)
Служба работы с клиентами-магазинами
Архитектурная концепция
API-first
Микросервисы
Связь через RabbitMQ
Много пользователей
Хороший UX
Почему AngularJS, а не 1С?
Во-первых, это круто
Умные 1С-программисты — дорогие
Масштабировать 1С можно, но плохо
1С в браузере можно, но плохо
1С — очень некрасивый
Что легко в 1С и сложно в AngularJS?
Таблицы и фильтрация (справочники и всё такое)
CRUD
Загрузка и выгрузка Excel
Контроль доступа
Блокировки
Промышленное оборудование
Как мы это делаем
Стандартные компоненты для фильтрации и таблиц
Стандартные компоненты для CRUD*
Стандартный сервис для загрузки/выгрузки Excel
Стандартный сервис аутентификации
Стандартный сервис блокировок
Творческое переосмысление работы с оборудованием
* - ещё нет
Распространяем через bower
Пока нет своего bower-репозитория
Собираем на teamcity, кладём в папку и раздаём по http
"dependencies": {
…
"everada-auth": "http://bower.everada.ru/ev-auth-0.1.5.zip"
}
Таблица (html)
<ev-ng-table
table-params="tableParams"
ev-loading="loading.load"
columns-data="tableFields">
<each-row
ng-click="editTransaction($data[$index])"/>
</ev-ng-table>
Таблица (контроллер)
$scope.tableFields = [
{ title: 'ID', value: 'id' },
{ title: 'Тип', value: 'type' },
(…)
{ title: 'Статус', value: 'status' },
{ title: 'Привязка', value: 'isMapped'}
];
Фильтры
<div ev-datepicker model="dateFilter">
</div>
Фильтры
<div ev-datepicker model="dateFilter">
</div>
Фильтры
<div
button-checkbox-group
filter-params="statusGroupConfig"
model="tableParams.filter()"
header="Статус:">
</div>
Фильтры
$scope.statusGroupConfig = {
buttonPrefix: 'status',
buttons:
[
{ filterValue: 'All', textValue: 'Все', isAll: true },
{ filterValue: 'Correct', textValue: 'ОК' },
{ filterValue: 'Warning', textValue: 'Требуется уточнение' },
{ filterValue: 'Error', textValue: 'Ошибка' }
]
};
Загрузка из Excel
1. Отправка файла на /excel/headers
2. Получение заголовков и разметка на модель
3. Отправка разметки и файла на /excel/map. Сервер возвращает json
4. Отправка json’а в API
Пессимистичные блокировки
Блокируем на 10 минут.
Если заблокировалось:
1. Продляем при редактировании
2. Снимаем при выходе
Если не заблокировалось:
1. Пингуем блокировку каждые 10
секунд
2. Администратор всегда может
снять
android + chrome
bluetooth-сканер
принтер этикеток
USB-сканер
/Как (красиво) программировать в AngularJS
то, что обычно программируют в 1С
Константин Якушев
Everada
19 апреля 2014 г.

More Related Content

Similar to Как красиво программировать в AngularJS то, что обычно программируют в 1С

CEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессыCEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессы
Yury Kupriyanov
 
In sales hostobzor
In sales hostobzorIn sales hostobzor
In sales hostobzorPetr Didenko
 
Архитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comАрхитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.com
Pryaniky.com
 
Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)
Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)
Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)
DrupalYug
 
Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)
Василий Савунов
 
Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center Enterprise
Cisco Russia
 
Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач
simai
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork Enterprise
Dmitry Semenov
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
Alexey Lustin
 
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Pryaniky.com
 
Варианты использования AWS
Варианты использования AWSВарианты использования AWS
Варианты использования AWS
Andrey Zaychikov
 
"Пряники" - система мотивации и Microsoft Azure
"Пряники" - система мотивации и Microsoft  Azure"Пряники" - система мотивации и Microsoft  Azure
"Пряники" - система мотивации и Microsoft Azure
Alexey Lyubko
 
1С-Битрикс: Управление сайтом - платформа для интернет-магазина
1С-Битрикс: Управление сайтом - платформа для интернет-магазина1С-Битрикс: Управление сайтом - платформа для интернет-магазина
1С-Битрикс: Управление сайтом - платформа для интернет-магазинаUTLab
 
Работа через Интернет
Работа через ИнтернетРабота через Интернет
Работа через Интернет
«ГК ГЭНДАЛЬФ»
 
Александр Безбородов, Юзабилити в 1С
Александр Безбородов, Юзабилити в 1САлександр Безбородов, Юзабилити в 1С
Александр Безбородов, Юзабилити в 1СSergey Kudryashov
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
CodeFest
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиAndrew Mayorov
 
Bitrix and 1c
Bitrix and 1cBitrix and 1c
Bitrix and 1c
Burbon.ru
 
DataBase Intellegence Presentation
DataBase Intellegence Presentation DataBase Intellegence Presentation
DataBase Intellegence Presentation
Alexandr Zhuravlev
 

Similar to Как красиво программировать в AngularJS то, что обычно программируют в 1С (20)

CEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессыCEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессы
 
In sales hostobzor
In sales hostobzorIn sales hostobzor
In sales hostobzor
 
Архитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.comАрхитектура и технологии Pryaniky.com
Архитектура и технологии Pryaniky.com
 
Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)
Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)
Как владельцам облачных сервисов выйти на рынок Drupal? (Антон Шлома)
 
Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)
 
Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center Enterprise
 
Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork Enterprise
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
Мотивация 2.0. Лайки, Бейджи и другие игровые механики на службе бизнеса #clo...
 
Варианты использования AWS
Варианты использования AWSВарианты использования AWS
Варианты использования AWS
 
"Пряники" - система мотивации и Microsoft Azure
"Пряники" - система мотивации и Microsoft  Azure"Пряники" - система мотивации и Microsoft  Azure
"Пряники" - система мотивации и Microsoft Azure
 
1С-Битрикс: Управление сайтом - платформа для интернет-магазина
1С-Битрикс: Управление сайтом - платформа для интернет-магазина1С-Битрикс: Управление сайтом - платформа для интернет-магазина
1С-Битрикс: Управление сайтом - платформа для интернет-магазина
 
Работа через Интернет
Работа через ИнтернетРабота через Интернет
Работа через Интернет
 
Александр Безбородов, Юзабилити в 1С
Александр Безбородов, Юзабилити в 1САлександр Безбородов, Юзабилити в 1С
Александр Безбородов, Юзабилити в 1С
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
Как сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпутиКак сделать интернет-сайт на SharePoint и не передумать на полпути
Как сделать интернет-сайт на SharePoint и не передумать на полпути
 
Bitrix and 1c
Bitrix and 1cBitrix and 1c
Bitrix and 1c
 
DataBase Intellegence Presentation
DataBase Intellegence Presentation DataBase Intellegence Presentation
DataBase Intellegence Presentation
 

Как красиво программировать в AngularJS то, что обычно программируют в 1С