<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ComPsyc</title>
	<atom:link href="http://compsyc.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://compsyc.com.au</link>
	<description>Software Architects</description>
	<lastBuildDate>Fri, 09 Dec 2011 06:13:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Congratulations! You have under-exceeded!</title>
		<link>http://compsyc.com.au/2011/12/congratulations-you-have-under-exceeded/</link>
		<comments>http://compsyc.com.au/2011/12/congratulations-you-have-under-exceeded/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 07:55:08 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[expectations]]></category>
		<category><![CDATA[Humour]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/2011/12/congratulations-you-have-under-exceeded/</guid>
		<description><![CDATA[
Mediocrity is no longer acceptable in business, but how do you tell the client that they have cleared the lowest bar? Perhaps a more direct approach is needed!
]]></description>
			<content:encoded><![CDATA[<p>Mediocrity is no longer acceptable in business, but how do you tell the client that they have cleared the lowest bar?</p>
<p>Perhaps a more direct approach is needed!</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/12/congratulations-you-have-under-exceeded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails 3.0 Conversion</title>
		<link>http://compsyc.com.au/2011/11/ruby-on-rails-3-0-conversion/</link>
		<comments>http://compsyc.com.au/2011/11/ruby-on-rails-3-0-conversion/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 05:15:23 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=330</guid>
		<description><![CDATA[
Finally, after a few weeks learning the actual ropes of Ruby on Rails 3.0, I&#8217;ve completed the upgrade of the
]]></description>
			<content:encoded><![CDATA[<p>Finally, after a few weeks learning the actual ropes of Ruby on Rails 3.0, I&#8217;ve completed the upgrade of the <a href="<a href="http://envirochase.com/">http://envirochase.com/</a>&#8220;>envirochase.com</a> web site! It has been a great lesson in the new intricacies of the way queries/namescopes are being handled.</p>
<p>It&#8217;s also a lot faster. Orders of magnitude faster, in fact, than the old version (1.0). I&#8217;m very happy with it! The project has become proof to the owner that <strong><em>This is the way to go</em></strong> after all &#8211; a staged complete conversion of all sites to their shiny new Mac OS X Snow Leopard Server running both the database and the web application(s).</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/11/ruby-on-rails-3-0-conversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MYOB ODBC Error #7495</title>
		<link>http://compsyc.com.au/2011/11/myob-odbc-error-7495/</link>
		<comments>http://compsyc.com.au/2011/11/myob-odbc-error-7495/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 05:28:37 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Access 2007]]></category>
		<category><![CDATA[Errors]]></category>
		<category><![CDATA[MYOB]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=333</guid>
		<description><![CDATA[
Unexpected internal c-tree(R) error #7495 (uerr_cod=0) That&#8217;s the error message I was getting one day. Nothing major happened, the update routines just stopped working on day! I&#8217;m importing a bunch of data from the usual tables (CustomLists, Customers, Items, Sales) in to the SQL Server back end for faster processing against the company&#8217;s CMS. I [...]
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Unexpected internal c-tree(R) error #7495 (uerr_cod=0)</p></blockquote>
<p>That&#8217;s the error message I was getting one day. Nothing major happened, the update routines just stopped working on day!</p>
<p>I&#8217;m importing a bunch of data from the usual tables (CustomLists, Customers, Items, <strong>Sales</strong>) in to the SQL Server back end for faster processing against the company&#8217;s CMS. I do this because of the way MYOB has done it&#8217;s ODBC driver, every time you do a query, all the table records are read in to memory and THEN the filters are applied, it&#8217;s horrendous. Especially if, like this company, you have upwards of 100,000 sales lines. So anyway, it happily dumps the data into the SQL Server tables (using MS Access 2007 as an intermediary) without issue.</p>
<p>The error occurs when I start to insert new records in to the MYOB file.</p>
<p>I&#8217;ve tried using the same connection (Reading from a RW connection). I&#8217;ve tried using a two connections (Reading from a RO connection and writing to a RW connection); to no avail.</p>
<p>The solution?</p>
<blockquote><p><strong>ONLY</strong> <span style="color: #0000ff;">read from</span> or <span style="color: #ff0000;">write to</span> the MYOB file while the connection is open. I have taken this to the extreme and put a switch in at the start of the run; if it&#8217;s 4am &#8211; <span style="color: #ff0000;">write</span> any new sales to the MYOB file; if not &#8211; <span style="color: #0000ff;">read</span> all the MYOB details and update the CMS accordingly.</p></blockquote>
<p>The error is gone and the work flow is easy to understand for the staff:</p>
<ul>
<li>Each morning new invoices should be in MYOB and;</li>
<li>During work hours the payment details entered in MYOB will be reflected in the CMS every hour.</li>
</ul>
<p>Obviously the memory handler for the underlying database couldn&#8217;t deal with the large number of rows being returned.</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/11/myob-odbc-error-7495/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MYOB Account Sync</title>
		<link>http://compsyc.com.au/2011/10/myob-account-sync/</link>
		<comments>http://compsyc.com.au/2011/10/myob-account-sync/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 08:04:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Instant Waste Management]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=317</guid>
		<description><![CDATA[
What needs to be done? Update the booking system(s) with the latest payment information from MYOB. Why do we do it? The company does not want to service customers that are not paying their account. Who is responsible? Automated Task Scheduler process on IWM-TS-001. When Every hour, on the hour, between 6:00am and 6:00pm Booking [...]
]]></description>
			<content:encoded><![CDATA[<h2>What needs to be done?</h2>
<p>Update the booking system(s) with the latest payment information from MYOB.</p>
<h2>Why do we do it?</h2>
<p>The company does not want to service customers that are not paying their account.</p>
<h2>Who is responsible?</h2>
<ul>
<li>Automated <a href="">Task Scheduler</a> process on <a href="">IWM-TS-001</a>.
</li>
</ul>
<h2>When</h2>
<ul>
<li>Every hour, on the hour, between 6:00am and 6:00pm
</li>
<li>Booking systems that are live: [<strong>Instant</strong>, <strong>Bunbury</strong>, <strong>Northwest</strong>, <strong>Ace</strong> &#038; <strong>Mandurah</strong>]
</li>
</ul>
<h2>How is it done?</h2>
<ol>
<li>Import MYOB data via MYOB ODBC link (<strong>myob_sync.accde</strong>)
<ol>
<li>Import MYOB Items details into booking system
</li>
<li>Import MYOB Customers details into booking system
</li>
<li>Import MYOB Sales information into booking system
</li>
</ol>
</li>
<li>Execute processing routines on the <a href="">SQL Server</a>
<ol>
<li>Compare product codes
<ol>
<li>Match product_options.myob_code => imported_items.Item_Name
</li>
<li>Email ([settings].[sync_notify_email]) the list of item codes that are missing from MYOB
</li>
</ol>
</li>
<li>Compare Customer information
<ol>
<li>Match customers.name => imported_customers.company_name
</li>
<li>Email ([settings].[sync_notify_email]) the list of Customers missing from MYOB
</li>
<li>Email ([settings].[sync_notify_email]) the list of Customers with different addressing details
</li>
</ol>
</li>
<li>Update payment information
<ol>
<li>
<ol>
<li>Copy details from <strong>MYOB_Sales</strong> &#8211;> <strong>imported_invoices</strong> table
</li>
<li>convert all the numeric invoice numbers to <strong>long</strong> type
</li>
<li>Remove records that didn&#8217;t covert to long
</li>
<li>Match <em>imported_invoices</em> with existing invoices and save their details to <strong>tblToBePaid</strong>
</li>
</ol>
</li>
<li>Clear all agreed payment dates that are in the past (the agreement has expired)
</li>
<li>Update account status for all customers
<ol>
<li>Customers who are over due but not on hold => put them on hold
</li>
<li>Customers who are on hold but no longer overdue => take them off hold
</li>
<li>Add a message to any client that has been switched saying why it has been switched (Account Paid, Automatic hold)
</li>
</ol>
</li>
<li>Set any held customers with &#8220;agreed payment dates&#8221; to off hold (they have agreed to pay us, but the date has not yet passed so we should not break our side of the bargain)
</li>
</ol>
</li>
</ol>
</li>
</ol>
<h2>Important Notes</h2>
<ul>
<li>This system will operate well as long as the <a href="">Account Notifications</a> procedures are followed by staff.
</li>
<li>Occasionally the myob_sync.accde file is renamed Database.mdb for some (unknown) reason. This stops the scheduler task from running correctly, so I have added a <a href="">MYOB Sync Fix</a> step to the schedule, which should resolve the issue for the moment.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/10/myob-account-sync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Copy database diagram(s) in SQL Server</title>
		<link>http://compsyc.com.au/2011/08/copy-database-diagrams-in-sql-server/</link>
		<comments>http://compsyc.com.au/2011/08/copy-database-diagrams-in-sql-server/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 06:35:40 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=298</guid>
		<description><![CDATA[
Occasionally, very occasionally, I find myself having one database diagram to rule them all. This is the one that I have spent the most time on; the one that unifies the most tables and has the simplest layout. Something clicked when I was filling in the connections and now I want to bring it to [...]
]]></description>
			<content:encoded><![CDATA[<p>Occasionally, very occasionally, I find myself having one database diagram to rule them all. This is the one that I have spent the most time on; the one that unifies the most tables and has the simplest layout. Something clicked when I was filling in the connections and now I want to bring it to all the other versions of the database, but there&#8217;s no cut-and-paste!</p>
<p>After a little searching I found this:</p>
<pre>
INSERT INTO
    target_db.dbo.sysdiagrams
SELECT
    [name],[principal_id],[version],[definition]
FROM
    source_db.dbo.sysdiagrams
</pre>
<p>Just change the <strong>target_db</strong> and <strong>source_db</strong> labels and it will bring everything across. Obviously there are further refinements that could be put in the query, but the basics are there, extrapolate as required.</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/08/copy-database-diagrams-in-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Job Cards</title>
		<link>http://compsyc.com.au/2011/07/online-job-cards/</link>
		<comments>http://compsyc.com.au/2011/07/online-job-cards/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 15:17:15 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Slider Item]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mobile devices]]></category>
		<category><![CDATA[NextG]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=281</guid>
		<description><![CDATA[
A system designed to improve response times when operations are flowing smoothly so that issues can be resolved faster when they occur. Drivers are able to view and update their run sheet <em>as soon as the job is done</em> using data enabled mobile devices. The jobs are displayed in the order of importance and can be marked as having been done or having issues that need to be resolved.
]]></description>
			<content:encoded><![CDATA[<p>The system is designed to improve response times when operations are flowing smoothly so that issues can be resolved faster when they occur. Drivers are able to view and update their run sheet as soon as the job is done using their data enabled mobile devices. Jobs are displayed in the order of importance and can be marked as having been done or having issues that need to be resolved.</p>
<p>The Online Job Cards system is integrated directly into the existing legacy booking system, providing a fast reliable link between the drivers performing the services and the operations staff overseeing each division. General job status is provided visually using colour coding on the operations mangement screens in real time. When a new job is allocated to a driver, it will appear on their mobile device as soon as they refresh their Online Job Card.</p>
<p>Another excellent situation for data enabled mobile devices. Further updates are planned, including obtaining customer <em>proof-of-completion</em> signatures for invoicing purposes and using Location Services to pinpoint where the jobs are being performed.</p>
<p>This solution uses:</p>
<ul>
<li>Microsoft SQL Server
</li>
<li>Ruby on Rails
</li>
<li>Telstra NextG
</li>
<li>HTML4+ enabled web browser (iPhone/Android/iPad)
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/07/online-job-cards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Membership System</title>
		<link>http://compsyc.com.au/2011/04/membership-system/</link>
		<comments>http://compsyc.com.au/2011/04/membership-system/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 14:30:08 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Slider Item]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Access 2007]]></category>
		<category><![CDATA[solution]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=244</guid>
		<description><![CDATA[
The association needed to replace it's outgrown membership database without losing any data or functionality. Weekly member lists are generated to provide simple forms for treasurers to record payments as they are received. Member statements, which include tax exempt notifications and customisable reminders, can be generated as required. Summary reports enable the executive to monitor the status of their constituency without getting bogged down in details.
]]></description>
			<content:encoded><![CDATA[<p>The association needed to replace it&#8217;s outgrown membership database without losing any data or functionality. Weekly member lists are generated to provide simple forms for treasurers to record payments as they are received. Member statements, which include tax exempt notifications and customisable reminders, can be generated as required. Summary reports enable the executive to monitor the status of their constituency without getting bogged down in details.</p>
<p>The solution needed to replace and expand upon the existing system that had reached it&#8217;s user limit. All the existing functions were replaced/recreated before creating additional functionality. A new series of detailed financial reports allow for reconciliation and fast data entry into the accounting package; instead of entering individual transactions for each member the client is now able to make summary transactions for the total amounts to be allocated to their different destination accounts. A date driven approach has allowed for continued expansion of payment methods, specifically direct payment via internet banking, without compromising the traditional collection process.</p>
<p>The solution is complete, occasional development of new functions is undertaken when the clients business model changes. In fact, the system has been so popular it&#8217;s now being used by quite a few affiliated associations in the south west of Western Australia and Tasmania.</p>
<p>This solution uses:</p>
<ul>
<li>Microsoft Access 2007
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/04/membership-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recruitment Database</title>
		<link>http://compsyc.com.au/2011/04/recruitment-database/</link>
		<comments>http://compsyc.com.au/2011/04/recruitment-database/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 12:51:13 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Slider Item]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Access 2007]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=242</guid>
		<description><![CDATA[
Global Health Source aims to provide their clients with a short list of high quality candidates for review, ideally within a few days. Candidate details, such as primary professions, skills and their proficiencies, accreditations, and visa history are all recorded and instantly searchable. Client details, including candidates presented for interview and their outcomes are also [...]
]]></description>
			<content:encoded><![CDATA[<p>Global Health Source aims to provide their clients with a short list of high quality candidates for review, ideally within a few days. Candidate details, such as primary professions, skills and their proficiencies, accreditations, and visa history are all recorded and instantly searchable. Client details, including candidates presented for interview and their outcomes are also recorded to get a complete picture of their success rates over time. </p>
<p>Supplying allied health professionals to locations in Australia and New Zealand. The database tracks members from all over the world (Australia, Ireland, New Zealand, South Africa and the United Kingdom to begin with); their current qualifications; future plans; visa arrangements; and local accreditation progress. Placement officers are constantly in contact with candidates and clients throughout the day so data entry must remain a simple process. The search form allows for very detailed criteria so that the least number of enquiries can be made while finding candidates who are available, and interested, in the position.</p>
<p>This system has recently been migrated from an Access 2007 back end over to SQL Server 2008, the process was done in-situ over a period of weeks (and while it was being used in a live environment!). A more detailed search function is being investigated, along with increasing the list of details being stored for clients and candidates. </p>
<p>Technology used</p>
<ul>
<li>Microsoft SQL Server
</li>
<li>Microsoft Access 2007
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/04/recruitment-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Need a database &#8216;fixed&#8217;?</title>
		<link>http://compsyc.com.au/2011/02/access-2007-development/</link>
		<comments>http://compsyc.com.au/2011/02/access-2007-development/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 15:55:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=202</guid>
		<description><![CDATA[
I have extensive experience in developing Access 2007, 2003, xp, 2000, 97 and even 2.0 databases! Please look at the projects gallery to see some examples.
]]></description>
			<content:encoded><![CDATA[<p>I have extensive experience in developing Access databases.</p>
<p>I have worked with Access 2007, 2003, xp, 2000, 97 and even 2.0!</p>
<p>I also have a solid understanding of SQL Server 2005/2000 and have built/maintained/improved upon many enterprise level systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/02/access-2007-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Canvas Application</title>
		<link>http://compsyc.com.au/2011/02/facebook-canvas-application/</link>
		<comments>http://compsyc.com.au/2011/02/facebook-canvas-application/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 12:43:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Solutions]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=191</guid>
		<description><![CDATA[
A simple application to record my progress as I take the
]]></description>
			<content:encoded><![CDATA[<p>A simple application to record my progress as I take the <a href="<a href="http://fourhourbody.com/">http://fourhourbody.com/</a>&#8220;>Four Hour Body</a> Challenge.</p>
<p>Naturally, I wanted to put it on facebook to allow others to do the same and to encourage people to &#8220;race their friends&#8221; to their body composition goals.</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2011/02/facebook-canvas-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

