@indevor

Система бронирования (резервирования) товаров (заказов) Google spread sheet. Примеры?

Доброго времени суток. Может кто встречал примеры скриптов с таким вот не хитрым функционалом, что то похожее, может кто возьмется реализовать?

Три листа:
1 - "база товара" (три колонки: бренд, название, количество (артикула нет ??. генереровать автоматом? уникальное id?)
2 - "база клиентов" (название организации, город, телефон\е-майл)
2.1 - "меню" (сам резерв) - (пару кнопок): "резерв", "редактировать", "удалить" "история".
3 - "история".

1). кнопка "резерв" - показываем форму:

1.0 - id (уникальное) заказа.
1.1 вып.списком (товар) - данные берем из листа "база".
1.2 вып.списком (клиент) - данные берем из листа "база клиентов".
1.3 Количество товара.
1.4 Комент. к заказу.
1.5 Кнопка "+" добавляет новые поля (1.1, 1.2, 1.3, 1.4) в форму- заказ может состоять из нескольких позиций.
1.6 Кнопка "забронировать" - размещает заказ (на листе заказы) - "списывает" кол-во заказанных единиц из колонки "количества" листа "база".

2). кнопка "редактировать" - показываем форму (по айди заказа или клиенту)
Тут думаю понятно что все данные в заказе нужно\можно поменять (при этом добавить\удалить (вернуить) кол-ва товаров в "базу").

3) кнопка "удалить" - форма:
удалить заказ по клиенту или айди-заказа. По чек боксу в форме - вернуть кол-во единиц указанного товара в заказе в "базу".

4 - история заказов.
просто список заказов с датой, клиентом, кол-вом.

Такая вот не хитрая база..) ТЗ прям. Но смысл думаю понятен. Благодарю вас за любую помощь.
  • Вопрос задан
  • 3085 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Здравствуйте.

Вот небольшой пример https://youtu.be/9WK1FM2_tDc Таблица https://goo.gl/4u23t7 (необходимо сделать копию)

Суть в том, чтобы вести запись только в одном листе "История". На "Складе" остатки отображаются через формулу:
=QUERY('История'!B:E;"select B, C, sum(D) where E=true group by B, C")

Т.е. если в "Истории" будет запись без TRUE, то ее можно считать "непроведенной".
Лист "Заказы" служит пояснением для "Истории", возможно, надо как-то расширить связь этих Таблиц, но она все равно будет условной.

Пояснения к коду. Серверная часть нуждается в LockService, чтобы разрешить очередь записи.
Можно сделать форму просмотра заказов, с возможностью помечать FALSE в "Истории". Может быть даже "Редактировать", но лучше по-моему, делать копию и записывать новый заказ, помечая прежний как FALSE. Также необходимо продумать регламент, т.к. Таблицы "нерезиновые" и необходимо максимально часто переносить остатки.

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

Пожалуйста, измените теги в топике на Google script и Spreadsheets. При текущем теге ответ на вопрос должен быть примерно таким https://www.google.com/enterprise/marketplace/sear...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы