怎样在自己的进销存里导入速达、管家婆和用友的数据

unit UpdateSD3000;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, EditForm, KsControls, KsLabels, KsSkinLabels, dxEditor,
  dxExEdtr, dxEdLib, dxCntner, KsButtons, KsSkinButtons, KsTabs,
  KsSkinTabs, KsHooks, KsForms, KsSkinForms, KsEdits, KsComboBoxs,
  KsSkinComboBoxs, DB, IBDatabase, Registry, SysPublic, IBCustomDataSet,
  Grids, DBGrids, ADODB;

type
  TfrmUpdateSD3000 = class(TfrmEditForm)
    PageControl: TSeSkinPageControl;
    TabSD3000: TKsCustomTabSheet;
    KsCustomTabSheet2: TKsCustomTabSheet;
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    OpenDlg: TOpenDialog;
    edtSDData: TdxButtonEdit;
    SeSkinLabel1: TSeSkinLabel;
    SeSkinLabel2: TSeSkinLabel;
    SeSkinLabel3: TSeSkinLabel;
    SeSkinLabel4: TSeSkinLabel;
    SeSkinLabel5: TSeSkinLabel;
    edtServeName: TdxEdit;
    SeSkinLabel6: TSeSkinLabel;
    SeSkinLabel7: TSeSkinLabel;
    edtLoginName: TdxEdit;
    SeSkinLabel8: TSeSkinLabel;
    edtLoginPass: TdxEdit;
    bbLinkServer: TSeSkinButton;
    SeSkinLabel9: TSeSkinLabel;
    SeSkinLabel10: TSeSkinLabel;
    SeSkinLabel11: TSeSkinLabel;
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBDataSet1: TIBDataSet;
    AdoDataSet: TADODataSet;
    KsCustomTabSheet3: TKsCustomTabSheet;
    SeSkinLabel15: TSeSkinLabel;
    edtYYData: TdxButtonEdit;
    SeSkinLabel12: TSeSkinLabel;
    SeSkinLabel13: TSeSkinLabel;
    SeSkinLabel14: TSeSkinLabel;
    SeSkinLabel16: TSeSkinLabel;
    SQLADOConnet: TADOConnection;
    SQLDataSet: TADODataSet;
    cbxSQLDB: TdxPickEdit;
    procedure edtSDDataButtonClick(Sender: TObject; AbsoluteIndex: Integer);
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure edtYYDataButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure bbLinkServerClick(Sender: TObject);
  private
    { Private declarations }
    bReturn: Boolean;
    function GetSD3000Path: string; //得到速达的安装目录
    function GetUFERPPath: string; //得到用友的安装目录
    function ConectGrasp(sData: string): Boolean;
    function ConectSD3000(sDBPath: string): Boolean;
    function OpenIBDataSet(sDBName: string): Boolean;
    procedure InputGrasp(sSql1, sSql2, sField1, sField2, sConst: string);
    procedure InputSD3000(sSql1, sSql2, sField1, sField2, sConst: string);
    procedure InputAllSD3000Data; //全部速达数据
    procedure InputAllGraspData; //全部管家婆数据
    procedure InputAllUfSoft80Data; //全部用友数据
    procedure MainShow;
    procedure LoadData;
  public
    { Public declarations }
  end;

function UpdateSD3000Show: Boolean;
implementation

uses DBData;
{$R *.dfm}

function UpdateSD3000Show: Boolean;
var
  frmUpdateSD3000: TfrmUpdateSD3000;
begin
  frmUpdateSD3000 := TfrmUpdateSD3000.Create(Application);
  with frmUpdateSD3000 do
  begin
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmUpdateSD3000.MainShow;
begin
  LoadData;
  ShowModal;
end;

function TfrmUpdateSD3000.GetSD3000Path: string;
var
  Reg: TRegistry;
begin
  Result := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('/Software/SuperData/SD3000/net', False) then
      Result := Reg.ReadString('RemoteDBDir')
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;

function TfrmUpdateSD3000.GetUFERPPath: string;
var
  Reg: TRegistry;
begin
  Result := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('/Software/SuperData/SD3000/net', False) then
      Result := Reg.ReadString('RemoteDBDir')
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;

procedure TfrmUpdateSD3000.LoadData;
begin
  PageControl.TabIndex := 0;
  edtSDData.Text := GetSD3000Path;
  edtYYData.text := GetUFERPPath;
end;

procedure TfrmUpdateSD3000.edtSDDataButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sFileName: string;
begin
  inherited;
  OpenDlg.FileName := edtSDData.Text;
  if OpenDlg.Execute then
  begin
    sFileName := OpenDlg.FileName;
    edtSDData.Text := sFileName;
  end;
end;

function TfrmUpdateSD3000.ConectSD3000(sDBPath: string): Boolean;
begin
  Result := False;
  if Trim(sDBPath) = '' then
  begin
    ShowMsg('请输入数据库路径!');
    Exit;
  end;
  if not FileExists(sDBPath) then
  begin
    ShowMsg('数据库路径不正确,系统找不到指定的文件!');
    Exit;
  end;
  IBDatabase1.DefaultTransaction := IBTransaction1;
  IBDatabase1.DatabaseName := sDBPath;
  try
    IBDatabase1.Open;
  except
  end;
  if IBDatabase1.Connected then
    Result := True
  else
    ShowMsg('连接数据库出错,请输入正确的速达数据库文件!');
end;

function TfrmUpdateSD3000.OpenIBDataSet(sDBName: string): Boolean;
begin
  Result := True;
  if IBDataSet1.Active then
    IBDataSet1.Close;
  IBDataSet1.SelectSQL.Text := sDBName;
  try
    IBDataSet1.Open;
  except
    result := false;
  end;
end;

procedure TfrmUpdateSD3000.bbNoClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TfrmUpdateSD3000.bbOkClick(Sender: TObject);
begin
  inherited;
  if PageControl.TabIndex = 0 then
    InputAllSD3000Data
  else if PageControl.TabIndex = 1 then
    InputAllUfSoft80Data
  else if PageControl.TabIndex = 2 then
    InputAllGraspData;
end;

procedure TfrmUpdateSD3000.InputAllUfSoft80Data;
begin
  ShowMsg('请选择正确的用友财务UFERP-M8系列的数据库文件!');
end;

procedure TfrmUpdateSD3000.InputAllSD3000Data;
var
  sSql1, sSql2, sField1, sField2, sConst: string;
