فهرست منبع

Merge branch 'BGL_System'

Conflicts:
	Dprs/Pro/Measure.dof
	Dprs/Pro/Measure.res
	Dprs/Pro/Measure_Cloud.dof
	Dprs/Pro/Measure_Cloud.res
	Dprs/Pro/Measure_GuangDong.dof
	Dprs/Pro/Measure_GuangDong.res
	Dprs/Pro/Measure_GuangDong_Cloud.dof
	Dprs/Pro/Measure_GuangDong_Cloud.res
MaiXinRong 7 سال پیش
والد
کامیت
2c608499e0

+ 13 - 0
DataModules/BGLDm.dfm

@@ -61,12 +61,19 @@ object BGLData: TBGLData
       FieldName = 'BGLType'
       Size = 10
     end
+    object cdsBGLIsCloud: TBooleanField
+      FieldName = 'IsCloud'
+    end
+    object cdsBGLWebID: TIntegerField
+      FieldName = 'WebID'
+    end
   end
   object cdsBGLView: TClientDataSet
     Aggregates = <>
     Params = <>
     BeforePost = cdsBGLViewBeforePost
     BeforeDelete = cdsBGLViewBeforeDelete
+    AfterScroll = cdsBGLViewAfterScroll
     OnNewRecord = cdsBGLViewNewRecord
     Left = 96
     Top = 128
@@ -111,6 +118,12 @@ object BGLData: TBGLData
       FieldName = 'BGLType'
       Size = 10
     end
+    object cdsBGLViewIsCloud: TBooleanField
+      FieldName = 'IsCloud'
+    end
+    object cdsBGLViewWebID: TIntegerField
+      FieldName = 'WebID'
+    end
   end
   object dsBGL: TDataSource
     DataSet = cdsBGLView

+ 135 - 1
DataModules/BGLDm.pas

@@ -7,6 +7,8 @@ uses
   sdDB;
 
 type
+  TAfterCurrentBGLChanged = procedure of object;
+
   TBGLSelectInfo = class(TObject)
   private
     FB_Code: string;
@@ -96,6 +98,10 @@ type
     cdsBGBillsViewQuantity: TFloatField;
     cdsBGBillsViewTotalPrice: TFloatField;
     cdsBGBillsViewUsedQuantity: TFloatField;
+    cdsBGLIsCloud: TBooleanField;
+    cdsBGLWebID: TIntegerField;
+    cdsBGLViewIsCloud: TBooleanField;
+    cdsBGLViewWebID: TIntegerField;
     procedure cdsBGBillsViewAfterInsert(DataSet: TDataSet);
     procedure cdsBGBillsViewAfterPost(DataSet: TDataSet);
     procedure cdsBGBillsViewQuantityChange(Sender: TField);
@@ -110,8 +116,10 @@ type
     procedure cdsBGBillsViewPriceSetText(Sender: TField;
       const Text: String);
     procedure cdsBGLViewCodeChange(Sender: TField);
+    procedure cdsBGLViewAfterScroll(DataSet: TDataSet);
   private
     FProjectData: TObject;
+    FAfterCurrentBGLChanged: TAfterCurrentBGLChanged;
 
     procedure GatherBGLTotalPrice(ABGLID: Integer);
     procedure UpdateBGLTotalPrice(ABGLID: Integer; ADiffer: Double);
@@ -134,20 +142,26 @@ type
     procedure Close;
     procedure Save;
 
+    function GetBGLCanEdit(ASerialNo: Integer): Boolean;
+
     function AllBGLTotalPrice: Double;
 
+    function AllCloudBGLWebID: string;
+    procedure LoadCloudBGL(const ABGLs: string);
+
     procedure AddBGL(const sCode: string);
     procedure ApplyBGL(AOrgBGL, ANewBGL: TBGLSelectInfo); overload;
 
     procedure BatchWritePos_Reason;
 
     property ProjectData: TObject read FProjectData;
+    property AfterCurrentBGLChanged: TAfterCurrentBGLChanged read FAfterCurrentBGLChanged write FAfterCurrentBGLChanged;
   end;
 
 implementation
 
 uses
-  ZhAPI, Math, ProjectData, BillsDm, Variants, UtilMethods;
+  ZhAPI, Math, ProjectData, BillsDm, Variants, UtilMethods, superobject;
 
 {$R *.dfm}
 
@@ -426,6 +440,14 @@ var
   iIncrement: Integer;
   sNewCode: string;
 begin
+  if cdsBGLViewIsCloud.AsBoolean then
+  begin
+    cdsBGLViewCode.Tag := 0;
+    WarningMessage('当前变更令不允许编辑。');
+    DataSet.Cancel;
+    Abort;
+  end;
+
   // 变更令号不可为空
   if cdsBGLViewCode.AsString = '' then
   begin
@@ -486,6 +508,8 @@ procedure TBGLData.cdsBGLViewBeforeDelete(DataSet: TDataSet);
 begin
   if CheckBGLUsed(cdsBGLViewID.AsInteger) then
     raise Exception.Create('变更令下变更清单已被应用到清单,不可删除!');
+  if cdsBGLViewIsCloud.AsBoolean then
+    raise Exception.Create('云端获取的变更令不允许删除!');
   DeleteBGBills(cdsBGLViewID.AsInteger);
 end;
 
@@ -511,6 +535,8 @@ procedure TBGLData.cdsBGBillsViewBeforeDelete(DataSet: TDataSet);
 begin
   if cdsBGBillsViewUsedQuantity.AsFloat <> 0 then
     raise Exception.Create('变更清单已被应用至清单,不可删除!');
+  if cdsBGLViewIsCloud.AsBoolean then
+    raise Exception.Create('云端获取的变更清单不允许删除!');
 end;
 
 function TBGLData.CheckBGLUsed(ABGID: Integer): Boolean;
@@ -652,4 +678,112 @@ begin
   end;
 end;
 
+function TBGLData.AllCloudBGLWebID: string;
+begin
+  Result := '';
+  cdsBGL.First;
+  while not cdsBGL.Eof do
+  begin
+   if cdsBGLIsCloud.AsBoolean then
+   begin
+    if Result = '' then
+      Result := IntToStr(cdsBGLWebID.AsInteger)
+    else
+      Result := Result + ',' + IntToStr(cdsBGLWebID.AsInteger);
+   end;
+   cdsBGL.Next;
+  end;
+end;
+
+procedure TBGLData.LoadCloudBGL(const ABGLs: string);
+
+  procedure AddCloudBGLBills(ABGLID: Integer; ABGBills: ISuperObject);
+  var
+    i, iNewID: Integer;
+    vJ: ISuperObject;
+  begin
+    for i := 0 to ABGBills.AsArray.Length - 1 do
+    begin
+      iNewID := GetNewIDOfIndex(cdsBGBills);
+      vJ := ABGBills.AsArray.O[i];
+      cdsBGBills.Append;
+      cdsBGBillsID.AsInteger := iNewID;
+      cdsBGBillsBGID.AsInteger := ABGLID;
+      cdsBGBillsB_Code.AsString := vJ.S['lnum'];
+      cdsBGBillsName.AsString := vJ.S['lname'];
+      cdsBGBillsUnits.AsString := vJ.S['unit'];
+      cdsBGBillsPrice.AsFloat := vJ.D['unitprice'];
+      cdsBGBillsQuantity.AsFloat := vJ.D['samount'];
+      cdsBGBillsTotalPrice.AsFloat := TotalPriceRoundTo(cdsBGBillsPrice.AsFloat * cdsBGBillsQuantity.AsFloat);
+      cdsBGBills.Post;
+      UpdateBGLTotalPrice(ABGLID, cdsBGBillsTotalPrice.AsFloat);
+    end;
+  end;
+
+  procedure AddCloudBGL(ABGL: ISuperObject);
+  var
+    iNewID, iCreatePhaseID: Integer;
+    vBGBills: ISuperObject;
+  begin
+    iNewID := GetNewIDOfIndex(cdsBGL);
+    iCreatePhaseID := TProjectData(FProjectData).PhaseIndex;
+    cdsBGL.Append;
+    cdsBGLID.AsInteger := iNewID;
+    cdsBGLCode.AsString := ABGL.S['pnum'];
+    cdsBGLName.AsString := ABGL.S['pname'];
+    cdsBGLPos_Reason.AsString := ABGL.S['description'];
+    cdsBGLDirection.AsString := ABGL.S['basis'];
+    cdsBGLDrawingCode.AsString := ABGL.S['cnum'];
+    cdsBGLApprovalCode.AsString := ABGL.S['bnum'];
+    cdsBGLCreatePhaseID.AsInteger := iCreatePhaseID;
+    cdsBGLBGLType.AsString := ABGL.S['changeNature'];
+    cdsBGLIsCloud.AsBoolean := True;
+    cdsBGLWebID.AsInteger := ABGL.I['cid'];
+    cdsBGL.Post;
+    AddCloudBGLBills(iNewID, ABGL.O['changeBills']);
+  end;
+
+var
+  vJ: ISuperObject;
+  i: Integer;
+begin
+  vJ := SO(ABGLs);
+  try
+    if not Assigned(vJ.AsArray) then Exit;
+    for i := 0 to vJ.AsArray.Length - 1 do
+      AddCloudBGL(vJ.AsArray.O[i]);
+  finally
+    vJ := nil;
+  end;
+end;
+
+function TBGLData.GetBGLCanEdit(ASerialNo: Integer): Boolean;
+var
+  i: Integer;
+  bk: TBookmark;
+begin
+  cdsBGLView.DisableControls;
+  bk := cdsBGLView.GetBookmark;
+  cdsBGLView.First;
+  i := 0;
+  while (i < ASerialNo) and not cdsBGLView.Eof do
+  begin
+    cdsBGLView.Next;
+    Inc(i);
+  end;
+  if i = ASerialNo then
+    Result := not cdsBGLViewIsCloud.AsBoolean
+  else
+    Result := False;
+  cdsBGLView.GotoBookmark(bk);
+  cdsBGLView.FreeBookmark(bk);
+  cdsBGLView.EnableControls;
+end;
+
+procedure TBGLData.cdsBGLViewAfterScroll(DataSet: TDataSet);
+begin
+  if Assigned(FAfterCurrentBGLChanged) then
+    FAfterCurrentBGLChanged;
+end;
+
 end.

