Реализация в Юпитере
Реализация в Юпитере
Автоматическое открытие\закрытие рабочего дня в планировщике (в 00:00)
При закрытии дня, запускается процедура формирования расходных накладных (вместо формирования реализации).
- Накладные создаются с привязкой к кассовому заказу
- На каждый день доставки, своя накладная
- В накладную записывать кассового клиента (ссылка) (в контрагента) и адрес доставки (текст) (в комментарий).
При закрытии дня, после создания накладных запускается процедура, которая создает план производства на завтра. План производства нужен для печати заборного листа.
Доработки загрузки заказов с сайта:
- Все заказы с сайта загружаются закрытыми, т.к. на данном этапе КЦ нет и кассовыми заказами пользователи не работают.
- Загружать с сайта график доставки
- Загружать с сайта изменённые наборы, рационы
- Загружать сразу и кассовый заказ и расходную накладную
- В кассовый заказ загружаем только товары 1го уровня (наборы, рационы)
- В накладную загружаем товары для отгрузки (наборы)
- Накладную создаем сразу на дату отгрузки
- Если состав набора изменен, то нужно использовать механизм "Измененный состав"
- Загрузка заказов с сайта.
- Своя отдельная процедура загрузки заказов с сайта
- Загружать расходные накладные
- Клиента создавать как обычно, записывать в накладную как контрагента
- Адрес записывать в комментарий
- Подразделение определяется жестко по коду "sklad"
- В накладную загружать куби. Для рациона их нужно получать из связанного плана меню
- Формировать и записывать в строки с куби
Название набора
- Для куби из само-набранных наборов это строка "Набор куби № " +
set_id
".- Например "Набор куби № 1"
-
set_id
- номер набора, получаем из файла с заказом
- Для куби из рационов это строка
Название рациона
+ " " +Номер рациона
+", День " +Номер дня
+ ", " +Название приёма пищи
- Например "Разгрузка мясная, День 1, Завтрак"
-
Название рациона
- название услуги-рациона -
Номер рациона
- если в одном заказе есть несколько одинаковых рационов, то Юпитер автоматически присваивает им номер по порядку -
Номер дня
- получаем из плана меню -
Название приёма пищи
- получаем из плана меню
- Для куби из само-набранных наборов это строка "Набор куби № " +
- По одному заказу создается несколько накладных, на разные даты
- Рационы доставляются через день. Везут куби на два дня вперед.
- В выходные не доставляют. Выходные не входят в график рациона.
- Дата первой накладной определяется сайтом параметром
delivery_at
- Все само-набранные наборы загружаются в первую накладную
- Сайт передает время доставки параметром
delivery_at
, нужно его загружать и сортировать накладные по времени. - Вместе с накладной создавать кассовые заказы сразу закрытыми
- Адрес записывается как строка
- Торговый зал определяется по полю
restaurant_id
. Зона доставки и координаты не используются.- По
restaurant_id
находим торговую точку, берём её первый торговый зал
- По
- Все заказы считаем оплаченными на сайте. Если заказ не оплачен, то сайт его не передает в Юпитер.
- В заказ загружать все товары как передано. Т.е. куби из само-набранных наборов и рационы в виде услуг.
- Процедура печати заборного листа
- Выводит свёрнутый список куби с количеством, из всех документов продажи по накладной за день.
- Процедура печати этикетки на коробку.
- Выводить
Название для группировки
под ней выводить список куби
- Выводить
- Процедура печати этикетки на пакет.
- Выводить имя и номер телефона клиента
- Выводить адрес доставки
- Выводить свёрнутый список всех
Названий для группировки
с кол-вом - Выводить свёрнутый список всех куби с кол-вом
- Работу с документами продажи по накладной (сборка заказов) вывести в основное меню (не через кассу)
- Нужно отключить формирование реализации по рабочим дням (так, чтобы это не вызывало проблемы)
- Как-то автоматически открывать\закрывать рабочий день
- План меню
- Добавить колонку "Итого". Выводить в неё итоговые значения по плану меню в целом (КБЖУ, Себестоимость, Сумма розничная, Прибыль).
- Сохранять эти значения в документ плана меню при акцепте
- В список накладных добавить кнопку изменения даты (без входа в форму)
Доработки выгрузки меню на сайт:
Меню выгружается формате: menu_2022_07_28_11_41_06.json
- Выгружать состав наборов (рецепты)
- Выгружать состав рационов (план меню).
- Выгружать на сайт состав куби (!!! подумать, т.к. это товары)
В items добавляем
"type": 1 // 1 - набор, 2 - рацион
{
"id": "3:3:0:6061",
"name": "ГОВЯДИНА С ЛАПШОЙ",
"code": "В53",
"ei": " порция",
"ves": "270",
"price": "209.00",
"vat": 20,
"description": "",
"show_modifiers_always": 1,
"max_weight_summ": "",
"type": 1 // 1 - набор, 2 - рацион
},
Где брать состав:
-
-
- Состав рационов: План меню
- products - рационы
- ingredients - наборы
- Состав наборов: Рецепты наборов
- products - наборы
- ingredients - куби
- Состав куби: Рецепты изделий-куби, привязанных к товарам-куби
- products - куби
- ingredients - ингредиенты куби
- Состав рационов: План меню
-
Для состава наборов передаём файл recipes_2022_07_28_11_33_15.json (см.приложенный файл)
Для состава рационов передаём файл rations.json (см. приложенные файл) по структуре аналогичен recipes, только добавляется day (порядковый номер дня) и mealtime (название приема пищи):
...
"composition": [
{
"product_id": "3:1:0:301",
"ingredient_id": "3:1:0:207",
"brutto": "1.0000",
"netto": "1.0000",
"output": "1.0000",
"day": "1",
"mealtime": "Завтрак"
},
...
Доработки модуля "Касса":
- Добавляем возможность открывать список расходных накладных через кассу
-
Для этого делаем специальный вид просмотра "Сборка заказов"
- Показывает накладные по текущему складу
- Показывает накладные на завтра
- Работает в режиме "Только просмотр"
- В окне "Сборка заказов" добавляем функцию печати "Заборного листа". Выводит печатную форму с информацией, сколько каких "Куби" нужно для сборки всех заказов. Данные для печатный формы, собираем по документам расхода ингредиентов (всё их содержимое свернутое по товару).
-
В окне "Сборка заказов" добавляем функцию "Начать сборку"
- Сохраняет в накладной текущего сотрудника в поле "Сборщик"
-
Вызывает функцию печати этикеток по накладной
- FastReport, предпросмотр
- Для каждой единицы набора, выводит одну этикетку
- На этикетке печатается общая информация и перечень куби в наборе
-
Вызывает функцию печати сводной этикетки
- На сводной этикетке выводим контакты клиента, адрес доставки, состав заказа и общее количество куби каждого вида в заказе
- Программа запрашивает сколько копий сводной этикетки нужно распечатать
Изменённый формат передачи тега item с сайта в Юпитер:
- <item> (рацион, набор - то, что клиент добавил в корзину - со всеми текущими стандартными параметрами)
- <delivery_date> (передаётся дата доставки, если их несколько, то таких разделов будет несколько)
- <date>20220629</date>
- <subitem> ( с теми же параметрами, что и item )
- </subitem>
- <subitem> ( модификатор для предыдущего subitem)
- </subitem>
- <subitem> ( модификатор для предыдущего subitem)
- </subitem>
- ..
- <subitem> ( с теми же параметрами, что и item )
- </subitem>
- ..
- </delivery_date>
- ..
- <delivery_date> (передаётся дата доставки, если их несколько, то таких разделов будет несколько)
- </item>
Система JUPITER www.jupiter.systems (с) 2024г.
Нет комментариев