1b.app
Скопирована ссылка -

доработка функционала по "разнесению" платежа по нескольким процессам

нужно сделать так, чтобы в боксе можно было выполнить разноску платежей по нескольким заказам, при этом сохранив исходный платеж (его сумму и реквизиты).
Иными словами.
есть платеж на 1000 грн.,
его необходимо привязать к
- заказу 111 на сумму 50 грн.,
- заказу 222 на сумму 100 грн.
- остаток сумму принять без привязки к заказу (850 грн.)
и сохранить исходные его значения (сумма, вход. номер и т.д.)

по этой теме уже были запросы, которые были оценены в космическое количество часов
https://crm-onebox.com/ru/support/finances/3343-potribno-v-quotavtomaticheski-ra...
https://crm-onebox.com/support/finances/2022-raspredelenie-odnogo-platezha-mezhd...

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

При сохранении платежа:
автоматически создаются подплатежи по таблице разноски, в которые копируются поля из родительского платежа:
- Счет (аккаунт)
- На сумму
- Курс
- Тип
- Клиент
- Категория оплаты
- Привязка к документу
- Дата проведения платежа

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

Ответы:

чем вам текущий функционал разнесения через правую панель массовых операций над процессами или внутри платежа распределение - не подошло ?
26.11.2020, 17:34

Не всё так просто, как вы пишите.
Как бы разделение платежей и так есть в редактировании - и оно отнимает часть суммы.
А так понимаю что в теории можно сделать функционал, что когда вы к примеру платёж на 1000 грн в редактировании добавили разбить ещё на 2 по 500 и поставите галочку что платёж виртуальный - сделать общую настройку системы, чтобы проверить что если платёж разбивают на общую сумму и поставили что основной становится "виртуальным" - сумму основного не уменьшать. Такое подойдёт?

Но вот по родителькой архитектуре - уточните где и как вы хотите чтобы отображалось что именно этот платеж родительский у другого? Какой-то банальный вывод где-то? или может и не нужно?
26.11.2020, 17:37

Перегиняк Александр
Oneboxconsulting (интегратор)

Устименко Игорь
OneBox CTO писал/а:
чем вам текущий функционал разнесения через правую панель массовых операций над процессами или внутри платежа распределение - не подошло ?

самая глобальная проблема данного функционала - исходная сумма платежа теряется.
Если через время попытаться сделать сверку с клиентом, то это сделать будет практически невозможно. И вообще, это создаст массу недоразумений.
Смотрим в выписку банка - видим платеж в 50000 грн., смотрим в бокс - видим 10 платеже на разные суммы.... "фтф", скажет любой бухгалтер или финансист, проработавший хоть немного в b2b сегменте и будет прав )) .
26.11.2020, 17:57

Перегиняк Александр
Oneboxconsulting (интегратор)

Тындык Максим Вадимович
Администратор писал/а:
Но вот по родителькой архитектуре - уточните где и как вы хотите чтобы отображалось что именно этот платеж родительский у другого? Какой-то банальный вывод где-то? или может и не нужно?

да, вот так бы мог выглядеть платеж, который является частью основного платежа


Тындык Максим Вадимович
Администратор писал/а:
А так понимаю что в теории можно сделать функционал, что когда вы к примеру платёж на 1000 грн в редактировании добавили разбить ещё на 2 по 500 и поставите галочку что платёж виртуальный - сделать общую настройку системы, чтобы проверить что если платёж разбивают на общую сумму и поставили что основной становится "виртуальным" - сумму основного не уменьшать. Такое подойдёт?

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

Ну то есть формально нам нужно добавить привязку платежа к какому-то родительскому платежу и это повлияет только на вывод в редактировании платежей родительского или дочерних (ссылками) + колонку в списке платежей какой родительский.
Ну и вышеописанный мною алгоритм разнесения.
Если это всё подходит - это можно реализовать где-то за 10 часов.
27.11.2020, 09:02

Перегиняк Александр
Oneboxconsulting (интегратор)
выставьте счет на оплату, плз.
04.12.2020, 13:43

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