+ 31 - 1
DataModules/BillsGatherDm.pas

@@ -36,6 +36,7 @@ type
     destructor Destroy; override;
 
     procedure RefreshBills;
+    function GetAllBillsJson: string;
 
     property ProjectData: TObject read FProjectData;
     property MainBillsTree: TsdIDTree read GetMainBillsTree;
@@ -44,7 +45,7 @@ type
 implementation
 
 uses
-  ProjectData, PhaseData, StageDm, BillsDm, UtilMethods,
+  ProjectData, PhaseData, StageDm, BillsDm, UtilMethods, superobject,
   ZhAPI, BillsCompileDm, DealBillsDm, BGLDm, BillsTree, BillsMeasureDm;
 
 {$R *.dfm}
@@ -399,4 +400,33 @@ begin
     Text := '';
 end;
 
+function TBillsGatherData.GetAllBillsJson: string;
+
+  function GetBillsJson(Rec: TsdDataRecord): ISuperObject;
+  begin
+    Result := SO;
+    Result.S['lnum'] := Rec.ValueByName('B_Code').AsString;
+    Result.S['lname'] := Rec.ValueByName('Name').AsString;
+    Result.S['unit'] := Rec.ValueByName('Units').AsString;
+    Result.D['unitprice'] := Rec.ValueByName('Price').AsFloat;
+    Result.D['amount'] := Rec.ValueByName('DealQuantity').AsFloat;
+  end;
+
+var
+  vJa, vJbills: ISuperObject;
+  i: Integer;
+  Rec: TsdDataRecord;
+begin
+  vJa := SA([]);
+  try
+    for i := 0 to sddGclBills.RecordCount - 1 do
+    begin
+      Rec := sddGclBills.Records[i];
+      vJa.AsArray.Add(GetBillsJson(Rec));
+    end;
+  finally
+    Result := vJa.AsJSon;
+  end;
+end;
+
 end.

+ 23 - 18
DataModules/DealBillsDm.dfm

@@ -18,24 +18,29 @@ object DealBillsData: TDealBillsData
     FieldListData = {
       0101044E616D6506024944094669656C644E616D650602494408446174615479
       70650203084461746153697A6502040549734B6579080F4E65656450726F6365
-      73734E616D65090001044E616D650606425F436F6465094669656C644E616D65
-      0606425F436F64650844617461547970650201084461746153697A6503FF0005
-      49734B6579080F4E65656450726F636573734E616D65090001044E616D650604
-      4E616D65094669656C644E616D6506044E616D65084461746154797065021808
-      4461746153697A6503FF000549734B6579080F4E65656450726F636573734E61
-      6D65090001044E616D650605556E697473094669656C644E616D650605556E69
-      74730844617461547970650218084461746153697A6503FF000549734B657908
-      0F4E65656450726F636573734E616D65090001044E616D650605507269636509
-      4669656C644E616D650605507269636508446174615479706502060844617461
-      53697A6502080549734B6579080F4E65656450726F636573734E616D65090001
-      044E616D6506085175616E74697479094669656C644E616D6506085175616E74
-      6974790844617461547970650206084461746153697A6502080549734B657908
-      0F4E65656450726F636573734E616D65090001044E616D65060A546F74616C50
-      72696365094669656C644E616D65060A546F74616C5072696365084461746154
-      7970650206084461746153697A6502080549734B6579080F4E65656450726F63
-      6573734E616D65090001044E616D650609496E646578436F6465094669656C64
-      4E616D650609496E646578436F64650844617461547970650201084461746153
-      697A6502320549734B6579080F4E65656450726F636573734E616D65090000}
+      73734E616D650909507265636973696F6E02000453697A6502000001044E616D
+      650606425F436F6465094669656C644E616D650606425F436F64650844617461
+      547970650201084461746153697A6503FF000549734B6579080F4E6565645072
+      6F636573734E616D650909507265636973696F6E02000453697A650200000104
+      4E616D6506044E616D65094669656C644E616D6506044E616D65084461746154
+      7970650218084461746153697A6503FF000549734B6579080F4E65656450726F
+      636573734E616D650909507265636973696F6E02000453697A6502000001044E
+      616D650605556E697473094669656C644E616D650605556E6974730844617461
+      547970650218084461746153697A6503FF000549734B6579080F4E6565645072
+      6F636573734E616D650909507265636973696F6E02000453697A650200000104
+      4E616D6506055072696365094669656C644E616D650605507269636508446174
+      61547970650206084461746153697A6502080549734B6579080F4E6565645072
+      6F636573734E616D650909507265636973696F6E02000453697A650200000104
+      4E616D6506085175616E74697479094669656C644E616D6506085175616E7469
+      74790844617461547970650206084461746153697A6502080549734B6579080F
+      4E65656450726F636573734E616D650909507265636973696F6E02000453697A
+      6502000001044E616D65060A546F74616C5072696365094669656C644E616D65
+      060A546F74616C50726963650844617461547970650206084461746153697A65
+      02080549734B6579080F4E65656450726F636573734E616D6509095072656369
+      73696F6E02000453697A6502000001044E616D650609496E646578436F646509
+      4669656C644E616D650609496E646578436F6465084461746154797065020108
+      4461746153697A6502320549734B6579080F4E65656450726F636573734E616D
+      650909507265636973696F6E02000453697A6502000000}
   end
   object sdvDealBills: TsdDataView
     Active = False

+ 26 - 1
DataModules/DealBillsDm.pas

@@ -31,6 +31,7 @@ type
     procedure EnableEvent;
 
     function DealRecord(const AB_Code: string): TsdDataRecord;
+    function GetAllDealBillsJson: string;
 
     property ProjectData: TObject read FProjectData;
   end;
@@ -38,7 +39,7 @@ type
 implementation
 
 uses
-  UtilMethods;
+  UtilMethods, superobject;
 
 {$R *.dfm}
 
@@ -80,6 +81,30 @@ begin
   sddDealBills.BeforeAddRecord := sddDealBillsBeforeAddRecord;
 end;
 
+function TDealBillsData.GetAllDealBillsJson: string;
+var
+  vJa, vJbills: ISuperObject;
+  i: Integer;
+  Rec: TsdDataRecord;
+begin
+  vJa := SA([]);
+  try
+    for i := 0 to sddDealBills.RecordCount - 1 do
+    begin
+      Rec := sddDealBills.Records[i];
+      vJbills := SO;
+      vJbills.S['lnum'] := Rec.ValueByName('B_Code').AsString;
+      vJbills.S['lname'] := Rec.ValueByName('Name').AsString;
+      vJbills.S['unit'] := Rec.ValueByName('Units').AsString;
+      vJbills.D['unitprice'] := Rec.ValueByName('Price').AsFloat;
+      vJbills.D['amount'] := Rec.ValueByName('Quantity').AsFloat;
+      vJa.AsArray.Add(vJbills);
+    end;
+  finally
+    Result := vJa.AsJSon;
+  end;
+end;
+
 function TDealBillsData.GetNewID: Integer;
 var
   idx: TsdIndex;

+ 2 - 2
Dprs/Pro/Measure.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=7
-Build=2102
+Build=2132
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化专业版
-FileVersion=3.1.7.2102
+FileVersion=3.1.7.2132
 InternalName=
 LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
 LegalTrademarks=Measure

BIN
Dprs/Pro/Measure.res


+ 2 - 2
Dprs/Pro/Measure_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=7
-Build=2102
+Build=2132
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.7.2102
+FileVersion=3.1.7.2132
 InternalName=
 LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
 LegalTrademarks=Measure

