Имя: Пароль:
   
1C
1С v8
Веб приложение для формирования заказов покупателем на nodejs стеке
0 eks1985
 
08.02.17
16:07
Отдельная ветка по мотивам Система формирования заказов покупателем

Пару месяцев назад было принято решение реализовать опенсурс веб приложение на nodejs стеке

Приложение должно принимать заказы клиентов в веб и интегрироваться с 1с

Демо https://eks1985.github.io/quick-order/
Проект https://github.com/eks1985/quick-order
Презентация http://slides.com/eks1985/deck/fullscreen

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

Плюсы:
- отсутствие бэкэнда и как следствие, нет необходимости в сервере и его настройке, нет необходимости в бд и ее настройке
- для хранения данных используется BaaS firebase с удобным API, аутентификацией пользователей из коробки, поддержкой Rest
- систему можно развернуть за 5 минут, на бесплатном хостинге и подключить бесплатное хранилище данных
- нет затрат на доп лицензии, т.к. ни вэб приложение ни хранилище данных не общаются с 1с, 1с сама инициирует любые обмены данными

Стек:
1c - firebase - react - redux - material-ui

Дальнейшие планы:
- наращивание функционала согласно пожеланиям всех заинтересованных лиц, причем любая доп плюшка по возможности делается опциональной
- возможность подключения нескольких других дата провайдеров
- API на nodejs
- возможность прямого взаимодействия с 1с

Приветствуется критика и запросы на реализацию новых плюшек.
1 Fragster
 
08.02.17
16:09
а чем http сервисы от 1с не устраивают? если нужно кэширование, то можно на ноде, конечно, прослойку, организовать, которая засосет при старте (через тот же хттп-сервис) условно-статические данные типа каталога и будет отдавать его своими силами, но это совсем не обязательно.
2 Вафель
 
08.02.17
16:10
(1) тут речь про фронтэнд
3 Fragster
 
08.02.17
16:11
(2) фронтэнд в виде шаблонов и набора яваскрипт-файлов для рендера даннных, полученных из веб-сервисов?
4 Garykom
 
08.02.17
16:12
(3) угу, причем легко можно теоретически вместо firebase подсунуть 1С
5 Вафель
 
08.02.17
16:12
(2) Ты бесконечно отстал от современной разработки веб приложений )))
6 Garykom
 
08.02.17
16:14
(5) мы это заметили, но раздвоение личности полечил бы...
7 Garykom
 
08.02.17
16:14
(6)+ и мне тоже надо...
8 eks1985
 
08.02.17
16:16
(1) >> а чем http сервисы от 1с не устраивают?

Всем не устраивают:
- требуют лицензий
- недоступность веб приложения при недоступности 1с
- необходимость выставлять 1с наружу
- у кого-то до сих пор 7.7, в которой http сервисов нет
9 eks1985
 
08.02.17
16:19
(4) >> угу, причем легко можно теоретически вместо firebase подсунуть 1С

И теоретически и практически можно будет подсунуть =)
10 Злопчинский
 
08.02.17
19:57
(9) чего там с очередным релизом?
11 eks1985
 
08.02.17
20:57
(10) Сегодня я весь день е.. с аудиторами, скорее всего завтра к обеду смогу выложить обновление, т.к. очередную порцию изменений начну только сегодня с занесения твоей портянки в issue =)

Но сначала http://ow.ly/RVf2308OtGA
12 eks1985
 
08.02.17
21:00
Кстати я наконец-то скайп поставил на корпоративом ноуте, но чего-то не пойму как в нем свой ник увидеть =) Пробовал сам себя по электронке найти - не ищет.
Злопчинский напомни свой ник
13 Tarzan_Pasha
 
08.02.17
21:02
Интересен проект. Изучу его поглубже. Жаль я не node.js программист. А то бы поучаствовал. Я php.

а на чем фронтэнд делаете?
14 eks1985
 
08.02.17
21:08
(13) >> а на чем фронтэнд делаете?
Рендеринг - react
Управление состоянием приложения - redux
Стилизация - material-ui (имплементация google material design)
Хранение данных - firebase
Чуть позже для всех асинхронных действия добавится rudux-saga
Еще позже для тех кому нужна будет хорошая работоспособность на > 100 000 каталогах с супер выстроф фильтрацией по любым полям добавится redis, который будет хоститься на heroku

>> Жаль я не node.js программист
Я тоже =)
15 Злопчинский
 
08.02.17
21:11
(12) Zlopun
16 Злопчинский
 
08.02.17
21:14
(12) я тебя нашел вроде
17 eks1985
 
08.02.17
21:30
Точно, вижу
18 Tarzan_Pasha
 
08.02.17
21:45
(14)Интересный расклад.
сам себе сайт на material ui делаю.
а почему React, а не Angular2 ?

И как удалось эти технологии все освоить ?
19 eks1985
 
09.02.17
08:07
(18) >> а почему React, а не Angular2 ?

Реакт очень прост, при этом покрывает все нужды

>> И как удалось эти технологии все освоить ?

Так не космические технологии, у всех крупных open source проектов сейчас прекрасная документация и сообщество
20 Злопчинский
 
09.02.17
10:08
Всякие технические изыски без практического применения - мертвый груз!
Не дадим загнуться хорошему проекту!
Ни дня без релиза! ;-)
21 arsik
 
09.02.17
10:17
(0) Самый большой вопрос - firebase. Его локально не развернуть вроде, ты привязан к гуглу.
22 eks1985
 
09.02.17
10:49
(21) Не вопрос, не хочешь быть привязан к гугл, привяжись к любому другому BaaS, например наш отечественный аналог scorocode или любой другой, коих сейчас десятки. Сайты наверное тоже уже никто дома не хостит, а размещают на хостинге.

Всю работу с данными я в итоге вынесу в отдельный модуль и по-умолчанию будет доступно несколько BaaS (пока вижу смысл только firebase, scorocode)

А по-поводу "привязан" к гугл, и "развернуть локально": цель этого приложения как раз в том, что ничего не разворачивать ЛОКАЛЬНО вообще и быть лучше привязаным к гугл или еще чему, но не к компьютерщику Васе или Пете, которой что-то будет локально разворачивать. Время "локальных разворачиваний" и ручных настроек серверов потихоньку подходит к концу, все движется к контейнеризации, подключении нужных тебе облачных услуг.
Надо тебе рсубд - пожалуйста, подключил postgres на heroku, надо тебе кэширование - пожалуйста, подключил redis на том же heroku, надо тебе noSQL базу - подключил mongolab или чего там еще, надо тебе супер продвинутый поиск  - elastic search. Это дает возможность сосредоточиться именно на приложении, а не на борьбе с инфраструктурой, абстрагироваться от технической реализации
23 Agent ООЗ
 
09.02.17
10:53
"Время "локальных разворачиваний" и ручных настроек серверов потихоньку подходит к концу, все движется к контейнеризации, подключении нужных тебе облачных услуг. " - тото думаю, куда пропали все эти облачные баннеры, а так все красиво начиналось, а подсчитали, прослезились.
24 eks1985
 
09.02.17
10:55
(20) > Ни дня без релиза! ;-)

Да, я вчера ушел укладывать старшую и сам случайно уложился. С утра реализовал всю мелочевку (нашел при этом баг - не работал поиск по категориям в корзине, зафиксил), дошел до твоей последней петиции.
https://github.com/eks1985/quick-order/issues/68

Тут надо подумать, получается места маловато
Надо прикинуть, возможно сделать эту панельку скрываемой, в общем сегодня этим займусь, чтобы получить хоть какой-то прототип.
25 eks1985
 
09.02.17
11:01
(23) Я не знаю чего ты там считал:
нужен VPS - за 10 баксов арендуешь на Digital Ocean
нужен BaaS - скорокод, бесплатный план 10 гигов, ты представляешь что такое 10 гигов информации в json? И это бесплатно.
нужно что-то другое - heroku, куча бесплатных сервисов, amazon - аналогично.

Стоит все это сущие копейки, для мелочевки практически все покрывается бесплатными тарифами, для средняков, ну возьми тыс 10 руб в месяц, на эти деньги можно практически все арендовать что только может потребоваться.
26 eks1985
 
09.02.17
11:21
+ (24) Даже наверное и черт с ним с местом, если сделать панельку удобноскрываемой. Вижу проблему вот с этим:

>> возможно - и наверное так даже правильнее - список-оглавление заказов д.б. из нескольких колонок (в перспектвие - настраиваемых, как и каталог и корзина, системные колонки = датавремя, номер, статус; добавляемые колонки - колво позиций, сумма.. еще что-то со временем).

По сути получится, что панелька для универсальной фильтрации/обзора/сортировки будет практически дублировать саму основную область где сейчас список заказов.
27 eks1985
 
09.02.17
11:31
+ (24) Злопчинский, а может я просто не понял и тут
https://github.com/eks1985/quick-order/issues/68

Пункт 1 и 2 про саму панельку, а остальные пункты про сам список заказов?
28 Операция 1Ы
 
09.02.17
11:59
продолжаем наблюдения.
29 Злопчинский
 
09.02.17
12:10
(26) если в основном списке заказов можно будет как-то фильтровать/упорядочивать заказы по КОЛОНКАМ - то почему бы и  нет? надо подумать...
30 Злопчинский
 
09.02.17
12:11
(27) не, вся речь идет про правую панель...
ща попробую налабать в экселе как это примерно видится... тогда может станет яснее и самому в т.ч.
31 Злопчинский
 
09.02.17
12:28
пока навскидку правая панель списка заказов видится (пока) излишней, если:
- в основном списке заказов в заголовке заказа сделать так (указано колво строк в заказе = позиций или обозвать"строк" - как обычнее принято):
Номер: 327589327 Дата: 2017-02-09 2:00 Позиций: 23 Сумма:
923.08 руб. [дальше идет статус и прочее]

ВОЗМОЖНОСТЬ СВОРАЧИВАТЬ/РАЗВОРАЧИВАТЬ ЗАКАЗ
- каждый по отдельности или все сразу.
то есть список заказов выглядит вот так: https://www.screencast.com/t/dlDsSpsZUrH
(но тут нарисуется проблема: при свертывании/развертывании заказов - меняется колво строк суммарное выводимое на экран и часть инфы (заказы, свернутые или развернутые) - будут либо уходить с экрана, либо появляться на экране - это приведет к динамическому изменению/пересчету колва страниц заказов.

НО! мне такая концепция без правой панельки - нравится лучше - в свернутом виде и есть нормальный список заказов! со всеми нужными возможностями! и перегружать экран заказов правой панелькой имхо правильно - не надо...

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

- фильтр по ДАТЕ - учитывает только ДАТУ, без времени!
- сортировка - по дате - учитывает дату+время
32 Злопчинский
 
09.02.17
12:47
f то може получается все как здесь: https://www.screencast.com/t/uhHDwpZg6W
33 eks1985
 
09.02.17
12:55
(31) Во, теперь понятно стало, реализуем без проблем.

>> а с динамикой изменения колва страниц списка заказов - что-нить придумать..

Есть одна идея, поиграюсь потом с этим, как-нибудь решим
34 eks1985
 
09.02.17
13:01
Кстати зашел в список своих заказов на Ali

Оставим визуальную составляющую, но по функционалу совсем не плохо

Фильтрация по статусам, затем блок фильтрации по полям

Еще одна фишка, о которой я пока не думал: Статус заказа попозиционно. Считаю что надо будет ввести опционально.

https://goo.gl/noMGrt
35 Злопчинский
 
09.02.17
13:09
(34) статус попозиционно - это по всякому может быть. зависит от логики обработки заказов поставщиком. из попозиционности я выше пытался вытащить что-то - типа
колов заказано - колов-подтверждено поставщиком

статусы в попозиционности - это уже скорое логика ДВИЖЭЕНИЯ/ОБСЛУЖИВАНИЯ ЗАКАЗА (есть на остатках, заказано у поставщика итд).

имхо ПОКА стоит это ОТЛОЖИТЬ.
это уже как развитие основные возможности когда выпилятся...
36 eks1985
 
09.02.17
13:18
ок, тогда пока добиваю до состояния (31)
37 Вафель
 
09.02.17
13:24
Отображение картинки сделай асинхронно, а то тормозит безбожно при скролле
38 eks1985
 
09.02.17
13:31
(37) Та картинка что под каталогом товаров?
39 Вафель
 
09.02.17
13:46
(38) Да
40 eks1985
 
09.02.17
13:54
(39) Так а кроллишь что? Список товаров должен так подстраиваться чтобы видна была фотка и по оставшемуся месту высчитывается сколько строк помещается, полоски скролла не должно быть, у тебя она есть?
41 Злопчинский
 
09.02.17
14:32
(36) обобряю!
специального значка для разворачивания/сворачивания ОДНОГО заказа имхо делать не надо - если например жмакнуть в "поле" номера заказа (который гуид) то это свернуть/развернуть текуший заказ или если жмакнуть в оюбое место полосы заголовки заказа на которое не предусмотрено никакого действия (колноки/фильтрация/сортировка) - то тоже можно свернуть/развернуть
42 eks1985
 
09.02.17
14:39
(41) епт, я уже значок как раз запилил =)
Пока оставлю его + клие по номеру и по пустой области
43 Злопчинский
 
09.02.17
14:48
(42) ну так давай выкладывай, елки-палки!;
в значок ЦЕЛИТЬСЯ надо - в "область" легче тыкнуть.. ;-)
44 eks1985
 
09.02.17
15:19
(43) Выложил

Пофикшено
https://github.com/eks1985/quick-order/issues/67
https://github.com/eks1985/quick-order/issues/66
https://github.com/eks1985/quick-order/issues/65
https://github.com/eks1985/quick-order/issues/64
https://github.com/eks1985/quick-order/issues/61

Продолжена работа над списоком заказов, а именно

https://github.com/eks1985/quick-order/issues/69

Заказы по-умолчанию свернуты, разворот по иконке, номеру заказа и пустотах в шапке

Демо https://eks1985.github.io/quick-order/
Проект https://github.com/eks1985/quick-order
Презентация http://slides.com/eks1985/deck/fullscreen
45 Вафель
 
09.02.17
15:20
(40) Стрелочкой вниз
46 eks1985
 
09.02.17
15:27
(45) А, понял, у тебя тормозят картинки при переходе стрелочками между строками. В данный момент это нормально, т.к. картинка там случайным образом выбирается в момент любого действия. В реальной жизни при отрисовке списка в фоновом режиме будет асинхронная подрузка картинок.
47 Злопчинский
 
09.02.17
15:46
(44)
https://github.com/eks1985/quick-order/issues/67

- работает бяка, по двойному клику - если кликать на строке ВНЕ СЛОВ - более-менее норм, но если кликать на слове - бравзер после фильтра дает посдказку "Копировать/перевести" - выбешивает: надо или сделать что даб клик срабатывает толлько если кликать в путое место строки или чтобы бравзер не вмешивался...

- набираем несколько категорий - ЧТОБЫ БЫЛО НЕСКОЛЬКО СТРОК таких выбранных категорий в шапке списка категорий, выбираем даблкликом категорию которой НЕТ в шапке - получаем монофильтр по другой категории, которая в списке на строку выше...

незачет пока ;-)
48 Злопчинский
 
09.02.17
15:47
- сюда же: по возможности даблклик должен отрабатываться как дабл клик а не как "одиночный клик + повторный клик на том же самом" ;-)

подумать: м.б. есть какой-то другой вариант установки монофильтра "в один жмак"..?
49 Злопчинский
 
