Browse Source

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 years ago
parent
commit
2c608499e0

+ 13 - 0
DataModules/BGLDm.dfm

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

+ 135 - 1
DataModules/BGLDm.pas

@@ -7,6 +7,8 @@ uses
   sdDB;
   sdDB;
 
 
 type
 type
+  TAfterCurrentBGLChanged = procedure of object;
+
   TBGLSelectInfo = class(TObject)
   TBGLSelectInfo = class(TObject)
   private
   private
     FB_Code: string;
     FB_Code: string;
@@ -96,6 +98,10 @@ type
     cdsBGBillsViewQuantity: TFloatField;
     cdsBGBillsViewQuantity: TFloatField;
     cdsBGBillsViewTotalPrice: TFloatField;
     cdsBGBillsViewTotalPrice: TFloatField;
     cdsBGBillsViewUsedQuantity: TFloatField;
     cdsBGBillsViewUsedQuantity: TFloatField;
+    cdsBGLIsCloud: TBooleanField;
+    cdsBGLWebID: TIntegerField;
+    cdsBGLViewIsCloud: TBooleanField;
+    cdsBGLViewWebID: TIntegerField;
     procedure cdsBGBillsViewAfterInsert(DataSet: TDataSet);
     procedure cdsBGBillsViewAfterInsert(DataSet: TDataSet);
     procedure cdsBGBillsViewAfterPost(DataSet: TDataSet);
     procedure cdsBGBillsViewAfterPost(DataSet: TDataSet);
     procedure cdsBGBillsViewQuantityChange(Sender: TField);
     procedure cdsBGBillsViewQuantityChange(Sender: TField);
@@ -110,8 +116,10 @@ type
     procedure cdsBGBillsViewPriceSetText(Sender: TField;
     procedure cdsBGBillsViewPriceSetText(Sender: TField;
       const Text: String);
       const Text: String);
     procedure cdsBGLViewCodeChange(Sender: TField);
     procedure cdsBGLViewCodeChange(Sender: TField);
+    procedure cdsBGLViewAfterScroll(DataSet: TDataSet);
   private
   private
     FProjectData: TObject;
     FProjectData: TObject;
+    FAfterCurrentBGLChanged: TAfterCurrentBGLChanged;
 
 
     procedure GatherBGLTotalPrice(ABGLID: Integer);
     procedure GatherBGLTotalPrice(ABGLID: Integer);
     procedure UpdateBGLTotalPrice(ABGLID: Integer; ADiffer: Double);
     procedure UpdateBGLTotalPrice(ABGLID: Integer; ADiffer: Double);
@@ -134,20 +142,26 @@ type
     procedure Close;
     procedure Close;
     procedure Save;
     procedure Save;
 
 
+    function GetBGLCanEdit(ASerialNo: Integer): Boolean;
+
     function AllBGLTotalPrice: Double;
     function AllBGLTotalPrice: Double;
 
 
+    function AllCloudBGLWebID: string;
+    procedure LoadCloudBGL(const ABGLs: string);
+
     procedure AddBGL(const sCode: string);
     procedure AddBGL(const sCode: string);
     procedure ApplyBGL(AOrgBGL, ANewBGL: TBGLSelectInfo); overload;
     procedure ApplyBGL(AOrgBGL, ANewBGL: TBGLSelectInfo); overload;
 
 
     procedure BatchWritePos_Reason;
     procedure BatchWritePos_Reason;
 
 
     property ProjectData: TObject read FProjectData;
     property ProjectData: TObject read FProjectData;
+    property AfterCurrentBGLChanged: TAfterCurrentBGLChanged read FAfterCurrentBGLChanged write FAfterCurrentBGLChanged;
   end;
   end;
 
 
 implementation
 implementation
 
 
 uses
 uses
-  ZhAPI, Math, ProjectData, BillsDm, Variants, UtilMethods;
+  ZhAPI, Math, ProjectData, BillsDm, Variants, UtilMethods, superobject;
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
@@ -426,6 +440,14 @@ var
   iIncrement: Integer;
   iIncrement: Integer;
   sNewCode: string;
   sNewCode: string;
 begin
 begin