BIN
Dprs/Pro/Measure_Cloud.res


+ 2 - 2
Dprs/Pro/Measure_GuangDong.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=7
-Build=2102
+Build=2132
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化广东专业版
-FileVersion=3.1.7.2102
+FileVersion=3.1.7.2132
 InternalName=
 LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
 LegalTrademarks=Measure

BIN
Dprs/Pro/Measure_GuangDong.res


+ 2 - 2
Dprs/Pro/Measure_GuangDong_Cloud.dof

@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=7
-Build=2102
+Build=2132
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化广东云版
-FileVersion=3.1.7.2102
+FileVersion=3.1.7.2132
 InternalName=
 LegalCopyright=版权所有(C)珠海纵横创新软件有限公司2003-2016
 LegalTrademarks=Measure

BIN
Dprs/Pro/Measure_GuangDong_Cloud.res


+ 3 - 0
Frames/BGLFme.dfm

@@ -336,6 +336,8 @@ object BGLFrame: TBGLFrame
       end>
     Grid = zgBGL
     ExtendRowCount = 1
+    Options = [aoAllowEdit, aoAllowDelete, aoAllowUpMove, aoAllowDownMove]
+    OnGridCellCanEdit = zaBGLGridCellCanEdit
     Left = 96
     Top = 88
   end
@@ -470,6 +472,7 @@ object BGLFrame: TBGLFrame
     Grid = zgBGBills
     ExtendRowCount = 1
     OnGridSetCellText = zaBGBillsGridSetCellText
+    OnGridCellCanEdit = zaBGBillsGridCellCanEdit
     Left = 96
     Top = 456
   end

+ 56 - 1
Frames/BGLFme.pas

@@ -57,6 +57,11 @@ type
     procedure zgBGLEditorLoadCell(Sender: TObject; ACoord: TPoint;
       AControl: TWinControl);
     procedure zgBGLCellTextChanged(Sender: TObject; Col, Row: Integer);
+    procedure zaBGLGridCellCanEdit(Sender: TObject; const ACoord: TPoint;
+      var Allow: Boolean);
+    procedure zaBGBillsGridCellCanEdit(Sender: TObject;
+      const ACoord: TPoint; var Allow: Boolean);
+    procedure zgBGLCurrentChanged;
   private
     FBGLData: TBGLData;
 
@@ -64,13 +69,15 @@ type
     procedure PasteBGLBlock;
   public
     constructor Create(AParent: TFrame; ABGLData: TBGLData);
+
+    procedure LoadBGLFromCloud;
   end;
 
 implementation
 
 uses
   UtilMethods, MergeTextFrm, ProjectData, MainFrm, mEncryptEditions,
-  BGLClipboard, ConditionalDefines, ZjCells;
+  BGLClipboard, ConditionalDefines, ZjCells, PHPWebDm;
 
 {$R *.dfm}
 
@@ -91,6 +98,15 @@ begin
   dbmDirection.DataSource := FBGLData.dsBGL;
   zaBGBills.DataSet := FBGLData.cdsBGBillsView;
   SetDxBtnAction(actnNew, tobtnNew);
+
+  if _IsCloud then
+  begin
+    zaBGL.Options := [aoAllowEdit, aoAllowDelete, aoAllowUpMove, aoAllowDownMove];
+    zaBGL.ExtendRowCount := 0;
+    FBGLData.AfterCurrentBGLChanged := zgBGLCurrentChanged;
+  end
+  else
+    zaBGL.Options := [aoAllowInsert, aoAllowEdit, aoAllowDelete, aoAutoInsert, aoAllowUpMove, aoAllowDownMove];
 end;
 
 procedure TBGLFrame.actnNewExecute(Sender: TObject);
@@ -248,4 +264,43 @@ begin
   end;
 end;
 
+procedure TBGLFrame.LoadBGLFromCloud;
+var
+  sgs: TStrings;
+  sUrl, sInfo: string;
+begin
+  Screen.Cursor := crHourGlass;
+  sgs := TStringList.Create;
+  try
+    sgs.Add(Format('filter=%s', [FBGLData.AllCloudBGLWebID]));
+    sUrl := PHPWeb.MeasureURL + Format('change/get/%d/list', [TProjectData(FBGLData.ProjectData).WebID]);
+    if PHPWeb.UrlGet(sUrl, sgs, sInfo) = 1 then
+      FBGLData.LoadCloudBGL(sInfo)
+    else if sInfo <> '' then
+      WarningMessage(sInfo);
+  finally
+    Screen.Cursor := crDefault;
+  end;
+end;
+
+procedure TBGLFrame.zaBGLGridCellCanEdit(Sender: TObject;
+  const ACoord: TPoint; var Allow: Boolean);
+begin
+  if _IsCloud and Allow then
+    Allow := FBGLData.GetBGLCanEdit(ACoord.Y - zgBGL.FixedRowCount);
+end;
+
+procedure TBGLFrame.zaBGBillsGridCellCanEdit(Sender: TObject;
+  const ACoord: TPoint; var Allow: Boolean);
+begin
+  if _IsCloud and Allow then
+    Allow := not FBGLData.cdsBGLViewIsCloud.AsBoolean;
+end;
+
+procedure TBGLFrame.zgBGLCurrentChanged;
+begin
+  dbmPos_Reason.ReadOnly := _IsCloud and FBGLData.cdsBGLViewIsCloud.AsBoolean;
+  dbmDirection.ReadOnly := dbmPos_Reason.ReadOnly;
+end;
+
 end.

+ 630 - 3
Frames/BillsGatherFme.dfm

@@ -20,9 +20,9 @@ object BillsGatherFrame: TBillsGatherFrame
   end
   object pnlBillsGather: TPanel
     Left = 0
-    Top = 0
+    Top = 20
     Width = 1477
-    Height = 378
+    Height = 358
     Align = alClient
     BevelOuter = bvNone
     TabOrder = 0
@@ -30,7 +30,7 @@ object BillsGatherFrame: TBillsGatherFrame
       Left = 0
       Top = 0
       Width = 1477
-      Height = 378
+      Height = 358
       Options = [goRangeSelect, goRowSizing, goColSizing, goCellNotMaintainData, goFixedRowShowNo, goFixedColShowNo, goAlwaysShowSelection, goShowTreeLine]
       OptionsEx = []
       ColCount = 29
@@ -194,6 +194,633 @@ object BillsGatherFrame: TBillsGatherFrame
       end
     end
   end