09.02.17
15:48
(44) https://github.com/eks1985/quick-order/issues/66
- работает, ок!
50 Злопчинский
 
09.02.17
15:52
(44) https://github.com/eks1985/quick-order/issues/65
круглые скобочки рулят! ок!
предлагаю оставить так!
51 Злопчинский
 
09.02.17
15:54
(44) https://github.com/eks1985/quick-order/issues/64
- номер внутреннего заказа, ок! симметрично!
52 Злопчинский
 
09.02.17
16:10
(44) https://github.com/eks1985/quick-order/issues/61
- нормально!

вариант статуса в начале строки - не могу сказать что это намного лучше чем в конце строки... посмотрим...

разворот/сворот по номеру и пикче - работает. по свободному месту - только если в свободное место близкое к верхнему или нижнему краю полосы, в серединку - не работает (некритично).
53 Злопчинский
 
09.02.17
16:14
В ИССУЮ: в свернутом виде однозначно нужна ХОТЯ БЫ ГОРИЗОНТАЛЬНАЯ разлиновка.
- предлагаю - серую область шапки заказа отбить СВЕРХУ белой линией (как фон) шириной 1-3 пиксела. в развернутом виде такая отбивка сместит серую шапку чуть вниз от последней строки развернутого предыдущего заказа (получится типа как отступ и визуально будет немножко разграничивать), а в свернутом виде такаая линия даст разлиновку, попробовать разную ширину такой линии
54 eks1985
 
09.02.17
16:18
(47) ок, гляну, возможно особенность твоей оперы, у меня  в хроме прям ок отрабатывает, че-нибудь придумаем
55 Злопчинский
 
09.02.17
16:24
слово "дата" в шапке заказа - убрать, оно и так понятно
56 Злопчинский
 
09.02.17
16:25
UI: https://www.screencast.com/t/sY8rlk2oiC
- я думаю так будет очень неплохо!
статус-номер-дата-срок-сумма-служебный гуид
57 Злопчинский
 
09.02.17
16:26
(54) это приоритет ~0.2? то есть не сильно важно, сожно попозже сделать
58 Злопчинский
 
09.02.17
16:28
вот видео: обрати внимание также на самый первый выбор - что выбираем и что фиксируется https://www.screencast.com/t/sY8rlk2oiC
59 Злопчинский
 
09.02.17
16:29
(56) номер заказа покупателя по длине поля ввода ограничить таклой же длиной как гуид, я думаю вряд ли кто номер заказа длиннее даже 20 сивмолов делает ;_)
60 Злопчинский
 
09.02.17
16:32
отлиновку белой линий сделай лучше в 3 пиксела толщиной ...
и первый рабчоий нормальный вариант UI можно сказать есть...
61 Злопчинский
 
09.02.17
16:32
сейчас я так понимаю по 3 заказа на странице сделано спецтиально, в целях отладки?
62 Злопчинский
 
09.02.17
16:36
эмулируем что список заказо при разворачивании не помещается на экране: https://www.screencast.com/t/OrygZLKh
- это бяка. что делать - пока непонятно... как я выше как-то упоминал - заказ должен целиком помещаться на лист. разбиение заказа на несколько листов только если заказ целиком не влазит на лист.

однако: такое отображение заказка может быть технически затруднительным..? тогда таки да - длинная страница с бегунком...
63 eks1985
 
09.02.17
17:09
(61) >>  сейчас я так понимаю по 3 заказа на странице сделано спецтиально, в целях отладки?

Да

(62) >> однако: такое отображение заказка может быть технически затруднительным..? тогда таки да - длинная страница с бегунком...

Что-нибудь придумаем


Под вечер одолели бухи, в ужасе сваливаю домой, там продолжу
64 eks1985
 
09.02.17
21:31
(58) >> вот видео: обрати внимание также на самый первый выбор - что выбираем и что фиксируется https://www.screencast.com/t/sY8rlk2oiC


Тут только картинку вижу, видео не вижу
65 Злопчинский
 
09.02.17
22:00
(64) ага, облажался...
вот немного видео https://www.screencast.com/t/iuatlnbbDr9
66 Злопчинский
 
10.02.17
02:24
В ИССУЮ: на статусе "Черновик" стрелку восстановления в корзину - переместить налево, перед словом "Черновик", тогда справа на всех статусах будет единообразный трэш, а в стрелочку не надо будет бояться промазать...
67 Злопчинский
 
10.02.17
21:45
..сломался..?
или бухи всю кровушку высмоктали? ;-)
68 eks1985
 
10.02.17
21:50
(67) Сегодня разгребал завалы за неделю на работе, в воскресенье буду активно пилить приложение.
69 Злопчинский
 
12.02.17
14:19
как там, топор - не затупился?
70 dmitryds
 
12.02.17
14:54
(68) вообще молодцы с (69) )

а жижа слился?)
71 eks1985
 
12.02.17
15:10
(69) Работа кипит, реально, вечером будет релиз, даже если до конца не добью то что задумал на сегодня

Чтобы не нарушать правило - один релиз в два дня =)

Тут еще надо понимать, проект разрастается, уже больше 10 000 строк кода, хотя вроде еще толком ничего не сделано, поэтому бывает не так просто что-то поменять.

Я так считаю что из 10 тыс реально 5 тыс я уберу в результате рефактиринга, многие модули устаканятся, и тогде дело пойдет побыстрее.
72 eks1985
 
12.02.17
15:14
(70) Не знаю, он давно не писал. Может он в какой-то момент как выложит супер крутой продукт и мы со @Злопчинским утремся =) Но я все-таки предпочитаю супер микро итеративную разработку, когда после каждого этапа кривой косой, но работающий продукт. Потому что сам не видишь того, что видно со стороны. Нужна обрабная связь каждый день. Сейчас процентов 70% продукта - результат запросов Злопчинского =) В стэке технологий я уверен, он не подвете, после того как удалось реализовать универсальные фильтры сортировки по любым доп полям я не вижу, что может помешать довести продукт до определенного вполне юзабельного состояния. Но еще конечно я планирую нагрузочное тестирование, эх где времени бы взять =)
73 Злопчинский
 
12.02.17
15:36
(72) угу
74 eks1985
 
12.02.17
22:16
Закрыты небольшие issues

https://github.com/eks1985/quick-order/issues/75
https://github.com/eks1985/quick-order/issues/74
https://github.com/eks1985/quick-order/issues/73
https://github.com/eks1985/quick-order/issues/72
https://github.com/eks1985/quick-order/issues/71
https://github.com/eks1985/quick-order/issues/70

Экспериментировал с фильтрами, все-таки самый оптимальный вариант получается с панелькой фильтров над списком заказов. Заложил основу для этой панельки, пока просто фильтры накиданы и идут один за другим. Они еще не работают, только подготовлены структуры данных.
Долго экспериментировал с показом заказа в развороте. Если бороться за то, чтобы ни при каких условиях не появлялся скролл, то получется очень большой геморрой, т.к. если заказ большой, то один фиг какая-то часть его видна не будет. В общем пока склоняюсь сделать авторасчет количества помещающихся строк заказов в свернутом виде на странице (прии условии когда панелька фильтров развернута и свернута), заложил под это основу, ну а если заказ раскрыли, то путь показывается скролл, пока это меньшая из зол, свернули заказ - скролл исчез.

Возможно еще сегодня над фильтрами успею поработать, но пока выкладываю как есть

Демо https://eks1985.github.io/quick-order/
Проект https://github.com/eks1985/quick-order
Презентация http://slides.com/eks1985/deck/fullscreen
75 Злопчинский
 
12.02.17
22:40
(74)
> https://github.com/eks1985/quick-order/issues/75
- стрелка на статусе, впереди. ОК!

> https://github.com/eks1985/quick-order/issues/74
- проблема показа заказа, который не умещается на странице,
все осталось как было, изменений не заметил, "не работает"..?!

> https://github.com/eks1985/quick-order/issues/73
- длина номера заказа покупателя, 20 сиволов, ОК!

> https://github.com/eks1985/quick-order/issues/72
- порядок реквизитов в шапке, думаю так будет нормально, ОК!

> https://github.com/eks1985/quick-order/issues/71
- лишнее слово "дата" в заголовке, ОК!

> https://github.com/eks1985/quick-order/issues/70
- разлиновка в списке заказов, ЙЕС!
76 eks1985
 
12.02.17
23:01
(75) >> Да, тут я погорячился, эта issue не закрыта

все осталось как было, изменений не заметил, "не работает"..?!
77 Злопчинский
 
12.02.17
23:24
С кнопкой "отбор" - уродство какое - то... :-(
попробовать: при нажатии на кнопку - СПРАВА ОТ КНОПКИ ПОЯВЛЯЮТСЯ кнопки "принять" и отменить" и за ними дальше вправо поля фильтрации..? пока непонятно.. надо думать.. вообще не клеится в общий фейс...
78 Злопчинский
 
12.02.17
23:27
если номер заказа покупателя отсутствует - то жмак в пустое место номера тоже должен сворачивать/разворачивать (сейчас этого нет). в кликабельную область сворчивания/разворачивания также включить и слово "номер:"
79 Злопчинский
 
12.02.17
23:46
Имхается что список заказов это не полтора тысячи номенклатуру
Попроще как-то надо
80 eks1985
 
13.02.17
00:47
Ок, на свежую голову подумаем как что разместить
81 eks1985
 
13.02.17
20:48
Можно панельку фильров вот так упростить

https://goo.gl/0WwOVi
82 Злопчинский
 
13.02.17
20:56
(81) да, так мне кажется будет намного гламурней

Пометь в иссую с приоритетом близким к нулю по UI: стандартизовать обозначение применения фильтров - значок - на странице каталога, в корзине, и в списке заказов
83 Злопчинский
 
14.02.17
01:34
(81) посмотрел, уже черновичок лежит в доступен
мне кажется так будет хорошо.

- убрать лишнюю линию (ни в каталоге, ни в корзине ее нет) https://www.screencast.com/t/4psi8wJjt
- (имхо) кнопку "отменить" переделать в "очистить" с крестиком (так как в корзине)
- (имхо) на странице каталога кнопку очистки корзины тоже сделать с крестиком - будет везде единообразно, да и два значка корзины рядом - есть перебор https://www.screencast.com/t/rIB4Sh2sZabA
84 Злопчинский
 
14.02.17
01:43
Возможно имеет смысл разлиновать
2 пиксела https://www.screencast.com/t/1RFCMdfS41t
1 пиксел https://www.screencast.com/t/lzSNQ804T

мне кажется что 1 пиксел - самый раз.
внести опцию в интерфейс типа "отключить разлиновку состава заказов" (или наоброт "включить...")
85 Злопчинский
 
14.02.17
01:50
(размышления-88, не делать нижеизложенное)
М.Б. поплотнее вывод заказа сделать..?
типа https://www.screencast.com/t/dBdronDcw

колво-цена-сумма - можно забить штатно поплотнее, фиксированная ширина = 15 символов
а ширина "наименование товара" - автоподстраиваемая?
86 Злопчинский
 
14.02.17
01:52
Вопрос: планируется ли вывод в составе заказа доп.колонок (их состав определяется штатно настройками, которые действуют и на каталог, и на корзину и на список в заказе?)
87 Злопчинский
 
14.02.17
02:01
Сооброжаловка-02
- думаю допколонки (согласно настроек каталога и корзины) - выводить надо, порядок вывода (место колонок в списке) - точно такое же как В КОРЗИНЕ.
- настройка порядка колонок в списке заказов - НЕ НУЖНА (уже есть в корзине, настройки корзины действуют на список заказов)
- СОРТИРОВКА списка строк - сильно мне имхается - должна быть в том же порядке как настроено в корзине. Изменение сортировки строк в списке заказов - не делать.

вот...
88 Злопчинский
 
14.02.17
02:02
.. вот...
в итоге: получается вполне себе симпатичненький список заказов и на этом его можно зафиксировать будет.
89 Злопчинский
 
14.02.17
02:07
Сооброжаловка = СообрАжаловка
90 Злопчинский
 
14.02.17
02:13
(85) неправильно! автоподстраивается ширина доп.колонок! - так у нас вроде было? а на наименование товара фиксированная ширина...?
91 eks1985
 
14.02.17
10:15
(90) Ширина всех колонок зависит от их содержимого т.е. автоподстраивается, специально для этого грид выводится колонками, а не строками, так конечно сложнее, но зато автоподстройка =)

Ширина наименования растягивается и занимает всю оставшуюся свободную область
92 eks1985
 
14.02.17
10:17
(86) >> Вопрос: планируется ли вывод в составе заказа доп.колонок (их состав определяется штатно настройками, которые действуют и на каталог, и на корзину и на список в заказе?)

Я думаю да, имеет смысл
Но сначала хотел бы сделать рефакторинг и переиспользовать все это дело для каталога, корзины, заказов, а то сейчас внутри это все разные структуры данных, так было быстрее, но кишки выглядят не очень
93 Злопчинский
 
14.02.17
15:04
(92) ну тады надо сделать.
довести "заказы" до финишного состояния.
зафиксировать проект как готовая основная ветка.
и после этого уже заниматься рефакторингом.
а то знаю я этот рефакторинг. красота ради красоты, а проект ни туда ни сюда и не готов и не ноль....

имхо!
94 eks1985
 
14.02.17
16:03
Работаем, пилим как время появляется, сегдня правда дела по доставке родственников в другой город на вокзал появились, но все равно постараюсь что-то сделать.
95 eks1985
 
14.02.17
16:26
(93) Не, красота тут не причем, очень много дублирования кода, если кто опытный с реактом внутрь глянет - то может и поплохеть ему. Многие компоненты можно сделать переиспользуемыми за счет декомпощиции ui. Все запросы к данным надо в отдельный api модуль вынести. Все это запланировано, но чуть позже.
96 Злопчинский
 
14.02.17
17:23
(95) угу! ни дня без строчки!
для юзверя - то есть меня - признаком того что что-то делается - изменения гуя и уход ошибок/бяк.
а что там внутри - мну неведомо.. ;-)

а то начнешь рефакторинг и поплывуьт новые ошибки.
надо оттестировать и поставить на рельсы этот РАБОЧИЙ вариант. а потом только движок обновлять... ито.. не сразу.. ;-)
97 Злопчинский
 
15.02.17
20:20
есть подвижки?
98 eks1985
 
15.02.17
22:12
Есть, фильтрация заказов в процессе, если никаких непридвиденных трудностей не предвидится то сегодня ее добью и выложу
99 Злопчинский
 
15.02.17
22:41
(98) это радует, что процесс не заглох (пока), в отличие от прочих "убийц 1С" ;-)
100 eks1985
 
15.02.17
22:45
Рано еще глохнуть, можно сказать я только начал =)
101 Злопчинский
 
15.02.17
23:09
(100) ты смотри, чтобы тебя с основной работы не уволили.. ;-) эта система тебе на основной работ-то пригодится?
102 eks1985
 
15.02.17
23:21
(101) Конечно, по большей части пригодится даже не сам код, а опыт набитых шишек и решенных проблем.
103 eks1985
 
15.02.17
23:30
Уволить не уволят, мне еще в этом году ERP надо внедрить в одну харю =))
104 Злопчинский
 
15.02.17
23:44
(102) это да.. как сказал кто-то из великих (чуть ли не сам Ёпрст?): "обходя грабли, мы лишаемся бесценного опыта"
105 eks1985
 
16.02.17
00:18
Так как вырубает - выложимся:

Закрыта мелочевка