begin
  if not ConectSD3000(edtSDData.Text) then
    Exit;
  Screen.Cursor := crHourglass;
  sSql1 := '';
  sSql2 := '';
  sField1 := '';
  sField2 := '';
  sConst := '';
  //部门
  sSql1 := 'SELECT * FROM DEPARTMENT';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_DEPT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //职员类别
  sSql1 := 'SELECT * FROM EMPTYPE';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_EMPLOYE_SORT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //职员
  sSql1 := 'SELECT e.*,s.Name as SexName,d.Name as DEPARTMENTName,t.Name as EmpTypeName '
    +
    'FROM EMPLOY e,EMPTYPE t,SEX s,DEPARTMENT d ' +
    'WHERE e.EMPTYPEID=t.EmpTYPEID and e.Sex=s.ID and e.DEPARTMENT=d.ID';
  sSql2 := 'SELECT * FROM Employe';
  sField2 := 'Usercode,Name,Business,PostalCode,Place,DutyDate,Wage,ID_Card,Address,'
    +
    'Sex,ComeDate,EMail,Learning,PhoneCall,Phone,PhoneMove,Dept,Sort';
  sField1 := 'EMPCODE,NAME,DUTY,POSTCODE,FOREFATHER,POSTDATE,PAY,IDCARD,ADDRESS,'
    +
    'SEXNAME,BIRTHDAY,EMAIL,CULTURE,BP,TELEPHONE,HOMEPHONE,DEPARTMENTNAME,EMPTYPENAME';
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //商品单位
  sSql1 := 'SELECT * FROM UNIT';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_WARE_UNIT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //仓库
  sSql1 := 'SELECT * FROM STORE';
  sSql2 := 'SELECT * FROM Depot';
  sField2 := 'UserCode,Name,Address,Memo';
  sField1 := 'STOREID,NAME,LOCATION,Memo';
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //商品分类
  sSql1 := 'SELECT * FROM GOODSTYPE';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'mode,name1,name2';
  sField1 := '!CONST,Name,description';
  sConst := intToStr(BASE_WARE_SORT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //商品
  sSql1 :=
    'SELECT g.*,t.name as GTypeName FROM GOODS g,GOODSTYPE t WHERE g.goodstypeid=t.goodstypeid';
  sSql2 := 'SELECT * FROM Ware';
  sField2 := 'UserCode, Name, ShortName,Sort,Unit,Price1,ConstPrice';
  sField1 := 'goodsid,name,name,GTypeName,Unit,sprice,Pprice';
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //地区
  sSql1 := 'SELECT * FROM AREA';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField2 := 'Mode,Name1';
  sField1 := '!CONST,Name';
  sConst := intToStr(BASE_AREA);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //客户
  sSql1 :=
    'SELECT C.*,A.Name as AreaName FROM CLIENT c LEFT JOIN AREA A on A.AREAID=c.AREAID';
  sSql2 := 'SELECT * FROM Unit';
  sField2 := 'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneMove,PhoneFax,PostalCode,'
    +
    'Address,Memo,Banking,Accounts,WWW,EMail,Receive';
  sField1 := '!CONST,ClientID,ShortName,Name,AreaName,CONTATOR,Phone,MOBILEPHONE,Fax,zip,'
    +
    'Address,memo,bank,bankID,URL,EMail,BALANCE';
  sConst := IntToStr(BASE_CLIENT);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);
  //供应商
  sSql1 :=
    'SELECT C.*,A.Name as AreaName FROM VENDOR c LEFT JOIN AREA A on A.AREAID=c.AREAID';
  sSql2 := 'SELECT * FROM Unit';
  sField2 := 'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneMove,PhoneFax,PostalCode,'
    +
    'Address,Memo,Banking,Accounts,WWW,EMail,Payable';
  sField1 := '!CONST,VENDORID,ShortName,Name,AreaName,CONTATOR,Phone,MOBILEPHONE,Fax,zip,'
    +
    'Address,memo,bank,bankID,URL,EMail,BALANCE';
  sConst := IntToStr(BASE_PROVIDE);
  InputSD3000(sSql1, sSql2, sField1, sField2, sConst);

  ShowMsg('导入数据成功!');
  Screen.Cursor := crDefault;
end;

procedure TfrmUpdateSD3000.InputAllGraspData;
var
  sSqlData: string;
  sSql1, sSql2, sField1, sField2, sConst: string;