+  if cdsBGLViewIsCloud.AsBoolean then
+  begin
+    cdsBGLViewCode.Tag := 0;
+    WarningMessage('当前变更令不允许编辑。');
+    DataSet.Cancel;
+    Abort;
+  end;
+
   // 变更令号不可为空
   // 变更令号不可为空
   if cdsBGLViewCode.AsString = '' then
   if cdsBGLViewCode.AsString = '' then
   begin
   begin
@@ -486,6 +508,8 @@ procedure TBGLData.cdsBGLViewBeforeDelete(DataSet: TDataSet);
 begin
 begin
   if CheckBGLUsed(cdsBGLViewID.AsInteger) then
   if CheckBGLUsed(cdsBGLViewID.AsInteger) then
     raise Exception.Create('变更令下变更清单已被应用到清单,不可删除!');
     raise Exception.Create('变更令下变更清单已被应用到清单,不可删除!');
+  if cdsBGLViewIsCloud.AsBoolean then
+    raise Exception.Create('云端获取的变更令不允许删除!');
   DeleteBGBills(cdsBGLViewID.AsInteger);
   DeleteBGBills(cdsBGLViewID.AsInteger);
 end;
 end;
 
 
@@ -511,6 +535,8 @@ procedure TBGLData.cdsBGBillsViewBeforeDelete(DataSet: TDataSet);
 begin
 begin
   if cdsBGBillsViewUsedQuantity.AsFloat <> 0 then
   if cdsBGBillsViewUsedQuantity.AsFloat <> 0 then
     raise Exception.Create('变更清单已被应用至清单,不可删除!');
     raise Exception.Create('变更清单已被应用至清单,不可删除!');
+  if cdsBGLViewIsCloud.AsBoolean then
+    raise Exception.Create('云端获取的变更清单不允许删除!');
 end;
 end;
 
 
 function TBGLData.CheckBGLUsed(ABGID: Integer): Boolean;
 function TBGLData.CheckBGLUsed(ABGID: Integer): Boolean;
@@ -652,4 +678,112 @@ begin
   end;
   end;
 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.
 end.

+ 31 - 1
DataModules/BillsGatherDm.pas

@@ -36,6 +36,7 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
 
 
     procedure RefreshBills;
     procedure RefreshBills;
+    function GetAllBillsJson: string;
 
 
     property ProjectData: TObject read FProjectData;
     property ProjectData: TObject read FProjectData;
     property MainBillsTree: TsdIDTree read GetMainBillsTree;
     property MainBillsTree: TsdIDTree read GetMainBillsTree;
@@ -44,7 +45,7 @@ type
 implementation
 implementation
 
 
 uses
 uses
-  ProjectData, PhaseData, StageDm, BillsDm, UtilMethods,
+  ProjectData, PhaseData, StageDm, BillsDm, UtilMethods, superobject,
   ZhAPI, BillsCompileDm, DealBillsDm, BGLDm, BillsTree, BillsMeasureDm;
   ZhAPI, BillsCompileDm, DealBillsDm, BGLDm, BillsTree, BillsMeasureDm;
 
 
 {$R *.dfm}
 {$R *.dfm}
@@ -399,4 +400,33 @@ begin
     Text := '';
     Text := '';
 end;
 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.
 end.

+ 23 - 18
DataModules/DealBillsDm.dfm