https://github.com/eks1985/quick-order/issues/78
https://github.com/eks1985/quick-order/issues/77
https://github.com/eks1985/quick-order/issues/76

Количество заказов выводимых на странице теперь завимит от размера экрана (раньше было тупо 3 штуки в целях отладки)

Это имеется ввиду список заказов в свернутом виде, про развернутый вид - пока вопрос открытый

Частично заработали фильтры по заказам, а именно - работает фильтр по статусу, по дате и текстовым полям - на затра. По дате надо сделать просто ДатаС - ДатаПо, я так думаю.

Демо https://eks1985.github.io/quick-order/
Проект https://github.com/eks1985/quick-order
Презентация http://slides.com/eks1985/deck/fullscreen
106 Злопчинский
 
16.02.17
00:35
(105) на мутную голову лучше не программить.
лучше - спать...
107 Злопчинский
 
16.02.17
01:57
(105)
> https://github.com/eks1985/quick-order/issues/78
- разлиновка строк заказа = ок, настройка есть, работает.

> https://github.com/eks1985/quick-order/issues/77
- стилевые улучшения: кнопка отмены фильтра в заказах - да так лучше! также одобряю и крестик на статусе заказа; лишняя линия убрана; на странице каталог кнопка "очистить" с крестиком - да так лучше, везде получается единообразно и проще...

> https://github.com/eks1985/quick-order/issues/76
- стандартизировать значок фильтра, ну типа ок. НО ОСТАВЬ В ИССУЕ и приписать пока в качестве пояснения: значок фильтрации в заголовоках колонок каталога и корзины (скобка) - он похож на значок свертывания/развертывания в списке заказов, в то же время он показывает напрваление сортировки - то есть тут подумать с точки зрения UI (приоритет близкий к нулую, нормально и та пока вполне) - пока более ничего делать не надо...
108 Злопчинский
 
16.02.17
01:59
занести В ИССУЮ

UI: на странице заказов в выпадающих списках фильтрации сделать крестик как на окошках фильтрации/сортировки в каталоге: https://www.screencast.com/t/IN3mLb8ziiz
109 Злопчинский
 
16.02.17
02:07
занести в ИССУЮ
UI: выпадающие окошки фильтров на странице каталога (и корзины) и на странице заказов - РАЗНЫЕ. На странице заказов если выпало окошок - то просто так никуда не пойдешь пока это окошко не "закроется" (это видимо не окошко, а "способ ввода"), а в каталоге (и корзине) окошко фильтрации/сортировки живет свое асинхронной жизнью, что приводит к глюкам/артефактам, т.е. неким неожиданностям... см. видео https://www.screencast.com/t/aosa8hhVp7
110 Злопчинский
 
16.02.17
02:12
> Частично заработали фильтры по заказам, а именно - работает фильтр по статусу,
- это радует.
но как я опасался, приводит к некоторому диссонансу кнопка "применить"
я (имхо?) ожидаю, что когда я ВЫБРАЛ статус - то он АВТОМАТОМ СРАЗУ ЖЕ ПРИМЕНИТСЯ - зачем жмакать на "применить"..? фильтруется быстро... даже на фильтр по тексту  можно обойтись без кнопки "применить" - набрал текст и энтер = применить или если курсор ушел с поля - то это значит тоже применить... - предлагаю подумать в этом направлении (ну будет ли это сложно), в принципе и с кнопкой нормально но какой-то (имхо?) лишний жмак...
111 Злопчинский
 
16.02.17
02:15
Занести в ИССУЮ

Отцентрировать элементы фильтра на странице заказов
https://www.screencast.com/t/aQ4nMkgWTYad
112 Злопчинский
 
16.02.17
02:27
(105) > По дате надо сделать просто ДатаС - ДатаПо, я так думаю.

- мну кажется что ну его нафиг - сильно много вводить.
оставить выпадающий список как есть сейчас, в нем должно быть

ВСЕ
СЕГОДНЯ
ВЧЕРА
ЭТА НЕДЕЛЯ
ПРОШЛАЯ НЕДЕЛЯ
ЭТОТ МЕСЯЦ
ПРОШЛЫЙ МЕСЯЦ
СТАРЫЕ или ПОЗАПРОШЛЫЙ МЕСЯЦ И РАНЬШЕ
ВВЕСТИ ПЕРИОД

- у меня такая менюшка есть - так я в "ВВЕСТИ ПЕРИОД" ВООБЩЕ НИ РАЗУ НЕ ЗАХОДИЛ! - так что его можно убрать (так как все что более месяца мне кажется вообще в архиве будет давно лежать или удалено будет, нефиг хаморачиваться периодом - можно потом сделать)

напротив строк можно поменьше шрифтом "даты" написать, типа

ВСЕ
СЕГОДНЯ, четверг, 16 февраля
ВЧЕРА, среда, 15 февраля
ЭТА НЕДЕЛЯ, 13.02 - 16.02
ПРОШЛАЯ НЕДЕЛЯ, 06.02 - 12.02
ЭТОТ МЕСЯЦ, февраль
ПРОШЛЫЙ МЕСЯЦ, январь
ПОЗАПРОШЛЫЙ МЕСЯЦ И РАНЬШЕ, все до января


пояснялка:
ЭТА НЕДЕЛЯ, 13.02 - 16.02 (цифры чтобы были поменьше чем слова ЭТА НЕДЕЛЯ)
113 Злопчинский
 
16.02.17
02:28
... вот.
пошел тоже харить кришну
114 Злопчинский
 
16.02.17
02:45
Глюк:  вКорзине по текущей строке не подкрашивается Бренд (доп.колонко?) https://www.screencast.com/t/PyAXJF0aCO
115 Злопчинский
 
16.02.17
22:41
В иссую (уровень 0.1)
на страницу заказов в область фильтров перед значком фильтра положить кнопку, на ней может быть либо надпись "свернуть все" либо "развернуть все" (на текущей странице).

если на странице все заказы в свернутом режиме - тогда надпись "развернуть все"

если на странице все заказы в развернутом режиме - тогда надпись "свернуть все"

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

действие по кнопке должнго соответсовать надписи .
116 Злопчинский
 
16.02.17
22:44
.. вдогонку: при переходе на другой лист заказов его режим показа должен быть протвополоен надписи на кнопке. то есть если на предыдущей странице выбрали "развернуть все" то "где-то унутре ее" флажок "режим просмотра заказов = развернуто" и при переходе на любую страницу (листанием страниц, через ЭУ страницами) очередная страница показывается полностью развернуто (фиг с ним что есть бегунок-лифт), а на кнопке "свернуть все".
117 Злопчинский
 
18.02.17
01:53
Есть что-нить новенькое?
118 eks1985
 
18.02.17
01:59
(117) Сегодня опять разгребание завала на работе к концу недели, в воскресенье пол дня для работы над проектом
119 Злопчинский
 
18.02.17
02:16
(118)  я сегодня осилил в офис свататься и написать отчёт за январь ;-) и тоже завалы разгребал, все что делают руками везде лезут бяки
120 Torquader
 
18.02.17
03:17
У меня вот есть такое подозрение, что если бы обычных пользователей до работы на компьютере не допускать - то завалов и разгребаний на порядок стало бы меньше.
121 Злопчинский
 
18.02.17
10:04
(120) а "необычные" - это кто?
122 eks1985
 
19.02.17
21:06
Возникли непредвиденные дела, только до компа добрался, попробую сегодня фильтры заказов добить
123 Злопчинский
 
19.02.17
21:17
(122) смотри сам, домоклов меч не висит
124 eks1985
 
20.02.17
20:08
Пофиксил несколько мелких багов
Добавил кнопку Свернуть/Развернуть все заказы на странице заказов
Добавил фильтрацию по дате для заказов
- Все
- Сегодня
- Вчера
- Этот месяц
- Прошлый месяц
- Более ранние
Пришлось помучиться с датами, т.к. до этого почти нормально с датами в js не работал

Пока не добавил ввода произвольного периода для фильтрации по дате, хотел два поля для ДатаНач, ДатаКон добавить два инпута в окошко селекта последним пунктом, но так не получается, т.к. этот компонент не подконтрольный. В общем придется свой компонент написать в виде модального окошка

Демо https://eks1985.github.io/quick-order/
Проект https://github.com/eks1985/quick-order
Презентация http://slides.com/eks1985/deck/fullscreen
125 Злопчинский
 
20.02.17
21:15
(124) да нафиг ввод двух дат (пока), добавь в список дат "эта неделя" и "прошлая неделя" и хватит.
126 Злопчинский
 
20.02.17
21:17
(124) > Добавил кнопку Свернуть/Развернуть все заказы на странице заказов
- отлично работает, просто наикузявейше! категорически одобряю
127 Злопчинский
 
20.02.17
21:22
> Добавил фильтрацию по дате для заказов
- проверил, вроде работает.
(добавить в иссую с низким приоритетом в UI: диапазон дат там где месяцы - этот и прошлый - выводить словами типа "январь 2017"; текущий месяц даже если не кончился - тоже выводить аналогично; "более ранние" добавить мелкой датой типа
БОЛЕЕ РАННИЕ .... все до 01.01.17
128 Злопчинский
 
20.02.17
21:24
Вижу пофиксен баг с невыделявшимся в текущей строке доп.реквизитом
129 Злопчинский
 
20.02.17
21:26
Добавить в иссую (с приоритетом 0.2)
в списке заказов строку заказов (то есть заголовок заказа, то есть текущий заказ) - выделять как текущую (просто другим цветом, таким же как в каталоге). выделять независимо от того почему щелкнули (сворот/разворот или просто жмак в строку)
130 Злопчинский
 
20.02.17
21:30
выловил глюк: не реагирует (не переходит) на жмак "Заказы" на главной странице, воспроизвести не удалось
131 Злопчинский
 
20.02.17
21:38
походил по заказам/страницам, потыкал - вырисовывается. что кнопка показать/спрятать фильтр на странице "Заказы" - НЕ НУЖНА. пояд фильтов заказа - показывать всегда. Поставь плиз обход в коде/как-то инаяче - чтобы показывалось всегда (чтобы при случае чего можно было  и прежний вариант вернуть с кнопкой)
132 eks1985
 
20.02.17
21:54
(131) Да без проблем, это 3 секунды, кстати убрал еще кнопку Применить фильтр - фильтр применяется сразу как его установиили, еще фильтр - поиск по любой колонке пока не работает, сейчас делаю
133 Злопчинский
 
20.02.17
22:06
(132) если это несложно - то сделать 129 сразу заодно.
и по большому счету в минимальном составе рабоыий вариант "заказы" - есть
134 Злопчинский
 
21.02.17
00:19
памятка повторно на всякий случай https://www.screencast.com/t/enwHZ6ouEL
135 Злопчинский
 
22.02.17
12:24
Что-нибудь новенького появилось?
136 eks1985
 
26.02.17
07:16
(135) Пока нет, на праздниках припахался домашними делами, завтра продолжу разработку
137 Злопчинский
 
27.02.17
23:25
(136) есть какие-нить подвижки?
138 eks1985
 
28.02.17
10:51
(137) Пока немного закопался на работе, аудит 2.0 - местный, но скоро продолжу.
139 Сильф
 
28.02.17
11:35
(0) Ещё не пробовал, но на первый взгляд круто, не останавливайся!! )
140 Fragster
 
28.02.17
11:36
(138) да, мне тоже бесплатно пилить Зацените канбан доску на 1с времени нет, пока текущие возможности мои потребности покрывают
141 Злопчинский
 
28.02.17
12:11
(140) так, лжедмитрий, не вноси смуту!
142 eks1985
 
01.03.17
19:42
Одна ж, кончилась, вторая надвигается, шеф приезжает, а это всегда жесть =) Но все ж таки пока не приехал планирую вернуться в работу над проектах на днях
143 Злопчинский
 
01.03.17
20:01
(142) это все от бездуховности
144 Злопчинский
 
03.03.17
11:51
весна на дворе. а у нас все еще зима...
145 Asmody
 
03.03.17
12:54
Настроил GitHub pages, прописал custom domain, подшаманил пути (кинул ишью), ввел ключики, всё работает.
Теперь кидаю ссылку коллеге. У него опять просит ключики.
Пока 2 вопроса:
1) Как поменять пароль пользователя?
2) Куда прописать ключики, чтобы они не запрашивались каждый раз?
146 Asmody
 
03.03.17
12:56
Ну и к 2) еще кусок паранойи. Если ключики будут подгружаться и храниться на клиенте, насколько это секьюрно? В случае компрометации ключей, я их перегенерю на стороне fb. Обновятся ли ключики на клиентах?
147 Asmody
 
03.03.17
12:58
И еще: в самом fb есть закладка Hosting. Не пробовали разворачивать приложение на нем?
148 Вафель
 
03.03.17
12:58
(146) ключи ничего не дают, это просто ссылка на базу.
все секурность в паролях
149 Вафель
 
03.03.17
12:58
(147) подозреваю, что пока идет отладка удобнее на гите.
Ибо обновил и все, никакого развертывания
150 Asmody
 
03.03.17
14:47
Эту штуку можно завернуть в nw.js и использовать хоть с флешки! Такой вот "тонюсенький" клиент получится.
151 Вафель
 
03.03.17
14:53
(150) сейчас модно в електрон заворачивать
152 Asmody
 
03.03.17
15:04
(151) Здесь нет серверного контекста.
153 Asmody
 
03.03.17
16:10
Для понимания кода очень не хватает описания структуры данных. А так-то я очень проникся.
154 Вафель
 
03.03.17
16:11
(152) а причем здесь контекст?
155 Asmody
 
03.03.17
16:36
(154) Electron — это "выполняльщик" node.js-приложения с возможностью "рисования" окон. В Electron js-контексты приложения (как бы "серверная" часть) и окна (как бы "клиентская" часть) различаются.
NW.js — это "браузер" с добавленным node.js в клиентский js-контекст.

В случае (0) никакого "серверного" контекста нет, но есть стартовая html-страница, внутри которой крутится js, сдобренный react-redux. На nw.js это добро ложится практически "само". А для electron надо еще "запускалку" писать.
156 Asmody
 
03.03.17
17:11
На nw.js собирается и работает!
157 Злопчинский
 
03.03.17
17:27
(156) и что это значит? если оно работает так как сейчас работает?
158 Asmody
 
03.03.17
17:28
(157) Это значит, что оно работает без сайта. Хостинг не нужен.
159 lock19
 
03.03.17
17:30
localhost-а должно хватить всем.
160 Злопчинский
 
03.03.17
17:39
(158) хм... это может быть полезно... навскидку: когда?
161 Злопчинский
 
03.03.17
17:40
(156) а базу какую-нить ставить надо?
162 Asmody
 
03.03.17
17:41
(161) База в облаке
163 Fragster
 
03.03.17
17:48
(162) если база в облаке - нафига тогда локальное приложение?
164 Asmody
 
03.03.17
17:55
(163) Так у (0) внутри firebase. Оно в облаке Гугла.
165 Asmody
 
03.03.17
17:56
Приложение нужно, например, чтобы не задумываться какой браузер у пользователя.
166 Asmody
 
03.03.17
17:57
А вот это, по-моему, прекрасно:
167 Fragster
 
03.03.17
18:02
(166) интересно, сколько фирма 1с убила времени, чтобы в вебклиенте fixed числа были?
168 Asmody
 
03.03.17
18:04
(167) Это ж, вроде, непреложный закон всех финансовых систем: использовать числа с плавающей точкой для денег категорически нельзя!
169 PRO100 NigGaZ
 