begin
  sSql1 := '';
  sSql2 := '';
  sField1 := '';
  sField2 := '';
  sConst := '';
  if cbxSQLDB.ItemIndex < 0 then
    Exit;
  sSqlData := cbxSQLDB.Items.Strings[cbxSQLDB.ItemIndex];
  if sSQLData = '' then
  begin
    ShowMsg('请先连接SQLServer数据库!');
    Exit;
  end;
  if not ConectGrasp(sSqlData) then
  begin
    ShowMsg('连接SQLServer数据库出错,请重新输入服务器名、用户名、密码!');
    Exit;
  end;
  Screen.Cursor := crHourglass;
  //仓库
  sSql1 := 'SELECT * FROM STOCK WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM Depot';
  sField1 := 'USERCODE,FULLNAME,COMMENT';
  sField2 := 'UserCode,Name,Memo';
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //商品
  sSql1 := 'SELECT * FROM ptype WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM Ware';
  sField1 := 'UserCode, FullName, Name,Unit1,preprice2,preprice1';
  sField2 := 'UserCode, Name, ShortName,Unit,Price1,ConstPrice';
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //部门
  sSql1 := 'SELECT * FROM Department WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField1 := '!CONST,FullName';
  sField2 := 'Mode,Name1';
  sConst := intToStr(BASE_DEPT);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //职员
  sSql1 := 'SELECT D.FullName AS DepName, E.* FROM employee E LEFT OUTER JOIN '
    +
    'Department D ON E.Department = D.typeid WHERE E.TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM Employe';
  sField1 := 'UserCode,FullName,ADDRESS,TEL,DepName,Comment';
  sField2 := 'Usercode,Name,Address,Phone,Dept,Memo';
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //地区
  sSql1 := 'SELECT * FROM AreaType WHERE TYPEID<>''00000''';
  sSql2 := 'SELECT * FROM BaseInfo';
  sField1 := '!CONST,FullName';
  sField2 := 'Mode,Name1';
  sConst := intToStr(BASE_AREA);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //客户
  sSql1 := 'SELECT A.FullName AS AreaName, B.* FROM btype B LEFT OUTER JOIN AreaType A'
    +
    ' ON B.AreaTypeID = A.TypeID WHERE B.TypeID<>''00000''';
  sSql2 := 'SELECT * FROM Unit';
  sField1 :=
    '!CONST,UserCode,Name,FullName,AreaName,PERSON,TELANDADDRESS,FAX,POSTCODE,AREA,Comment,BANKANDACOUNT,BANKANDACOUNT,ARTotal';
  sField2 :=
    'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneFax,PostalCode,Address,Memo,Banking,Accounts,Receive';
  sConst := intToStr(BASE_CLIENT);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  //供应商
  sSql1 := 'SELECT A.FullName AS AreaName, B.* FROM btype B LEFT OUTER JOIN AreaType A'
    +
    ' ON B.AreaTypeID = A.TypeID WHERE B.TypeID<>''00000''';
  sSql2 := 'SELECT * FROM Unit';
  sField1 :=
    '!CONST,UserCode,Name,FullName,AreaName,PERSON,TELANDADDRESS,FAX,POSTCODE,AREA,Comment,BANKANDACOUNT,BANKANDACOUNT,APTotal';
  sField2 :=
    'Mode,UserCode,ShortName,Name,AreaName,LinkMan,Phone,PhoneFax,PostalCode,Address,Memo,Banking,Accounts,Payable';
  sConst := intToStr(BASE_PROVIDE);
  InputGrasp(sSql1, sSql2, sField1, sField2, sConst);
  ShowMsg('导入数据成功!');
  Screen.Cursor := crDefault;
end;

procedure TfrmUpdateSD3000.InputGrasp(sSql1, sSql2, sField1, sField2, sConst:
  string);
begin
  if OpenDataSetEx(SQLADOConnet, SQLDataSet, sSql1) and OpenDataSet(AdoDataSet, sSql2) then
    DataSetInput(SQLDataSet, AdoDataSet, sField1, sField2, sConst);
end;

procedure TfrmUpdateSD3000.InputSD3000(sSql1, sSql2, sField1, sField2, sConst:
  string);
begin
  if OpenIBDataSet(sSql1) and OpenDataSet(AdoDataSet, sSql2) then
    DataSetInput(IBDataSet1, AdoDataSet, sField1, sField2, sConst);
end;

procedure TfrmUpdateSD3000.edtYYDataButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sFileName: string;
begin
  inherited;
  OpenDlg.FileName := edtYYData.Text;
  if OpenDlg.Execute then
  begin
    sFileName := OpenDlg.FileName;
    edtYYData.Text := sFileName;
  end;
end;

function TfrmUpdateSD3000.ConectGrasp(sData: string): Boolean;
var
  sServer, sName, sPass: string;
begin
  sServer := edtServeName.Text;
  sName := edtLoginName.Text;
  sPass := edtLoginPass.Text;
  if Trim(sServer) = '' then
    sServer := 'LocalHost';
  if Trim(sName) = '' then
    sName := 'sa';
  with SQLADOConnet do
  begin
    if Connected = True then
      Close;
    ConnectionString := GetSQLConnectionString(sServer, sData, sName, sPass);
    LoginPrompt := False;
    Open(sName, sPass);
    Result := Connected;
  end;
end;

procedure TfrmUpdateSD3000.bbLinkServerClick(Sender: TObject);
var
  sSql, sName, sTmp: string;
