Имя: Пароль:
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с

Приветствуется критика и запросы на реализацию новых плюшек.
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
 
13.04.17
10:22
Всё давно придумано и работает
https://github.com/oknosoft/metadata.js
С этой реализацией у Евгения есть выступления на инфостартах можно поискать видео. решена бесшовная интеграция с 1с.
426 BigShmax
 
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) Аллилуя, я уж думал проект заглох. Ты там не отпускай его, тормаши, реальное дело делает.