03.03.17
18:28
А можно локально с апачем развернуть?
170 Z1
 
03.03.17
18:52
(167) А какие проблемы то - хранить рубли в целых копейках и все.
171 Злопчинский
 
03.03.17
18:55
(170) ага, ты это скажи любителям цены в рублях до 5 знака после зпт
172 Fragster
 
03.03.17
18:55
(170) разная точность у разных полей, например. их сложение, умножение, деление со сквозным приведением результатов. у промежуточных переменных (не реквизитов) точность плавающая. и т.п.
173 Z1
 
03.03.17
19:06
(171, 172 ) Ну это тогда нужна точная формулировка задачи
т.е. если у Вас очень дорогие товары то 7 знак в количестве играет существенную роль.

Я же исходил в 170  что копейка не дробится.
174 Fragster
 
03.03.17
19:07
(173) даже в неперепиленных типовых количество 3 знака, сумма  и цена - два. и они умножаются и делятся друг на друга.
175 Asmody
 
03.03.17
19:59
(174) Да ну ой! у нас 3, а кое-где и 4. У нас кабель ценится за метр, а продаем мы его километрами. Ну и вот. Особенно в крупных контрактах, где счет на десяток тысяч км кабеля – обычное дело.
176 Garykom
 
03.03.17
21:03
Хм а зачем нужен firebase?
Когда есть PouchDB + webtorrent.io + HTML Local Storage?
Даже минимальных 5 метров вполне хватит для небольшого прайса, в крайний случай несколько хранилищ.
177 eks1985
 
04.03.17
17:04
(145) >> Теперь кидаю ссылку коллеге. У него опять просит ключики.

Да, все верно, ведь ключи хранятся в local storage браузера клиента. Т.е. по сути мы просто на клиенте пользователя (по аналогии с 1с) один раз прописываем путь к базе.

В продакшене конечно надо будет поизящнее сделать, скинул например клиенту url в параметрах которого сразу пути к базе и пусть приложение само парсит путь и при первом входе прописывает. Надо будет сделать такое.

>> 1) Как поменять пароль пользователя?

Когда запускаете свою собственную копию веб приложения, прописываете пити к базе и запускаете первый раз приложение, то оно анализирует есть ли вообще пользователи, если пользователей нет, то приложение предлагает создать админа, затем админ может создавать новых пользователей. Пароль существующего пользователя можно пока поменять только в firebase, все пользователи там хранятся в разделе authentication.
Надо будет этот момент прописать в документации, а то наверное сходу конечно сложно понять что к чему.

>> 2) Куда прописать ключики, чтобы они не запрашивались каждый раз?

На каждом клиенте прописываем только один раз, ключи сохраняются в local strorage браузера, но их оттуда вручную конечно можно удалить, тогда приложение запросит их снова.
Короче это полная аналогия с окошком запуска ИБ 1с. В любой момент можно добавить путь к существующей базе (firebase) или удалить. Нельзя только напрямую из веб приложения базу создать.
178 eks1985
 
04.03.17
17:05
На этой неделе был реально был аврал на работе, но вроде все раскидал, завтра выхожу на работу и там продолжу работу над приложением.
179 Злопчинский
 
04.03.17
23:47
Будем ждать
180 eks1985
 
05.03.17
09:19
(146)
>>Ну и к 2) еще кусок паранойи. Если ключики будут подгружаться и храниться на клиенте, насколько это секьюрно? В случае компрометации ключей, я их перегенерю на стороне fb. Обновятся ли ключики на клиентах?

Так это не админиские ключи, это как бы ключи к API, просто тупо ссылки на экземпляр firebase, с которым работает приложение, они открытые, публичные. Все права рулятся не ими а настройкой пользователей firebase. Пока сделано так, что в веб приложении есть один админ, он может делать все. И есть пользователи, они могут делать то, что позволено админом.

Админиские ключи конечно же на клиентах не хранятся, они вообще для работы веб приложения не нужны.
181 eks1985
 
05.03.17
09:24
(147) >> И еще: в самом fb есть закладка Hosting. Не пробовали разворачивать приложение на нем?

Пробовал конечно, я изначально на нем и разворачивал, потом просто перевел на gh-pages для удобства, т.к. теперь вообще ни одной команды писать не надо, сбилдил проект, отправил изменения на github и все - оно обновилось.

Все разворачивается одной командой firebase deploy с пол пинка. Тут надо просто понимать, что этот firebase hosting это в принципе тоже самое что и gitgub pages хостинг - т.е. хостинг статических файлов, а нам ведь большего и не надо, в этом и прелесть. Даже больше скажу, можно тупо скачать приложение на раб стол и запустить index.html и будет работать, т.к. фронтенд часть у нас в собранном виде в папке build, html у нас вообще один файл, а "база данных" у нас где-то там далеко в облаке, прописали к ней путь при старте веб приложения и поехали.
182 eks1985
 
05.03.17
09:26
(150) >> Эту штуку можно завернуть в nw.js и использовать хоть с флешки! Такой вот "тонюсенький" клиент получится.

Да хоть заворачивать, хоть вообще index.html на флешку скопиовал и папку build и запускай ))

Отдельно по nw.js, сейчас все-таки более активно внедряется electron.js, на самом деле все просто там.
183 eks1985
 
05.03.17
09:27
(148), (149), (151) Вафель, смотрю ты прям в теме, шаришь, молодец )
184 eks1985
 
05.03.17
09:37
(153) >> Для понимания кода очень не хватает описания структуры данных. А так-то я очень проникся.

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

А вообще на вскидку если прям по бысторому, вот прям в проекте сэмпл данных лежит, тут я просто  в каждом узле данных по одному значанию оставил

https://github.com/eks1985/quick-order/blob/master/data-snapshot-minimum.json

Это абсолютно тупой, простой json файл, в этом и прелесть, просто обеспечиваем такую структуру данных в firebase и все.

Например хочет кто-то попробовать, но напрягают все эти обмены, синхронизации, выгрузки и т.д. Можно взять свою 1с, сформирвать такую структуру и прям интерактивно "загрузить из файла" в веб консоли firebase и все, уже можно сразу увидеть, пощупать как "свои" данные будут смотреться в веб приложении. Мое упущение - я еще не сделал проверку на корректность структуры данных со стороны веб приложения, т.е. если в firebase данные будут не такими, то приложение просто упадет и ничего не скажет. Надо сделать конечно нормальную проверку когда при старте веб приложение будет проверять и если что не так то будет уведомлять "я работать не буду потому что у вас вот в узле товаров наименование отсутствует". Дальше больше, ведь есть базовая структура данных, но например есть опция "отображать цены", так вот веб приложение должно при старте анализировать опции и данные и если например кому-то цены не нужны, так и не требовать их наличия в firebase.
185 eks1985
 
05.03.17
09:40
(169) @PRO100 NigGaZ >> А можно локально с апачем развернуть?

Да хоть без апача =) На рабочий стол проект скачал, index-start-locally.html запустил и все.
186 eks1985
 
05.03.17
09:49
(176) >> Хм а зачем нужен firebase?

Зачем нужна капуста если есть картошка =)
Устал уже повторять, это приложение вообще не про firebase, убери firebase, замени на сouch + pouch

Моя вина в том конечно, что я еще не сделал коннекторы к разным баасам и вариант pouch + сouch

На данном этапе веб приложение завязано на firebase т.к. это очень сильно упрощает прототипирование, там реально из самого firebase 3 метода дергается и все. Это тупо удобная коробка в которую легко складывать данные и доставать оттуда. По-поводу pouch, да, это все круто и работает, но вот пару недель назад мне понадобилось настроить couchdb + pouchdb. Так вот на практике не все так просто получается. Поднял дроплет на DO, базово настроил, и думаю поставлю сразу свежую couchdb 2.0. Так вот потратил 2 дня и это оказалось большой болью в заднице, все в итоге встало, но 90% 1сников просто плюнуло бы на пол пути. Мораль такова, чем больше абстракций - тем больше боли.
187 Asmody
 
06.03.17
09:35
(182) Для электрона надо мутить index.js. А для nw.js достаточно nw-build и пару команд в build добаить.
188 Asmody
 
06.03.17
09:40
Категории без иерархии. Хорошо или плохо — пока не знаю.
189 Злопчинский
 
06.03.17
10:41
(188) там над категориями поле поиска есть
Меня лично иерархические списки бесят.
Вот например в яндексе в результатах поиска иерархии нет и ничего
190 eks1985
 
06.03.17
10:48
По категориями наверное надо сделать опционально, на выбор
191 eks1985
 
06.03.17
10:49
Вчера сел и понял что я не помню уже то, что недеделю назад писал, все таки некий внутренний рефакторинг необходим, а то черто ногу сломит где что =)
192 Asmody
 
06.03.17
10:59
(191) да-да-да :)
193 Asmody
 
06.03.17
10:59
Сначала тесты :)
194 Злопчинский
 
06.03.17
11:10
(191) а ты думаешь я зря тебе перерыва не давал?
195 Злопчинский
 
06.03.17
11:11
(193) пока вместо тестов я у него ;-)
196 Asmody
 
06.03.17
11:13
(195) Тестируем на пользователях. Это так "по-одинсовски"!
197 eks1985
 
06.03.17
11:22
(196) Для коммерческого продукта продающегося за деньги - это конечно недопустимо, но для такого маленького проекта это очень эффективно, что-то делаем, затем получаем обратную связь, затем переделываем =)
198 Злопчинский
 
06.03.17
11:26
(196) ну мы же не инквизиторы, в продакшен не пускаем
199 Злопчинский
 
06.03.17
11:27
(197) это ты надеюсь не про 1с
200 lock19
 
06.03.17
11:35
(197) Хорошо когда обратная связь присутствует, а может её и не быть.
201 Asmody
 
06.03.17
12:06
Ну, за связь! Без брака.
202 lock19
 
06.03.17
12:24
Вон, на инфостарте, прибегают, скачивают, молча убегают. Как минимум половина плюсов поставлена нескачавшими.
203 Злопчинский
 
06.03.17
12:26
(201) но без бл.тства!
204 lock19
 
06.03.17
12:44
И чтоб ваши дети свинкой не болели.
205 Asmody
 
06.03.17
13:36
Вот еще про секурность. Сейчас, получается, что любой, исхитрившись, может посмотреть все заказы. Это не есть хорошо. И это, вроде как, на стороне клиента не решается.
206 Злопчинский
 
06.03.17
13:36
(205) да, мну этот вопрос тоже интересует
Но пока его не поднимал
207 eks1985
 
06.03.17
15:45
(205) //Вот еще про секурность. Сейчас, получается, что любой, исхитрившись, может посмотреть все заказы. Это не есть хорошо. И это, вроде как, на стороне клиента не решается

Неа, тут все ок, поясняю: пользователь логинится и видит только срез заказов контрагента, к которому он отноится.
Заказы хранятся в разрезе контрагентов, поэтому никак пользователь чужие заказы не увидит.
208 Злопчинский
 
06.03.17
20:51
(207) движуха есть сегодня какая-нить?
209 Asmody
 
06.03.17
21:12
(207) срез формируется где?
Что мешает открыть консоль браузера и поиграть и api и параметрами?
210 eks1985
 
07.03.17
08:49
(208) Есть, добил поиск в заказах по текстовым полям, сейчас ваяю страничку с описанием структуры данных
211 eks1985
 
07.03.17
08:55
(209) Заказы хранятся в разрезер гуидов контрагентов, угадать гуид чужого контрагента считаю идеей не жизненной, однако, возможно есть вариант с загрузкой всего узла заказов из консоли, надо попробовать, об этом не подумал. Самое простое решение в лоб - вынести тогда гуиды на самый верхний уровень, тогда точно не получится увидеть чужое. Еще есть настройка прав в firebase, но я с ней еще не разбирался, я думаю там тоже можно нужным образом настроить.
212 eks1985
 
07.03.17
08:59
Точно, глянул бегло, все можно легко настроить на уровне самого firebase. Права настраиваются достаточно гибко.

// These rules grant access to a node matching the authenticated
// user's ID from the Firebase auth token
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}
213 eks1985
 
07.03.17
09:38
Пока описываю структуру данных продублирую сюда, для понимания, как происходит аутентификация, авторизация. Если есть какие-либо мысли - высказывайте, возможно я что-то упускаю.

У каждго контрагента может быть несколько пользователей.
Мы сами создаем пользователя (используя в качестве логина его email) и генерируем изначальный пароль.
Отправляем его пользователю и он уже может начать работать.
Пока не реализована функция смены пароля самим пользователем, надо сделать
Нет функции "забыл пароль", надо сделать
Нет функции первоначальной активации аккаунта пользователя путем перехода по ссылке в письме, пока не вижу смысла делать, т.к. это защита от ботов, а ботов не будет, т.к. мы сами регистрируем пользователя
В firebase в самом узле пользователей в каждом пользователе хранится ссылка на контрагента, к которому он относится.
При создании нового пользователя мы сами связываем его с контрагентом. Это делается в самом веб приложении (вроде уже реализовано)
В самой базе в узле пользователей не хранятся пароли ни в каком виде
Теперь самый не очевидный момент:
При создании нового пользователя в веб приложении одновременно создаются две сущности
- элемент *1* данных в узле users, хранящий свойства пользователя email, admin, disabled, customerRef
- элемент данных в блоке Authentication firebase, это служебный *2* блок (он виден в консоли firebase)

Причем ключем для *1* является уникальный идентификатор из *2*

Т.е. мы сами не храним пароли и не реализуем всю внутренюю кухню по валидации паролей и т.д., это все делает сама firebase в своем модуле Authentication. Мы просто дергаем его API когда надо создать пользователя или что-то изменить.
214 Asmody
 
07.03.17
12:23
(212) Вот, это уже лучше. Только админам надо дать права на все заказы :)
Короче, про RLS надо думать.
215 eks1985
 
07.03.17
14:17
Обновил демо, в пункте настройки добавилась страничка Описание структуры данных.

Также заработал фильтр заказов по текстовым полям
216 eks1985
 
07.03.17
15:44
Сделал упрощенный вариант для первого подключения клиентов к базе

Теперь клиенту не обязательно вводить apiKey и databaseUrl на страничке настроек подключения. Достаточно просто скинуть клиенту ссылку на веб приложение, которая содержит параметры apiKey и databaseName

Веб приложение парсит при старте параметры и если видит что параметры apiKey и databaseName присутствует, то прописывает их в localStorage браузера и подключается к firebase

Вот пример ссылки на демку

https://eks1985.github.io/quick-order/?apiKey=AIzaSyBzPxu9Yt_kPLReqaN3J3tpLJK3OJky_gI&databaseName=quick-order-de84c
217 Злопчинский
 
07.03.17
19:29
(215) > Также заработал фильтр заказов по текстовым полям
- получается реально он работает по "номеру", "комментарию" и гуиду (смишно) заказа...
218 eks1985
 
07.03.17
19:41
(217) Да, еще по номеру заказа клиента
219 Злопчинский
 
07.03.17
19:46
(218) ок
220 mobile-1c
 
07.03.17
22:45
очень интересно. есть вопросы.
-можно данную систему поставить на какое нибудь бесплатное хранилище?
-1с в качестве хранилище можно не использовать?
221 Злопчинский
 
07.03.17
23:00
(220) это вообще с 1С не связано. 1С может коннектиться к этому сервису для обмена информацией.
оно и так вроде на бесплатном хранилище работает
222 Asmody
 
07.03.17
23:06
(220) Куда уж бесплатнее?
223 Злопчинский
 
07.03.17
23:13
к логопеду заглядывет пациент:
- Мона?
- Нуна!
224 eks1985
 
08.03.17
01:48
(220) >> можно данную систему поставить на какое нибудь бесплатное хранилище?

Можно, вот тут на видео показано как это сделать за 6 минут попивая кофе =)

http://slides.com/eks1985/deck/fullscreen#/1/1

>> -1с в качестве хранилище можно не использовать?

Да хоть руками можешь в firebase забить, главное чтобы структура данных в firebase соответствовала требуемой

https://github.com/eks1985/quick-order/blob/master/data-snapshot-minimum.json
225 eks1985
 
08.03.17
01:50
Выпилил 1000 строк мертвого кода, отрефакторил самое ужасное что есть в приложении - обработчики клавиатуры и управление фокусом

Завтра семья отпускает на пол дня на работу, там займусь наращиванием бизнес логики
226 Злопчинский
 
08.03.17
08:11
(225) ждемс!
227 eks1985
 
08.03.17
21:52
Сделал возможным хранить цены в разрезе контрагентов
За это отвечает опция бизнес логики Ведение цен (Настройки - Бизнес логика - Ведение цен)

Теперь если ставим "Общие цены для всех контрагентов", то достаточно обеспечить чтобы в firebase в узле prices в подузле common были все цены.

Если ставим "Свои цены для каждого контрагента", то необходимо обеспечить чтобы в firebase в узле prices были подузлы (гуиды контрагентов) и внутри них хранились цены

В демо если сейчас переключать эту опцию видно, что персональные цены контрагента на 20% ниже чем общие

Закрыты issues:

https://github.com/eks1985/quick-order/issues/90
https://github.com/eks1985/quick-order/issues/86
https://github.com/eks1985/quick-order/issues/84
Наконец-то добавлен значок фильтра если в доп колонках каталога и корзины есть фильтр
https://github.com/eks1985/quick-order/issues/82

Демо https://eks1985.github.io/quick-order/
Проект https://github.com/eks1985/quick-order
Презентация http://slides.com/eks1985/deck/fullscreen
228 Garykom
 
08.03.17
22:02
(227) Войти на одном браузере под разными учетками как?
229 Garykom
 
08.03.17
22:03
и да знаю что что я зараза ))
230 eks1985
 
08.03.17
22:05
(229) =)

Имеется ввиду учетка пользователя? Если пользователь залогинен, то справка вверху в хедере есть кнопочка "Выйти", при нажатии на которую перебрасывает на экран авторизации
231 Garykom
 
08.03.17
22:07
(230) Дык у меня 2 (или 3 организации) и хочу сделать у одного поставщика заказ на разные юрлица и на разные точки, причем "одновременно".

Банально переключаясь между вкладками в браузере.
232 Garykom
 
08.03.17
22:08
(231)+ В обычных не браузерных это решается установкой и запуском нескольких клиентов (для разных юрлиц/точек) одновременно.
233 eks1985
 
08.03.17
22:17
(231) Пока так хитро не умеет. Но если заморочиться - думаю можно что-то сообразить. Типа как у яндекса при входе в почту можно выбрать ящик, зайти, запустить новую вкладку, выбрать другой ящик, зайти.
234 eks1985
 
08.03.17
22:33
Пофиксил труднодиагностируемый баг

https://github.com/eks1985/quick-order/issues/52

Вот что значит развеяться, сходить на кинг конга - сразу мозги лучше работают =)
235 Сниф
 
09.03.17
00:18
Интересно, а как дела обстоят с потреблением оперативной памяти у nodejs на реальном хостинге?
ИМХО, оперативка - именно то, что формирует стоимость тарифа на хостинге. Может быть общей памяти 30 гиг или занятость процессора, но оперативка - самое узкое место хостинга.
Вопрос навеян тем, что я вижу, как легко и непринужденно nodejs отжирает 500-600Мб оперативки на локальном компе.
236 eks1985
 
09.03.17
00:24
(235) Я так понимаю это вопрос риторический? К данному то приложению даже не знаю как это относится. Отвечу просто, в продакшене данное приложение НЕ использует node.js, поэтому и  память не потребляется от слова совсем.
237 eks1985
 
09.03.17
00:40
(235) Ну если чисто с теоретической точки зрения, ради интереса давай проверим. Вот мой hello world nodejs приложение, развернутое на heroku. Там помимо nodejs еще развернут postgres и redis

https://pure-taiga-15550.herokuapp.com/

Потребление памяти
https://goo.gl/stPEb6

Как видим вся эта троица кушает в среднем менее 50 мегабайт памяти. Что на мой взгляд вполне приемлемо. Тот же heroku дает 512 мегабайт на БЕСПЛАТНОМ тире. Т.е. 10 кратный запас.
Digital Ocean дает VPS-ку за 5$ в месяц. Разве же это затраты? Палка колбасы дороже стоит =)
238 Сниф
 
09.03.17
01:13
(236) Да, вопрос риторический. До таких размеров (500-600Мб) процесс node.exe распухает только у меня на локальном компьютере. Когда используется в связке с WebStorm. Я уж не знаю, как они так друг друга грузят.
239 eks1985
 
09.03.17
08:59
(238) Ну в девеломпент окружении может быть что угодно и это не критично, пусть в девеломпент оно хоть 10 гигов жрет, главное чтобы в продакшене была приемлемая производительность
240 Asmody
 
09.03.17
10:05
Хранить цены в разрезе контрагентов — не жирно ли?
241 eks1985
 
09.03.17
10:22
(240) Это опционально, по-умолчанию цены общие, но я думаю многим будет очень нужно в разрезе контрагентов, вот Злопчинскому например

По занимаемому месту впринципе не жмет.
Возьмем сферический пример:  10 000 позиций json файлик с ценами у меня занимает 500кб. Допустим 50 контрагентов. Итого под цены 25 мегабайт. На бесплатном плане firebase дает гигабайт.
242 Asmody
 
09.03.17
10:35
(241) У меня три типа цен, в зависимости от статуса клиента. Индивидуальные цены для клиента, конечно, бывают. Но это на ограниченный список позиций и довольно не часто.
243 Z1
 
09.03.17
10:38
(241, 242) Тогда вводиться справочник категория_клиента
и на каждую категорию_клиента свои цены
244 Вафель
 
09.03.17
10:43
Согласен, лучше не индивидауальные цены, а типы цен.
Индивидуальные цены легко делаются. Тип цен = конрагент
245 Asmody
 
09.03.17
10:43
(243) Одинесовские типы цен вполне устраивают.
246 Asmody
 
09.03.17
10:44
В общем, выгрузил я свои товары в базу. Получилось 169 страниц.
Заказ сделать не получается.
247 eks1985
 
09.03.17
10:45
Ок тогда делаем еще вариант: Цены в разрезе типов цен, у контрагента делаем реквизит тип цен.

Итого кому как налдо:
- общие цены
- цены в разрезе контрагентов
- цены в разрезе типов цен
248 eks1985
 
09.03.17
10:46
(246) Ошибка какая прявляется или что?
169 страниц совсем не критичный размер
249 Вафель
 
09.03.17
10:47
(247) Типы цен покрывают все варианты
250 eks1985
 
09.03.17
10:51
(249) В 95% процентов случаев да, но есть всякие извращения, когда реально у каждого контрагента свои цены, лично видел =)
Да, это решается новым типом цен на каждого контрагента, но кому-то все же проще вообще не оперировать типами цен. В общем лучше дать больший выбор, чем меньший выбор, а там дальше сам себе поставит опцию как ему надо.
251 Z1
 
09.03.17
10:57
(250) Если категория цен одна то это общие цены у клиентов
Если категорий столько сколько клиентов и у каждого клиента не повторяется то это что ты описал в 250
если категорий три то это случай 242
т.е как сказано в 249 категории цен покрывают все случаи
252 Asmody
 
09.03.17
10:58
(250) Это усложнение структуры => усложнение бизнес-логики => минус скорость работы
253 Вафель
 
09.03.17
10:58
(250) тут просто вопрос как выгрузку писать.
Или срацу цену подставлять или отдельно цену выгружать.
Но для 1сника не проблема ну ни как
254 eks1985
 
09.03.17
10:58
(251) А кто спорит то?) Все верно.
255 Вафель
 
09.03.17
10:59
(254) Те делай вначале типы цен, а остальное если руки дойдут )))
256 Asmody
 
09.03.17
11:02
(248) В консоли куча такого
TypeError: e.srcElement is undefined

И еще вот это: http://pastebin.com/gd16QQTy
257 Вафель
 
09.03.17
11:05
(256) Взял бы да пулл реквест предложил )))
258 eks1985
 
09.03.17
11:08
Ну чтоб пулл реквест предложить надо сначала понять в чем проблема ). Пока вижу что проблема при подгрузке опций, за них отвечает узел options. Возможно я не проинициализировал какую-либо опцию. Надо конечно сделать нормальный отлов ошибок в промисах.

Asmody, у тебя данные конфиденциальные? или можем дамп из firebase дать?
259 eks1985
 
09.03.17
11:10
Дамп можно прям из гуи консоли firebase сделать, Database -Меню - Экспорт в файл JSON
260 eks1985
 
09.03.17
11:22
Проблему нашел, пофиксил, сейчас попробую отправить изменения в репо, с работы это не всегда просто
261 eks1985
 
09.03.17
11:31
Готово, отправил патч

Эх надо запилить проверки, валидации на все api call к firebase, тогда все ошибки связанные с данными можно ловить на подлете, а ни тогда когда они вылазиют в визуальных компонентах
262 Asmody
 
09.03.17
11:33
(258) В базе нет узла options
263 Asmody
 
09.03.17
11:35
Блин, ну почему обновление форка на гитхабе — такие танцы с бубном? Обычное же дело, каждый день миллионы делают, и все через задницуконсоль.
264 eks1985
 
09.03.17
11:35
Да, а веб приложение наивно ожидало что он всегда есть =) Пофиксил.
265 eks1985
 
09.03.17
11:37
(263) Давай подумаем, честно говоря сам еще зеленый с гитом.

По идее тебе надо просто одну команду в консоли выполнить

git pull origin master

Или ты имеешь ввиду, что нету тупо в гуи такой возможности?
266 eks1985
 
09.03.17
11:40
А нет, чуть сложнее

git pull upstream master

Перед этим один раз

git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
267 Asmody
 
09.03.17
11:41
(265) Неее! Сначала надо в локальный реп подключить базовый как upstream, сделать из него fetch, потом смерджить его с своим и сделать push на github.
268 Asmody
 
09.03.17
11:42
Есть еще один способ, когда ты делаешь pull request себе в форк на основе базового репа. Это через webui делается, но .лять, это же тоже не совсем пряморукий подход.
269 eks1985
 
09.03.17
11:44
Ну да, гит очень гибок, но не всегда очевиден
270 eks1985
 
09.03.17
11:57
Похоже github for windows может делать это одной командой sync из гуи.

https://help.github.com/desktop/guides/contributing/syncing-your-branch/

Но сам уже под сидя под вин не могу кодить, под lin удобнее.
271 Злопчинский
 
09.03.17
12:18
баг: не показывает в каталоге доп.колонки (в корзине - ок)
272 Злопчинский
 
09.03.17
12:26
баг: в корзине не удается ни фильтр, ни сортировку по допколонке использовать - не эрегирует на мышку
273 Злопчинский
 
09.03.17
12:34
баг: ведение цен: не использовать = ДА
в каталоге показывается колонка цен (по идее не должно быть). в корзине показывается цена и сумма - по идее не должно быть...
??
274 Asmody
 
09.03.17
12:37
Я люблю хардкод!

Вот такой доступ к кнопке настройки —
{auth.email === 'alfa1@alfa.com' &&

Я-то думаю, где у него кнопка!
275 Злопчинский
 
09.03.17
12:46
остался баг: если какую-то категорию выбрать нескольо раз, то она не обнуляется по одному клику мышкой
276 Asmody
 
09.03.17
12:51
Обновился. Теперь корзина пишет NaN руб.
277 lock19
 
09.03.17
12:55
(276) )))
278 Zagruzit
 
09.03.17
13:08
Кто-нибудь может рассказать, каким образом реализуется коннект к firebase со стороны 1С?
279 eks1985
 
09.03.17
13:15
(271) (272) Есть такое, это из-за того что я узел опций грохнул, чтобы протестировать как оно будет =)
Сейчас верну назад

Вернул опции назад, надо будет сделат для них нормальные значения по умолчанию
280 eks1985
 
09.03.17
13:18
(276)>> Обновился. Теперь корзина пишет NaN руб.

Видимо из-за того что я забыл значения по-умолчанию для опции Ведения цен
281 Asmody
 
09.03.17
13:18
(278) Как-то вот так

Функция Записать(Ресурс, Данные) Экспорт
    ФайлЗапроса = ПолучитьИмяВременногоФайла();
    ЗаписьТекста = Новый ЗаписьТекста(ФайлЗапроса, HTTP.UTF8безBOM());
    ЗаписьТекста.Записать(JSON.ЗаписатьJSON(Данные));
    ЗаписьТекста.Закрыть();
    Соединение().Записать(ФайлЗапроса, URIРесурса(Ресурс), Заголовки());
    УдалитьФайлы(ФайлЗапроса);
    Возврат Истина;
КонецФункции
282 Asmody
 
09.03.17
13:20
(281)+ Там же обычные http-запросы.
283 eks1985
 
09.03.17
13:22
+ (278) Вот тут примеры обработок обмена для 7.7 и 8

https://github.com/eks1985/quick-order/tree/master/exchange

Вот тут видео

http://slides.com/eks1985/deck/fullscreen#/2

В плане обмена все просто как 3 копейки
284 Zagruzit
 
09.03.17
13:26
(281)(283) Понятно. Большое спасибо!
285 eks1985
 
09.03.17
13:29
+ (280) Я еще рекомендую тебе поставить хром расширение redux dev tools

Тогда в дев панели можно видеть все состояние приложение вот в таком виде + все события

Я конечно сделаю все проверки для данных, но пока имеем то что имеем и в этой панельке удобно видеть если что не так

https://goo.gl/WP4Lrz
286 eks1985
 
09.03.17
13:30
(275) >> остался баг: если какую-то категорию выбрать нескольо раз, то она не обнуляется по одному клику мышкой

Да, эта issue висит, я о ней помню

https://github.com/eks1985/quick-order/issues/7
287 eks1985
 
09.03.17
13:34
(274) Есть такое =) Только жесточайший рефакторинг спасет нас.

https://www.youtube.com/watch?v=UZq4sZz56qM
288 eks1985
 
09.03.17
13:37
(280) Нет, это из за введенной вчера опции Ведение цен.
Теперь если
- общие цены, то цены должны быть в prices/common/тут цены
- цена по контрагентам, то цены должны быть в prices/гуид контрагента/тут цены

Постараюсь поменьше таких ломающих приложение изменений схем данных делать
289 eks1985
 
09.03.17
13:39
+ (288) Быстрое решение, можеш в своей firebase выгрузить узел prices в json в гуи консили (для этого надо провалиться в сам узел и из меню выгрузить в json), затем создать подузел prices/common, провалиться в него и Загрузить из json, то, что выгружено на предыдущем этапе
290 Fragster
 
09.03.17
14:15
а как превратить такое приложение в сервис? да еще, желательно, с автоперезапуском?
291 eks1985
 