begin
  inherited;
  sSql := 'SELECT * FROM sysdatabases WHERE (dbid > 5)';
  sName := 'Name';
  sTmp := '';
  if ConectGrasp('Master') then
  begin
    if OpenDataSetEx(SQLADOConnet, SQLDataSet, sSql) then
    begin
      TableToStrings2(SQLDataSet, sName, sTmp, sTmp, #13);
      cbxSQLDB.Items.Text := sName;
      if cbxSQLDB.Items.Count > 0 then
        cbxSQLDB.ItemIndex := 0;
    end;
  end
  else
    ShowMsg('连接SQLServer数据库出错,请重新输入服务器名、用户名、密码!');
end;

end.

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

首酷企业进销存管理系统,专业企业管理系统<br>一系统特色<br>采用稳定安全高效数据库系统<br>首酷进销存管理系统分为单机版网络版,分别采用Microsoft公司AccessSQL Server 2000作为后台数据库,性能稳定高效数据安全 。<br><br>单机版安装方便,无需要设置,装完就可以正常使用。<br><br>完全网络化操作(网络版),各个管理点数据时实通过网络传递到服务器,管理员领导可以随时查看最新企业运行数据,以最快最方便形式展现屏幕上,极大提高了企业运转速度,使得企业管理效率更上一层楼。<br><br>一体化功能,首酷进销存管理系统集进货销售仓库现金银行人事工资诸多管理功能于一身,进销存与帐务实现一体化链接。<br><br>易用方便操作界面,所有操作设定均进过多年实践总结而来,极大方便使用者,考虑到使用者操作流程业务处理流程习惯。这套软件只需要短短几分钟就可以完全掌握其基本操作。<br><br>详细报表查询管理,报表提供了有关企业进货,销售,库存,成本往来人事工资等一系列报表,覆盖面广,统计方法科学,数据准确。所有报表基本资料均可导入EXCEL中进行分析加工,方便用户做二次调整。<br><br>自定义打印设置,首酷进销存管理系统软件打印样式设计功能采用当今流行报表设计器进行设计,兼具WORDEXCEL强大功能。用户不仅可以对单据/报表外观进行设计(包括对格式字体边框背景等设计),而且可以设定报表内部数据计算方法(包括对数据来源设定数据算法设定等)。<br>二系统功能<br>● 系统管理平台<br>帐套管理:系统支持多帐套管理;帐套备份恢复与升级功能;数据库导入功能可以将用友u8速达3000管家婆辉煌版等基础数据升级到本系统中;压缩帐套功能可以使数据库更小,使程序运行速度更快。<br>系统设置:系统重建功能可以将软件试运行期间相关数据筛选取舍,避免重复劳动。所有单据格式初始化配置,支持自定义。内码转换功能可以简体中文繁体中文之间灵活转换,尤其适合港资台资企业。<br>用户权限管理:按查询修改增加删除等多层权限针对各个功能模块报表进行向各操作人员进行授权,明确不同部门不同职位工作责任操作权限,以保证数据保密性系统运行安全。同时系统支持对操作人员按照不同项目进行授权,以保证各项目资料相互独立。<br>操作日志:系统实时监控并记录所有进入系统操作人员对每个功能模块操作情况,包括操作人员代码登陆机器名称登陆机器IP地址进入退出每个模块时间等,最大限度保证整个系统安全性。<br><br>● 基础资料管理<br>包含地区资料客户资料供应商资料商品分类计量单位商品资料仓库资料员工资料部门资料收付款方式现金银行资料会计科目等所有系统相关数据启用本系统时必须初始化导入。<br><br>● 进货管理<br>按照业务流程导航界面指引,从下达进货订单到仓库收货确认,以及进货退货处理到财务付款处理支持对库存商品进退货诸单据实时查询。<br>进货订单:用来记录进货订货相关数据, 以便收货时引用, 加强进货计划执行。<br>进货单:用于记录详细进货业务,可以引用订单进行收货,也可以人工录入单据。<br>进货付款:公司进货后,应向供应商支付货款,支付方式有多种:可采用预付款预付定金货到付款或分期付款等形式。无论选择哪种付款形式,都可以详细记录与进货付款相关各项数据。<br>进货退货:进货退货业务中,可以按单进行退货,也可以不按单退货;货款结算上,可以退现金,也可以将退货款冲应付款。以上处理用户可以根据实际情况自由选择。<br><br>● 销售管理<br>销售订单:销售货品方法是多种多样,其中不少是以订单形式作为销售货品前提。本模块为用户提供了完备订单界面以备使用。<br>销售单:销售分现款销售赊销。销售单模块处理赊销业务。<br>销售收款:销售收款可以处理四种类型收款:应收款预收款预收冲应收应收转预收。<br>现款销售:企业销售货物给客户,客户当时将货款付清叫现款销售。当企业发生现款销售业务时,可以使用本模块开一张现款销售单,记录货物销售情况。<br>销售退货:企业售出货品后,因某些原因客户要求退货,企业根据情况同意退货后,首先应办理'销售退货单',将退货款退还给客户,或将退货款挂入该客户与本公司有关帐户上。本模块用来记录销售退货具体内容。<br>POS销售:本模块支持对商品零售POS机业务处理。<br><br>● 库存管理<br>领退料管理:用来记录企业生产经营所需货品领料出仓时退料入库时情况。<br>产品进仓:本模块处理业务是将公司生产产品存放到相应仓库,并记录本次存放货物名称数量批号等相关数据。<br>库存盘点:存货因为数量较多收发频繁计量误差管理不善自然损耗等原因,有可能导致库存数量与帐面数量不符。为了避免帐实不符现象出现,就要进行存货清查,从而查明原因并调整帐面数量,使帐实相符。使用本模块可开具库存盘点单来完成存货清查时调整工作。<br>存货调价:企业持续经营前提下,存货入账价值基础应采用历史成本为计价原则。然而,现实生活中,有多种原因会使企业存货出现价格变动(如由于国家政策改变发生价格变动因为企业产品结构调整使存货陈旧过时引起价格变动),存货调价模块就是处理这类工作。<br>仓库调拨:假如公司有多个仓库,那么把某个仓库货品调拨到另外一个仓库是经常遇到业务。当发生这类业务后,就需要使用本模块来记录与该调拨业务相关各项数据。<br>组装与拆卸:由于实际工作当中,有相当一部分产品是由多个有单独经济价值单项元素组合而成,而有些产品又可以拆卸成多个有单独经济价值单项元素,因此,为更好地管理这类工作,本系统特设了组装与拆卸模块。<br>其他库存变动:企业库存除了采购收货销售发货领料退料产品进仓等行为会引起变化以外,可能还存其他一些特殊变动,这些业务都归集到本模块中处理。<br><br>● 工资管理<br>工资项目定义:企业付给职工工资,是企业使用职工知识技能时间精力而给予职工一种补偿,工资内容包括许多项目,如基本工资各种奖金各种福利津贴等等,为了以后进行工资数据录入时更加方便快捷,可事先工资项目定义模块中,定义工资项目。<br>工资项目分摊类别:本模块工作,是为工资费用分配模块能够顺利进行分配而作准备操作,其主要,是将工资项目中所有可以同一个会计科目核算内容分类合并,以便分配工资费用时,方便快捷地将同类项目金额一次分配。<br>计件工种与工序定义:本系统特设了计件工种模块,以满足需要核算计件工资企业需要。企业计件工作并非都是一次完成形式,有是由多道工序配合才能完成,计件工序模块由此产生。<br>工资数据录入:本模块是公司员工工资收入情况综合反映,它包含了工资收入各项具体组成应扣工资实发工资情况,并备有相应工资条工资发放表工资汇总报表供打印查看。<br>发放工资:用户可以通过本模块操作,完成工资条打印以及发放工资工作。<br>工资费用分配:就是将当期已经发放工资费用,分配到一定成本费用科目进行会计核算,以符合权责发生制会计核算原则。工资费用分配,以职员类别工资项目分摊类别为依据,因此,进行本模块操作前,必须首先进行职员类别工资项目分摊类别,两个工作模块操作,否则,本模块工作不能进行。<br><br>● 报表系统管理<br>报表通用操作:整个报表中心操作基本相同,不同只是选择统计范围,详细功能有选择日期范围过滤穿透查询自定义列报表导出打印及预览等。<br>基础资料报表:包含客户供应商员工商品仓库等详细基础资料报表。<br>订单报表:进货订单按商品供应商采购员分类统计报表;销售订单按商品客户业务员分类统计报表。<br>销售报表:按商品客户业务员分类形成销售统计表明细表及销售利润表。<br>进货报表:按商品供应商采购员分类形成商品进货统计表采购明细表供应商供货统计表供货明细表采购员进货统计表采购明细表等。<br>库存报表:包括库存商品汇总表明细表;分仓库库存统计表;库存商品预警表等。<br>
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值