Как добавить сумму заказов поставщика

Все вопросы/проблемы по установке и использовании.
aik
Сообщения: 707
Зарегистрирован: 12 апр 2017, 10:09
Имя: Антон
Откуда: земля

Re: Как добавить сумму заказов поставщика

Сообщение aik »

Я так и не понял, почему этот функционал не работает?
imamverdiyeveldar
Сообщения: 354
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Как добавить сумму заказов поставщика

Сообщение imamverdiyeveldar »

aik писал(а): 19 май 2020, 13:15 Я так и не понял, почему этот функционал не работает?
поддерживаю. и так же жду ответа от знающих
sanys
Сообщения: 118
Зарегистрирован: 30 май 2017, 12:52
Имя: Александр
Откуда: Казахстан

Re: Как добавить сумму заказов поставщика

Сообщение sanys »

С выходом обновления 2.7 это стало возможным.

На тестовой базе сделал вот такую структуру:
Структура.png
Структура.png (4.78 КБ) 3128 просмотров

Поля для Поставщиков
Постащики.png
Настройки поля Сумма заказов поставщика
Поставщики - Сумма заказаов поставщика.png

Поля для Заказов
Заказы.png
Настройки поля Стоимость заказа
Заказы - Стоимость заказа.png

Поля для Списка товаров
Список товаров.png
Действие автоматизации
Автоматизация 1.png
Автоматизация 2.png
*** Не забудьте указать группы пользователей, для которых будет доступно данное действие!!!!


Обратите внимание флаг "Выполнять динамически" для сущностей Поставщики и Заказы.

Как это работает:
1. При добавлении нового товара в заказ выполняется действие автоматизации, которое обновляет запись Заказа (через обновление служебного поля).
2. Сумма заказов поставщика обновляется динамически при открытии списка поставщиков или записи самого поставщика.

Почему не работало раньше?
1. Поле MySQL-запрос не умеет работать с динамическими полями (MySQL-функция, MySQL-запрос с установленным флагом "Выполнять динамически" и т.д.). На то он и запрос - запрос в Базу данных, где уже должны храниться некоторые значения, которые необходимо извлечь (и посчитать, например). Отчасти поэтому была ошибка.
2. Функция дополнения SUM() отлично суммирует поля записей дочерней сущности (Список товаров) - и там это работает. Но если надо просуммировать по сущности, связанной не структурой, а через поле типа "Сущность", то эта функция уже не будет действовать. Что бы она (функция) заработала по отношению к Поставщикам, необходим механизм некоторой фильтрации записей Заказов (а именно фильтр по текущему Поставщику), для которых эта функция будет выполняться. Да, у функций есть фильтры, но они, если так можно выразиться, статичные и под функционал ветки не подходят.
3. Если такую структуру сделать в версии 2.6 (там нельзя настроить действия автоматизации при создании записи), то запись Заказа надо обновлять вручную при каждом изменении списка товаров этого самого Заказа. Это крайне неправильно, т.к. сильно зависит от человеческого фактора (добавил товар, забыл обновить Заказ).

На сколько это верное решение конкретно в Вашем случае - судить Вам. Подозреваю, что если база поставщиков будет сильно большая, то страница со списком поставщиков может открывать сильно дольше.
Такая же ситуация может возникнуть при добавлении товаров с список заказов - каждое добавление товара будет обновлять поле Сумма заказа - а это тоже запрос в базу и обновление этого поля тоже может вызывать задержки.
Конкретно Ваш случай расставит точки над i.

Возможно есть более изящное решение, но я к нему не пришел.
imamverdiyeveldar
Сообщения: 354
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Как добавить сумму заказов поставщика

Сообщение imamverdiyeveldar »

в данном примере все хорошо... только есть одно небольшое НО... удалении записи с нижней полки - верхние не меняются. остаются прежними.. до этого момента все было идеально))
imamverdiyeveldar
Сообщения: 354
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Как добавить сумму заказов поставщика

Сообщение imamverdiyeveldar »

imamverdiyeveldar писал(а): 08 июн 2020, 15:15 в данном примере все хорошо... только есть одно небольшое НО... удалении записи с нижней полки - верхние не меняются. остаются прежними.. до этого момента все было идеально))
НАШЕЛ РЕШЕНИЕ. Сделал еще одну автоматизацию в верхний уровень.. назвал Изменить , действия те же. обновляется как надо!!
sanys
Сообщения: 118
Зарегистрирован: 30 май 2017, 12:52
Имя: Александр
Откуда: Казахстан

Re: Как добавить сумму заказов поставщика

Сообщение sanys »

Да, про удаление я не подумал...
Если такое имеет место быть, то только с помощью подобной кнопки. Тогда надо не забывать про все тот же человеческий фактор.
Если удаление товара из списка было последним действием пользователя, то нажатие кнопки "Обновить" обязательно.
Если после удаления добавить еще один товар, то сумма заказа обновится автоматически.

))) Через костыли можно и это обойти. Есть идейка )
sanys
Сообщения: 118
Зарегистрирован: 30 май 2017, 12:52
Имя: Александр
Откуда: Казахстан

Re: Как добавить сумму заказов поставщика

Сообщение sanys »

sanys писал(а): 08 июн 2020, 15:53 ))) Через костыли можно и это обойти. Есть идейка )
Нет, не получится.
Не хватает использования действий автоматизации для автостатуса. Когда-то уже поднимался подобный вопрос.
Сейчас через автостатус можно сообщать пользователю что необходимо обновить запись Заказа.
aik
Сообщения: 707
Зарегистрирован: 12 апр 2017, 10:09
Имя: Антон
Откуда: земля

Re: Как добавить сумму заказов поставщика

Сообщение aik »

Что-то мне подсказывает, что этот огород некорректен, и должно быть более логичное решение данной элементарной проблеме, просто не хватает компетенции.
imamverdiyeveldar
Сообщения: 354
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Как добавить сумму заказов поставщика

Сообщение imamverdiyeveldar »

aik писал(а): 08 июн 2020, 17:25 Что-то мне подсказывает, что этот огород некорректен, и должно быть более логичное решение данной элементарной проблеме, просто не хватает компетенции.
Пока косяков не наблюдаю. Радует глаз даже. Все что нужно было сработало. Завтра буду тестировать нагрузку. Создам 200 - 300 записей. И отпишусь.
aik
Сообщения: 707
Зарегистрирован: 12 апр 2017, 10:09
Имя: Антон
Откуда: земля

Re: Как добавить сумму заказов поставщика

Сообщение aik »

Вот-вот я имею ввиду нагрузку и человеческий фактор.
Ответить