summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-10-18 00:44:57 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-10-18 00:44:57 +0000
commite20e7a6e47760d0e8561ae7d13a29ddc24330b68 (patch)
treec3e5f6de5ed65d337978f2df69c2e785bfa362f9 /bin
parent9af6ae6be1019ea656a101dfe7b66709f82f68ca (diff)
POS Fixes:
1: Drawer opening now uses correct printer designation 2: Change issued is now entered with correct memo field. 3: Closing tell report works as advertised git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1781 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'bin')
-rw-r--r--bin/is.pl2
-rw-r--r--bin/pos.pl53
-rw-r--r--bin/rc.pl2
3 files changed, 40 insertions, 17 deletions
diff --git a/bin/is.pl b/bin/is.pl
index 21502022..edb2f0f0 100644
--- a/bin/is.pl
+++ b/bin/is.pl
@@ -53,6 +53,7 @@ require "bin/io.pl";
1;
# end of main
+sub on_update{}
sub add {
if ($form->{type} eq 'credit_invoice'){
@@ -831,6 +832,7 @@ qq|<td align=center><input name="memo_$i" size=11 value="$form->{"memo_$i"}"></t
}
sub update {
+ on_update();
$form->{taxes} = {};
$form->{exchangerate} =
$form->parse_amount( \%myconfig, $form->{exchangerate} );
diff --git a/bin/pos.pl b/bin/pos.pl
index cbc3ddea..92b68e72 100644
--- a/bin/pos.pl
+++ b/bin/pos.pl
@@ -45,9 +45,38 @@ use Error qw(:try);
use LedgerSMB::Template;
use LedgerSMB::Tax;
+$form->{currency} = 'USD';
1;
# end
+sub custom_send_to_pd{
+ socket(SOCK, 2, 1, getprotobynumber($pos_config{'pd_proto'}));
+ connect(SOCK, $pos_config{'pd_dest'});
+ my $rn = $numrows - 1;
+ my $ds_string = sprintf (
+ '%s%s @ $%-7.2f%s%s%s',
+ $pd_control{'new_line'},
+ $form->{"qty_$rn"},
+ $form->{"sellprice_$rn"},
+ $pd_control{'new_line'},
+ "Subtotal: \$".sprintf('%-7.2f', $form->{'invtotal'})
+ );
+ print SOCK $ds_string;
+ close SOCK;
+}
+
+sub on_update{
+ &custom_send_to_pd;
+ &custom_check_alert;
+}
+
+sub open_drawer{
+ require "pos.conf.pl";
+ open (PRINTER, "|-", ${'LedgerSMB::Sysconfig::printer'}{Printer});
+ print PRINTER $pos_config{'rp_cash_open'};
+ close PRINTER;
+ sleep 1;
+}
sub check_alert {
my $rc = $form->{'rowcount'};
@@ -80,14 +109,7 @@ sub on_update {
&check_alert;
}
-sub open_drawer {
- open( PRINTER, "|-", ${LedgerSMB::Sysconfig::printer}{Printer} );
- print PRINTER $pos_config{'rp_cash_open'};
- close PRINTER;
- sleep 1;
-}
-
-sub open {
+sub open_till {
&open_drawer;
&update;
}
@@ -606,12 +628,10 @@ qq|<td><select name="AR_paid_$i">$form->{"selectAR_paid_$i"}</select></td>|;
%button = (
'update' =>
{ ndx => 1, key => 'U', value => $locale->text('Update') },
- 'print' =>
- { ndx => 2, key => 'P', value => $locale->text('Print') },
- 'post' => { ndx => 3, key => 'O', value => $locale->text('Post') },
+ 'open_till' => { ndx => 3, key => 'O', value => $locale->text('Open Till') },
'print_and_post' => {
ndx => 4,
- key => 'R',
+ key => 'P',
value => $locale->text('Print and Post')
},
'delete' =>
@@ -676,7 +696,6 @@ qq| <button class="submit" type="submit" name="action" value="$spc$item">$spc$it
sub post {
- $form->{media} = 'Printer';
$form->isblank( "customer", $locale->text('Customer missing!') );
# if oldcustomer ne customer redo form
@@ -689,7 +708,6 @@ sub post {
}
&validate_items;
- &print;
$form->isblank( "exchangerate", $locale->text('Exchange rate missing!') )
if ( $form->{currency} ne $form->{defaultcurrency} );
@@ -709,7 +727,7 @@ sub post {
++$form->{paidaccounts};
my $pa = $form->{paidaccounts};
$form->{"paid_$pa"} = $total - $paid;
- $form->{"source_$pa"} = 'cash';
+ $form->{"memo_$pa"} = 'cash';
$form->{"exchangerate_$pa"} = 0;
$form->{"AR_paid_$pa"} = $form->{AR_paid_1};
}
@@ -887,7 +905,10 @@ qq|<td><input name="description_$i" size=48 value="$form->{"description_$i"}"></
}
+
sub print {
+ open_drawer();
+ sleep 1;
if ( !$form->{invnumber} ) {
$form->{invnumber} = $form->update_defaults( \%myconfig, 'sinumber' );
}
@@ -1041,7 +1062,7 @@ sub print_form {
}
sub print_and_post {
-
+ $form->{media} = 'Printer';
$form->error( $locale->text('Select a Printer!') )
if ( $form->{media} eq 'screen' );
$form->{printandpost} = 1;
diff --git a/bin/rc.pl b/bin/rc.pl
index 8f331a3b..68bcd9ca 100644
--- a/bin/rc.pl
+++ b/bin/rc.pl
@@ -236,7 +236,7 @@ sub till_closing {
foreach $source ( sort keys %pos_sources ) {
$amount = 0;
foreach $ref ( @{ $form->{TB} } ) {
- if ( $ref->{source} eq $source ) {
+ if ( $ref->{memo} eq $source ) {
$amount = $ref->{amount} * -1;
last;
}