<?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>Tue, 17 Apr 2012 08:22:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Crossing the (file size) line in MYOB</title>
		<link>http://compsyc.com.au/2012/04/crossing-the-file-size-line-in-myob/</link>
		<comments>http://compsyc.com.au/2012/04/crossing-the-file-size-line-in-myob/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 12:17:30 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[issues]]></category>
		<category><![CDATA[MYOB]]></category>
		<category><![CDATA[recovery]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=360</guid>
		<description><![CDATA[
Ever wondered what the maximum file size for a MYOB data file is? Want to guess? I&#8217;m pretty sure it&#8217;s somewhere around 2.0Gb myself. Why? Because I have just spent many, many hours optimising a (.MYO) data file to get it back under this magic limit. I can&#8217;t say for sure, but if you get [...]
]]></description>
			<content:encoded><![CDATA[<p>Ever wondered what the maximum file size for a MYOB data file is?</p>
<p style="text-align: center;"><img title="myob file too large" src="/wp-content/uploads/2012/04/myob_file_too_large.png" alt="" width="557" height="134" /></p>
<p style="text-align: justify;">Want to guess? I&#8217;m pretty sure it&#8217;s somewhere around 2.0Gb myself. Why? Because I have just spent many, many hours optimising a (.MYO) data file to get it back under this magic limit. I can&#8217;t say for sure, but if you get a MYOB file to 1,906,528KB you might also run in to this issue.</p>
<p style="text-align: justify;">In fact, please email me if you do, because I would like to have confirmation that it&#8217;s not just this particular installation. Here is my &#8220;experience&#8221;&#8230;</p>
<p style="text-align: justify;"><span style="color: #3366ff;">The night before</span>: Run the invoice import which uses the ODBC link to insert ~4000 invoices that were generated earlier in the day. These are the monthly invoices for the company. Yes, I have told them (for years) to get a different accounting package.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">~8:30am</span>: I get the call that the MYOB file is &#8220;not working&#8221;. I try to open the file and receive an &#8220;Error 1233: -3000 in DMBeginTransaction&#8221; message. After a bit of looking around the only posted solution is to optimise the file and hope for the best.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">12:03pm</span>: Optimisation has finished and the file has been shrunk to 1,895,424KB. It will open in MYOB again.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">~4:00pm</span>: Someone notices that a bunch of recently imported invoices so I kick off the various comparison processes that marks invoices previously thought to have been imported, that are no longer present in the MYOB file, as un-imported. This then kicks off the import process, which starts importing the outstanding invoices.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">4:24pm</span>: Auto-import process crashes. All users in that MYOB file also crash.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">~4:27pm</span>: We discover the backup process has silently failed two days ago and that the file that was backed up last night was 1,906,528KB in size. There is no backup. The decision to scrap the days transactions is made and I restore the recovered file from 12:03pm.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">~4:30pm</span>: I kick of the roll-over process, effectively removing all transactions from the previous financial year. A process that someone &#8220;just never got around to doing it&#8221;.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">7:05pm</span>: Roll-over process completes. File is now <span style="color: #ff0000;">EVEN LARGER @ 2,137,120KB</span>. It won&#8217;t open &#8211; &#8220;Error 1233: -3000 in DMBeginTransaction&#8221;.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">7:12pm</span>: I apprehensively kick off the file optimisation process. It seems to be working.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">~8:13pm</span>: Optimisation finished. File is now 1,018,400KB. This might actually work! Missing the invoices still, but now I can re-import them without going over any soft limit.</p>
<p style="text-align: justify;"><span style="color: #3366ff;">8:55pm</span>: The import has finished without issue and the MYOB file seems to be fine. Huzzah!</p>
<p style="text-align: justify;">Now the Accounts Department only has to <em>figure out what other transactions from the last couple of days have been wiped out</em> and then they can continue with their week.</p>
<p style="text-align: justify;"><span style="color: #ff0000;">NOTE</span>: When optimising huge MYOB files, the optimiser doesn&#8217;t seem to be able to calculate the required/free space on the disk correctly. I have been doing all the optimisations on a 50GB drive with upwards of 40GB free space. Each time I have started to optimise a new file (I am using copies, it&#8217;s a long process) the optimiser tells me that there is not enough free space. I copy and paste the file back into its folder (making a duplicate with &#8221; &#8211; Copy&#8221; in the name) and then, suddently, the optimiser will let me process the file. I do not have an explanation for this, but I have noticed this issue for at least the last 3 years.</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2012/04/crossing-the-file-size-line-in-myob/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forensic auditing with triggers</title>
		<link>http://compsyc.com.au/2012/03/forensic-auditing-with-triggers/</link>
		<comments>http://compsyc.com.au/2012/03/forensic-auditing-with-triggers/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 02:36:54 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=350</guid>
		<description><![CDATA[
Detailed auditing can be achieved with table triggers. It tends to add quite a bit of data to your database, as you are essentially making multiple copies of records that already exist, but what if you only need to find the deleted data?
]]></description>
			<content:encoded><![CDATA[<p>Something weird was happening &#8211; Transactions were disappearing; after a while &#8211; Specific transactions.</p>
<p>So we needed to find out, undeniably, who was doing it without alerting them that we knew it was happening. When you discover that data has been obliterated, and have no way to track what has happened, the first thing you need to do is start (silent) auditing and then you have to wait. You have to let them continue to do it, so you have some idea of how long they might have been doing it before they were discovered.</p>
<p>It&#8217;s running on SQL Server so there isn&#8217;t too much of an issue to create a silent audit trail. First create a table for the auditing entries to go in to which, importantly, contains extra fields: altered_at and altered_by.</p>
<pre>CREATE TABLE [dbo].[bookings_audit_trail](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [booking_id] [int] NOT NULL,
...
    [created_by] [varchar](40) NULL,
    [created_at] [datetime] NULL,
    [altered_by] [varchar](40) NOT NULL CONSTRAINT [DF_bookings_audit_trail_created_by]  DEFAULT (suser_sname()),
    [altered_at] [datetime] NOT NULL CONSTRAINT [DF_bookings_audit_trail_created_at]  DEFAULT (getdate()),
 CONSTRAINT [PK_bookings_audit_trail] PRIMARY KEY NONCLUSTERED
(
    [id] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]</pre>
<p>Then create a trigger on the working table that fills the audit table when records are deleted. I have set it to ignore the Administrator account because I know that the system uses that account for clean up of the table (and because I know the Administrator account cannot log in interactively to this system)</p>
<pre>CREATE TRIGGER [dbo].[bookings_deleted]
   ON  [dbo].[bookings]
   AFTER DELETE
AS
BEGIN

    SET NOCOUNT ON;
    IF (system_user != 'Administrator')
    BEGIN
        INSERT INTO
            bookings_audit_trail
            (
                booking_id,
                site_id,
...
                created_by,
                created_at
            )
        SELECT
            id,
            site_id,
...
            created_by,
            created_at
        FROM
            deleted
    END

END</pre>
<p>And now the waiting begins&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2012/03/forensic-auditing-with-triggers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Report Server is not emailing reports</title>
		<link>http://compsyc.com.au/2012/03/report-server-is-not-emailing-reports/</link>
		<comments>http://compsyc.com.au/2012/03/report-server-is-not-emailing-reports/#comments</comments>
		<pubDate>Sun, 25 Mar 2012 02:33:36 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://compsyc.com.au/?p=341</guid>
		<description><![CDATA[
Failure sending mail: The transport lost its connection to the server. That&#8217;s the error message that has been plaguing me (and the support contractor) for two months. Not terribly useful and, according to the internet, there are many, many ways to resolve it. None of which worked in this case. I found the solution while looking [...]
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Failure sending mail: The transport lost its connection to the server.</p></blockquote>
<p>That&#8217;s the error message that has been plaguing me (and the support contractor) for two months. Not terribly useful and, according to the internet, there are many, many ways to resolve it. <em>None of which worked in this case.</em></p>
<p>I found the solution while looking at something else: my laptop was awfully slow to load web sites, on the first load. Subsequent loads were fine, but every time a new domain was resolved, it took a VERY long time to find the IP. So, after a few <a href="en.wikipedia.org/wiki/Nslookup" target="_blank">nslookup</a> requests on the DNS server machine, it became obvious that the DNS forwarders had become rubbish. 8+ seconds to resolve a domain name.</p>
<p><strong>Solution</strong>: Change the DNS forwarder order to use the fastest upstream DNS servers and now we have fast name resolution.</p>
<p>This then resolved the Report Server connection issues (why this would affect sending mail internally, I do not know, but it did).</p>
]]></content:encoded>
			<wfw:commentRss>http://compsyc.com.au/2012/03/report-server-is-not-emailing-reports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
	</channel>
</rss>