@@ -18,24 +18,29 @@ object DealBillsData: TDealBillsData
     FieldListData = {
     FieldListData = {
       0101044E616D6506024944094669656C644E616D650602494408446174615479
       0101044E616D6506024944094669656C644E616D650602494408446174615479
       70650203084461746153697A6502040549734B6579080F4E65656450726F6365
       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
   end
   object sdvDealBills: TsdDataView
   object sdvDealBills: TsdDataView
     Active = False
     Active = False

+ 26 - 1
DataModules/DealBillsDm.pas

@@ -31,6 +31,7 @@ type
     procedure EnableEvent;
     procedure EnableEvent;
 
 
     function DealRecord(const AB_Code: string): TsdDataRecord;
     function DealRecord(const AB_Code: string): TsdDataRecord;
+    function GetAllDealBillsJson: string;
 
 
     property ProjectData: TObject read FProjectData;
     property ProjectData: TObject read FProjectData;
   end;
   end;
@@ -38,7 +39,7 @@ type
 implementation
 implementation
 
 
 uses
 uses
-  UtilMethods;
+  UtilMethods, superobject;
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
@@ -80,6 +81,30 @@ begin
   sddDealBills.BeforeAddRecord := sddDealBillsBeforeAddRecord;
   sddDealBills.BeforeAddRecord := sddDealBillsBeforeAddRecord;
 end;
 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;
 function TDealBillsData.GetNewID: Integer;
 var
 var
   idx: TsdIndex;
   idx: TsdIndex;

+ 2 - 2
Dprs/Pro/Measure.dof

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

BIN
Dprs/Pro/Measure.res


+ 2 - 2
Dprs/Pro/Measure_Cloud.dof

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

BIN
Dprs/Pro/Measure_Cloud.res


+ 2 - 2
Dprs/Pro/Measure_GuangDong.dof

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

BIN
Dprs/Pro/Measure_GuangDong.res


+ 2 - 2
Dprs/Pro/Measure_GuangDong_Cloud.dof

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

BIN
Dprs/Pro/Measure_GuangDong_Cloud.res


+ 3 - 0
Frames/BGLFme.dfm

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

+ 56 - 1
Frames/BGLFme.pas

@@ -57,6 +57,11 @@ type
     procedure zgBGLEditorLoadCell(Sender: TObject; ACoord: TPoint;
     procedure zgBGLEditorLoadCell(Sender: TObject; ACoord: TPoint;
       AControl: TWinControl);
       AControl: TWinControl);
     procedure zgBGLCellTextChanged(Sender: TObject; Col, Row: Integer);
     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
   private
     FBGLData: TBGLData;
     FBGLData: TBGLData;
 
 
@@ -64,13 +69,15 @@ type
     procedure PasteBGLBlock;
     procedure PasteBGLBlock;
   public
   public
     constructor Create(AParent: TFrame; ABGLData: TBGLData);
     constructor Create(AParent: TFrame; ABGLData: TBGLData);
+
+    procedure LoadBGLFromCloud;
   end;
   end;
 
 
 implementation
 implementation
 
 
 uses
 uses
   UtilMethods, MergeTextFrm, ProjectData, MainFrm, mEncryptEditions,
   UtilMethods, MergeTextFrm, ProjectData, MainFrm, mEncryptEditions,
-  BGLClipboard, ConditionalDefines, ZjCells;
+  BGLClipboard, ConditionalDefines, ZjCells, PHPWebDm;
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
@@ -91,6 +98,15 @@ begin
   dbmDirection.DataSource := FBGLData.dsBGL;
   dbmDirection.DataSource := FBGLData.dsBGL;
   zaBGBills.DataSet := FBGLData.cdsBGBillsView;
   zaBGBills.DataSet := FBGLData.cdsBGBillsView;
   SetDxBtnAction(actnNew, tobtnNew);
   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;
 end;
 
 
 procedure TBGLFrame.actnNewExecute(Sender: TObject);
 procedure TBGLFrame.actnNewExecute(Sender: TObject);
@@ -248,4 +264,43 @@ begin
   end;
   end;
 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.
 end.

+ 630 - 3
Frames/BillsGatherFme.dfm

@@ -20,9 +20,9 @@ object BillsGatherFrame: TBillsGatherFrame
   end
   end
   object pnlBillsGather: TPanel
   object pnlBillsGather: TPanel
     Left = 0
     Left = 0
-    Top = 0
+    Top = 20
     Width = 1477
     Width = 1477
-    Height = 378
+    Height = 358
     Align = alClient
     Align = alClient
     BevelOuter = bvNone
     BevelOuter = bvNone
     TabOrder = 0
     TabOrder = 0
@@ -30,7 +30,7 @@ object BillsGatherFrame: TBillsGatherFrame
       Left = 0
       Left = 0
       Top = 0
       Top = 0
       Width = 1477
       Width = 1477
-      Height = 378
+      Height = 358
       Options = [goRangeSelect, goRowSizing, goColSizing, goCellNotMaintainData, goFixedRowShowNo, goFixedColShowNo, goAlwaysShowSelection, goShowTreeLine]
       Options = [goRangeSelect, goRowSizing, goColSizing, goCellNotMaintainData, goFixedRowShowNo, goFixedColShowNo, goAlwaysShowSelection, goShowTreeLine]
       OptionsEx = []
       OptionsEx = []
       ColCount = 29
       ColCount = 29
@@ -194,6 +194,633 @@ object BillsGatherFrame: TBillsGatherFrame
       end
       end
     end
     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
   object xpm: TXPMenu
     DimLevel = 30
     DimLevel = 30
     GrayLevel = 10
     GrayLevel = 10

+ 31 - 2
Frames/BillsGatherFme.pas

@@ -6,7 +6,7 @@ uses
   BillsGatherDm, Globals, sdDB,
   BillsGatherDm, Globals, sdDB,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
   Dialogs, ZJGrid, ExtCtrls, ZjGridDBA, ZjGridTreeDBA, ComCtrls, ToolWin,
   Dialogs, ZJGrid, ExtCtrls, ZjGridDBA, ZjGridTreeDBA, ComCtrls, ToolWin,
-  XPMenu, sdGridDBA, JimPages, dxBar, ActnList;
+  XPMenu, sdGridDBA, JimPages, dxBar, ActnList, CslButton;
 
 
 type
 type
   TLocateBillsEvent = procedure (AID: Integer) of object;
   TLocateBillsEvent = procedure (AID: Integer) of object;
@@ -37,6 +37,8 @@ type
     alBillsGather: TActionList;
     alBillsGather: TActionList;
     actnLocateMeasureBills: TAction;
     actnLocateMeasureBills: TAction;
     actnLocateCompileBills: TAction;
     actnLocateCompileBills: TAction;
+    pnlTop: TPanel;
+    btnUploadBillsList: TCslButton;
     procedure zgGclBillsCellGetColor(Sender: TObject; ACoord: TPoint;
     procedure zgGclBillsCellGetColor(Sender: TObject; ACoord: TPoint;
       var AColor: TColor);
       var AColor: TColor);
     procedure tobtnDetailGclClick(Sender: TObject);
     procedure tobtnDetailGclClick(Sender: TObject);
@@ -47,6 +49,7 @@ type
       Shift: TShiftState; X, Y: Integer);
       Shift: TShiftState; X, Y: Integer);
     procedure actnLocateCompileBillsExecute(Sender: TObject);
     procedure actnLocateCompileBillsExecute(Sender: TObject);
     procedure actnLocateCompileBillsUpdate(Sender: TObject);
     procedure actnLocateCompileBillsUpdate(Sender: TObject);
