счета и тарифы

WMix

герр M:)ller
Партнер клуба
есть пожелание сделать создание счетов по тарифам, те. администратор создает тариф, а далее программа считает сумму по данному тарифу.

пара примеров...

тариф входящая посыкла, за посылку, 1УЕ
тариф за комплектацию, за товар, 2УЕ

мои мысли

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

далее нужно пометить посылку/товар, что на эту позицию был уже выставлен счет

создаем таблицу счет и позиции, у каждой позиции есть запись "таблица и id" строки на которую был выставлен счет плюс индификатор тарифа, тк. за посылки можно брать несколько раз (упаковка, отправка...)

а далее появляются тарифы на группу (к примеру у различного товара есть одинаковый таможенный код )
в счете должна присутствовать запись 50 едениц по коду xxxxxxx по 10 копеек...
и вот тут у меня все слишком сложно представляется... (GROUP BY в админке тарифов, поле, фукнкция COUNT или SUM)
расставить индификаторы записей на которые выставлен счет уже невозможно (их несколько)

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

а может существует более удобный способ решения задачи?,
как можно сделать добавление новых несуществующих тарифов, при условии что администратор владеет SQLом?
 

fixxxer

К.О.
Партнер клуба
не, все проще, есть инвойс, в нем элементы ордера, туда стоимость и кол-во просто копируется
 

WMix

герр M:)ller
Партнер клуба
я так и делаю, но как сделать автоматом по различным тарифам, с возможностью удалять позиции, но чтоб программа не забыла то что удалили...
 

fixxxer

К.О.
Партнер клуба
1) позиции не удалять, а помечать архивными
2) стоимость позиции в инвойсе - это атрибут инвойса, а не тарифного плана. делаем инвойс - скопировали в него стоимость, пусть потом меняется как угодно - это уже неважно
 

WMix

герр M:)ller
Партнер клуба
это все уже имеется, разговор про сотни позиций в счете, до сих пор я генерил эти счета, по тарифному плану,
на тариф запросик, но появляются новые тарифы, причем все одинаковое, теже посылки, только вот есть тариф перепаковка, а есть тариф документы, есть тариф упаковочный материал,
те 1 посылка имеет 3 документа большую коробку и работу... другая посылка все тоже самое, но коробка другая а документов больше... и тд.. пробежались по заказам нагенерили счет, там бухгалтеры разберутся...

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

вот форма с минимальными данными которая необходима... те вопрос не в счете, а в тарифах с помощью которых генерятся счета
Код:
тариф:
[ перепавковка ]

стоимость:
[  5 ] УЕ 

этот тариф используем всегда когда работаем с заказчиком 
[ № 242 [v] ]

тариф подразумевает: 
[ селектор посылок [v] ]

 [ЗАПИСАТЬ]
 

WMix

герр M:)ller
Партнер клуба
попробую рассказать что написал

преамбула:
был заказ по на 20 посылок, для заказчика xyz..
были обговорены заранее тарифы действительные только для этого клиента...
Код:
счет нр 1

упаковка посылок                       20 шт      по 10 коп = 2 руб
создание документов                    40 шт      по  5 коп = 2 руб
упаковка посылок на палету              1 палета  по  2 руб = 2 руб
создание сопроводительных документов   20 страниц по  5 коп = 1 руб
....
итого xx руб
каждая позиция также подразумевает детальное описание в доп. документе формата excel к примеру
Код:
"упаковка посылки 124"                1шт.    10 коп
"упаковка посылки 125"                1шт.    10 коп
...
"наклейка на посылку 124"             1шт.     5 коп
"наклейка на посылку 125"             1шт.     5 коп
....
"счет для клиента на посылку 124"     1шт.     5 коп
"счет для клиента на посылку 125"     1шт.     5 коп
....
данные
есть несколько таблиц, к примеру посылки, палеты, заказы,.. каждая запись в этих таблицах, может подразумевать выставленный счет (или лучше сказать одну из позиций счета, а еще точнее детальное описание позиции счета)

что именно (оплата по посылкам, оплата по занимаемой площади, оплата по дням хранения) cейчас неизвестно, будет обговоренно с каждым клиентом и может быть совершенно различным... (но данные в базе есть)

клиенты меняются часто... счета выставляются в любой момент по просьбе клиентов... (пока завезут еще 50 холодильников, пройдет время, давайте рассчитаемся за проделанную работу)

задача
нужно сделать наиболее удобный инструмент для создания новых тарифов, а после по этим тарифам счетов

первые мысли
итак. я поначалу начал добавлять в таблицы аттрибут оплачен, чтоб избежать повторного выставления счета, но вскоре понял, что за посылку можно выставить несколько строк, в разное время (обработали сейчас, выставили счет или проформу, а отправили позже и позже будут остатки)

дальше рассказывать пока не буду, не знаю интересно ли, а еще больше хочется узнать, какое решение придумали бы вы!

основная задача нагенерить данные в табличку (то о чем говорит fixxxer) но так, чтоб запомнить что на эту позицию счет уже был выставлен...
также записи на тарифы для заказчика...

остальное уже нудная работа и это не интересно
 
Сверху