+sub sql {
+ my $dbh = ref($_[0]) ? shift : $::form->get_standard_dbh;
+ my ($query, @args) = @_;
+
+ if ($query =~ m/^\s*select/i) {
+ ptab($dbh->selectall_arrayref($query, { Slice => {} }, @args));
+ } else {
+ $dbh->do($query, { Slice => {} }, @args);
+ }
+}
+
+sub part {
+ require SL::DB::Part;
+ SL::DB::Manager::Part->find_by(@_)
+}
+
+sub order {
+ require SL::DB::Order;
+ SL::DB::Manager::Order->find_by(@_)
+}
+
+sub invoice {
+ require SL::DB::Invoice;
+ SL::DB::Manager::Invoice->find_by(@_)
+}
+
+sub purchase_invoice {
+ require SL::DB::PurchaseInvoice;
+ SL::DB::Manager::PurchaseInvoice->find_by(@_)
+}
+
+sub customer {
+ require SL::DB::Customer;
+ SL::DB::Manager::Customer->find_by(@_)
+}
+
+sub vendor {
+ require SL::DB::Vendor;
+ SL::DB::Manager::Vendor->find_by(@_)
+}
+
+sub chart {
+ require SL::DB::Chart;
+ SL::DB::Manager::Chart->find_by(@_)
+}
+
+sub clock (&) {
+ my $s = [Time::HiRes::gettimeofday()];
+ $_[0]->();
+ Time::HiRes::tv_interval($s);
+}
+
+