+  object pnlTop: TPanel
+    Left = 0
+    Top = 0
+    Width = 1477
+    Height = 20
+    Align = alTop
+    BevelOuter = bvNone
+    TabOrder = 2
+    object btnUploadBillsList: TCslButton
+      Left = 0
+      Top = 1
+      Width = 111
+      Height = 19
+      Enabled = True
+      PicNormal.Data = {
+        07544269746D617026190000424D261900000000000036000000280000006F00
+        0000130000000100180000000000F0180000120B0000120B0000000000000000
+        0000D35203D25000D25000D25000D25000D25000D25000D25000D25000D25000
+        D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000D250
+        00D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000D2
+        5000D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000
+        D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000D250
+        00D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000D2
+        5000D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000
+        D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000D250
+        00D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000D2
+        5000D25000D25000D25000D25000D25000D25000D25000D25000D25000D25000
+        D25000D25000D25000D25000D35203000D00D25303D35300D35200D35200D352
+        00D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200D3
+        5200D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200
+        D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200D352
+        00D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200D3
+        5200D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200
+        D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200D352
+        00D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200D3
+        5200D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200
+        D35200D35200D35200D35200D35200D35200D35200D35200D35200D35200D352
+        00D35200D35200D35200D35200D35200D35200D35200D35200D35300D253034E
+        7939D15403D35600D35500D35500D35500D35500D35500D35500D35500D35500
+        D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500D355
+        00D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500D3
+        5500D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500
+        D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500D355
+        00D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500D3
+        5500D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500
+        D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500D355
+        00D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500D3
+        5500D35500D35500D35500D35500D35500D35500D35500D35500D35500D35500
+        D35500D35500D35500D35600D154038FDEA3D05603D35900D35800D35800D358
+        00DE8535DE8535DE8535DE8535DE8535DE8535DE8535DE8535DE8535DE8535DE
+        8535DE8535D35800D35800D35800D35800D35800FFFFFFD35800D35800D35800
+        D35800D35800D35800FFFFFFFFFFFFFFFFFFD35800D35800FFFFFFFFFFFFFFFF
+        FFD35800D35800D35800D35800D35800D35800D35800D35800D35800D35800D3
+        5800FFFFFFD35800D35800D35800D35800FFFFFFFFFFFFD35800D35800D35800
+        D35800D35800D35800D35800FFFFFFD35800D35800D35800D35800D35800D358
+        00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFD35800D35800D35800D35800D35800D35800D35800D35800D35800D35800
+        FFFFFFD35800D35800D35800D35800D35800D35800FFFFFFD35800D35800D358
+        00D35800FFFFFFFFFFFFD35800D35800D35800D35800D35800D35900D05603B9
+        7265CF5703D35E00D35D00D35D00D35D00E2AE83E2AE82E2AE82E2AE82E2AE82
+        E2AE82E2AE82E2AE82E2AE82E2AE82E2AE82E2AE82D35D00D35D00D35D00D35D
+        00D35D00FFFFFFD35D00D35D00D35D00D35D00D35D00D35D00984100984100FF
+        FFFFD35D00D35D00984100984100984100FFFFFFFFFFFFD35D00D35D00D35D00
+        D35D00D35D00D35D00FFFFFFD35D00D35D00FFFFFFD35D00D35D00D35D00D35D
+        00984100FFFFFFD35D00D35D00D35D00D35D00D35D00D35D00D35D00FFFFFFD3
+        5D00D35D00D35D00D35D00D35D00D35D00984100984100984100984100984100
+        FFFFFF984100984100984100984100984100D35D00D35D00FFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35D00D35D00FFFFFFFFFFFFD3
+        5D00D35D00FFFFFFD35D00FFFFFFD35D00FFFFFF984100FFFFFFD35D00D35D00
+        D35D00D35D00D35D00D35E00CF570327352ECE5903D36200D36100D36100D361
+        00EED7C4EED7C4EED7C4EED7C4EED7C4EED7C4EED7C4EED7C4EED7C4EED7C4EE
+        D7C4EED7C4D36100D36100D36100D36100D36100FFFFFFD36100D36100D36100
+        D36100D36100D36100D36100D36100FFFFFFD36100D36100FFFFFFD36100D361
+        00984400FFFFFFFFFFFFFFFFFFD36100D36100D36100D36100984400FFFFFFD3
+        6100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD36100D36100D36100
+        D36100D36100D36100D36100FFFFFFD36100D36100D36100D36100D36100D361
+        00D36100D36100D36100D36100D36100FFFFFFD36100D36100D36100D36100D3
+        6100D36100D36100984400FFFFFF984400984400984400984400984400FFFFFF
+        984400D36100D36100984400984400FFFFFFD36100FFFFFFD36100FFFFFFD361
+        00FFFFFFD36100FFFFFFD36100D36100D36100D36100D36100D36200CE59032A
+        27F1CD5A03D26600D26500D26500D26500EAD6C4FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD6C3D26500D26500D26500D265
+        00D26500FFFFFFD26500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD26500FF
+        FFFFD26500D26500984700FFFFFFD26500D26500FFFFFF984700984700FFFFFF
+        D26500D26500D26500D26500984700D26500FFFFFF9847009847009847009847
+        00984700FFFFFFD26500D26500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFD26500D26500FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD26500D26500D26500D26500984700FFFF
+        FFD26500D26500D26500FFFFFF984700D26500D26500D26500D26500FFFFFF98
+        4700D26500FFFFFFD26500FFFFFFD26500FFFFFFD26500FFFFFFD26500D26500
+        D26500D26500D26500D26600CD5A03AA6F6ACB5C03D26B00D26A00D26A00D26A
+        00BE8139FFFFFFFFFFFFFFFFFFE6D5C3CCA983CCA983E6D5C3FFFFFFFFFFFFFF
+        FFFFBE8139D26A00D26A00D26A00D26A00D26A00FFFFFFD26A00FFFFFF984B00
+        984B00984B00984B00FFFFFFD26A00FFFFFFD26A00D26A00D26A00984B00FFFF
+        FFD26A00FFFFFFD26A00D26A00984B00FFFFFFD26A00D26A00D26A00D26A00D2
+        6A00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD26A00D26A00984B00
+        984B00984B00984B00984B00FFFFFF984B00984B00984B00984B00984B00D26A
+        00D26A00984B00984B00984B00984B00FFFFFF984B00984B00984B00984B00D2
+        6A00D26A00D26A00D26A00D26A00984B00FFFFFFD26A00D26A00984B00D26A00
+        D26A00D26A00D26A00FFFFFF984B00FFFFFFD26A00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD26A00D26A00D26A00D26A00D26A00D26B00CB5C037D
+        0C06CA5E03D26F00D26E00D26E00D26E00C56600E6D6C4FFFFFFFFFFFFD4AE84
+        E0BC94E0BC94D4AE84FFFFFFFFFFFFE6D6C3C56600D26E00D26E00D26E00D26E
+        00D26E00FFFFFFD26E00FFFFFFD26E00D26E00D26E00D26E00FFFFFFD26E00FF
+        FFFFD26E00D26E00D26E00D26E00984E00D26E00984E00D26E00D26E00D26E00
+        984E00D26E00D26E00D26E00FFFFFFD26E00FFFFFF984E00984E00984E00984E
+        00984E00FFFFFFD26E00D26E00D26E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD26E00D26E00D26E00D26E00D26E00D26E00D26E00
+        FFFFFFD26E00D26E00D26E00FFFFFFD26E00D26E00D26E00D26E00D26E00D26E
+        00984E00FFFFFFD26E00D26E00D26E00D26E00D26E00D26E00FFFFFFD26E00FF
+        FFFFD26E00984E00984E00984E00FFFFFF984E00984E00984E00D26E00D26E00
+        D26E00D26E00D26E00D26F00CA5E03F1F5D7C95F03D27300D27200D27200D272
+        00D27200A75900985100985100B66100EDD9C4EDD9C4B66100985100985100A7
+        5900D27200D27200D27200D27200D27200D27200FFFFFFD27200FFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFD27200FFFFFFD27200FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD27200FFFFFF985100FF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD27200D27200
+        FFFFFF985100985100985100FFFFFF985100985100985100FFFFFFD27200D272
+        00D27200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
+        7200D27200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFD27200FFFFFFD27200FFFFFFD27200FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD27200D27200D27200D27200D27200D27300C95F03B5
+        A830C86103D27800D27700D27700D27700D27700D27700D27700D27700D27700
+        EAD9C4EAD9C4D27700D27700D27700D27700D27700D27700D27700D27700D277
+        00D27700FFFFFFD27700985400985400985400985400985400985400D27700FF
+        FFFFD27700985400985400FFFFFF985400985400FFFFFF985400985400985400
+        985400985400D27700985400D27700985400985400985400985400FFFFFF9854
+        00985400985400985400D27700D27700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD27700D27700D27700985400FFFFFF985400985400
+        985400985400985400FFFFFF985400D27700D277009854009854009854009854
+        00985400985400985400985400985400985400985400D27700985400D2770098
+        5400D27700985400985400985400985400985400985400985400D27700D27700
+        D27700D27700D27700D27800C8610345BDFEC76303D27C00D27B00D27B00D27B
+        00D27B00D27B00D58300F1D7B3F4E0C3FAF6F1FAF6F1F4E0C3F1D7B3D58300D2
+        7B00D27B00D27B00D27B00D27B00D27B00D27B00FFFFFFD27B00FFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFD27B00FFFFFFD27B00D27B00D27B00FFFFFFD27B
+        00D27B00FFFFFFD27B00D27B00D27B00D27B00D27B00D27B00D27B00D27B00D2
+        7B00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD27B00D27B00D27B00
+        FFFFFF985700985700985700FFFFFF985700985700985700FFFFFFD27B00D27B
+        00D27B00D27B00985700FFFFFFD27B00D27B00D27B00FFFFFF985700D27B00D2
+        7B00D27B00D27B00D27B00D27B00D27B00D27B00D27B00D27B00D27B00D27B00
+        D27B00D27B00D27B00FFFFFFFFFFFFFFFFFFD27B00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD27B00D27B00D27B00D27B00D27B00D27C00C763030A
+        06E9C66403D28100D28000D28000D28000D28000D28000CE7E00BC841AFAF6F0
+        FFFFFFFFFFFFFAF6F0BC841ACE7E00D28000D28000D28000D28000D28000D280
+        00D28000FFFFFFD28000985A00985A00985A00985A00985A00985A00D28000FF
+        FFFFD28000D28000D28000FFFFFFD28000D28000FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFD28000D28000D28000FFFFFFD28000985A00985A00985A00FFFFFF985A
+        00985A00985A00D28000D28000D28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD28000D28000D28000D28000D28000985A00FFFFFF
+        D28000D28000985A00D28000D28000D28000D28000D28000D28000D28000D280
+        00D28000D28000D28000D28000D28000D28000D28000D28000985A00985A0098
+        5A00D28000FFFFFF985A00985A00FFFFFF985A00985A00FFFFFFD28000D28000
+        D28000D28000D28000D28100C664032D3999C56603D28300D28200D28200D282
+        00D28200D28200D28200C87B00AF801EF9F5F0F9F5F0AF801EC87B00D28200D2
+        8200D28200D28200D28200D28200D28200D28200FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD28200D28200D28200FFFFFFD282
+        00D28200FFFFFF985D00985D00985D00985D00D28200D28200FFFFFF985D00FF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD28200D28200
+        985D00985D00FFFFFF985D00985D00985D00FFFFFF985D00985D00D28200D282
+        00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFD28200D28200D28200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        D28200D28200D28200D28200FFFFFFD28200D28200FFFFFFD28200D28200FFFF
+        FFD28200D28200FFFFFFD28200D28200D28200D28200D28200D28300C56603A0
+        4672C46703D28700D28600D28600D28600D28600D28600D28600D28600C87F00
+        AF821DAF821DC87F00D28600D28600D28600D28600D28600D28600D28600D286
+        00D2860098600098600098600098600098600098600098600098600098600098
+        6000D28600D28600D28600986000D28600D28600FFFFFFD28600D28600D28600
+        D28600D28600D28600986000D28600986000986000986000986000FFFFFF9860
+        00986000986000986000D28600D28600D28600FFFFFF986000D28600D28600D2
+        8600986000FFFFFFD28600D28600D28600986000986000986000986000986000
+        986000986000986000986000986000986000D28600D28600D286009860009860
+        00986000986000986000986000986000D28600D28600D28600FFFFFF986000D2
+        8600D28600986000D28600D28600FFFFFFD28600D28600986000D28600D28600
+        D28600D28600D28600D28700C467031E6BD6C36903D28A00D28A00D28A00D28A
+        00D28A00D28A00D28A00D28A00D28A00C88300C88300D28A00D28A00D28A00D2
+        8A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00
+        D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A
+        00D28A00986300D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D2
+        8A00D28A00D28A00D28A00986300D28A00D28A00D28A00D28A00D28A00D28A00
+        D28A00986300D28A00D28A00D28A00D28A00D28A00986300D28A00D28A00D28A
+        00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D2
+        8A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00
+        D28A00D28A00D28A00986300D28A00D28A00D28A00D28A00D28A00D28A009863
+        00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00D28A00C369037B
+        DA6CC26A03D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00
+        D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D
+        00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D2
+        8D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00
+        D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D
+        00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D2
+        8D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00
+        D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D
+        00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D2
+        8D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00D28D00
+        D28D00D28D00D28D00D28D00C26A03217E8FC16B03DDAB26DDAC28DDAC28DDAC
+        28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DD
+        AC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28
+        DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC
+        28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DD
+        AC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28
+        DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC
+        28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DD
+        AC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28
+        DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC
+        28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAC28DDAB26C16B032A
+        AB5CC16C03C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00
+        C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A
+        00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C0
+        6A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00
+        C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A
+        00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C0
+        6A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00
+        C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A
+        00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C0
+        6A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00C06A00
+        C06A00C06A00C06A00C06A00C16C032B0074}
+      PicMouseOver.Data = {
+        07544269746D617026190000424D261900000000000036000000280000006F00
+        0000130000000100180000000000F0180000120B0000120B0000000000000000
+        0000A63E03A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00
+        A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C
+        00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A5
+        3C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00
+        A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C
+        00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A5
+        3C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00
+        A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C
+        00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A5
+        3C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00A53C00
+        A53C00A53C00A53C00A53C00A63E03000D00A74003D25000D34F00D34F00D34F
+        00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D3
+        4F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00
+        D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F
+        00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D3
+        4F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00
+        D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F
+        00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D3
+        4F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00
+        D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F
+        00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D34F00D25000A7400300
+        7400A84203D25100D35000D35000D35000D35000D35000D35000D35000D35000
+        D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000D350
+        00D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000D3
+        5000D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000
+        D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000D350
+        00D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000D3
+        5000D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000
+        D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000D350
+        00D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000D3
+        5000D35000D35000D35000D35000D35000D35000D35000D35000D35000D35000
+        D35000D35000D35000D25100A84203000000AA4403D25300D35200D35200D352
+        00DE8136DE8136DE8136DE8136DE8136DE8136DE8136DE8136DE8136DE8136DE
+        8136DE8136D35200D35200D35200D35200D35200FFFFFFD35200D35200D35200
+        D35200D35200D35200FFFFFFFFFFFFFFFFFFD35200D35200FFFFFFFFFFFFFFFF
+        FFD35200D35200D35200D35200D35200D35200D35200D35200D35200D35200D3
+        5200FFFFFFD35200D35200D35200D35200FFFFFFFFFFFFD35200D35200D35200
+        D35200D35200D35200D35200FFFFFFD35200D35200D35200D35200D35200D352
+        00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFD35200D35200D35200D35200D35200D35200D35200D35200D35200D35200
+        FFFFFFD35200D35200D35200D35200D35200D35200FFFFFFD35200D35200D352
+        00D35200FFFFFFFFFFFFD35200D35200D35200D35200D35200D25300AA440300
+        0000AA4703D25400D35300D35300D35300E2AA84E2A983E2A983E2A983E2A983
+        E2A983E2A983E2A983E2A983E2A983E2A983E2A983D35300D35300D35300D353
+        00D35300FFFFFFD35300D35300D35300D35300D35300D35300983A00983A00FF
+        FFFFD35300D35300983A00983A00983A00FFFFFFFFFFFFD35300D35300D35300
+        D35300D35300D35300FFFFFFD35300D35300FFFFFFD35300D35300D35300D353
+        00983A00FFFFFFD35300D35300D35300D35300D35300D35300D35300FFFFFFD3
+        5300D35300D35300D35300D35300D35300983A00983A00983A00983A00983A00
+        FFFFFF983A00983A00983A00983A00983A00D35300D35300FFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35300D35300FFFFFFFFFFFFD3
+        5300D35300FFFFFFD35300FFFFFFD35300FFFFFF983A00FFFFFFD35300D35300
+        D35300D35300D35300D25400AA4703000000AC4903D35600D35500D35500D355
+        00EED5C4EED5C4EED5C4EED5C4EED5C4EED5C4EED5C4EED5C4EED5C4EED5C4EE
+        D5C4EED5C4D35500D35500D35500D35500D35500FFFFFFD35500D35500D35500
+        D35500D35500D35500D35500D35500FFFFFFD35500D35500FFFFFFD35500D355
+        00983C00FFFFFFFFFFFFFFFFFFD35500D35500D35500D35500983C00FFFFFFD3
+        5500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35500D35500D35500
+        D35500D35500D35500D35500FFFFFFD35500D35500D35500D35500D35500D355
+        00D35500D35500D35500D35500D35500FFFFFFD35500D35500D35500D35500D3
+        5500D35500D35500983C00FFFFFF983C00983C00983C00983C00983C00FFFFFF
+        983C00D35500D35500983C00983C00FFFFFFD35500FFFFFFD35500FFFFFFD355
+        00FFFFFFD35500FFFFFFD35500D35500D35500D35500D35500D35600AC490301
+        0000AE4B03D35800D35700D35700D35700EAD4C4FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD3C3D35700D35700D35700D357
+        00D35700FFFFFFD35700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35700FF
+        FFFFD35700D35700983D00FFFFFFD35700D35700FFFFFF983D00983D00FFFFFF
+        D35700D35700D35700D35700983D00D35700FFFFFF983D00983D00983D00983D
+        00983D00FFFFFFD35700D35700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFD35700D35700FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35700D35700D35700D35700983D00FFFF
+        FFD35700D35700D35700FFFFFF983D00D35700D35700D35700D35700FFFFFF98
+        3D00D35700FFFFFFD35700FFFFFFD35700FFFFFFD35700FFFFFFD35700D35700
+        D35700D35700D35700D35800AE4B03000000AF4D03D35900D35800D35800D358
+        00BE783BFFFFFFFFFFFFFFFFFFE6D2C4CCA484CCA484E6D2C4FFFFFFFFFFFFFF
+        FFFFBE783BD35800D35800D35800D35800D35800FFFFFFD35800FFFFFF983E00
+        983E00983E00983E00FFFFFFD35800FFFFFFD35800D35800D35800983E00FFFF
+        FFD35800FFFFFFD35800D35800983E00FFFFFFD35800D35800D35800D35800D3
+        5800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35800D35800983E00
+        983E00983E00983E00983E00FFFFFF983E00983E00983E00983E00983E00D358
+        00D35800983E00983E00983E00983E00FFFFFF983E00983E00983E00983E00D3
+        5800D35800D35800D35800D35800983E00FFFFFFD35800D35800983E00D35800
+        D35800D35800D35800FFFFFF983E00FFFFFFD35800FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD35800D35800D35800D35800D35800D35900AF4D0300
+        0000B15003D35C00D35B00D35B00D35B00C55400E6D3C5FFFFFFFFFFFFD5A785
+        E0B695E0B695D5A785FFFFFFFFFFFFE6D2C4C55400D35B00D35B00D35B00D35B
+        00D35B00FFFFFFD35B00FFFFFFD35B00D35B00D35B00D35B00FFFFFFD35B00FF
+        FFFFD35B00D35B00D35B00D35B00984000D35B00984000D35B00D35B00D35B00
+        984000D35B00D35B00D35B00FFFFFFD35B00FFFFFF9840009840009840009840
+        00984000FFFFFFD35B00D35B00D35B00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD35B00D35B00D35B00D35B00D35B00D35B00D35B00
+        FFFFFFD35B00D35B00D35B00FFFFFFD35B00D35B00D35B00D35B00D35B00D35B
+        00984000FFFFFFD35B00D35B00D35B00D35B00D35B00D35B00FFFFFFD35B00FF
+        FFFFD35B00984000984000984000FFFFFF984000984000984000D35B00D35B00
+        D35B00D35B00D35B00D35C00B15003000000B35203D35E00D35D00D35D00D35D
+        00D35D00A74800984100984100B64E00EDD6C4EDD6C4B64E00984100984100A7
+        4800D35D00D35D00D35D00D35D00D35D00D35D00FFFFFFD35D00FFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFD35D00FFFFFFD35D00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35D00FFFFFF984100FF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD35D00D35D00
+        FFFFFF984100984100984100FFFFFF984100984100984100FFFFFFD35D00D35D
+        00D35D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
+        5D00D35D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFD35D00FFFFFFD35D00FFFFFFD35D00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD35D00D35D00D35D00D35D00D35D00D35E00B35203FF
+        FFFFB55603D36000D35F00D35F00D35F00D35F00D35F00D35F00D35F00D35F00
+        EAD5C4EAD5C4D35F00D35F00D35F00D35F00D35F00D35F00D35F00D35F00D35F
+        00D35F00FFFFFFD35F00984200984200984200984200984200984200D35F00FF
+        FFFFD35F00984200984200FFFFFF984200984200FFFFFF984200984200984200
+        984200984200D35F00984200D35F00984200984200984200984200FFFFFF9842
+        00984200984200984200D35F00D35F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD35F00D35F00D35F00984200FFFFFF984200984200
+        984200984200984200FFFFFF984200D35F00D35F009842009842009842009842
+        00984200984200984200984200984200984200984200D35F00984200D35F0098
+        4200D35F00984200984200984200984200984200984200984200D35F00D35F00
+        D35F00D35F00D35F00D36000B55603000000B65803D36200D36100D36100D361
+        00D36100D36100D56C00F1D0B4F4D9C4FAF5F1FAF5F1F4D9C4F1D0B4D56C00D3
+        6100D36100D36100D36100D36100D36100D36100FFFFFFD36100FFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFD36100FFFFFFD36100D36100D36100FFFFFFD361
+        00D36100FFFFFFD36100D36100D36100D36100D36100D36100D36100D36100D3
+        6100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD36100D36100D36100
+        FFFFFF984400984400984400FFFFFF984400984400984400FFFFFFD36100D361
+        00D36100D36100984400FFFFFFD36100D36100D36100FFFFFF984400D36100D3
+        6100D36100D36100D36100D36100D36100D36100D36100D36100D36100D36100
+        D36100D36100D36100FFFFFFFFFFFFFFFFFFD36100FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD36100D36100D36100D36100D36100D36200B6580300
+        0000B85A03D36300D36200D36200D36200D36200D36200CF6000BC7321FAF4F0
+        FFFFFFFFFFFFFAF4F0BC7321CF6000D36200D36200D36200D36200D36200D362
+        00D36200FFFFFFD36200984400984400984400984400984400984400D36200FF
+        FFFFD36200D36200D36200FFFFFFD36200D36200FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFD36200D36200D36200FFFFFFD36200984400984400984400FFFFFF9844
+        00984400984400D36200D36200D36200FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD36200D36200D36200D36200D36200984400FFFFFF
+        D36200D36200984400D36200D36200D36200D36200D36200D36200D36200D362
+        00D36200D36200D36200D36200D36200D36200D36200D3620098440098440098
+        4400D36200FFFFFF984400984400FFFFFF984400984400FFFFFFD36200D36200
+        D36200D36200D36200D36300B85A03000000B95C03D26500D26400D26400D264
+        00D26400D26400D26400C85E00B06E24F9F4F0F9F4F0B06E24C85E00D26400D2
+        6400D26400D26400D26400D26400D26400D26400FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD26400D26400D26400FFFFFFD264
+        00D26400FFFFFF984600984600984600984600D26400D26400FFFFFF984600FF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD26400D26400
+        984600984600FFFFFF984600984600984600FFFFFF984600984600D26400D264
+        00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFD26400D26400D26400FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        D26400D26400D26400D26400FFFFFFD26400D26400FFFFFFD26400D26400FFFF
+        FFD26400D26400FFFFFFD26400D26400D26400D26400D26400D26500B95C0300
+        0000BA5E03D26700D26600D26600D26600D26600D26600D26600D26600C86000
+        B06F24B06F24C86000D26600D26600D26600D26600D26600D26600D26600D266
+        00D2660098470098470098470098470098470098470098470098470098470098
+        4700D26600D26600D26600984700D26600D26600FFFFFFD26600D26600D26600
+        D26600D26600D26600984700D26600984700984700984700984700FFFFFF9847
+        00984700984700984700D26600D26600D26600FFFFFF984700D26600D26600D2
+        6600984700FFFFFFD26600D26600D26600984700984700984700984700984700
+        984700984700984700984700984700984700D26600D26600D266009847009847
+        00984700984700984700984700984700D26600D26600D26600FFFFFF984700D2
+        6600D26600984700D26600D26600FFFFFFD26600D26600984700D26600D26600
+        D26600D26600D26600D26700BA5E03FFFFFFBC6003D26800D26700D26700D267
+        00D26700D26700D26700D26700D26700C86100C86100D26700D26700D26700D2
+        6700D26700D26700D26700D26700D26700D26700D26700D26700D26700D26700
+        D26700D26700D26700D26700D26700D26700D26700D26700D26700D26700D267
+        00D26700984900D26700D26700D26700D26700D26700D26700D26700D26700D2
+        6700D26700D26700D26700984900D26700D26700D26700D26700D26700D26700
+        D26700984900D26700D26700D26700D26700D26700984900D26700D26700D267
+        00D26700D26700D26700D26700D26700D26700D26700D26700D26700D26700D2
+        6700D26700D26700D26700D26700D26700D26700D26700D26700D26700D26700
+        D26700D26700D26700984900D26700D26700D26700D26700D26700D267009849
+        00D26700D26700D26700D26700D26700D26700D26700D26700D26800BC600300
+        0000BD6203D26900D26800D26800D26800D26800D26800D26800D26800D26800
+        D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800D268
+        00D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800D2
+        6800D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800
+        D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800D268
+        00D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800D2
+        6800D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800
+        D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800D268
+        00D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800D2
+        6800D26800D26800D26800D26800D26800D26800D26800D26800D26800D26800
+        D26800D26800D26800D26900BD6203000000BE6403DE8F31DE9032DE9032DE90
+        32DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE
+        9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032
+        DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE90
+        32DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE
+        9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032
+        DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE90
+        32DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE
+        9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032
+        DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE90
+        32DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE9032DE8F31BE640300
+        0000BF6503BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300
+        BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE63
+        00BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE
+        6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300
+        BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE63
+        00BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE
+        6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300
+        BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE63
+        00BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE
+        6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300BE6300
+        BE6300BE6300BE6300BE6300BF6503000000}
+      PicMouseDown.Data = {
+        07544269746D617026190000424D261900000000000036000000280000006F00
+        0000130000000100180000000000F0180000120B0000120B0000000000000000
+        0000A63D03A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00
+        A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B
+        00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A5
+        3B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00
+        A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B
+        00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A5
+        3B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00
+        A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B
+        00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A5
+        3B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00A53B00
+        A53B00A53B00A53B00A53B00A63D03000D00A73D03BF4500C64700C94A00CD4B
+        00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE
+        4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00
+        CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B
+        00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE
+        4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00
+        CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B
+        00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE
+        4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00
+        CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B
+        00CE4B00CE4B00CE4B00CE4B00CE4B00CD4B00C94A00C64700BF4500A73D034E
+        7939A83D03C24600C84900CD4B00D04C00D14C00D14C00D14C00D14C00D14C00
+        D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C
+        00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D1
+        4C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00
+        D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C
+        00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D1
+        4C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00
+        D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C
+        00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D1
+        4C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C00
+        D04C00CD4B00C84900C24600A83D038FDEA3AA3E03C34600C94A00CD4B00D14C
+        00DE7D37DE7D37DE7D37DE7D37DE7D37DE7D37DE7D37DE7D37DE7D37DE7D37DE
+        7D37DE7D37D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00D34D00D34D00
+        D34D00D34D00D34D00FFFFFFFFFFFFFFFFFFD34D00D34D00FFFFFFFFFFFFFFFF
+        FFD34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D3
+        4D00FFFFFFD34D00D34D00D34D00D34D00FFFFFFFFFFFFD34D00D34D00D34D00
+        D34D00D34D00D34D00D34D00FFFFFFD34D00D34D00D34D00D34D00D34D00D34D
+        00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFD34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00
+        FFFFFFD34D00D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00D34D00D34D
+        00D34D00FFFFFFFFFFFFD34D00D34D00D14C00CD4B00C94A00C34600AA3E03B9
+        7265AB3E03C34600C94A00CD4B00D14C00E2A884E2A883E2A883E2A883E2A883
+        E2A883E2A883E2A883E2A883E2A883E2A883E2A883D34D00D34D00D34D00D34D
+        00D34D00FFFFFFD34D00D34D00D34D00D34D00D34D00D34D00983500983500FF
+        FFFFD34D00D34D00983500983500983500FFFFFFFFFFFFD34D00D34D00D34D00
+        D34D00D34D00D34D00FFFFFFD34D00D34D00FFFFFFD34D00D34D00D34D00D34D
+        00983500FFFFFFD34D00D34D00D34D00D34D00D34D00D34D00D34D00FFFFFFD3
+        4D00D34D00D34D00D34D00D34D00D34D00983500983500983500983500983500
+        FFFFFF983500983500983500983500983500D34D00D34D00FFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00D34D00FFFFFFFFFFFFD3
+        4D00D34D00FFFFFFD34D00FFFFFFD34D00FFFFFF983500FFFFFFD34D00D34D00
+        D14C00CD4B00C94A00C34600AB3E0327352EAC3F03C34600C94A00CD4B00D14C
+        00EED3C4EED3C4EED3C4EED3C4EED3C4EED3C4EED3C4EED3C4EED3C4EED3C4EE
+        D3C4EED3C4D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00D34D00D34D00
+        D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00D34D00FFFFFFD34D00D34D
+        00983500FFFFFFFFFFFFFFFFFFD34D00D34D00D34D00D34D00983500FFFFFFD3
+        4D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00D34D00D34D00
+        D34D00D34D00D34D00D34D00FFFFFFD34D00D34D00D34D00D34D00D34D00D34D
+        00D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00D34D00D34D00D34D00D3
+        4D00D34D00D34D00983500FFFFFF983500983500983500983500983500FFFFFF
+        983500D34D00D34D00983500983500FFFFFFD34D00FFFFFFD34D00FFFFFFD34D
+        00FFFFFFD34D00FFFFFFD34D00D34D00D14C00CD4B00C94A00C34600AC3F032A
+        27F1AE4003C34600C94A00CD4B00D14C00EAD2C5FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAD1C4D34D00D34D00D34D00D34D
+        00D34D00FFFFFFD34D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00FF
+        FFFFD34D00D34D00983500FFFFFFD34D00D34D00FFFFFF983500983500FFFFFF
+        D34D00D34D00D34D00D34D00983500D34D00FFFFFF9835009835009835009835
+        00983500FFFFFFD34D00D34D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00D34D00FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00D34D00D34D00D34D00983500FFFF
+        FFD34D00D34D00D34D00FFFFFF983500D34D00D34D00D34D00D34D00FFFFFF98
+        3500D34D00FFFFFFD34D00FFFFFFD34D00FFFFFFD34D00FFFFFFD34D00D34D00
+        D14C00CD4B00C94A00C34600AE4003AA6F6AAF4003C34600C94A00CD4B00D14C
+        00BE723CFFFFFFFFFFFFFFFFFFE6D0C4CCA085CCA085E6D0C4FFFFFFFFFFFFFF
+        FFFFBE723CD34D00D34D00D34D00D34D00D34D00FFFFFFD34D00FFFFFF983500
+        983500983500983500FFFFFFD34D00FFFFFFD34D00D34D00D34D00983500FFFF
+        FFD34D00FFFFFFD34D00D34D00983500FFFFFFD34D00D34D00D34D00D34D00D3
+        4D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00D34D00983500
+        983500983500983500983500FFFFFF983500983500983500983500983500D34D
+        00D34D00983500983500983500983500FFFFFF983500983500983500983500D3
+        4D00D34D00D34D00D34D00D34D00983500FFFFFFD34D00D34D00983500D34D00
+        D34D00D34D00D34D00FFFFFF983500FFFFFFD34D00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD34D00D34D00D14C00CD4B00C94A00C34600AF40037D
+        0C06B14103C34600C94A00CD4B00D14C00C54700E6D1C5FFFFFFFFFFFFD5A385
+        E0B195E0B195D5A385FFFFFFFFFFFFE6D0C4C54700D34D00D34D00D34D00D34D
+        00D34D00FFFFFFD34D00FFFFFFD34D00D34D00D34D00D34D00FFFFFFD34D00FF
+        FFFFD34D00D34D00D34D00D34D00983500D34D00983500D34D00D34D00D34D00
+        983500D34D00D34D00D34D00FFFFFFD34D00FFFFFF9835009835009835009835
+        00983500FFFFFFD34D00D34D00D34D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD34D00D34D00D34D00D34D00D34D00D34D00D34D00
+        FFFFFFD34D00D34D00D34D00FFFFFFD34D00D34D00D34D00D34D00D34D00D34D
+        00983500FFFFFFD34D00D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00FF
+        FFFFD34D00983500983500983500FFFFFF983500983500983500D34D00D34D00
+        D14C00CD4B00C94A00C34600B14103F1F5D7B34103C34600C94A00CD4B00D14C
+        00D34D00A83C00983500983500B64200EDD3C4EDD3C4B64200983500983500A8
+        3C00D34D00D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00FFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFD34D00FFFFFFD34D00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00FFFFFF983500FF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00D34D00
+        FFFFFF983500983500983500FFFFFF983500983500983500FFFFFFD34D00D34D
+        00D34D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
+        4D00D34D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFD34D00FFFFFFD34D00FFFFFFD34D00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD34D00D34D00D14C00CD4B00C94A00C34600B34103B5
+        A830B54303C34600C94A00CD4B00D14C00D34D00D34D00D34D00D34D00D34D00
+        EAD2C5EAD2C5D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D
+        00D34D00FFFFFFD34D00983500983500983500983500983500983500D34D00FF
+        FFFFD34D00983500983500FFFFFF983500983500FFFFFF983500983500983500
+        983500983500D34D00983500D34D00983500983500983500983500FFFFFF9835
+        00983500983500983500D34D00D34D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD34D00D34D00D34D00983500FFFFFF983500983500
+        983500983500983500FFFFFF983500D34D00D34D009835009835009835009835
+        00983500983500983500983500983500983500983500D34D00983500D34D0098
+        3500D34D00983500983500983500983500983500983500983500D34D00D34D00
+        D14C00CD4B00C94A00C34600B5430345BDFEB64303C34600C94A00CD4B00D14C
+        00D34D00D34D00D55A00F1CBB4F4D6C4FAF4F1FAF4F1F4D6C4F1CBB4D55A00D3
+        4D00D34D00D34D00D34D00D34D00D34D00D34D00FFFFFFD34D00FFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFD34D00FFFFFFD34D00D34D00D34D00FFFFFFD34D
+        00D34D00FFFFFFD34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D3
+        4D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD34D00D34D00D34D00
+        FFFFFF983500983500983500FFFFFF983500983500983500FFFFFFD34D00D34D
+        00D34D00D34D00983500FFFFFFD34D00D34D00D34D00FFFFFF983500D34D00D3
+        4D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00D34D00
+        D34D00D34D00D34D00FFFFFFFFFFFFFFFFFFD34D00FFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFD34D00D34D00D14C00CD4B00C94A00C34600B643030A
+        06E9B84403C24600C84900CD4B00D04C00D14C00D14C00CD4B00BA6426FAF4F0
+        FFFFFFFFFFFFFAF4F0BA6426CD4B00D14C00D14C00D14C00D14C00D14C00D14C
+        00D14C00FFFFFFD14C00973500973500973500973500973500973500D14C00FF
+        FFFFD14C00D14C00D14C00FFFFFFD14C00D14C00FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFD14C00D14C00D14C00FFFFFFD14C00973500973500973500FFFFFF9735
+        00973500973500D14C00D14C00D14C00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFD14C00D14C00D14C00D14C00D14C00973500FFFFFF
+        D14C00D14C00973500D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C
+        00D14C00D14C00D14C00D14C00D14C00D14C00D14C00D14C0097350097350097
+        3500D14C00FFFFFF973500973500FFFFFF973500973500FFFFFFD14C00D14C00
+        D04C00CD4B00C84900C24600B844032D3999BA4503BF4500C64700C94A00CD4B
+        00CE4B00CE4B00CE4B00C44600AD5F28F9F4F0F9F4F0AD5F28C44600CE4B00CE
+        4B00CE4B00CE4B00CE4B00CE4B00CE4B00CE4B00FFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE4B00CE4B00CE4B00FFFFFFCE4B
+        00CE4B00FFFFFF953400953400953400953400CE4B00CE4B00FFFFFF953400FF
+        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE4B00CE4B00
+        953400953400FFFFFF953400953400953400FFFFFF953400953400CE4B00CE4B
+        00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        FFFFCE4B00CE4B00CE4B00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        CE4B00CE4B00CE4B00CE4B00FFFFFFCE4B00CE4B00FFFFFFCE4B00CE4B00FFFF
+        FFCE4B00CE4B00FFFFFFCE4B00CE4B00CD4B00C94A00C64700BF4500BA4503A0
+        4672BB4503BC4400C14600C64700C84900C94A00C94A00C94A00C94A00BF4500
+        AA5F29AA5F29BF4500C94A00C94A00C94A00C94A00C94A00C94A00C94A00C94A
+        00C94A0091330091330091330091330091330091330091330091330091330091
+        3300C94A00C94A00C94A00913300C94A00C94A00FFFFFFC94A00C94A00C94A00
+        C94A00C94A00C94A00913300C94A00913300913300913300913300FFFFFF9133
+        00913300913300913300C94A00C94A00C94A00FFFFFF913300C94A00C94A00C9
+        4A00913300FFFFFFC94A00C94A00C94A00913300913300913300913300913300
+        913300913300913300913300913300913300C94A00C94A00C94A009133009133
+        00913300913300913300913300913300C94A00C94A00C94A00FFFFFF913300C9
+        4A00C94A00913300C94A00C94A00FFFFFFC94A00C94A00913300C94A00C94A00
+        C84900C64700C14600BC4400BB45031E6BD6BD4603B74200BC4400BF4500C246
+        00C34600C34600C34600C34600C34600BA4300BA4300C34600C34600C34600C3
+        4600C34600C34600C34600C34600C34600C34600C34600C34600C34600C34600
+        C34600C34600C34600C34600C34600C34600C34600C34600C34600C34600C346
+        00C346008D3000C34600C34600C34600C34600C34600C34600C34600C34600C3
+        4600C34600C34600C346008D3000C34600C34600C34600C34600C34600C34600
+        C346008D3000C34600C34600C34600C34600C346008D3000C34600C34600C346
+        00C34600C34600C34600C34600C34600C34600C34600C34600C34600C34600C3
+        4600C34600C34600C34600C34600C34600C34600C34600C34600C34600C34600
+        C34600C34600C346008D3000C34600C34600C34600C34600C34600C346008D30
+        00C34600C34600C34600C34600C34600C24600BF4500BC4400B74200BD46037B
+        DA6CBD4603B13F00B54100B84200BB4300BB4300BB4300BB4300BB4300BB4300
+        BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB43
+        00BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB
+        4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300
+        BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB43
+        00BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB
+        4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300
+        BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB43
+        00BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB
+        4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300BB4300
+        BB4300B84200B54100B13F00BD4603217E8FBE4603AA3D00AD3E00AF3E00B03F
+        00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B1
+        3F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00
+        B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F
+        00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B1
+        3F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00
+        B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F
+        00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B1
+        3F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00
+        B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F00B13F
+        00B13F00B13F00B13F00B13F00B13F00B03F00AF3E00AD3E00AA3D00BE46032A
+        AB5CBF4703BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500
+        BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE45
+        00BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE
+        4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500
+        BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE45
+        00BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE
+        4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500
+        BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE45
+        00BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE
+        4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500BE4500
+        BE4500BE4500BE4500BE4500BF47032B0074}
+      PaintMode = pmNormal
+      OnClick = btnUploadBillsListClick
+    end
+  end
   object xpm: TXPMenu
     DimLevel = 30
     GrayLevel = 10

+ 31 - 2
Frames/BillsGatherFme.pas

@@ -6,7 +6,7 @@ uses
   BillsGatherDm, Globals, sdDB,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
   Dialogs, ZJGrid, ExtCtrls, ZjGridDBA, ZjGridTreeDBA, ComCtrls, ToolWin,
-  XPMenu, sdGridDBA, JimPages, dxBar, ActnList;
+  XPMenu, sdGridDBA, JimPages, dxBar, ActnList, CslButton;
 
 type
   TLocateBillsEvent = procedure (AID: Integer) of object;
@@ -37,6 +37,8 @@ type
     alBillsGather: TActionList;
     actnLocateMeasureBills: TAction;
     actnLocateCompileBills: TAction;
+    pnlTop: TPanel;
+    btnUploadBillsList: TCslButton;
     procedure zgGclBillsCellGetColor(Sender: TObject; ACoord: TPoint;
       var AColor: TColor);
     procedure tobtnDetailGclClick(Sender: TObject);
@@ -47,6 +49,7 @@ type
       Shift: TShiftState; X, Y: Integer);
     procedure actnLocateCompileBillsExecute(Sender: TObject);
     procedure actnLocateCompileBillsUpdate(Sender: TObject);
+    procedure btnUploadBillsListClick(Sender: TObject);
   private
     FBillsGatherData: TBillsGatherData;
     FShowPhaseData: Boolean;