+    procedure btnUploadBillsListClick(Sender: TObject);
   private
   private
     FBillsGatherData: TBillsGatherData;
     FBillsGatherData: TBillsGatherData;
     FShowPhaseData: Boolean;
     FShowPhaseData: Boolean;
@@ -74,7 +77,7 @@ type
 implementation
 implementation
 
 
 uses
 uses
-  ProjectData, UtilMethods, CalcDecimal, MainFrm;
+  ProjectData, UtilMethods, CalcDecimal, MainFrm, PHPWebDm, ConditionalDefines;
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
@@ -89,6 +92,7 @@ begin
   saDetailGcl.DataView := FBillsGatherData.sdvDetailGclBills;
   saDetailGcl.DataView := FBillsGatherData.sdvDetailGclBills;
   saDetailDeal.DataView := FBillsGatherData.sdvDetailDealBills;
   saDetailDeal.DataView := FBillsGatherData.sdvDetailDealBills;
   saDetailBGL.DataView := FBillsGatherData.sdvDetailBGLBills;
   saDetailBGL.DataView := FBillsGatherData.sdvDetailBGLBills;
+  pnlTop.Visible := _IsCloud;
 end;
 end;
 
 
 destructor TBillsGatherFrame.Destroy;
 destructor TBillsGatherFrame.Destroy;
@@ -241,5 +245,30 @@ begin
   TAction(Sender).Enabled := Assigned(saDetailGcl.DataView.Current) and Assigned(FOnLocateCompileBills);
   TAction(Sender).Enabled := Assigned(saDetailGcl.DataView.Current) and Assigned(FOnLocateCompileBills);
 end;
 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.
 end.
 
 

+ 2 - 0
Frames/ProjectFme.pas

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

+ 1 - 1
Units/Connections.pas

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

+ 6 - 2
Units/DataBaseTables.pas

@@ -344,7 +344,7 @@ const
 
 
   {变更令}
   {变更令}
   SBGL = 'BGL';
   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: '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),
     (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: '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';
   SBGBills = 'BGBills';