09.03.17
14:18
(290) Поясни подробнее что имеется ввиду?
292 Fragster
 
09.03.17
14:25
(291) ну вот я пишу свое приложение, которое слушает порт, отвечает на запросы и прочее и прочее. как мне сделать так, чтобы оно запускалось при старте системы и перезапускалось при падении (а также чтобы логировало причины падений)
293 eks1985
 
09.03.17
14:25
+ (282) >> + Там же обычные http-запросы.

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

foo
  bar
    baz

Для этого достаточно отправить запрос с именем ресурса "foo/bar/" и значением "baz"

Я раньше этого не знал и сам создавал промежуточные узлы.
Оказалось делал лишнюю работу.
Что это дает: можно добавять и обновлять данные достаточно большими пакетами, не плодя при этом миллион запросов из 1с.
294 Fragster
 
09.03.17
14:28
например заметил неприятную особенность - приложение падает на console.log, если у него нет stdout (например запустили в фоне по ssh (node index.is &) и отключились). А сколько таких нюансов еще?
295 eks1985
 
09.03.17
14:30
(292) Ну так ставишь например ngnix, за ним nodejs, оборачиваешь приложение например в express и подключаешь какой-нибудь forever (https://github.com/foreverjs/forever)

Не сильно силен в администрировании, но думаю ход мыслей примерно такой.
296 eks1985
 
09.03.17
14:31
(294) А, ну тогда точно вот это то что доктор прописал

https://github.com/foreverjs/forever
297 Fragster
 
09.03.17
14:34
(296) а по шагам есть? а то forever index.js также упал в той же ситуации... вернее даже не упал, а скрипт перестал отображаться в выводе forever list, ну и файл с логом не нашел нигде :(
298 eks1985
 
09.03.17
14:41
(297) Я вроде по этому туториалу пробовал hello world делать, вроде все работало, не падало

https://scotch.io/tutorials/how-to-host-a-node-js-app-on-digital-ocean
299 eks1985
 
09.03.17
14:48
Я поэтому и делаю приложение без серверной части, тут хоть понятно когда что-то отвалилось и почему, а если добавить еще серверную часть, становится сложнее
300 dmitryds
 
09.03.17
14:52
pm2
301 Fragster
 
09.03.17
14:54
при этом если стартовать так: forever start main.js > log.log , то на console.log не падает
302 eks1985
 
09.03.17
15:06
(300) Да, pm2 вроде лучше гораздо

Сравнения

http://devo.ps/blog/goodbye-node-forever-hello-pm2/
https://npmcompare.com/compare/forever,pm2
303 eks1985
 
09.03.17
15:15
+ (288) Добавил небольшой костыльчик / fallback.
Если стоит вариант ведения цен Общие цены, то по-умолчанию цены берутся из prices/common, но если их там нет, то приложение поищет и просто в prices. Патч отправил.
304 Злопчинский
 
09.03.17
15:27
За всеми кто мешает проекту - я бдю...
305 Asmody
 
09.03.17
15:28
(293) Ну да, я справочники одним запросом к FB выгрузил.
306 eks1985
 
10.03.17
13:54
Заставил себя немного поработать
Реализован компромиссный вариант по ценам

- общие цены для всех клиентов
- цены в разрезе типов цен
- не использовать

Если выбираем первое, то приложение ждет цены тут prices или тут prices/common, без разницы.

Если выбираем второе, то у клиента должно быть свойство priceType, а цены должны быть в prices в разрезе priceTypes.

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

Надо будет отразить все это в документации.

Третью опцию "не использовать", тоже частично отработал, убираются колонки цены  каталоге и в корзине при ее включении, но еще кое где остаются цены и суммы, допилим.
307 Злопчинский
 
10.03.17
22:00
Слежу
308 Злопчинский
 
11.03.17
03:40
немножко почитал про MongoDB https://habrahabr.ru/post/231213/
309 Злопчинский
 
11.03.17
03:47
..позновательно (для меня) зачем и почему. и почему в итоге свалились к реляционной базе
310 Злопчинский
 
11.03.17
04:03
(227)
> иссуя https://github.com/eks1985/quick-order/issues/86
- визуальная аккуратность/оформление, ОК!

> иссуя https://github.com/eks1985/quick-order/issues/84
- мусорные окошки фильтрации/сортировки, поправлено, ОК!

> иссуя https://github.com/eks1985/quick-order/issues/82
- значок наличия наложенного фильтра на доп.колонки в каталоге и корзине. ОК!
311 Злопчинский
 
11.03.17
04:09
Положить в иссую: стандартизация кнопок https://www.screencast.com/t/euDeCvtoOo
312 Злопчинский
 
11.03.17
04:24
(234)
> иссуя https://github.com/eks1985/quick-order/issues/52
- баг с лишними записями в фильтре допколонок

> Пофиксил труднодиагностируемый баг
> Вот что значит развеяться, сходить на кинг конга - сразу
> мозги лучше работают =)

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

см. https://www.screencast.com/t/tK8pKvDkKzv
313 Злопчинский
 
11.03.17
04:32
(306) "...Надо будет отразить все это в документации. "
- обязательно отразить в документации.
Причем (на данном этапе отсутсвия документации) описать просто в главное меню-настройки-описание структуры данных - аналогично как там описано. Описать все три (?) варианта задания типов цен прям на примерах
314 Злопчинский
 
11.03.17
04:50
(306) вообще мутно все в (306)...

***********************************************************

"- общие цены для всех клиентов" - какие цен_Ы_? (нескольо типов цен и это общее для всех клиентов? или как-то иначе?)

предлагаю переименовать, типа:
- общий прайс для всех клиентов

***********************************************************

" - цены в разрезе типов цен "
- какие типы цен? где на уровне ИНТЕРФЕЙСА они отображаются эти "типы цен"..? - нету их!

переименовать стопудово, типа:
- частные(или индвидуадбные) прайсы для клиентов

при этом вариант задания частных прайсов для клиентов - ОПИСАТЬ ПОДРОБНО И РАЗВЕРНУТО как что и куда совать (см. предыдущий мой пост)
315 Злопчинский
 
11.03.17
04:51
подумать НА БУДУЩЕЕ (сейчас даже не заморачиваться!)
- как реализовать и надо ли возможность нескольих цен в прайсе? (типа опт, мелкоопт)..? как их показывать? как считать сумму?.. пока непонятно..
316 бегинер
 
12.03.17
15:04
(314) система формирования заказов, залил из 1с цену (опт или мелко опт перед заливкой сам решай) и система будет принимать заказы.
так до Управление торговлей можно дойти :)
317 eks1985
 
12.03.17
15:33
(316) Наши цели гораздо скромнее. Есть ограниченная задача - прием заказов, в рамках этой задачи реализуются визуальные компоненты - "виджеты", потребляющие данные не напрямую из 1с, а из прослойки firebase (облачный бэкенд). Т.к. задача довольно ограничена, то и компоненты - виджеты довольно жестко защиты, однако модифицируются в рантайме при настройке бизнес логики приложения. Теоретически можно даже в дальнейшем запилить универсальные виджеты, которые например в веб приложение выносят форму списка справочника 1с или форму элемента, короче сделать универсально, но пока такой задачи не стоит, да и усилия для реализации такой задачи нужны на порядок выше.

Есть гораздо более амбициозный проект metadata.js, Вот там цель - иметь полноценный движок, при помощи которого можно любую сущность из 1с или не из 1с вынести в веб приложение. Но там для простого смертного требуются титанические усилия, доработать под себя можно только поняв как все работает изнутри, лично я не осилил.

(314) Ок, доплим, опишем, углубим, расширим.
318 Asmody
 
12.03.17
16:00
(315) В моем понимании "прайс-лист" — это произведение товаров на типы цен. На пересечении — собственно цена. "Назначить клиенту прайс-лист" <=> "Установить для клиента тип цен"
319 eks1985
 
12.03.17
16:26
(315)(318) Собственно это уже сдалано

Выбираем в опциях "Цены в разрезе типов цен", в firebase храним цены так

prices
  айди типа цены 1 (хоть гуид, хоть наименование, хоть что)
    гуид товара 1: цена
    гуид товара 2: цена
  айди типа цены 2 (хоть гуид, хоть наименование, хоть что)
    гуид товара 1: цена
    гуид товара 2: цена

В customer помещаем priceType: айди типа цены

Приложение ищет цену так: идет в customer, берет priceType, идет в prices, берет цены из узла c этим priceType

Если не хотим вообще и слышать про типы цен, просто храним цены так

prices
  гуид контрагента 1
    гуид товара 1: цена
    гуид товара 2: цена
  гуид контрагента 2
    гуид товара 1: цена
    гуид товара 2: цена

Приложение идет в customer - видит, что priceType не заполнен, значит просто берем цены из prices/гуид контрагента

Оверхеда никакого нет, один раз при старте приложение понимает где ему взять цены, загружает их и все

Может сумбурно объяснил, но логика тут наипростецкая =)
320 eks1985
 
12.03.17
19:27
>>..позновательно (для меня) зачем и почему. и почему в итоге свалились к реляционной базе

Читал еще в 14 году эту статью, все верно там, но не совсем =)

Во-первых, заголовок гласит "Почему вы никогда не должны использовать MongoDB", вывод же в статье делается совсем другой: "мы использовали MongoDB не по назначению"

Во-вторых, давно уже известны все плюсы минусы SQL vs NoSql
Тут надо просто понимать критичны ли затыки с NoSQL для конкретного приложения. Вот например наше приложение. По сути firebase в нем это не бэкенд, а кэш, а настоящий бэк это 1с, это дает определенную гибкость.

В-третьих, в статье в рамках использования NoSql обсуждается два подхода: сильная денормализация данных, когда в одном документе храним сразу все и второй подход хранения айдишников на сущности. Так вот первый подход однозначно плох из-за проблемы перекрестных ссылок (опять же только если такие ссылки существуют), и из за проблемы каскадного обновления, тут спору нет, однако второй подход во многих случаях не так плох как описано в статье. В статье идет упор, что такой подход ведет к джоинам на стороне приложения, так вот часто это совсем не проблема. Главное сущности, айдишники которых хранятся в других сущностях НЕ хранить в виде массивов, а хранить в виде хэш таблиц. Поясню: вот у нас есть каталог товаров. В один момент времени на странице каталога отображается в среднем десяток товаров. Цены товаров хранятся в отдельной хэш таблице в разрезе гуидов товаров. Операция поиска по ключу к хэш таблице супер дешева, т.к. это тупо взятие значения по ключу. Итого на каждую страницу товаров будет приходится десяток взятия по ключу значения из хэш таблицы, это супер дешево, тысячные доли секунды. На самом деле самый страшный затык это сортировка по произвольным полям, потому что для нее необходим кластерный индекс (в терминах РСУБД). Так вот у меня сейчас этот индекс автоматически создается для кода, наименования и для любой доп колонки, для которой стоит "сортировать" при старте приложения. Само собой индекс строится в фоне. Я тестировал построение таких индексов на 500 000 элементов, ничего не умерло, не упало, построение индекс получалось около 0.5 сек на колонку. Java script стал чертовски быстр. Однако это не отменяет нагрузочного тестирования, надо как руки дойдут сделать тестирование на 10, 100 тыс элементов каталога товаров.
321 Злопчинский
 
13.03.17
23:00
как движуха? идет ли исправление старых багов? внесение новых?
322 Maniac
 
13.03.17
23:10
А ты у покупателей готовы ли они у тебя заказы набивать?
Если так под каждого поставщика подстраиваться - сайтов не хватит чтобы каждому заявку набивать на его сайте
323 Maniac
 
13.03.17
23:11
А готовы ли поставщику доверится твоему сервису и передать свои коммерческие данные, когторые с твоего сервиса будут тырить всякие там конкуренты под видом "покупателей"
324 Злопчинский
 
13.03.17
23:40
(323) Маня, не кипишуй.
ничем не отличается от того, что я (конкурент) под видом покупателя прозвонюсь на менеджера поставщика и получу нужные данные.

никто не будет просто так выставлять рядовому покупателю частный прайс для "любимых" клиентов.

любой новичок, зарегившийся (допустим) в системе - получит некий обобщенны йпрайс, которые не является секретом. и будет работать в рамках этого прайса пока "штатно" не подтвердит свои "полномочия".
325 Злопчинский
 
13.03.17
23:41
посему предлагаю организационно-административные вопросы здесь не перетирвать.
326 Asmody
 
14.03.17
00:13
(323) Маня, а кто тебе сказал, что такой сервис будет висеть в паблике и с открытой регистрацией?
327 Сниф
 
14.03.17
00:54
(324) Маня плавно подводит к идее покупки Битрикса
328 eks1985
 
14.03.17
02:19
(321) >> как движуха? идет ли исправление старых багов? внесение новых?

Сегодня был сильно загружен на работе, завтра планируется движуха =)
329 eks1985
 
14.03.17
02:23
(322) >> А ты у покупателей готовы ли они у тебя заказы набивать?

Все просто, я не предоставляю никакого сервиса покупателям и не являюсь посредником, это не сервис, это веб приложение, его целевая аудитория Не покупатели, а поставщики, которые хотят для своих покупателей дать удобный сервис быстрого заказа чего-нибудь. Вопрос с монетизацией тут очень простой, тут нет никакой монетизации, это open source проект.
330 Maniac
 
14.03.17
09:34
(329) ясно - значит мертвый проект который не найдет никакого использования.
331 eks1985
 
14.03.17
09:35
(330) Какая составляющая по твоему влияет на то становится проект мертвым или живым?
332 Злопчинский
 
14.03.17
10:38
(331)  не отвлекайся на Маню :-) у него же задача истощить нашу экономику непосильными обсуждениями ;-)
333 mobile-1c
 
14.03.17
11:23
eks1985 не слушай что это умрет. делай то что делаешь хорошая вещь получается. слежу за проектом.
334 Вафель
 
14.03.17
11:29
Просто Маня не понимает что могут быть проекты вне денег
335 Злопчинский
 
14.03.17
11:34
Вы ничего не понимаетменя, например, Маня укусил
Теперь я подзуживаю автора на написание халявное, а потом как замонтизирую!!!!
336 eks1985
 
15.03.17
08:43
Вчера пол дня активно делал рефакторинг, не нади красоты, а рефакторил те места где это уже жизненно назрело, убрал в некторым местах дикое дублирование кода, в частности это касается процедур построение индексов. Лучше это сделать сейчас, иначе очень сложно становится двигаться дальше.

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

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

Долго думал и пришел к формату в виде степпера

https://goo.gl/b5mP0m

Например одним из шагов степпера будет "Товары" и на этом шаге можно сразу увидеть все, что связано с товарами и т.д.

И так на каждую сущность свой шаг

Также возможность автоматически пройти все шаги и выполнить разом все валидации данных.
337 eks1985
 
15.03.17
09:00
Еще на днях в firebase появилась супер мощная вещь, что впринципе давно уже напрашивалась и что в нашем отечественном сервисе scorocode есть уже давно

Cloud functions

Это возможность исполнять серверный код

По сути это дает много возможностей: построение серверного API, подписка на изменение данных в базе и рассылка push уведомлений, писем и многое другое.

Возможность безусловно интересная, пока есть кое какие непонятки с ценой, но вроде на бесплатном плане это все доступно.

https://www.youtube.com/watch?v=vr0Gfvp5v1A
338 Asmody
 
15.03.17
09:30
Ты меня вдохновил. Начал пилить своё, на Vue :)
Пока движется туго — на Vue я ничего раньше не делал. Но по ощущениям, оно попроще, чем React.
339 eks1985
 
