Как (красиво)
программировать в
AngularJS то, что
обычно программируют
в 1С
Инфраструктурная компания
1. Складская система
2. Контакт-центр
3. Система отчѐтности
4. Личный кабинет для клиентов
5. Ещ...
Почему AngularJS, а не 1С?
Во-первых, это круто
Поди найди умных программистов 1С
Масштабировать 1С можно, но плохо
1С в б...
Что легко в 1С и сложно в
AngularJS?
Таблицы и фильтрация (справочники и всѐ такое)
CRUD
Загрузка и выгрузка Excel
Контрол...
Как мы это делаем
Стандартные компоненты для фильтрации и таблиц
Стандартные компоненты для CRUD
Стандартный сервис для за...
Распространяем через bower
Пока нет своего bower-репозитория
Собираем на teamcity, кладѐм в папку и раздаѐм по http
"depen...
Таблица (html)
<ev-ng-table
table-params="tableParams"
ev-loading="loading.load"
columns-data="tableFields">
<each-row
ng-...
Таблица (контроллер)
$scope.tableFields = [
{ title: 'ID', value: 'id' },
{ title: 'Тип', value: 'type' },
(…)
{ title: 'С...
Фильтры
<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: tru...
Загрузка из Excel
1. Отправка файла на /excel/headers
2. Получение заголовков и разметка на модель
3. Отправка разметки и ...
Блокировки
Пробуем заблокировать на 10 минут.
Если заблокировалось:
1. Продляем при редактировании
2. Снимаем при выходе
Е...
android
+
chrome
bluetooth-
/Как (красиво) программировать в
AngularJS то, что обычно
программируют в 1С
Константин Якушев
Everada
19 апреля 2014 г.
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Upcoming SlideShare
Loading in...5
×

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

705

Published on

Константин Якушев «Как красиво программировать в AngularJS то, что обычно программируют в 1С»
Frontend Dev Conf'14
www.fdconf.by

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
705
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

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

    Clipping is a handy way to collect important slides you want to go back to later.

×