@@ -74,7 +77,7 @@ type
 implementation
 
 uses
-  ProjectData, UtilMethods, CalcDecimal, MainFrm;
+  ProjectData, UtilMethods, CalcDecimal, MainFrm, PHPWebDm, ConditionalDefines;
 
 {$R *.dfm}
 
@@ -89,6 +92,7 @@ begin
   saDetailGcl.DataView := FBillsGatherData.sdvDetailGclBills;
   saDetailDeal.DataView := FBillsGatherData.sdvDetailDealBills;
   saDetailBGL.DataView := FBillsGatherData.sdvDetailBGLBills;
+  pnlTop.Visible := _IsCloud;
 end;
 
 destructor TBillsGatherFrame.Destroy;
@@ -241,5 +245,30 @@ begin
   TAction(Sender).Enabled := Assigned(saDetailGcl.DataView.Current) and Assigned(FOnLocateCompileBills);
 end;
 
+procedure TBillsGatherFrame.btnUploadBillsListClick(Sender: TObject);
+var
+  sgsParam: TStrings;
+  sResult: string;
+begin
+  if saGclBills.DataView.RecordCount = 0 then
+  begin
+    WarningMessage('请先建立台账,再同步清单至云端。');
+    Exit;
+  end;
+
+  sgsParam := TStringList.Create;
+  try
+    sgsParam.Add(Format('pmid=%d', [TProjectData(FBillsGatherData.ProjectData).WebID]));
+    //sgsParam.Add(Format('pmid=%d', [1595]));
+    sgsParam.Add(Format('listjson=%s', [FBillsGatherData.GetAllBillsJson]));
+    if PHPWeb.UrlGet(PHPWeb.MeasureURL + 'change/list/create', sgsParam, sResult) = 1 then
+      TipMessage('上传成功。')
+    else
+      WarningMessage(Format('上传数据失败:', [sResult]));
+  finally
+    sgsParam.Free;
+  end;
+end;
+
 end.
 