15.03.17
10:26
(338) Да, точно проще, сам его не трогал, но точно знаю что проще. А в качестве бэкенда что?
340 Злопчинский
 
15.03.17
10:33
Прочитал
341 Злопчинский
 
15.03.17
10:34
Ну это все техническиадминское  - это надолго, проект уйдёт сам в себя...
342 eks1985
 
15.03.17
10:35
(341) Ты напиши тогда что из бизнес логики сделать прежде всего
343 Asmody
 
15.03.17
18:51
(339) пока firebase, пскольку какие-то данные там есть и с 1Ской я умею его дружить. Но потенциально смотрю на scorocode.
344 Злопчинский
 
16.03.17
01:49
(342) на выходных сяду, посмотрю иссую проекта. сообщу.
345 Злопчинский
 
16.03.17
01:51
(342) вывод остатков допили (переключатель есть в настройках). причем остатки могут быть заданы как конкретно числами, таки и описательно, типа:
- много
- мало
- >10
- по запросу
- под заказ
346 Злопчинский
 
17.03.17
13:25
что нового?
347 Операция 1Ы
 
20.03.17
09:00
eks1985, я хоть и пишу тут мало, но тоже пристально слежу за проектом, мне это как минимум интересно, продолжайте, не останавливайтесь.
348 eks1985
 
20.03.17
09:08
(346) Пока ничего, был занят на работе, сегодня продолжим.

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

(347) Пилим по мере возможностей, у нас тут просто немного сезон начался на работе, иногда бывают запарки, к концу апреля должно появиться больше времени
349 Злопчинский
 
20.03.17
11:32
(348) по (345): да, думаю, имеет смысл сделать так.
350 Вафель
 
20.03.17
11:38
(349) а мало это получается значительно больше 10?
351 eks1985
 
20.03.17
13:23
Реализовал показ остатков, если включена соответствующая опция (Настроки - Бизнес логика - Складские остатки - Показывать остатки в каталоге), то в каталоге появляется колонка с остатком. Демку обновил. Еще в этот билд вошел большой рефакторинг, все что отоносится к визуальной части начал выносить в отльную структуру, визуально ничего не поменялось, но внутри много чего.
352 Злопчинский
 
20.03.17
13:28
(350) "мало значительно больше 10" - это ты мощно выступил.
.
по всякому.
для каких-то товаров 10 шт - это на несколько месяцев торговли. а для каких-то на один-два дня.
353 Злопчинский
 
20.03.17
13:34
(351) ага, думаю так нормально.

вопрос(включить текст-пояснялку мелким шррифтом в "настройки"):
что значить "Учитывать складские остатки"..?
например, я полагаю, что "учитывать складские остатки"=1 - это значит, что показываются только те позиции, у которых непустой остаток (то есть заполнено поле "остаток" какими-то символами, отличными от "0")
354 Злопчинский
 
21.03.17
01:02
(351) ночь. а вы по левым веткам шаритесь!
355 Asmody
 
21.03.17
07:34
(351) Я вот смотрю – у тебя все данные на клиента вытаскиваются и уже на клиенте делаются "типа джойны" и прочие сортировки-поиски. Как-то оно не очень. А в firebase нормальных выборок нет.
356 Злопчинский
 
21.03.17
07:58
(355) да и пофиг где это делается если отклик приемлемый, не?
357 eks1985
 
21.03.17
08:13
(355) В NoSql решениях априори не может быть полноценных выборок. Замени firebase на couchdb/poushdb, mongo, или что-то другое, там будет тоже самое. Тут надо всего лишь понимать что мы делаем и как мы делаем. Да, индексы создаются на клиенте, но я тестировал на объемах до 500 000 элементов каталога и проблем это не вызывало. Вон в метадате тоже на клиента все приезжает, говорят держит миллионы документов.

Еще очень важный момент, данные в noSql системе должны быть максимально денормализованы. Но если уж совсем что-то встанет колом на каком-то этапе, то можно будет заменить на тот же postgres, развернутый за 5 минут на heroku.

Хороший стресс тест у меня запланирован, но пока руки не дошли.
358 eks1985
 
21.03.17
14:52
(355) В firebase также появились cloud function буквально на днях, т.е. возможность исполнять серверный код, как вариант использования - подписка на события изменения данных в узлах и построение индексов в firebase, как следствие меньше напрягов браузеру их создавать, однако при этом их придется загружать. Сам пока не пробовал, т.к. сильно загружен на работе, но вещь стоящая внимания, аналогичная вещь есть уже давно и у scorocode.
359 Asmody
 
21.03.17
15:35
(357) Ну, не скажи! В монге очень сильный aggregation. Я как-то даже удивился, что в fb ничего похожего нет. Или я еще не нашел.
360 Злопчинский
 
23.03.17
00:59
рефакторинг ушел "в себя"..? какие подвижки?
361 eks1985
 
23.03.17
08:39
(360) Вчера ничего не делал - загрузка на работе, сегодня по возможности работа над сведением в единый интерфейс начальных настроек, настроек бизнес логики, валидации данных, стресс тестирования. Напиши что видишь первоочередным в следующем шаге по бизнес логике, что надо реализовать.
362 Злопчинский
 
23.03.17
23:14
отсматриваю иссуи на гихабе, ниже буду писать что надо/хотелось бы/чего не нашел в иссуях/прочие мысли о высокодуховном

- (внести в иссую) поднять приоритет; на странице заказов фильтр по дате добавить "эта неделя" и "прошлая неделя" (даже если эта неделя совпадает с этим месяцем - все равно добавлять);

- (внести в иссую) категорически поднять приоритет; на странице заказов

- поднять приоритет для https://github.com/eks1985/quick-order/issues/67

- поднять приоритет для https://github.com/eks1985/quick-order/issues/60

- поднять приоритет для https://github.com/eks1985/quick-order/issues/36

- поднять приоритет для https://github.com/eks1985/quick-order/issues/3

- поднять приоритет для https://github.com/eks1985/quick-order/issues/30 и https://github.com/eks1985/quick-order/issues/9 - клиент д.б. иметь возможность распечатать (или как вариант в каком-то формате ПРИВЫЧНОМ ДЛЯ ЮЗВЕРЯ И ВИЗУАЛЬНОЧИТАБЕЛЬНОМ)  сохоанить к себе на диск (пдф, эксель?)

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

- (внести в иссую) при двойном клике на списке категорий (добавляется категория в фильтр) - выделяется слово с браузерной посдказкой "ПОИСК | КОПИРОВАТЬ" - сильно мешает

- желательно https://github.com/eks1985/quick-order/issues/54

- !!!всегда д.б. текущая строка!!! во всех списках (каталог, корзина, заказы), выделенная цветом, если в строке есть поле ввода - в ней должен стоять курсор.

- внести в иссую: ввод цифр для быстрого перехода к странице (позиционирование курсора, обсуждали в иссуе не нашел): при появлениии окошка перехода к странице курсор д.б. спозиционирован на поле ввода - ввел нужную страницу - энтер (=применить)

- фича: внести в иссую: при вводе номера страницы больше чем колво страниц - позиционируется на пустую страницу и номер страницы=введенное, д.б. = макс.количеству страниц

- внести в иссую: в карточке товара внизу страницы выводить значения дополнительных колонок/полей товара;

- баг (внести в иссую) удалось получить (2 раза): криво отображается сумма (в т.ч. и в корзине) https://www.screencast.com/t/9NgXRhNJ

- внести в иссую (описывал, но в иссуе не нашел): если не задан номер заказа, то на странице заказов при клике на заказе в поле номера (оно пустое) не удается развернуть/свернуть заказ - приходится целиться мышкой близко к нижнему или верхнему краю серого заголовка (а если номер есть то в середину в сам номер тыкаешть и норм). СИЛЬНО ПОДУМАТЬ: похоже на то, что развертывание/свертывание заказа надо сделать ВООБЩЕ ПО _ДВОЙНОМУ_ КЛИКУ в любое место заголовка.
363 Злопчинский
 
23.03.17
23:18
внести в иссую: Доделать "Быстрый заказ" до нормального состояния.
оформить его в едином стиле, кнопку "Обработать" убрать, вместо нее штатные (с главной страницы) "заказать" и "очистить"
364 Злопчинский
 
23.03.17
23:20
(внести в иссую) подумать: если в настройках стоит "работать без цен" - то в корзине и в списке заказов не показывать ни стоиость общую, ни стоимость по строкам: подумать, правильно ли это.
365 Злопчинский
 
23.03.17
23:20
остальное вроде все норм
неупомянутые иссуи - вроде как некритичные.
366 Asmody
 
24.03.17
10:29
(362) Зачем нужна "текущая строка"?
367 Вафель
 
24.03.17
10:31
(366) чтоб без мышки работать
368 eks1985
 
27.03.17
11:37
Сегодня более-менее появилось время, поработаю над (362)

>> - (внести в иссую) поднять приоритет (это упоминалось, но в иссуях не нашел): если в фильтр категорий включит категрию нескольо раз, то из категории она исключается только если по ней жмакать много раз, а д.б. один раз

Этот баг уже закрыл

>> https://github.com/eks1985/quick-order/issues/67

Вот это не представляется возможным, нету события двойного клика, оно проходит как два одиночных клика, надо будет придумать как-то по другому это обыграть
369 Злопчинский
 
27.03.17
17:43
(368) ">> https://github.com/eks1985/quick-order/issues/67
Вот это не представляется возможным, нету события двойного клика, оно проходит как два одиночных клика, надо будет придумать как-то по другому это обыграть"
- тут просто, если два одиночных клика ПОДРЯД на одном и том же элементе списка категорий с интервалом менее 0.8 сек - считать как даблклик...?
370 Злопчинский
 
27.03.17
17:45
(368) "Этот баг уже закрыл
>> https://github.com/eks1985/quick-order/issues/67 "

- проверено, ок.
371 Asmody
 
27.03.17
18:01
372 Злопчинский
 
27.03.17
21:46
(371) а мужики-то не знали! ;-)
373 Asmody
 
27.03.17
21:52
(372) но там не все так однозначно…
374 eks1985
 
27.03.17
23:09
(371) Немного не так выразился, событие есть, но нельзя одновременно на один и тот же элемент дом повесить оба события, т.к. при дбл клик сработает и он сам и одиночный клик.
375 eks1985
 
27.03.17
23:13
(369) Можно, тогда и любой одиночный клик будет длиться минимум 0.8 сек, т.к. придется эти 0.8 сек ждать - если не кликнули еще раз - одиночный клик, если кликнули - двойной. Тут еще надо учитывать, js - однопоточный, так что при разных ситуациях все эти 0.8 сек могут стать и 1 сек и даже 8 сек (если js чем-то занят, ему некогда ваши интервалы отсчитвать, ставит это дело в очередь) Но, может так и сделаю, или локальный переключатель сингл/дабл действующий для всего списка.
376 Злопчинский
 
27.03.17
23:23
(375) дельту можно поставить 0.3 сек
377 Asmody
 
28.03.17
02:15
(375) в библиотеке lodash.js есть функция _.debounce. Глянь, может подойдет.
378 eks1985
 
28.03.17
10:42
(376) Запилил, с таймаутами поупражлянся, lodash не понадобился, опытным путем выяснилось что оптимальный промежуток отличающий одиночный клик от двойного 0.5 сек. Демку пока не обнавлял, работаю над печатью.
379 Asmody
 
28.03.17
10:47
(378) А я прям от lodash тащусь. Она так нормально оборачивает обработку коллекций в ФП-стиле.
380 eks1985
 
28.03.17
10:48
(379) Да, руки все не доходят потрогать
381 eks1985
 
28.03.17
10:50
Хороша еще тем, что не надо тянуть всю библиотеку, можно импортировать только нужные модули
382 Asmody
 
28.03.17
10:52
(380) Внутрь не глядел, но автор утверждает, что где можно используются нативные методы.
383 eks1985
 
29.03.17
14:56
Подзавис с печатью заказа. Смысл в том, чтобы при нажатии на кнопку печать, открывалось отдельное модальное окошко и выводился заказ со стилями печати. Стили печати почему-то никак не хотят применяться, может особенности реакта, пока хз. Еще непонятный глюк, при печати появляются отступы которые никак не могу убрать
384 Операция 1Ы
 
29.03.17
16:32
(383) это вполне может быть особенностью браузера, попробуй в другом.
385 eks1985
 
29.03.17
17:11
(384) В хроме решил проблему, вечером демку обновлю и посмотрю в других браузерах
386 Злопчинский
 
29.03.17
17:36
(385)  я за вами слежу
387 eks1985
 
29.03.17
21:04
(386) Мы знаем =)

Выкладываю промежуточный результат работы над (362), т.к. могу вырубиться

Печать в зачаточной форме сделал

https://goo.gl/qFdosO

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

Из мелочей как уже было ранее говорено закрыл:

https://github.com/eks1985/quick-order/issues/67
(монофильтр категорий по дбл клику)

https://github.com/eks1985/quick-order/issues/7
(удаление фильтра по категории если случайно тыкнули в нее два раза)

Сделал зачатки для работы нескольких пользователей
https://github.com/eks1985/quick-order/issues/60
Сейчас заказ можно корректировать только если он черновик (путем восстановления заказа в корзину). Так вот если один из пользователей восстановил в корзину заказ - он помечается как заблокированный и второй уже не может его также восстановить в корзину и не может удалить. Все это естественно онлайн без перезагрузок страниц.

>> (внести в иссую) подумать: если в настройках стоит "работать без цен" - то в корзине и в списке заказов не показывать ни стоиость общую, ни стоимость по строкам: подумать, правильно ли это.

Я думаю правильно, реализовал, если работаем без цен, выпилил показ цен/сумм везде где они показываются.

Если не вырублюсьс может еще что-нибудь сегодня получится.
388 Злопчинский
 
29.03.17
21:10
(387) То что "вы знаете" - вам не поможет! я за вами слежу даже когда вы об этоим и не думаете! ;-)
389 Злопчинский
 
29.03.17
21:12
(387)
"Печать в зачаточной форме сделал
https://goo.gl/qFdosO "
- фу, бяка страшная...
но если печать "разрисовать" страничку нормально - то ок будет. у меня в групваре печататются задачи также - очень зашибись получается
390 Злопчинский
 
29.03.17
21:13
(внести в иссую) при открытии страницы в заголовке таба пишется "ReactApp" - это нехорошо. д.б. хотя бы "наименование" клиента или другая нормальная "идентификационная информация"
391 Злопчинский
 
29.03.17
21:26
(387)

* https://github.com/eks1985/quick-order/issues/67
(монофильтр категорий по дбл клику)
- не работает

* https://github.com/eks1985/quick-order/issues/7
(удаление фильтра по категории если случайно тыкнули в нее два раза)
- ОК, работает, это я уже ранее проверил (писал выше)

* Сделал зачатки для работы нескольких пользователей
https://github.com/eks1985/quick-order/issues/60
Сейчас заказ можно корректировать только если он черновик (путем восстановления заказа в корзину). Так вот если один из пользователей восстановил в корзину заказ - он помечается как заблокированный и второй уже не может его также восстановить в корзину и не может удалить. Все это естественно онлайн без перезагрузок страниц.
- не проверял; вариант реализации мне кажется разумным.
(включить в иссую В КАКОЙ ТО ОТДЕЛЬНЫЙ ПЛАН-ROADMAP, то есть в отдаленное будущее и то непонятно будет это или нет так как это наметки) развитие работы с заказами когда клиент один, но нескольо пользователей-менеджеров у него, тогда править может только пользователь-автор, а остальные только смотреть.
392 Злопчинский
 
