<font><font face="verdana,sans-serif">I found the idea excellent! But we have to analyze the situation better for not having a table with many records, impacting on the performance of the database. Let me give an example of a client of mine: </font></font><div>
<font><font face="verdana,sans-serif"><br></font></font></div><div><font><font face="verdana,sans-serif">4245 quotes</font></font></div><div><font><font face="verdana,sans-serif">317 Sales Order</font></font></div><div><font><font face="verdana,sans-serif">1511 Invoices</font></font></div>
<div><font><font face="verdana,sans-serif">22,163 Contacts</font></font></div><div><font><font face="verdana,sans-serif">7942 Accounts</font></font></div><div><font><font face="verdana,sans-serif">356 Leads</font></font></div>
<div><font><font face="verdana,sans-serif"><br></font></font></div><div><font><font face="verdana,sans-serif">Total of 36,534 records.</font></font></div><div><font><font face="verdana,sans-serif"><br></font></font></div>
<div><font><font face="verdana,sans-serif">That's because the company is small, with only 20 employees using vtiger. If we pass this number to a large company, does not lose much in performance?</font></font></div><div>
<font><font face="verdana,sans-serif"><br></font></font></div><div><font><font face="verdana,sans-serif">Well, still find value in this idea, would greatly reduce the complexity in development. </font></font><span style="font-family:verdana,sans-serif">Soon I </span><span style="font-family:verdana,sans-serif">vote</span><span style="font-family:verdana,sans-serif"> </span><span style="font-family:verdana,sans-serif">+1 too.</span></div>
<div><span style="font-family:verdana,sans-serif"><br></span></div><div><span style="font-family:verdana,sans-serif">P.S. </span><font face="verdana, sans-serif">Sorry if my English is very difficult to read, but if you blame the google translator! lol</font></div>
<div><div><font><font face="verdana,sans-serif"><br></font></font></div><div><font><font face="verdana,sans-serif"><br></font></font></div><div><font><font face="verdana,sans-serif"><br clear="all"></font></font>Atte,<br>
<b>Rodrigo Souza de Oliveira</b><div><b>Consultor de TI<br></b>Hostplan Informática Ltda<br><div>Telefones: (21) 9217-7909 e/ou (21) 8153-5287<div>website: <a href="http://www.hostplan.com.br" target="_blank">www.hostplan.com.br</a><br>
e-mail/msn: <a href="mailto:rodrigo@hostplan.com.br" target="_blank">rodrigo@hostplan.com.br</a><br><img src="http://www.hostplan.com.br/logo.jpg" height="137" width="200"><br></div></div></div><br>
<br><br><div class="gmail_quote">2012/6/1 Joe Bordes <span dir="ltr"><<a href="mailto:joe@tsolucio.com" target="_blank">joe@tsolucio.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is a good idea, but has some implications and has to be well defined.<br>
If the same interface is kept, then this is really an internal<br>
restructure (rather easy and nice), if you want to add many addresses to<br>
any account (entity) then creating/editing becomes a few steps more complex.<br>
Then we have to keep in mind that certain entities MUST have the address<br>
on the record, for consistency, like a SO where we need the address on<br>
it to make sure we don't send the goods to a different address if the<br>
account's address changes or on the Invoice where this needs to be kept<br>
for legal reasons.<br>
Also if various addresses are permitted on the account/contact we need a<br>
way to permit the user to pick which of them to use for billing and<br>
shipping.<br>
...<br>
and probably some additional logic that I haven't considered.<br>
<br>
In short, like most things, it isn't that easy.<br>
<br>
That said, I would vote +1 as I consider it is important<br>
<br>
Have a nice weekend<br>
Joe<br>
TSolucio<br>
<br>
<br>
El 01/06/12 16:55, Adam Heinz escribió:<br>
<div><div class="h5">> Has anyone given any thought to building a standalone address module?<br>
> There are a lot of repeated (and inconsistently named) address fields<br>
> in the database. Wouldn't it be simpler to have a single<br>
> vtiger_address table with an addresstype picklist ('shipping',<br>
> 'billing', 'mailing', 'other'), then just refer to this table as a<br>
> related module?<br>
><br>
> mysql> desc vtiger_contactaddress;<br>
> +------------------+---------------+------+-----+---------+-------+<br>
> | Field | Type | Null | Key | Default | Extra |<br>
> +------------------+---------------+------+-----+---------+-------+<br>
> | contactaddressid | int(19) | NO | PRI | 0 | |<br>
> | mailingcity | varchar(40) | YES | | NULL | |<br>
> | mailingstreet | varchar(250) | YES | | NULL | |<br>
> | mailingcountry | varchar(40) | YES | | NULL | |<br>
> | othercountry | varchar(30) | YES | | NULL | |<br>
> | mailingstate | varchar(30) | YES | | NULL | |<br>
> | mailingpobox | varchar(30) | YES | | NULL | |<br>
> | othercity | varchar(40) | YES | | NULL | |<br>
> | otherstate | varchar(50) | YES | | NULL | |<br>
> | mailingzip | varchar(30) | YES | | NULL | |<br>
> | otherzip | varchar(30) | YES | | NULL | |<br>
> | otherstreet | varchar(250) | YES | | NULL | |<br>
> | otherpobox | varchar(30) | YES | | NULL | |<br>
> +------------------+---------------+------+-----+---------+-------+<br>
><br>
> mysql> desc vtiger_organizationdetails;<br>
> +------------------+--------------+------+-----+---------+-------+<br>
> | Field | Type | Null | Key | Default | Extra |<br>
> +------------------+--------------+------+-----+---------+-------+<br>
> | organizationname | varchar(60) | NO | PRI | | |<br>
> | address | varchar(150) | YES | | NULL | |<br>
> | city | varchar(100) | YES | | NULL | |<br>
> | state | varchar(100) | YES | | NULL | |<br>
> | country | varchar(100) | YES | | NULL | |<br>
> | code | varchar(30) | YES | | NULL | |<br>
> | phone | varchar(30) | YES | | NULL | |<br>
> | fax | varchar(30) | YES | | NULL | |<br>
> | website | varchar(100) | YES | | NULL | |<br>
> | logoname | varchar(50) | YES | | NULL | |<br>
> | logo | mediumtext | YES | | NULL | |<br>
> | showtax | varchar(1) | NO | | NULL | |<br>
> +------------------+--------------+------+-----+---------+-------+<br>
><br>
> mysql> desc vtiger_quotesbillads;<br>
> +--------------------+--------------+------+-----+---------+-------+<br>
> | Field | Type | Null | Key | Default | Extra |<br>
> +--------------------+--------------+------+-----+---------+-------+<br>
> | quotebilladdressid | int(19) | NO | PRI | 0 | |<br>
> | bill_city | varchar(30) | YES | | NULL | |<br>
> | bill_code | varchar(30) | YES | | NULL | |<br>
> | bill_country | varchar(30) | YES | | NULL | |<br>
> | bill_state | varchar(30) | YES | | NULL | |<br>
> | bill_street | varchar(250) | YES | | NULL | |<br>
> | bill_pobox | varchar(30) | YES | | NULL | |<br>
> +--------------------+--------------+------+-----+---------+-------+<br>
><br>
> mysql> desc vtiger_quotesshipads;<br>
> +--------------------+--------------+------+-----+---------+-------+<br>
> | Field | Type | Null | Key | Default | Extra |<br>
> +--------------------+--------------+------+-----+---------+-------+<br>
> | quoteshipaddressid | int(19) | NO | PRI | 0 | |<br>
> | ship_city | varchar(30) | YES | | NULL | |<br>
> | ship_code | varchar(30) | YES | | NULL | |<br>
> | ship_country | varchar(30) | YES | | NULL | |<br>
> | ship_state | varchar(30) | YES | | NULL | |<br>
> | ship_street | varchar(250) | YES | | NULL | |<br>
> | ship_pobox | varchar(30) | YES | | NULL | |<br>
> +--------------------+--------------+------+-----+---------+-------+<br>
><br>
> mysql> desc vtiger_accountbillads;<br>
> +------------------+--------------+------+-----+---------+-------+<br>
> | Field | Type | Null | Key | Default | Extra |<br>
> +------------------+--------------+------+-----+---------+-------+<br>
> | accountaddressid | int(19) | NO | PRI | 0 | |<br>
> | bill_city | varchar(30) | YES | | NULL | |<br>
> | bill_code | varchar(30) | YES | | NULL | |<br>
> | bill_country | varchar(30) | YES | | NULL | |<br>
> | bill_state | varchar(30) | YES | | NULL | |<br>
> | bill_street | varchar(250) | YES | | NULL | |<br>
> | bill_pobox | varchar(30) | YES | | NULL | |<br>
> +------------------+--------------+------+-----+---------+-------+<br>
><br>
> mysql> desc vtiger_accountshipads;<br>
> +------------------+--------------+------+-----+---------+-------+<br>
> | Field | Type | Null | Key | Default | Extra |<br>
> +------------------+--------------+------+-----+---------+-------+<br>
> | accountaddressid | int(19) | NO | PRI | 0 | |<br>
> | ship_city | varchar(30) | YES | | NULL | |<br>
> | ship_code | varchar(30) | YES | | NULL | |<br>
> | ship_country | varchar(30) | YES | | NULL | |<br>
> | ship_state | varchar(30) | YES | | NULL | |<br>
> | ship_pobox | varchar(30) | YES | | NULL | |<br>
> | ship_street | varchar(250) | YES | | NULL | |<br>
> +------------------+--------------+------+-----+---------+-------+<br>
> _______________________________________________<br>
> <a href="http://www.vtiger.com/" target="_blank">http://www.vtiger.com/</a><br>
<br>
</div></div>_______________________________________________<br>
<a href="http://www.vtiger.com/" target="_blank">http://www.vtiger.com/</a><br>
</blockquote></div><br></div></div>