+ 2 - 0
Frames/ProjectFme.pas

@@ -310,6 +310,8 @@ begin
       jpsAssistant.ActivePageIndex := Tag;
       sbtnExpend.Tag := Tag;
       ControlAssistantButtonsDown(Tag);
+      if _IsCloud and (Tag = tobtnBGL.Tag) then
+        BGLFrame.LoadBGLFromCloud;
       jpsMain.ActivePage.Tag := Tag;
     end;
     SetAssistantViewVisible(Down);

+ 1 - 1
Units/Connections.pas

@@ -8,7 +8,7 @@ uses
 const
   ProductName = 'Measure';
   EmptyFileVersion = '1.0.0.0';
-  FileVersion = '1.0.1.17';
+  FileVersion = '1.0.1.18';
   EncryptVersion = 'Auto1.0';
   SAdoConnectStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +
                    'User ID=Admin;Password='''';Persist Security Info=True';

+ 6 - 2
Units/DataBaseTables.pas

@@ -344,7 +344,7 @@ const
 
   {变更令}
   SBGL = 'BGL';
-  tdBGL: array [0..11] of TScFieldDef =(
+  tdBGL: array [0..13] of TScFieldDef =(
     (FieldName: 'ID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: True; PrimaryKey: True; ForceUpdate: False),
     // 变更令号
     (FieldName: 'Code'; FieldType: ftString; Size: 50; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
@@ -367,7 +367,11 @@ const
     // 已执行
     (FieldName: 'ExecutionRate'; FieldType: ftDouble; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
     // 变更令类型:一般、较大、重大
-    (FieldName: 'BGLType'; FieldType: ftString; Size: 10; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
+    (FieldName: 'BGLType'; FieldType: ftString; Size: 10; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
+    // 是否来自变更令系统
+    (FieldName: 'IsCloud'; FieldType: ftBoolean; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False),
+    // 变更令系统中ID
+    (FieldName: 'WebID'; FieldType: ftInteger; Size: 0; Precision: 0; NotNull: False; PrimaryKey: False; ForceUpdate: False)
   );
 
   SBGBills = 'BGBills';