нужно сделать так, чтобы в боксе можно было выполнить разноску платежей по нескольким заказам, при этом сохранив исходный платеж (его сумму и реквизиты).
Иными словами.
есть платеж на 1000 грн.,
его необходимо привязать к
- заказу 111 на сумму 50 грн.,
- заказу 222 на сумму 100 грн.
- остаток сумму принять без привязки к заказу (850 грн.)
и сохранить исходные его значения (сумма, вход. номер и т.д.)
по этой теме уже были запросы, которые были оценены в космическое количество часов
https://crm-onebox.com/ru/support/finances/3343-potribno-v-quotavtomaticheski-raspredelyat-platezhi-klientov-po-protsessamquot/
https://crm-onebox.com/support/finances/2022-raspredelenie-odnogo-platezha-mezhdu-mezhdu-neskolkimi-zakazami-odnogo-i-togo-zhe-postavshchika/
я предлагаю вариант реализации, который на мой взгляд гораздо менее трудозатратен (но могу ошибаться).
Заключается он в том, чтобы помечать исходный платеж виртуальным и создавать отдельные платежи в привязке в основному
т.е.:
добавить в форму платежа блок с таблицей "разноска/подплатежи", состоящий из полей
- порядковый номер
- id платежа (со ссылкой)
- процесс (привязка)
- сумма
каждая запись в таблице - это отдельный платеж
если в таблице заполнено хоть одно значение, то основной платеж помечается "виртуальным", т.е. не учитывается при подсчете обязательств.
При сохранении платежа:
автоматически создаются подплатежи по таблице разноски, в которые копируются поля из родительского платежа:
- Счет (аккаунт)
- На сумму
- Курс
- Тип
- Клиент
- Категория оплаты
- Привязка к документу
- Дата проведения платежа
в результате получаем
- 1 виртуальный (не учитываемый в балансе) платеж, выступающий в роли родительского платежа, данные которого совпадают с банковской выпиской и содержащий в себе перечень "подплатежей", созданных с привязками к разным процессам на различные суммы
- множество подплатежей, созданных с привязкой к родительскому платежу. именно эти платежи учитываются в балансе системы.
нужно сделать так, чтобы в боксе можно было выполнить разноску платежей по нескольким заказам, при этом сохранив исходный платеж (его сумму и реквизиты). Иными словами. есть платеж на 1000 грн., его необходимо привязать к - заказу 111 на сумму 50 грн., - заказу 222 на сумму 100 грн. - остаток сумму принять без привязки к заказу (850 грн.) и сохранить исходные его значения (сумма, вход. номер и т.д.)
я предлагаю вариант реализации, который на мой взгляд гораздо менее трудозатратен (но могу ошибаться). Заключается он в том, чтобы помечать исходный платеж виртуальным и создавать отдельные платежи в привязке в основному т.е.: добавить в форму платежа блок с таблицей "разноска/подплатежи", состоящий из полей - порядковый номер - id платежа (со ссылкой) - процесс (привязка) - сумма каждая запись в таблице - это отдельный платеж если в таблице заполнено хоть одно значение, то основной платеж помечается "виртуальным", т.е. не учитывается при подсчете обязательств.
При сохранении платежа: автоматически создаются подплатежи по таблице разноски, в которые копируются поля из родительского платежа: - Счет (аккаунт) - На сумму - Курс - Тип - Клиент - Категория оплаты - Привязка к документу - Дата проведения платежа
в результате получаем - 1 виртуальный (не учитываемый в балансе) платеж, выступающий в роли родительского платежа, данные которого совпадают с банковской выпиской и содержащий в себе перечень "подплатежей", созданных с привязками к разным процессам на различные суммы - множество подплатежей, созданных с привязкой к родительскому платежу. именно эти платежи учитываются в балансе системы.
Не всё так просто, как вы пишите. Как бы разделение платежей и так есть в редактировании - и оно отнимает часть суммы. А так понимаю что в теории можно сделать функционал, что когда вы к примеру платёж на 1000 грн в редактировании добавили разбить ещё на 2 по 500 и поставите галочку что платёж виртуальный - сделать общую настройку системы, чтобы проверить что если платёж разбивают на общую сумму и поставили что основной становится "виртуальным" - сумму основного не уменьшать. Такое подойдёт?
Но вот по родителькой архитектуре - уточните где и как вы хотите чтобы отображалось что именно этот платеж родительский у другого? Какой-то банальный вывод где-то? или может и не нужно?
Не всё так просто, как вы пишите.
Как бы разделение платежей и так есть в редактировании - и оно отнимает часть суммы.
А так понимаю что в теории можно сделать функционал, что когда вы к примеру платёж на 1000 грн в редактировании добавили разбить ещё на 2 по 500 и поставите галочку что платёж виртуальный - сделать общую настройку системы, чтобы проверить что если платёж разбивают на общую сумму и поставили что основной становится "виртуальным" - сумму основного не уменьшать. Такое подойдёт?
Но вот по родителькой архитектуре - уточните где и как вы хотите чтобы отображалось что именно этот платеж родительский у другого? Какой-то банальный вывод где-то? или может и не нужно?
Устименко Игорь OneBox CTO писал/а: чем вам текущий функционал разнесения через правую панель массовых операций над процессами или внутри платежа распределение - не подошло ?
самая глобальная проблема данного функционала - исходная сумма платежа теряется. Если через время попытаться сделать сверку с клиентом, то это сделать будет практически невозможно. И вообще, это создаст массу недоразумений. Смотрим в выписку банка - видим платеж в 50000 грн., смотрим в бокс - видим 10 платеже на разные суммы.... "фтф", скажет любой бухгалтер или финансист, проработавший хоть немного в b2b сегменте и будет прав )) .
[quote]
Устименко Игорь
OneBox CTO писал/а:
чем вам текущий функционал разнесения через правую панель массовых операций над процессами или внутри платежа распределение - не подошло ?
[/quote]
самая глобальная проблема данного функционала - исходная сумма платежа теряется.
Если через время попытаться сделать сверку с клиентом, то это сделать будет практически невозможно. И вообще, это создаст массу недоразумений.
Смотрим в выписку банка - видим платеж в 50000 грн., смотрим в бокс - видим 10 платеже на разные суммы.... "фтф", скажет любой бухгалтер или финансист, проработавший хоть немного в b2b сегменте и будет прав )) .
Тындык Максим Вадимович Администратор писал/а: Но вот по родителькой архитектуре - уточните где и как вы хотите чтобы отображалось что именно этот платеж родительский у другого? Какой-то банальный вывод где-то? или может и не нужно?
да, вот так бы мог выглядеть платеж, который является частью основного платежа
Тындык Максим Вадимович Администратор писал/а: А так понимаю что в теории можно сделать функционал, что когда вы к примеру платёж на 1000 грн в редактировании добавили разбить ещё на 2 по 500 и поставите галочку что платёж виртуальный - сделать общую настройку системы, чтобы проверить что если платёж разбивают на общую сумму и поставили что основной становится "виртуальным" - сумму основного не уменьшать. Такое подойдёт?
вполне подойдет. собственно об этом и идет речь но есть еще одно, очень важное в исходном платеже (том, который стал "виртуальным" после выполнения разноски по нему) нужно отобразить перечень дочерних платежей. можно либо вывести вот так все дочерние платежи (+ добавить колонку со ссылкой на платеж, чтобы можно было в него "провалиться") либо вывести список платежей, 1в1 с тем, как выводится в бизнес-процессах (блок интерфейса "Платежи") какой вариант выбрать - зависит от сложности реализации. мне бы, наверное, первый вариант больше хотелось видеть.
[quote]
Тындык Максим Вадимович
Администратор писал/а:
Но вот по родителькой архитектуре - уточните где и как вы хотите чтобы отображалось что именно этот платеж родительский у другого? Какой-то банальный вывод где-то? или может и не нужно?
[/quote]
да, вот так бы мог выглядеть платеж, который является частью основного платежа [file]1174[/file]
[quote]
Тындык Максим Вадимович
Администратор писал/а:
А так понимаю что в теории можно сделать функционал, что когда вы к примеру платёж на 1000 грн в редактировании добавили разбить ещё на 2 по 500 и поставите галочку что платёж виртуальный - сделать общую настройку системы, чтобы проверить что если платёж разбивают на общую сумму и поставили что основной становится "виртуальным" - сумму основного не уменьшать. Такое подойдёт?
[/quote]
вполне подойдет. собственно об этом и идет речь
но есть еще одно, очень важное
в исходном платеже (том, который стал "виртуальным" после выполнения разноски по нему) нужно отобразить перечень дочерних платежей. можно либо вывести вот так [file]1175[/file] все дочерние платежи (+ добавить колонку со ссылкой на платеж, чтобы можно было в него "провалиться")
либо вывести список платежей, 1в1 с тем, как выводится в бизнес-процессах [file]1176[/file] (блок интерфейса "Платежи")
какой вариант выбрать - зависит от сложности реализации. мне бы, наверное, первый вариант больше хотелось видеть.
Ну то есть формально нам нужно добавить привязку платежа к какому-то родительскому платежу и это повлияет только на вывод в редактировании платежей родительского или дочерних (ссылками) + колонку в списке платежей какой родительский. Ну и вышеописанный мною алгоритм разнесения. Если это всё подходит - это можно реализовать где-то за 10 часов.
Ну то есть формально нам нужно добавить привязку платежа к какому-то родительскому платежу и это повлияет только на вывод в редактировании платежей родительского или дочерних (ссылками) + колонку в списке платежей какой родительский.
Ну и вышеописанный мною алгоритм разнесения.
Если это всё подходит - это можно реализовать где-то за 10 часов.
Пожалуйста, присоединяйтесь к диалогу. Если вам есть что сказать - пожалуйста, напишите комментарий. Для входа потребуется мобильный телефон и смс-код для идентификации.
Войти и написать комментарий