29.03.17
21:34
(внести в иссую критичность ~0, ЮИ-удобство)
хотя есть "все категории", все равно для ОБУДЕНИЯ всех категорий тянет жмакнуть крестик зануления фильтра (т.е. сделать его эквивалентом "все категории" в случае если текстовый фильтр не задан) https://www.screencast.com/t/rae2q4N7
393 Злопчинский
 
29.03.17
21:36
* если в настройках стоит "работать без цен" - то в корзине и в списке заказов не показывать ни стоиость общую, ни стоимость по строкам: подумать, правильно ли это.
Я думаю правильно, реализовал, если работаем без цен, выпилил показ цен/сумм везде где они показываются.
- проверил, вроде ОК.
394 Злопчинский
 
29.03.17
21:40
(387)
* Сделал зачатки для работы нескольких пользователей
https://github.com/eks1985/quick-order/issues/60
Сейчас заказ можно корректировать только если он черновик (путем восстановления заказа в корзину). Так вот если один из пользователей восстановил в корзину заказ - он помечается как заблокированный и второй уже не может его также восстановить в корзину и не может удалить.
- да, все правильно.
но следует также УБРАТЬ ВОЗМОЖНОСТЬ печати ЗАБЛОКИРОВАННОГО.
иначе начнутся "коллизии версий". заказ, который в корзине = его "статус" типа "на выполнении" - то есть еще не закончен. соответсвеенно распечатать можно только какой-то один "ОКОНЧАТЕЛЬНЫЙ" вариант - который лежит в "заказах" как черновик.
395 eks1985
 
29.03.17
21:41
(391)

* https://github.com/eks1985/quick-order/issues/67
(монофильтр категорий по дбл клику)
- не работает


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

https://goo.gl/oGG8uv
396 eks1985
 
29.03.17
21:46
(392) Это легко, сделал по горячим следам, войдет в след релиз
397 eks1985
 
29.03.17
21:48
(394) Ок, убрал возможность печати заблокированного
398 eks1985
 
29.03.17
21:51
(390) >> (внести в иссую) при открытии страницы в заголовке таба пишется "ReactApp" - это нехорошо. д.б. хотя бы "наименование" клиента или другая нормальная "идентификационная информация"

Готово, войдет в следующий билд
399 Злопчинский
 
29.03.17
22:41
(395) на видео не видно вид клика.
проверил как у себя - одинарный и двойлной отрабатывают одинаково
"не так ты, дядя Федор, бутерброд ешь"
речь шла о том, что?
- одинарный клик добавляет категории В НАБОР ФИЛЬТРОВ - то есть по одинарному клику список выбранных категорий (вверху списка категория) - ПОПОЛНЯЕТСЯ
- двойной клик - это установка МОНОФИЛЬТРА - то есть, все набранные фильры (вверху списка) - УБИРАЮТСЯ, остается только один ДВАЖДЫ ДАБЛКЛИКНУТЫЙ в данный последний даблклик
400 Злопчинский
 
29.03.17
22:41
что? = что:
401 Злопчинский
 
29.03.17
23:55
"..пока черпак чинят, русский разминается красненьким..."
402 Злопчинский
 
30.03.17
06:25
зашел
работаю без цен, ввел нескольо товаров
настройки - включил цены
в каталоге отображаются цены, сумма корзины = NaN руб
скинул в заказы, набираю новый заказ = ок
403 eks1985
 
30.03.17
07:00
(399) А точно, вспомпнил =) Сделаем.
404 eks1985
 
30.03.17
07:33
(399) Готово
405 Злопчинский
 
30.03.17
07:45
(404) обнуление по крестику в категориях - работает как писал выше = ок.
.
двойной дабл проверить не смог. комп тормозит
мешают:
- двойная прорисовка бегущей тени (удлиняет даблклик)
- появление/исчезание браузерной подскакзи Перевести-Копировать - как ее нахрен отключить?
.
получается то срабатывае как надо, то нет - вывода надежного сделать пока не могу, днем перегружу комп, отепишусь.

пошел харить кришну
406 eks1985
 
30.03.17
08:12
(405) >> появление/исчезание браузерной подскакзи Перевести-Копировать - как ее нахрен отключить?

помню про это, зачистим
407 Злопчинский
 
30.03.17
15:09
(406) проверь - монофильтр по даблклику срабаьывает уменя через раз, см. видео https://www.screencast.com/t/QsevsyBnHGz0
нескольо раз одинарный - дабл - ОК=МОНО-сновадабл=БЭД=добавился - снова дабл=ОК=МОНО
.
наблюдается устойчиво
408 Злопчинский
 
02.04.17
14:19
Как ситуевина?
409 Злопчинский
 
03.04.17
19:01
волнуюсь шлите апельсины бочками
410 eks1985
 
03.04.17
19:26
(409) В процессе, завтра запланировано пол дня на работу над проектом
411 Злопчинский
 
03.04.17
21:51
(410) Будь пердельно бздителен!
412 Злопчинский
 
05.04.17
00:04
Что нового?
413 eks1985
 
05.04.17
09:24
Пока ничего, болеемс.
414 Злопчинский
 
05.04.17
22:28
(413) Неправльно! надо "выздоравливаем" или "лечимся2
415 Злопчинский
 
05.04.17
22:28
Я - кузнец, я не могу не куя!
416 Злопчинский
 
05.04.17
23:29
(413) стукнись в скайп. потерял тебя
417 Masm60
 
06.04.17
06:02
Поправляйтесь :-)
418 eks1985
 
06.04.17
07:10
(416) Думаю вечером смогу сегодня если не поздно, напиши тут как будешь готов вечером, дети, жена сейчас болеют, ложусь спать рано
419 Злопчинский
 
06.04.17
22:14
(418) пока неактуально
420 Злопчинский
 
10.04.17
22:37
Айл би бэк?!
421 eks1985
 
11.04.17
08:09
(420) Да, все будет, всех вылечу и вернусь, если самого не срубит =)
422 eks1985
 
12.04.17
03:44
накаркал, меня срубило
423 Операция 1Ы
 
13.04.17
09:57
(100) мне нравится этот проект, ты меня вдохновил на изучение веб технологий. Продолжай.
424 2mugik
 
13.04.17
10:16
(423)Что конкретно изучаешь?
425 BigShmax
 
naïve
13.04.17
10:22
Всё давно придумано и работает
https://github.com/oknosoft/metadata.js
С этой реализацией у Евгения есть выступления на инфостартах можно поискать видео. решена бесшовная интеграция с 1с.
426 BigShmax
 
naïve
13.04.17
10:28
Так что я думаю ненадо изобретать велосипед, может присоединится к проекту?

:
Metadata.js - проект с открытым кодом.
Приглашаем к сотрудничеству всех желающих. Будем благодарны за любую помощь.

Почему Metadata.js?

Библиотека предназначена для разработки бизнес-ориентированных и учетных offline-first браузерных приложений и содержит JavaScript реализацию Объектной модели 1С. Библиотека эмулирует наиболее востребованные классы API 1С внутри браузера или Node.js, дополняя их средствами автономной работы и обработки данных на клиенте.
427 eks1985
 
13.04.17
10:34
BigShmax, присоединяйся к метадате, потом нам расскажешь об успехах, лично я не потянул.
428 Операция 1Ы
 
13.04.17
10:59
(424) питон мне близок, django колупаю я.
429 Злопчинский
 
13.04.17
11:59
Не отвлекайте автора всякими самосвалами. он трналиспед делает для городка.
430 eks1985
 
17.04.17
22:36
Добавил переход к любой странице каталога в виде выпадающего списка.
Полностью переработал печать, теперь печаная форма заказа не в отдельном модальном окне (как с ним не бился - лезут глюки стилевого оформления), теперь печать вроде ок, выглядит вполне прилично

https://goo.gl/PZMIsN
431 Злопчинский
 
17.04.17
22:43
(430) "Добавил переход к любой странице каталога в виде выпадающего списка. "
- бяка страшнейшая, масло масленое, видится что это немножко не так д.б.
432 Злопчинский
 
17.04.17
22:44
(430) печать думаю = ок.
первой строкой печати (если это возможно) жлбавить "контрагента" или логин под которым это печтается.
433 Злопчинский
 
17.04.17
22:46
(431) т.е. то что есть сейчас - можно оставить, как начальный вариант, только существенно уплотнив межстрочный интервал.
.
основная мысль (если она была) - быстрый удобный переход мышью в произвольную страницу. сейчас - этот "быстрый переход" = медленному прокуручиванию списка
434 eks1985
 
17.04.17
23:11
(433) Ну интервал-то не проблема сократить, тут просто по умолчанию интервал google material design, а они как известно любят чтобы интерфейс "дышал"
435 eks1985
 
17.04.17
23:11
(432) >> первой строкой печати (если это возможно) жлбавить "контрагента" или логин под которым это печтается.

Без проблем
436 Злопчинский
 
18.04.17
00:17
(434) на главной странице каталога (или в окошечке ввода номера страницы) при жмаке мышкой появляется окошко, с типовой разлиновкой (серые ячейки с белыми краницами или наоборот) типа https://www.screencast.com/t/rDFXXCgnlk - примерно 20 в строке и примерно 20 строк (посмотреть поварьировать) - текущая страница - номер примерно посередине если это полчается (текущая страница близко к началу или концу нумерации страниц) если нет - в том месте где получится (на окошке нумерации все равно показываем максимум номеров страниц), при этом текущая страница выделена жирным. в итоге - список страниц - практически весь на листе - жмак выбрал нужную.
если колво страниц таковое что ну очень много страниц (перечень номеров не влазит на один лист - внизу листа предусмотреть ЭУ листание "листа страниц" вперед назад)

типа так я себе представлял.

это будет быстро - жмак - появился список страниц - жмак в примерно нужную страницу.

а листать список - это страшная бяка, быстрее перключиться пальцами на клаву и ввести номер страницы
437 Злопчинский
 
18.04.17
00:33
поставить в иссую: https://www.screencast.com/t/ytMd0YKshEg
.
там где я выше писал - лист с номерами страниц - можно тоже по страницам прыгать клаившами крсора влево-вправо вверх вниз - с таким же дыдащим шариком как в списке что ты сделал.
.
список страниц на листе - поставить в иссую, пока и такой список как ты сделал пойдет на первое время. Однако в твоем списке не отрабатывает клава пэджап/пэдждаун/энд/хоум - по ним начинает скакать список каталога под окном листания...
438 Злопчинский
 
19.04.17
01:24
Хобости?
439 бегинер
 
19.04.17
13:12
(431) переход норм по страницам, нет смысла на это тратить  силы имхо. возможность ручками забить номер и перейти есть, без ручек прокрутить листинг и выбрать - тоже.

бяки не вижу, на оборот нормуль
440 бегинер
 
19.04.17
13:14
поиск есть, какой смысл бегать по страничкам?
441 realevgenius
 
19.04.17
13:41
ЗАбавно... Предентация не работает... Тоесть, автор даже не смог презентацию сделать, чтоб без глюков?
442 eks1985
 
19.04.17
13:46
(438) Процесс идет
443 eks1985
 
19.04.17
13:47
(441) Все работает и презентация и демка, покорми своих оленей. Единственный момент - демка не работает в IE.
444 eks1985
 
19.04.17
13:49
(437) Во, так и сделаем
445 eks1985
 
20.04.17
00:48
Обновил демку с учетом (436), пока без клавиатурной навигации
446 Злопчинский
 
20.04.17
00:53
(445) разлепил зенки (только собрался похарить кришну), сейчас.. сейчас.. СЕЙЧАС...
447 Злопчинский
 
20.04.17
00:54
448 Злопчинский
 
20.04.17
00:57
(445) ну ты мазанул от души (прототип?)... ;-) предполагается что это не отдельная страница на весь экран, а типа окошечко-панелька висячая типа как вываливается когда фильтр по допколонке каталога делаешь...
449 Злопчинский
 
20.04.17
01:01
(445) ты там мой базар фильтруй, а тоя всяких улучшалов напинаю, они сейчас не принципиальны - посмотри что осталось из кртичного для вывода в продакшен (там где мы иссуи инвентаризировали)
450 eks1985
 
20.04.17
08:05
(449) Ок, сегодня займусь, НДС за бухов сформирую и гляну =)
451 eks1985
 
20.04.17
08:06
(448) Да, прототип, концепт =) Надо маленькое окошко - сделаем маленькое =)
452 бегинер
 
20.04.17
08:15
(445)а ты молодец! так держать!
453 Злопчинский
 
23.04.17
17:02
пограничники не спят?
454 Cyberhawk
 
23.04.17
19:24
Какие пограничники?
455 Злопчинский
 
23.04.17
19:26
(454) Пограничник Карацупа и его пес Алый
456 eks1985
 
23.04.17
19:32
Я тут, но в выходные дети к компу не дают подойти, завтра будем работать
457 Злопчинский
 
23.04.17
20:26
(456) Дети - это правльно
458 Злопчинский
 
26.04.17
18:16
(456) как движуха? я сломался, простыл малость
459 ProgAL
 
30.04.17
09:44
https://www.magistral-nn.ru/automag/
Может в качестве идей, интерфейса пригодится.
460 Злопчинский
 
03.05.17
03:04
"Бедный... бедный Робинзон Крузо!"
(R) Д.Дефо
461 Злопчинский
 
04.05.17
22:38
Бдю...
462 Maniac
 
04.05.17
23:13
(0) Прикольная штука. А не хоч со мной интегрироваться?
Чонить такое запилить с мегапрайсом.
И клиенты подтянутся.
Учитывая мою клиенскую базу и прочее.
Да и под мегапрайс было бы круто нечто подобное.

С радостью замотивирую хорошего спеца.
463 Maniac
 
04.05.17
23:14
Просто одно дело программистам пиарить свой продукт
Другое дело когда есть реальные потребители продукта
464 Maniac
 
04.05.17
23:15
Я уже даже сейчас увидев это твое дело могу предложить очень даже хорошую обвертку для продукта. И активно поучавствовать в пиаре.
465 Злопчинский
 
15.05.17
02:30
Стою на полустаночке
В цветастом полушалочке
А мимо пролетают
Поезда...
466 Вафель
 
24.05.17
13:01
Что-то не слышно никаких новостей.
А тем временем
Услуги сервиса Firebase подорожали в 70 раз, а нас никто не предупредил https://habrahabr.ru/company/everydaytools/blog/329282/
467 dmitryds
 
24.05.17
13:33
(466) как увидел, тоже подумал сюда скинуть, т.к. именно здесь любители firebase)

не зря я не использую ничего кроме виртуалок)
468 Asmody
 
24.05.17
13:42
(466) Там надо подробности читать. Не всё так однозначно, да и заголовок "желтый".
Ни в коем разе не защищаю FB, но удобных настолько альтернатив нет.
469 Злопчинский
 
24.05.17
13:44
(466) контакт держу. все норм. надо понимать что автор еще и свои прямые работы делает, а не постоянно только "хобби" занимается
470 Злопчинский
 
24.05.17
13:51
опять же, насколько я себе знаю/представляю eks1985 пишет приложение так, что его можно быстро "переключить" на другой сервис хранения данных
471 Невский
 
24.05.17
14:04
(469) Аллилуя, я уж думал проект заглох. Ты там не отпускай его, тормаши, реальное дело делает.