You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

547 lines
18 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

unit u_rp_sales_profitLcx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RxLookup, bsSkinCtrls, StdCtrls, wwdbdatetimepicker, XPMenu,
dxExEdtr, dxDBTLCl, dxGrClms, dxDBCtrl, dxDBGrid, dxTL, dxCntner, DB,
ADODB, Menus, kbmMemTable,DateUtils;
type
Tfrm_rp_sales_profitLcx = class(TForm)
bsSkinPanel1: TbsSkinPanel;
Label10: TLabel;
Label5: TLabel;
Label8: TLabel;
Label11: TLabel;
Label16: TLabel;
Label1: TLabel;
Label2: TLabel;
wwDBDateTimePicker3: TwwDBDateTimePicker;
bsSkinButton10: TbsSkinButton;
bsSkinButton9: TbsSkinButton;
bsSkinButton5: TbsSkinButton;
wwDBDateTimePicker1: TwwDBDateTimePicker;
wwDBDateTimePicker2: TwwDBDateTimePicker;
wwDBDateTimePicker4: TwwDBDateTimePicker;
RxDBLookupCombo6: TRxDBLookupCombo;
RxDBLookupCombo1: TRxDBLookupCombo;
RxDBLookupCombo2: TRxDBLookupCombo;
bsSkinButton6: TbsSkinButton;
XPMenu1: TXPMenu;
dxDBGrid1: TdxDBGrid;
Label3: TLabel;
cmbbYwlb: TComboBox;
tv_bscard_all: TADOQuery;
tv_bscard_all1: TDataSource;
dxDBGrid1Column1: TdxDBGridMaskColumn;
dxDBGrid1Column3: TdxDBGridMaskColumn;
dxDBGrid1Column4: TdxDBGridMaskColumn;
dxDBGrid1Column5: TdxDBGridMaskColumn;
dxDBGrid1Column6: TdxDBGridDateColumn;
dxDBGrid1Column7: TdxDBGridMaskColumn;
dxDBGrid1Column8: TdxDBGridMaskColumn;
dxDBGrid1Column9: TdxDBGridMaskColumn;
dxDBGrid1Column10: TdxDBGridMaskColumn;
dxDBGrid1Column11: TdxDBGridMaskColumn;
dxDBGrid1Column12: TdxDBGridMaskColumn;
dxDBGrid1Column13: TdxDBGridMaskColumn;
dxDBGrid1Column14: TdxDBGridDateColumn;
dxDBGrid1Column15: TdxDBGridMaskColumn;
dxDBGrid1Column16: TdxDBGridMaskColumn;
dxDBGrid1Column17: TdxDBGridMaskColumn;
dxDBGrid1Column18: TdxDBGridMaskColumn;
dxDBGrid1Column20: TdxDBGridMaskColumn;
dxDBGrid1Column21: TdxDBGridDateColumn;
dxDBGrid1Column22: TdxDBGridMaskColumn;
dxDBGrid1Column23: TdxDBGridMaskColumn;
dxDBGrid1Column24: TdxDBGridMaskColumn;
dxDBGrid1Column25: TdxDBGridMaskColumn;
dxDBGrid1Column31: TdxDBGridMaskColumn;
dxDBGrid1Column32: TdxDBGridMaskColumn;
dxDBGrid1Column40: TdxDBGridMaskColumn;
dxDBGrid1Column41: TdxDBGridMaskColumn;
dxDBGrid1Column68: TdxDBGridMaskColumn;
dxDBGrid1Column83: TdxDBGridMaskColumn;
PopupMenu2: TPopupMenu;
N10: TMenuItem;
MenuItem1: TMenuItem;
N14: TMenuItem;
N13: TMenuItem;
N12: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
dxDBGrid1Column94: TdxDBGridColumn;
dxDBGrid1Column19: TdxDBGridColumn;
dxDBGrid1USD: TdxDBGridColumn;
dxDBGrid1Column71: TdxDBGridColumn;
dxDBGrid1Column72: TdxDBGridColumn;
dxDBGrid1Column73: TdxDBGridColumn;
dxDBGrid1Column74: TdxDBGridColumn;
dxDBGrid1RMB: TdxDBGridColumn;
dxDBGrid1Column76: TdxDBGridColumn;
dxDBGrid1Column77: TdxDBGridColumn;
dxDBGrid1Column78: TdxDBGridColumn;
dxDBGrid1Column79: TdxDBGridColumn;
dxDBGrid1Column80: TdxDBGridColumn;
dxDBGrid1Column81: TdxDBGridColumn;
dxDBGrid1Column82: TdxDBGridColumn;
dxDBGrid1Column84: TdxDBGridColumn;
dxDBGrid1Column85: TdxDBGridColumn;
memTblCustDetail: TkbmMemTable;
dsrTblCustDetal: TDataSource;
memTblCustDetailField2: TStringField;
memTblCustDetailField3: TStringField;
memTblCustDetailField4: TStringField;
memTblCustDetailField5: TStringField;
memTblCustDetailField6: TStringField;
memTblCustDetailField9: TStringField;
memTblCustDetailField8: TIntegerField;
memTblCustDetailField10: TStringField;
memTblCustDetailField11: TStringField;
memTblCustDetailField12: TStringField;
memTblCustDetailField13: TStringField;
memTblCustDetailField14: TStringField;
memTblCustDetailField16: TStringField;
memTblCustDetailField17: TStringField;
memTblCustDetailField18: TIntegerField;
memTblCustDetailField19: TStringField;
memTblCustDetailField20: TFloatField;
memTblCustDetailField21: TStringField;
memTblCustDetailField23: TStringField;
memTblCustDetailField24: TStringField;
memTblCustDetailField25: TStringField;
memTblCustDetailField26: TStringField;
memTblCustDetailField27: TStringField;
memTblCustDetailField28: TStringField;
memTblCustDetailField29: TStringField;
memTblCustDetailField30: TStringField;
memTblCustDetailField31: TStringField;
memTblCustDetailUSD: TFloatField;
memTblCustDetailUSD2: TFloatField;
memTblCustDetailUSD3: TFloatField;
memTblCustDetailUSD4: TFloatField;
memTblCustDetailUSD5: TFloatField;
memTblCustDetailRMB: TFloatField;
memTblCustDetailRMB2: TFloatField;
memTblCustDetailRMB3: TFloatField;
memTblCustDetailRMB4: TFloatField;
memTblCustDetailRMB5: TFloatField;
memTblCustDetailField32: TFloatField;
memTblCustDetailField33: TFloatField;
memTblCustDetailField34: TFloatField;
memTblCustDetailField35: TFloatField;
memTblCustDetailField36: TFloatField;
memTblCustDetailField37: TStringField;
memTblCustDetailField38: TFloatField;
memTblCustDetailField: TDateTimeField;
memTblCustDetailField7: TDateTimeField;
memTblCustDetailField15: TDateTimeField;
dxDBGrid1Column47: TdxDBGridColumn;
bsSkinCheckRadioBox1: TbsSkinCheckRadioBox;
bsSkinCheckRadioBox2: TbsSkinCheckRadioBox;
memTblCustDetailField22: TStringField;
dxDBGrid1Column48: TdxDBGridColumn;
bsSkinCheckRadioBox3: TbsSkinCheckRadioBox;
memTblCustDetailField39: TDateTimeField;
Label4: TLabel;
wwDBDateTimePicker5: TwwDBDateTimePicker;
Label6: TLabel;
wwDBDateTimePicker6: TwwDBDateTimePicker;
dxDBGrid1Column49: TdxDBGridColumn;
RxDBLookupCombo15: TRxDBLookupCombo;
RxDBLookupCombo12: TRxDBLookupCombo;
Label23: TLabel;
Label40: TLabel;
Label21: TLabel;
RxDBLookupCombo20: TRxDBLookupCombo;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinButton3: TbsSkinButton;
dxDBGrid1Column50: TdxDBGridCheckColumn;
memTblCustDetailFEE2: TIntegerField;
memTblCustDetailField40: TStringField;
dxDBGrid1Column51: TdxDBGridColumn;
procedure bsSkinButton5Click(Sender: TObject);
procedure bsSkinButton10Click(Sender: TObject);
procedure bsSkinButton6Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N10Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure bsSkinButton9Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure dxDBGrid1DblClick(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
procedure dxDBGrid1CustomDraw(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
const AText: String; AFont: TFont; var AColor: TColor; ASelected,
AFocused: Boolean; var ADone: Boolean);
private
function getlx(etd:TDate;bsno,saleid:string):double;
{ Private declarations }
public
{ Public declarations }
procedure UpdateBsProfit(bstype,bsno:String;fee:integer);
end;
var
frm_rp_sales_profitLcx: Tfrm_rp_sales_profitLcx;
implementation
{$R *.dfm}
uses u_main, my_sys_function, u_rp_totaljs_query;
procedure Tfrm_rp_sales_profitLcx.UpdateBsProfit(bstype,bsno:String;fee:integer);
var
aQuery:TADOQuery;
tblname:string;
begin
tblname:='';
if bstype='<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>' then tblname:='t_op_seae'
else if bstype='<27><><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>' then tblname:='t_op_seai'
else if bstype='<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>' then tblname:='t_op_Aire'
else if bstype='<27><><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>' then tblname:='t_op_Airi';
if tblname='' then exit;
aQuery:=CreateAdoQuery;
with aQuery do
try
Close;SQL.Clear;
SQL.Add('update '+tblname +' set Fee2=:fee');
SQL.Add('where <20><><EFBFBD><EFBFBD>=:bsno');
Parameters.ParamByName('bsno').Value:=bsno;
Parameters.ParamByName('fee').Value:=fee;
Execsql;
finally
FreeAndNil(aQuery);
end;
end;
function Tfrm_rp_sales_profitLcx.getlx(etd:TDate;bsno,saleid:string):double;
var
aQuery,aQuery2:TAdoQuery;
d:integer;
lx:real;
begin
aQuery:=CreateAdoQuery;
aQuery2:=CreateAdoQuery;
result:=0;
try
with aQuery do begin
close;sql.clear;
sql.Add('select * from t_crm_saleslxSet where <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=(select <20><><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD> from t_sys_employee where <20><><EFBFBD><EFBFBD>='''+saleid+''') order by <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>');
open;
if IsEmpty then begin
result:=0;
exit;
end else begin
aQuery2.close;aQuery2.sql.clear;
aQuery2.sql.Add('select sum(ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD>) as <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> from v_fee_do_detail where <20><><EFBFBD><EFBFBD>=''<27><>'' and <20><><EFBFBD><EFBFBD>='''+bsno+'''');
aQuery2.sql.Add('group by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
aQuery2.Open;
aQuery2.First;
while not aQuery2.Eof do begin
if aQuery2.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsDateTime>etd then begin
d:=abs(daysbetween(etd,aQuery2.FieldByName('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsDateTime));
first;
lx:=0.00;
while not eof do begin
if (d>=fieldbyname('<27><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>').asinteger) and (d<=fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asinteger) then begin
lx:=fieldbyname('<27><>Ϣ<EFBFBD>ٷֱ<D9B7>').asfloat;
result:=result+(aQuery2.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat*lx/100*(d-fieldbyname('<27><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>').asinteger));
end else begin
if d>fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asinteger then begin
lx:=fieldbyname('<27><>Ϣ<EFBFBD>ٷֱ<D9B7>').asfloat;
result:=result+(aQuery2.fieldbyname('<27><><EFBFBD><EFBFBD>').asfloat*lx/100*(fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asinteger-fieldbyname('<27><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>').asinteger));
end;
end;
next;
end;
end;
aQuery2.Next;
end;
end;
end;
finally
FreeAndNil(aQuery);
FreeAndNil(aQuery2);
end;
end;
procedure Tfrm_rp_sales_profitLcx.bsSkinButton5Click(Sender: TObject);
begin
close ;
end;
procedure Tfrm_rp_sales_profitLcx.bsSkinButton10Click(Sender: TObject);
begin
if bsSkinCheckRadioBox2.Checked then begin
if (wwDBDateTimePicker5.text='')or (wwDBDateTimePicker5.text='') then begin
MessageDlg('<27><><EFBFBD><EFBFBD>ͳ<EFBFBD>ƵĿ<C6B5><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>',mtWarning,[mbok],0);
end;
end;
with tv_bscard_all,sql do
begin
close ; clear ;
add('SELECT V_op_bscard.*, v_fee_do_max.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM V_op_bscard ');
add('left join v_fee_do_max on v_fee_do_max.<2E><><EFBFBD><EFBFBD>=V_op_bscard.<2E><><EFBFBD><EFBFBD> ');
add('where 1=1');
if bsSkinCheckRadioBox1.Checked then begin
add(' and (v_op_bscard.<2E>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>=v_op_bscard.<2E>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD>) and (v_op_bscard.<2E>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6><>0)');
end;
case cmbbYwlb.ItemIndex of
1:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>'''+')');
2:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>'''+')');
3:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>'''+')');
4:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>'''+')');
end ;
if wwDBDateTimePicker1.text<>''then
begin
add(' and v_fee_do_max.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >='+''''+wwDBDateTimePicker1.text+'''');
end ;
if wwDBDateTimePicker2.text<>''then
begin
add(' and v_fee_do_max.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <='+''''+wwDBDateTimePicker2.text+' 23:59:59 ''');
end ;
if wwDBDateTimePicker3.text<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>>='+''''+wwDBDateTimePicker3.text+'''');
if wwDBDateTimePicker4.text<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><='+''''+wwDBDateTimePicker4.text+'''');
if RxDBLookupCombo6.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD>Ա='+''''+RxDBLookupCombo6.DisplayValue+'''');
if RxDBLookupCombo1.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo1.DisplayValue+'''');
if RxDBLookupCombo2.DisplayValue<>''then
add(' and V_op_bscard.¼<><C2BC><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo2.DisplayValue+'''');
if RxDBLookupCombo12.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD>۲<EFBFBD><DBB2><EFBFBD>='+''''+RxDBLookupCombo12.DisplayValue+'''');
if RxDBLookupCombo15.DisplayValue<>''then
add(' and V_op_bscard.<2E>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo15.DisplayValue+'''');
if RxDBLookupCombo20.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo20.DisplayValues[1]+'''');
add(' and '+open_data('0021','v_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','no','no','no','no'));
if bsSkinCheckRadioBox2.Checked then begin
add('union SELECT V_op_bscard.*, v_fee_do_max.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM V_op_bscard ');
add('left join v_fee_do_max on v_fee_do_max.<2E><><EFBFBD><EFBFBD>=V_op_bscard.<2E><><EFBFBD><EFBFBD> ');
add('where 1=1');
add(' and v_op_bscard.<2E>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>=0 ');
if wwDBDateTimePicker5.text<>''then
begin
add(' and v_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >='+''''+wwDBDateTimePicker5.text+'''');
end;
if wwDBDateTimePicker6.text<>''then
begin
add(' and v_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <='+''''+wwDBDateTimePicker6.text+'''');
end;
// add(')');
if RxDBLookupCombo6.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD>Ա='+''''+RxDBLookupCombo6.DisplayValue+'''');
if RxDBLookupCombo1.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo1.DisplayValue+'''');
if RxDBLookupCombo2.DisplayValue<>''then
add(' and V_op_bscard.¼<><C2BC><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo2.DisplayValue+'''');
if RxDBLookupCombo20.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo20.DisplayValues[1]+'''');
case cmbbYwlb.ItemIndex of
1:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>'''+')');
2:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>'''+')');
3:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>'''+')');
4:add('and (V_op_bscard.ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ='+'''<27><><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>'''+')');
end ;
if RxDBLookupCombo12.DisplayValue<>''then
add(' and V_op_bscard.<2E><><EFBFBD>۲<EFBFBD><DBB2><EFBFBD>='+''''+RxDBLookupCombo12.DisplayValue+'''');
if RxDBLookupCombo15.DisplayValue<>''then
add(' and V_op_bscard.<2E>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>='+''''+RxDBLookupCombo15.DisplayValue+'''');
add(' and '+open_data('0021','v_op_bscard.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','no','no','no','no'));
end;
open ;
memTblCustDetail.LoadFromDataSet(tv_bscard_all,[]);
if bsSkinCheckRadioBox3.Checked then begin
with memTblCustDetail do begin
First;
while not eof do begin
if Fieldbyname('<27>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>').Asfloat<>0 then begin
edit;
fieldbyname('<27><><EFBFBD><EFBFBD>Ϣ').AsFloat:=getlx(fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsDateTime,fieldbyname('<27><><EFBFBD><EFBFBD>').asstring,fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring);
post;
end;
Next;
end;
end;
end;
end ;
end;
procedure Tfrm_rp_sales_profitLcx.bsSkinButton6Click(Sender: TObject);
begin
wwDBDateTimePicker1.Clear;
wwDBDateTimePicker2.Clear;
wwDBDateTimePicker3.Clear;
wwDBDateTimePicker4.Clear;
RxDBLookupCombo6.ClearValue;
RxDBLookupCombo1.ClearValue;
RxDBLookupCombo2.ClearValue;
cmbbYwlb.ItemIndex:=-1 ;
end;
procedure Tfrm_rp_sales_profitLcx.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
savereggrid(dxdbgrid1,caption);
frm_rp_sales_profitLcx.Hide;
frm_rp_sales_profitLcx.ManualFloat(frm_rp_sales_profitLcx.BoundsRect );
frm_main.freeTabs('frm_rp_sales_profitLcx');
action:=cafree;
frm_rp_sales_profitLcx:=nil;
end;
procedure Tfrm_rp_sales_profitLcx.N10Click(Sender: TObject);
begin
update_grid_view_no(dxdbgrid1);
end;
procedure Tfrm_rp_sales_profitLcx.N14Click(Sender: TObject);
begin
update_grid_view_all(dxdbgrid1);
end;
procedure Tfrm_rp_sales_profitLcx.N12Click(Sender: TObject);
begin
update_grid(dxdbgrid1,111);
end;
procedure Tfrm_rp_sales_profitLcx.N16Click(Sender: TObject);
begin
grid_save_xls(dxdbgrid1);
end;
procedure Tfrm_rp_sales_profitLcx.bsSkinButton9Click(Sender: TObject);
begin
sys_print('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3>',2,nil,nil,nil,nil,dsrTblCustDetal,nil,nil,nil,nil,nil,nil);
end;
procedure Tfrm_rp_sales_profitLcx.FormShow(Sender: TObject);
begin
loadreggrid(dxdbgrid1,true,caption);
end;
procedure Tfrm_rp_sales_profitLcx.bsSkinButton1Click(Sender: TObject);
begin
try
frm_rp_totaljs_query:=tfrm_rp_totaljs_query.Create (self);
rp_totaljs_query_limited:='0021';
rp_totaljs_query_str:='ҵ<><D2B5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
frm_rp_totaljs_query.ShowModal;
finally
FreeAndNil(frm_rp_totaljs_query);
end;
if tv_bscard_all.Recordset.RecordCount<>0 then begin
memTblCustDetail.LoadFromDataSet(tv_bscard_all,[]);
if bsSkinCheckRadioBox3.Checked then begin
with memTblCustDetail do begin
First;
while not eof do begin
if Fieldbyname('<27>ϼ<EFBFBD>Ӧ<EFBFBD><D3A6>').Asfloat<>0 then begin
edit;
fieldbyname('<27><><EFBFBD><EFBFBD>Ϣ').AsFloat:=getlx(fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').AsDateTime,fieldbyname('<27><><EFBFBD><EFBFBD>').asstring,fieldbyname('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring);
post;
end;
Next;
end;
end;
end;
end;
end;
procedure Tfrm_rp_sales_profitLcx.dxDBGrid1DblClick(Sender: TObject);
begin
fee_view(memTblCustDetail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring);
end;
procedure Tfrm_rp_sales_profitLcx.bsSkinButton2Click(Sender: TObject);
var i:integer;
begin
if not if_open('405') then
begin
showmessage('<27><>û<EFBFBD>д<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD>,<2C><><EFBFBD><EFBFBD>ϵϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>Ա,Ȩ<><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---><3E><><EFBFBD>۹<EFBFBD><DBB9><EFBFBD>---><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
exit;
end;
if dxDBGrid1.SelectedCount>=1 then
begin
for i:=0 to dxDBGrid1.SelectedCount-1 do
begin
memTblCustDetail.GotoBookmark(pointer(dxDBGrid1.selectedrows[i]));
UpdateBsProfit(memTblCustDetail.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring,memTblCustDetail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring,1);
memTblCustDetail.Edit;
memTblCustDetail.fieldbyname('FEE2').AsString:='1';
memTblCustDetail.Post;
end;
end;
end;
procedure Tfrm_rp_sales_profitLcx.bsSkinButton3Click(Sender: TObject);
var i:integer;
begin
if not if_open('406') then
begin
showmessage('<27><>û<EFBFBD>д<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD>,<2C><><EFBFBD><EFBFBD>ϵϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>Ա,Ȩ<><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---><3E><><EFBFBD>۹<EFBFBD><DBB9><EFBFBD>--->ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
exit;
end;
if dxDBGrid1.SelectedCount>=1 then
begin
for i:=0 to dxDBGrid1.SelectedCount-1 do
begin
memTblCustDetail.GotoBookmark(pointer(dxDBGrid1.selectedrows[i]));
UpdateBsProfit(memTblCustDetail.fieldbyname('ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>').asstring,memTblCustDetail.fieldbyname('<27><><EFBFBD><EFBFBD>').asstring,0);
memTblCustDetail.Edit;
memTblCustDetail.fieldbyname('FEE2').AsString:='0';
memTblCustDetail.Post;
end;
end;
end;
procedure Tfrm_rp_sales_profitLcx.dxDBGrid1CustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
begin
if uppercase(ANode.Strings[dxDBGrid1Column50.Index])='1' then begin
AColor:=clRed;
exit;
end;
end;
end.