📄 matin.~pas
字号:
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 8;
Column.Caption := GetMultiLingalMsg(70222, 'Process Cost');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 10;
Column.Caption := GetMultiLingalMsg(90064, 'Part Code');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 8;
Column.Caption := GetMultiLingalMsg(90255, 'IN Date');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 12;
Column.Caption := GetMultiLingalMsg(90053,'by In Paper NO');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 12;
Column.Caption := GetMultiLingalMsg(90236,'Issue Paper');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 8;
Column.Caption := GetMultiLingalMsg(90124,'SerialNum');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 10;
Column.Caption := GetMultiLingalMsg(32093,'Order Code');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 11;
Column.Caption := GetMultiLingalMsg(10042,'Sequal No');
Inc(FColCnt);
//--
Column := sListView.Columns.Add;
Column.Width := sListView.Font.Size * 16;
Column.Caption := GetMultiLingalMsg(90065, 'Remarks');
Inc(FColCnt);
end;
procedure TfrmMatIN.MakeItemCaption(Item: TListItem);
//-- Init int value and '' to 0 value
function IntToStrNull(INum: Integer): string;
begin
if INum = 0 then Result := ''
else Result := IntToStr(INum);
end;
var lcP: PINVENTORY;
begin
if Item = nil then Exit;
if Item.Data = nil then Exit;
lcP := Item.Data;
Item.ImageIndex := lcP^.KIND;
Item.Caption := lcp^.STK_ID;
Item.SubItems[00] := dm_inventory.GetOrderNo(lcp^.ODR_RID);
Item.SubItems[01] := dm_inventory.GetMaterialCode(lcP^.MAT_RID);
Item.SubItems[02] := lcP^.MAT_NM;
Item.SubItems[03] := dm_inventory.Get_GuageName(lcP^.MAT_RID,lcp^.GUAGE_ID);
Item.SubItems[04] := dm_inventory.GetUnitTypeName(lcP^.MAT_RID);
Item.SubItems[05] := FormatFloat('#,##0.00',abs(lcP^.UNT_PRICE));
Item.SubItems[06] := FormatFloat('#,##0.00',abs(lcP^.QUANTITY));
Item.SubItems[07] := FormatFloat('#,##0.00',abs(UserDecimalDefine(lcP^.TTL_PRICE,-2)));
Item.SubItems[08] := dm_inventory.GetShigenName(lcp^.SUP_CD);
Item.SubItems[09] := dm_inventory.GetShigenName(lcp^.MAK_CD);
Item.SubItems[10] := FormatFloat('#,##0.00',abs(lcP^.MAK_PRICE));
Item.SubItems[11] := dm_inventory.GetPartCode(lcp^.ODR_RID,lcp^.PAT_RID);
Item.SubItems[12] := formatdatetime('yy/mm/dd',lcp^.date);
Item.SubItems[13] := lcp^.PAPERNO;
Item.SubItems[14] := lcp^.ISS_PAPERNO;
Item.SubItems[15] := inttostr(lcp^.HAT_RID);
Item.SubItems[16] := strpas(lcp^.HAT_CODE);
Item.SubItems[17] := strpas(lcp^.SEQUAL_NO);
Item.SubItems[18] := lcp^.NOTE;
end;
procedure TfrmMatIN.rdoGroupByClick(Sender: TObject);
begin
Read_IOChangedList;
end;
procedure TfrmMatIN.tabsGroupChange(Sender: TObject);
begin
inherited;
dm_Inventory.Read_IOHistory(FMatIOList,trim(edtStkID.Text),0,sFDate,sEDate);
Set_QueryedList(FQueryList);
Set_QryList_FromTabs(TabsGroup.TabIndex, FQueryList);
SetListView;
if ListViewMatIN.Items.Count>0 then begin
ListViewMatIN.ToPItem.Selected := False;
ListViewMatIN.ToPItem.Selected := True;
end;
end;
procedure TfrmMatIN.cbxGuageDropDown(Sender: TObject);
begin
inherited;
dm_Inventory.Read_GuageInfoToCbx(edtMatCode,cbxGuage);
end;
procedure TfrmMatIN.cbxStkChange(Sender: TObject);
begin
inherited;
edtStkID.Text := Get_PosBeforeStr(cbxStk.Text,'_');
edtStkName.Text := Get_PosAfterStr(cbxStk.Text,'_');
edtStkID.SetFocus;
end;
procedure TfrmMatIN.cbxMatInDropDown(Sender: TObject);
begin
inherited;
dm_inventory.Read_IOIDInfo_ToCbx(cbxMatIn,1);
end;
procedure TfrmMatIN.cbxMatInChange(Sender: TObject);
var lcp: PInventory;
View: TInventory;
begin
inherited;
lcp := Selected;
edtMatInID.Text := Get_PosBeforeStr(cbxMatIn.Text,'_');
edtInIDName.Text := Get_PosAfterStr(cbxMatIn.Text,'_');
edtMatInID.SetFocus;
strPCopy(lcp^.INOUT_ID,trim(edtMatInID.Text));
SetUpdateList(lcP^.REC_ID, @lcP^.INOUT_ID, LongInt(@View.INOUT_ID)-LongInt(@View), 0, lcP);
end;
procedure TfrmMatIN.cbxInputDropDown(Sender: TObject);
begin
inherited;
dm_inventory.Read_EmpInfoToCbx(cbxInput);
end;
procedure TfrmMatIN.cbxInputChange(Sender: TObject);
var lcp: PInventory;
View: TInventory;
begin
inherited;
lcp := Selected;
edtInputEmpID.Text := Get_PosBeforeStr(cbxInput.Text,'_');
edtInputEmpName.Text := Get_PosAfterStr(cbxInput.Text,'_');
edtInputEmpID.SetFocus;
strPCopy(lcp^.INPUT_EMPID,trim(edtInputEmpID.Text));
SetUpdateList(lcP^.REC_ID, @lcP^.INPUT_EMPID, LongInt(@View.INPUT_EMPID)-LongInt(@View), 0, lcP);
end;
Procedure TfrmMatIN.Excel_StockInList(sList: TList; iReport: Integer);
var
V: Variant;
Sheet: Variant;
Filename: string;
ExePath: string;
j,k : integer;
lcp: PINVENTORY;
fixrow: Integer;
begin
try
V := CreateOleObject('Excel.Application');
except
Screen.Cursor:=crDefault;
MessageDlg('Excel Application startup Error.', mtError, [mbOk],0);
Exit;
end;
V.Visible := True;
Screen.Cursor:=crDefault;
if (iReport=-1) then iReport := 0;
case iReport of
0: Filename := ExtractFilePath(application.ExeName) + 'inpaper.xls';
else Filename := ExtractFilePath(application.ExeName) + 'inpaper2.xls';
end;
if FileExists(Filename)=False then begin
MessageDlg(Filename + ExtractFilePath(FileName)+'this parth is not exist file!',
mtError, [mbOk],0);
Exit;
end;
V.Workbooks.Open(FileName,,true,,,,,,,,,,); // Readonly = True
V.WorkSheets[1].Activate;
V.Sheets.Add;
V.WorkSheets[2].Select;
V.WorkSheets[2].Activate;
V.ActiveSheet.Cells.Select;
V.Selection.Copy;
V.WorkSheets[1].Activate;
V.WorkSheets[1].Select;
V.ActiveSheet.Cells.Select;
V.ActiveSheet.Paste;
V.ActiveSheet.Name := 1;
k := 0;
fixrow := StrToIntDef(frmMain.IniData.PAPERNO,20);
for j := (k*fixrow) to sList.Count-1 do begin
lcp := sList[j];
if (j-(k*fixrow)+1) > fixrow then
begin
inc(K);
V.Sheets.Add;
V.WorkSheets[k+2].Select;
V.WorkSheets[k+2].Activate;
V.ActiveSheet.Cells.Select;
V.Selection.Copy;
V.WorkSheets[1].Activate;
V.WorkSheets[1].Select;
V.ActiveSheet.Cells.Select;
V.ActiveSheet.Paste;
V.ActiveSheet.Name := k+1;
end;
///////////////////////////////////
case iReport of
0: begin
V.ActiveSheet.PageSetUp.Orientation := xlPortrait; //-- xlLandscape; //--
V.ActiveSheet.PageSetUp.PrintTitleRows := '$1:$3'; //--
V.ActiveSheet.PageSetUp.CenterFooter := '&9&P/&N Page'; //--
V.ActiveSheet.PageSetUp.Order := xlOverThenDown; //--
end;
else begin
V.ActiveSheet.PageSetUp.Orientation := xlLandscape; //xlPortrait; //-- xlLandscape; //--
V.ActiveSheet.PageSetUp.PrintTitleRows := '$1:$3'; //--
V.ActiveSheet.PageSetUp.CenterFooter := '&9&P/&N Page'; //--
V.ActiveSheet.PageSetUp.Order := xlOverThenDown; //--
end;
end;
//--
V.ActiveSheet.PageSetUp.LeftMargin := V.InchesToPoints(7/25.4); // 15mm
V.ActiveSheet.PageSetUp.RightMargin := V.InchesToPoints(7/25.4); // 15mm
V.ActiveSheet.PageSetUp.TopMargin := V.InchesToPoints(15/25.4); // 15mm
V.ActiveSheet.PageSetUp.BottomMargin := V.InchesToPoints(15/25.4); // 15mm
V.ActiveSheet.PageSetUp.HeaderMargin := V.InchesToPoints(10/25.4); // 10mm
V.ActiveSheet.PageSetUp.FooterMargin := V.InchesToPoints(10/25.4); // 10mm
///////////////////////////////////////
V.ActiveSheet.Cells[3, 3].NumberFormatLocal := '@';
case rdoGroupBy.ItemIndex of
0: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90057,'Suplier');
1: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90063,'Mold Code');
2: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90053,'Paper NO');
3: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90052,'IN Date');
4: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90028,'Material Code');
5: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90061,'Invoice NO');
6: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90060,'IN Man');
7: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90059,'IN Type');
8: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90236,'Issue Paper');
9: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90058,'by Maker');
10: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(32093,'by Order Code');
11: V.ActiveSheet.Cells[ 3, 1].Value := GetMultiLingalMsg(90079,'ALL');
end;
V.ActiveSheet.Cells[3, 3].NumberFormatLocal := '@';
Case rdoGroupBy.ItemIndex of
0: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetShigenName(lcp^.SUP_CD);
1: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetOrderNo(lcp^.ODR_RID);
2: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.PAPERNO);
3: V.ActiveSheet.Cells[ 3, 3].Value := FormatDatetime('yyyy/mm/dd',lcp^.DATE);
4: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetMaterialCode(lcp^.MAT_RID);
5: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.INVOICE_NO);
6: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.Get_EmpName(lcp^.INPUT_EMPID);
7: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.Get_IOIDName(lcp^.INOUT_ID,1);
8: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.ISS_PAPERNO);
9: V.ActiveSheet.Cells[ 3, 3].Value := dm_inventory.GetShigenName(lcp^.MAK_CD);
10: V.ActiveSheet.Cells[ 3, 3].Value := strPas(lcp^.HAT_CODE);
11: V.ActiveSheet.Cells[ 3, 3].Value := 'ALL';
end;
V.ActiveSheet.Cells[ 3, 3].Font.Size := 9;
case iReport of
0: begin
V.ActiveSheet.Cells[2, 10].NumberFormatLocal := '@';
V.ActiveSheet.Cells[2, 10].Value := strpas(lcp^.PAPERNO);
V.ActiveSheet.Cells[2, 10].Font.Size := 9;
V.ActiveSheet.Cells[3, 10].NumberFormatLocal := '@';
V.ActiveSheet.Cells[3, 10].Value := FormatDatetime('yyyy/mm/dd hh:mm',Now);
V.ActiveSheet.Cells[3, 10].Font.Size := 9;
end;
else begin
V.ActiveSheet.Cells[2, 12].NumberFormatLocal := '@';
V.ActiveSheet.Cells[2, 12].Value := strpas(lcp^.PAPERNO);
V.ActiveSheet.Cells[2, 12].Font.Size := 9;
V.ActiveSheet.Cells[3, 12].NumberFormatLocal := '@';
V.ActiveSheet.Cells[3, 12].Value := FormatDatetime('yyyy/mm/dd hh:mm',Now);
V.ActiveSheet.Cells[3, 12].Font.Size := 9;
end;
end;
//--
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 2].NumberFormatLocal := '@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 2].Value := dm_inventory.GetOrderNo(lcp^.ODR_RID);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 2 ].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 3].NumberFormatLocal := '@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 3].Value := dm_inventory.GetPartCode(lcp^.ODR_RID,lcp^.PAT_RID);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 3].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 4].NumberFormatLocal := '@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 4].Value := dm_inventory.GetMaterialName(lcp^.MAT_RID);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 4].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 5].NumberFormatLocal := '@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 5].Value := dm_inventory.Get_GuageName(lcp^.MAT_RID,lcp^.GUAGE_ID);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 5].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 6].NumberFormatLocal := '@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 6].Value := dm_inventory.GetUnitTypeName(lcp^.MAT_RID);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 6].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 7].NumberFormatLocal:='#,##0.00';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 7].Value := FormatFloat('#,##0.00', RoundTo(lcp^.UNT_PRICE,-2));
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 7 ].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 8].NumberFormatLocal:='#,##0.00';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 8].Value := FormatFloat('#,##0.00', RoundTo(lcp^.QUANTITY,-2));
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 8 ].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 9].NumberFormatLocal:='#,##0.00';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 9].Value := FormatFloat('#,##0.00', RoundTo(lcp^.TTL_PRICE,-2));
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 9].Font.Size := 9;
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 10].NumberFormatLocal:='@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 10].Value := FormatDatetime('yyyy/mm/dd', lcp^.DATE);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 10].Font.Size := 9;
case iReport of
0: begin
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].NumberFormatLocal:='@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Value := strpas(lcp^.NOTE);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Font.Size := 9;
V.ActiveSheet.Cells[fixrow+7, 10].NumberFormatLocal:='@';
V.ActiveSheet.Cells[fixrow+7, 10].Value := dm_inventory.Get_EmpName(lcp^.INPUT_EMPID);
V.ActiveSheet.Cells[fixrow+7, 10].Font.Size := 9;
end;
else begin
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].NumberFormatLocal:='@';
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Value := strpas(lcp^.ISS_PAPERNO);
V.ActiveSheet.Cells[ j-(k*fixrow)+5, 11].Font.Size := 9;
V.ActiveSheet.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -