第一篇:VC++ 中操作EXCEL总结(转)
VC++ 中操作EXCEL总结(转)
1、MSDN 上的代码,很好的例子
#include “excel8.h”
// OLE Variant for Optional.COleVariant VOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application objApp;_Workbook objBook;Workbooks objBooks;Worksheets objSheets;_Worksheet objSheet;Range objRange;VARIANT ret;
// Instantiate Excel and open an existing workbook.objApp.CreateDispatch(“Excel.Application”);objBooks = objApp.GetWorkbooks();objBook = objBooks.Open(“C:Test.xls”, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional);objSheets = objBook.GetWorksheets();
objSheet = objSheets.GetItem(COleVariant((short)1));
//Get the range object for which you wish to retrieve the //data and then retrieve the data(as a variant array, ret).objRange = objSheet.GetRange(COleVariant(“A1”), COleVariant(“C8”));ret = objRange.GetValue();
//Create the SAFEARRAY from the VARIANT ret.COleSafeArray sa(ret);
//Determine the array's dimensions.long lNumRows;long lNumCols;
sa.GetUBound(1, &lNumRows);sa.GetUBound(2, &lNumCols);
//Display the elements in the SAFEARRAY.long index[2];VARIANT val;int r, c;
TRACE(“Contents of SafeArrayn”);TRACE(“=====================nt”);for(c=1;c<=lNumCols;c++){
TRACE(“ttCol %d”, c);}
TRACE(“n”);
for(r=1;r<=lNumRows;r++){
TRACE(“Row %d”, r);for(c=1;c<=lNumCols;c++){
index[0]=r;index[1]=c;
sa.GetElement(index, &val);switch(val.vt){
case VT_R8: {
TRACE(“tt%1.2f”, val.dblVal);break;}
case VT_BSTR: {
TRACE(“tt%s”,(CString)val.bstrVal);break;}
case VT_EMPTY: {
TRACE(“tt
TRACE(“n”);}
//Close the workbook without saving changes //and quit Microsoft Excel.objBook.Close(COleVariant((short)FALSE), VOptional, VOptional);objApp.Quit();
2、不错的一篇文章
在VC中彻底玩转Excel
作者:龚敏 来源:子玉山庄 更新:10/8/2004
如今Excel是越来越重要了,在我们自己开发的程序中不免要和Excel打交道了。利用Automation技术,我们可以在不去了解
数据库的情况下玩转Excel,而且你会发现一切竟如此轻松!
好了,咱们开始吧,我不喜欢用长篇累牍的代码来故弄玄虚,所以下面的代码都是切中要害的片段,总体上是个连贯的过程,包括启动Excel,读取数据,写入数据,以及最后的关闭Excel,其中还包括了很多人感兴趣的合并单元格的处理。
特别说明以下代码需要MFC的支持,而且工程中还要包含EXCEL2000的定义文件:EXCEL9.H,EXCEL9.CPP
*****************************************************************************************************************
//***** //变量定义
_Application app;Workbooks books;_Workbook book;Worksheets sheets;_Worksheet sheet;Range range;Range iCell;
LPDISPATCH lpDisp;COleVariant vResult;COleVariant
covTrue((short)TRUE), covFalse((short)FALSE),covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
//*****
//初始化COM的动态连接库
if(!AfxOleInit()){
AfxMessageBox(“无法初始化COM的动态连接库!”);return;}
//*****
//创建Excel 2000服务器(启动Excel)if(!app.CreateDispatch(“Excel.Application”)){
AfxMessageBox(“无法启动Excel服务器!”);return;}
app.SetVisible(TRUE);//使Excel可见
app.SetUserControl(TRUE);//允许其它用户控制Excel
//***** //打开c:1.xls
books.AttachDispatch(app.GetWorkbooks());lpDisp = books.Open(“C:1.xls”,covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional);
//*****
//得到Workbook
book.AttachDispatch(lpDisp);
//*****
//得到Worksheets
sheets.AttachDispatch(book.GetWorksheets());
#include “excel8.h”
//*****
//得到当前活跃sheet
//如果有单元格正处于编辑状态中,此操作不能返回,会一直等待
lpDisp=book.GetActiveSheet();sheet.AttachDispatch(lpDisp);
//*****
//读取已经使用区域的信息,包括已经使用的行数、列数、起始行、起始列
Range usedRange;
usedRange.AttachDispatch(sheet.GetUsedRange());range.AttachDispatch(usedRange.GetRows());long iRowNum=range.GetCount();//已经使用的行数
range.AttachDispatch(usedRange.GetColumns());long iColNum=range.GetCount();//已经使用的列数
long iStartRow=usedRange.GetRow();//已使用区域的起始行,从1开始
long iStartCol=usedRange.GetColumn();//已使用区域的起始列,从1开始
//*****
//读取第一个单元格的值
range.AttachDispatch(sheet.GetCells());
range.AttachDispatch(range.GetItem(COleVariant((long)1),COleVariant((long)1)).pdispVal);COleVariant vResult =range.GetValue();CString str;
if(vResult.vt == VT_BSTR)//字符串
{
str=vResult.bstrVal;}
else if(vResult.vt==VT_R8)//8字节的数字
{
str.Format(“%f”,vResult.dblVal);}
else if(vResult.vt==VT_DATE)//时间格式
{
SYSTEMTIME st;
VariantTimeToSystemTime(&vResult.date, &st);}
else if(vResult.vt==VT_EMPTY)//单元格空的{ str=“";}
//*****
//读取第一个单元格的对齐方式,数据类型:VT_I4 //读取水平对齐方式
range.AttachDispatch(sheet.GetCells());
iCell.AttachDispatch((range.GetItem(COleVariant(long(1)), COleVariant(long(1)))).pdispVal);vResult.lVal=0;
vResult=iCell.GetHorizontalAlignment();if(vResult.lVal!=0){
switch(vResult.lVal){ case 1: //默认
break;
case-4108: //居中
break;
case-4131 : //靠左
break;
case-4152 : //靠右
break;}
}
//垂直对齐方式
iCell.AttachDispatch((range.GetItem(COleVariant(long(1)), COleVariant(long(1)))).pdispVal);vResult.lVal=0;
vResult=iCell.GetVerticalAlignment();if(vResult.lVal!=0){
switch(vResult.lVal){
case-4160 : //靠上
break;
case-4108 : //居中
break;
case-4107 : //靠下
break;}
}
//*****
//设置第一个单元格的值”HI,EXCEL!“
range.SetItem(COleVariant(1),COleVariant(1),COleVariant(”HI,EXCEL!“));
//*****
//设置第一个单元格字体颜色:红色
Font font;
range.AttachDispatch(sheet.GetCells());
range.AttachDispatch((range.GetItem(COleVariant(long(1)), COleVariant(long(1)))).pdispVal);font.SetColor(COleVariant((long)0xFF0000));
//*****
//合并单元格的处理
//包括判断第一个单元格是否为合并单元格,以及将第一个单元格进行合并
Range unionRange;
range.AttachDispatch(sheet.GetCells());
unionRange.AttachDispatch(range.GetItem(COleVariant((long)1),COleVariant((long)1)).pdispVal);
vResult=unionRange.GetMergeCells();if(vResult.boolVal==-1)//是合并的单元格
{
//合并单元格的行数
range.AttachDispatch(unionRange.GetRows());long iUnionRowNum=range.GetCount();
//合并单元格的列数
range.AttachDispatch(unionRange.GetColumns());long iUnionColumnNum=range.GetCount();
//合并区域的起始行,列
long iUnionStartRow=unionRange.GetRow();//起始行,从1开始
long iUnionStartCol=unionRange.GetColumn();//起始列,从1开始
}
else if(vResult.boolVal==0){//不是合并的单元格}
//将第一个单元格合并成2行,3列
range.AttachDispatch(sheet.GetCells());
unionRange.AttachDispatch(range.GetItem(COleVariant((long)1),COleVariant((long)1)).pdispVal);unionRange.AttachDispatch(unionRange.GetResize(COleVariant((long)2),COleVariant((long)3)));unionRange.Merge(COleVariant((long)0));//合并单元格
//*****
//将文件保存为2.xls
book.SaveAs(COleVariant(”C:2.xls“),covOptional,covOptional, covOptional,covOptional,covOptional,0,covOptional,covOptional,covOptional,covOptional);
//*****
//关闭所有的book,退出Excel
book.Close(covOptional,COleVariant(OutFilename),covOptional);books.Close();app.Quit();
3、另一篇不错的文章
在Visual C++ 中调用Excel 2000 2001-06-14 19:02:39 程 蓬
在开发软件时,经常要将数据输出到Excel 2000中,在Excel 2000中对该数据进行进一步地格式化处理或进行计算处理。在Visual Basic中处理起来较简单,Excel 2000的VB编程帮助中有较为详细的介绍。在Visual C++中如何进行处理了?利用Excel 2000的ActiveX Automate功能,处理起来同VB中类似。但要注意以下几点:
对于对象的属性值的读取或赋值,需要用GetProperty()或SetProperty(NewValue)函数,不能象VB中直接通过属性名称取值 或赋值。例如:Worksheet.GetCount(), Worksheet.SetName(“Sheet1”)。
对集合对象中的成员对象的引用,必须使用集合对象的GetItem()函数。例如:Worksheets.GetItem(ColeVariant((long)1))或Worksheets.GetItem(ColeVariant(“Sheet1”))取得第一个工作表。
在COM接口中,时常用到Variant,BSTR,SafeArray数据类型。Variant数据类型是一个联合,可表示几乎所有的类型的数据,具体 用法见MSDN中的相关介绍,类_variant_t是对VARIANT数据类型的封装。在Excel 2000的VB编程帮助中,如果提到某函数或属性需要一个值,该值的数据类型通常是Variant,在封装Excel 2000对象的类定义中,说明了具体需要的数据类型。BSTR是一个包括了字符串和字符串长度的数据结构,类_bstr_t是对BSTR数据类型的封装。在Excel 2000的VB编程帮助中提到的字符串通常指BSTR。具体函数参数或属性的数据类型,见封装该对象的类的定义。SafeArray是一个包括数组和数组 边界的结构,数组边界外的内容不允许访问。在Excel 2000的VB编程帮助中提到的数组是指SafeArray。关于SafeArray的处理,请见MSDN的相关帮助。
对于缺省参数和缺省值。在VB中,函数的参数可以空缺,在VC++中不允许,必须将所有的参数填写完全。如果你希望指定某个参数为缺省值,根据参数数据类 型的不同,可指定不同的缺省值。当参数数据类型为字符串时,可以用长度为0的字符串。如果参数是Variant类型,可用常量vtMissing,该常量 在comdef.h中定义。也可用_variant_t(DISP_E_PARAMNOTFOUND, VT_ERROR)产生一个Variant对象。
Excel对象中的集合对象有时包括的子对象是不一定的,例如:Range对象,可以表示Cell的集合,也可以表示Column的集合或Row的集合,Range.GetItem(1)可以返回Cell或Column或Row对象。
对对象的引用或传递对象,使用IDispatch类对象,有时利用Variant对IDispatch进行包装。
以下是一段源程序,演示如何启动Excel 2000,利用一个模板文件产生一个新文档,在该文档的”Sheet1”工作表的第一个单元中填写一段文字,设置第一列的列宽,然后调用一个模板中的宏,执行一段程序,最后打印预览该Excel文档。模板文件名称:MyTemplate.xlt。程序在Visual C++ 6.0 sp4,Windows 2000 Professional sp-1下调试通过。
首先利用Visual C++ 6.0,建立一个MFC基于对话框的工程项目,共享DLL,Win32平台。工程名称ExcelTest。在主对话框中加入一个按钮,ID IDC_EXCELTEST Caption Test Excel
双击该按钮,增加成员函数void CExcelTestDlg::OnExceltest()。
在BOOL CExcelTestApp::InitInstance()中,dlg.DoModal();之前增加代码:
if(CoInitialize(NULL)!=0){
AfxMessageBox(”初始化COM支持库失败!“);exit(1);}
在return FALSE;语句前,加入:CoUninitialize();
选择Menu->View->ClassWizade,打开ClassWizade窗口,选择Add Class->From a type library,选择D:Program FilesMicrosoft OfficeofficeExcel9.OLB(D:Program FilesMicrosoft Office是本机上Microsoft Office 2000的安装目录,可根据个人机器上的实际安装目录修改)。选择_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range,加入新类,分别为_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range,头文件Excel9.h,源文件Excel9.cpp。
在ExcelTestDlg.cpp文件的头部,#include ”ExcelTestDlg.h“语句之下,增加 :
#include ”comdef.h“ #include ”Excel9.h“
在void CExcelTestDlg::OnExceltest()函数中增加如下代码:
void CExcelTestDlg::OnExceltest(){
_Application ExcelApp;Workbooks wbsMyBooks;_Workbook wbMyBook;Worksheets wssMysheets;_Worksheet wsMysheet;Range rgMyRge;
//创建Excel 2000服务器(启动Excel)
if(!ExcelApp.CreateDispatch(”Excel.Application“,NULL)){
AfxMessageBox(”创建Excel服务失败!“);exit(1);}
//利用模板文件建立新文档
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(”g:exceltestMyTemplate.xlt“)));//得到Worksheets
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);//得到sheet1
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t(”sheet1“)),true);//得到全部Cells,此时,rgMyRge是cells的集合rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);//设置1行1列的单元的值
rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t(”This Is A Excel Test Program!“));//得到所有的列
rgMyRge.AttachDispatch(wsMysheet.GetColumns(),true);//得到第一列
rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);//设置列宽
rgMyRge.SetColumnWidth(_variant_t((long)200));//调用模板中预先存放的宏
ExcelApp.Run(_variant_t(”CopyRow"),_variant_t((long)10),vtMissing,vtMissing, vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing, vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing, vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing, vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);//打印预览
wbMyBook.SetSaved(true);ExcelApp.SetVisible(true);
wbMyBook.PrintPreview(_variant_t(false));//释放对象
rgMyRge.ReleaseDispatch();wsMysheet.ReleaseDispatch();wssMysheets.ReleaseDispatch();wbMyBook.ReleaseDispatch();wbsMyBooks.ReleaseDispatch();ExcelApp.ReleaseDispatch();}
添加完以上程序后,可运行看结果。
来自: http://hi.baidu.com/jikejlm/blog/item/ab16adf5ff1eeb23bd310942.html
第二篇:深加工结转操作公示
加工贸易保税货物深加工结转办事指南
一、业务概述:
深加工结转是指经海关批准一个加工贸易企业将加工贸易项下进口的料件加工成成品或半成品,不直接出口而结转给另一个深加工企业继续加工出口的这种保税货物在不同企业之间结转加工的业务。
二、办事程序:
第一步:咨询领取表格
企业携工商行政管理局颁发《企业法人营业执照》、主管海关签发的《自理报关单位注册登记证明书》至窗口领取办事指南。
第二步:企业应交验的必备单证
1、企业填制的《深加工结转申请表》一式四联;
2、转出入双方签订的购销合同;
3、转出入双方加工贸易登记手册(企业若为外地,可提供手册复印件);
4、转入企业还需递交进出口报关单;
5、其它海关所需要的单证。
第三步:深加工结转基本程序
转出企业凭《申请表》一式四联,外经贸主管部门的深加工结转批准文件、《登记手册》、转入、转出企业的购销合同或协议等有关单证向转出地海关提出申请。
转入企业凭转出地海关批准的三联《申请表》、双方手册、合同或协议、发票、装箱单与单证向转入企业主管海关提出申请,并按批准的结转方式办理结转手续。
三、办事对象义务
1、办事人员必须携《报核员证》及其他证件来海关办理合同备案手续。
2、保证所交验单证的真实性、合法性、有效性、完整性。
第三篇:小学教学计划检查总结转
小学教学计划检查总结转、计划制定完整,学情分析合理,教材的解读到位,分析透彻,学期教学目标明确,对教学内容的把握比较到位,就如何提高课堂效率、提优补差等措施有着自己的思考和认识,教学进度安排合理,能结合本学期教学时间比较宽裕的特点合理安排好教学进度,并有机结合本学科的特点开展相应的活动,科学地制定进度表,免费教育文稿网www.xiexiebang.com2、备课比较认真,能做到目标分析到位,重难点理解透彻,能结合实际安排教具学具,教学环节完整,教学过程的书写比较详细,思路清晰,注重课堂氛围的营造、知识点的落实、能力的培养和情感的熏陶;部分教师有板书设计,板书内容能围绕重难点来展开,有课后回顾,能结合课堂中教学开展的实际来分析教学效果和得失。
3、能做到超前备课1到2周不等;教学日期等项目填写完整,无一遗漏。
二、亮点列举:
1、部分教师钻研教材较为透彻,计划中的教材分析比较完整,能结合班级学生的实际采取相应措施,着眼于学生的整体素养提高来制定计划和落实措施,如王秀丹、郑霄盈、吴静、吴春燕老师等。
2、部分教师能注重课堂实效的提高,并贴近学生最近发展区提出针对性地实施激发学生兴趣和培养学生良好习惯的教学举措,如吴春燕老师等。
3、青年教师备课能写详案,书写端正清楚,教学思路清晰,措施得当,可操作性较强,如杨萍老师等。
三、普遍存在的欠缺:
1、部分教师制定计划和备课中过分依赖于教参资料,从而缺乏自己对教材的理解和对班级实际的思考。
2、结合学生的实际情况,对学生的养成习惯和学科素养的培养在制定计划和落实教学的过程中措施欠明确,组织上可能存在力度不足的现象。
3、在备课中对教具学具的准备过于笼统,在教学过程中对这些器材的运用说明欠详细。
四、观察平时结合检查后的建议及意见:
1、建议教师们加强学生养成习惯和学科素养的培养,并把具体方法和措施落到实处,真正为学生的发展奠定好一生的发展基矗
2、建议教师们加强教学方法和教学艺术的研究,充分激发学生的学习情趣,从而转被动学习为主动学习,提高教学的实效性。
3、建议加大对多媒体课件和常规教具的使用力度,切实提高课堂效率,激发学生的学习热情。
教学常规是对学校教学工作的基本要求,落实教学常规是学校教学工作得以正常有序开展的根本保证。只有搞好教学常规才能有成功的教育。教学常规培养教师的基本功,决定教师的教学能力。教师教学水平的高低体现于教学各个步骤的细节中,空洞地谈教学能力是苍白的,只有用教师的备课情况、讲课细节、作业批改、课外辅导的敬业程度才能说明他的优秀之处,同时教师的水平也只有在这些常规细节中才能培养起来。因此4月份以来我教育支部组织专班人员加大了对教师教学情况的过程管理及检查力度。本次检查大多数教师都比较重视,检查内容完整、全面。现将检查情况总结如下:
教学常规检查的内容有:备课、听课、评课、作业批改及记录、教学后记、班级日志等。
一、好的方面
1、备课力求完美。这次检查发现每位教师都能认真备课(1)少部分教师做到统观全册。均有超前备课。
(2)书写较以前规范,教学环节齐全,教学过程比较详实,个别教师教案中有自己独到的见解,抄袭教案的现象逐步减少。
(3)备课从目标的制定、教学方法的设计及教学手段的运用能体现新的课改理念,能注重学法的指导。
(4)集体备课基本能做到二次备课,备教材、备学生。
2、教师写的教学后感比前一段时间有所提高,少部分教师的课后反思能体现教师对教材处理的新方法,能侧重对自己教法和学生学法的指导,并且还能对自己不得法的教学手段、方式、方法进行解剖。
3、及时批改作业,对巩固知识,提高教学质量是行之有效的。本次检查发现大部分教师作业设置适量、适度,均能及时批改作业。有等级有激励的语言。学生作业中的错题能及时更改。多数学生书写比较认真,格式比较规范。教师批改记录比较细致,能够反映学生作业中的错误做法及纠正措施。
4、教师主动听课、评课的积极性有所提高,并把精彩的瞬间记录下来。基本上能体现出学生对所学学科的兴趣如何。
5、单元检测能及时跟踪课本考察学生,认真总结、仔细分析、及时反愧班与班之间相互比较。二、存在的问题
1、少部分教师作业批改后学生的错题没有及时订正,有的没有及时批改。学生的书写还没有引起教师足够的重视。个别教师批阅学生作文的评语过于简单,缺乏针对性的指导,从所有作业批语看,鼓励性语言仍有待于探讨.2、个别教师组织能力欠佳,直接影响学生良好的学习习惯。因此要多学习、多请教,提高课堂教学效率。
3、对所任学科的教材整体把握不够,缺乏系统性教学,知识面窄,不能最大限度地满足学生的知识需求,对教材中综合性的知识教学不太适应。
4个别学生学习目的不明确,学习积极性差,完成作业不主动,应付差事,缺乏克服困难的勇气和信心。
5学习方法不当,上课不注意听讲,注意力分散,课下不能及时复习巩固,致使接受新知识能力相差较大。
6学习知识死板,不灵活,不能举一反三,对能力性的问题缺乏思考。
三、根据存在的问题我们要采取的措施
1、批改作业不要用一个大钩,应该给每一道小题目都要打上一个钩。这样能体现老师的精批细改。并且批阅后最好写上时间,最后所写批语要规范、清楚、给学生以榜样示范。对作业的评价最好不用分数。
2、对于作业封面要求教师对学生进行教育,要整洁、不允许涂涂划划。
3、年青教师的教学常规管理有待再加强。如:备课、上课再规范,反思真有价值等。
4、所有任课教师要针对所教学科对学生进一步进行学习习惯的培养。
5、改进课堂教学,提高效率..6、抓实抓好双基训练,同时对学生的能力也要拓展训练。
7、对语文学科要求加大课外阅读量及实现习作教学生活化,切实提高学生的语言运用能力。
教学常规是学校教学工作的核心,是学校的立足之本,更是教师份内的本职工作。通过本次教学常规的检查,一方面找出我们的不足,另一方面也是我们互相学习和交流的机会,这样更能促进我们教学常规工作的进一步落实,改进我们的教学工作,使我们的教学工作再上一个新台阶。
第四篇:成本会计中有关辅助生产费用结转
成本会计中辅助生产费用的结转 辅助生产的相关概念及其内容
1.1 辅助生产的相关概念
在生产规模较大的制造企业中,除基本生产车间外,一般都设有辅助生产车间。这些辅助生产车间是专门为基本生产车间和形成管理部门等提供劳务或产品的生产车间,是为了保证基本生产车间产品生产的正常进行,以满足企业内部需要为根本。就如此次课程设计设计的实训内容,出现的辅助生产车间主要有修理车间、供电车间、运输车间等。一般情况下,辅助生产车间主要在企业内部提供产品或劳务,有时也会对外提供产品或劳务,但后者并不是辅助生产车间的主要任务。
辅助生产费用是指辅助生产车间为生产产品、提供劳务所发生的各项费用,包括所消耗的材料费、燃料费、动力费、职工薪酬、折旧费、办公费、劳动保护费、差旅费、取暖费等。辅助生产车间提供的劳务或产品被基本生产车间消耗的部分,构成企业产品成本的一部分;被行政管理部门所消耗的部分,构成管理费用的一部分,因此,辅助生产车间提供劳务或产品成本的高低,对于企业产品成本水平和当期损益确定有着直接的影响。
1.2 辅助生产费用的内容
1.2.1 直接材料
直接是指辅助生产车间为提供劳务或产品而直接消耗的各种材料,包括原料及主要材料、辅助材料、外购半成品、修理备用件、包装材料和燃料等。
1.2.2 直接人工
直接人工是指辅助生产车间直接从事劳务供应或产品生产人员的职工薪酬,包括工资、将近、津贴和补贴以及职工福利费等。
1.2.3 制造费用
制造费用是指辅助生产车间为组织和管理生产所发生的各项耗费,包括辅助生产车间管理人员的职工薪酬,辅助生产车间厂房、机器设备等固定资产的折旧费、修理费、办公费、水电费、取暖费、租赁费、机物料消耗、财产保险费、低值易耗品摊销、劳动保护费以及其他制造费用。辅助生产费用的归集
2.1 直接计入与间接计入
辅助生产车间主要任务是为基本生产车间和行政管理部门提供劳务或产品。辅助生产车间提供的产品或劳务的品种可以分为两种类型:一类是只提供一种劳务或产品的辅助生产,如供电、供水、运输等车间;另一类是提供多种劳务或产品的辅助生产,如修理、工模具制造等车间。辅助生产的类型与辅助生产费用的归集方式有着密切的联系。
在只提供一种产品或劳务的车间,其所发生的一切耗费都是直接计入耗费,一般可按成本项目直接归集,并且,这些车间生产的产品或劳务在期末一般没有在产品,所以其单位成本为归集的生产耗费总额除以产品或劳务的数量。在提供多种劳务或产品的辅助生产车间,对于能分清的直接计入耗费应直接计入该种劳务或产品中并予以归集;对于不能分清的共同耗费,作为间接计入耗费,其处理过程为:先按辅助生产车间分别归集,然后采用适当的分配标准,在各种劳务及产品之间进行分配同时予以分别归集。
如果期末存在在产品,总的生产耗费应在完工产品和在产品之间进行分配,并确定完工产品或劳务的单位成本。
2.2 “生产成本——辅助生产成本”账户的设置
为了归集辅助生产费用和计算辅助生产产品或劳务的成本,需设置“辅助生产成本”账户。
“生产成本——辅助生产成本”账户借方登记辅助生产车间生产产品或提供劳务所耗费的料、工、费,贷方登记月末结转完工验收入库的产品实际成本或劳务实际成本。期末余额在借方表示未完工产品成本。若仅提供劳务,则月末结转后该账户无余额。
当辅助生产车间只生产一种产品或指提供一种劳务时,按车间设明细账,在明细账内按成本项目设专栏,车间发生的所有费用都登记在“辅助生产成本”明细账内。格式如:生产成本——辅助生产成本——供电车间(直接材料)。
当辅助生产车间提供多种劳务或生产多种产品时,需根据车间按每种劳务或产品设置明细账,账内可按耗费的经济用途分设成本项目。
2.3 辅助生产费用归集的方法
辅助生产费用归集的方法按是否设置“制造费用——辅助生产车间”明细账具体可分为两种不同的方法。
2.3.1 设置“制造费用——辅助生产车间”明细账
同基本生产车间一样,“制造费用——辅助生产车间”指辅助生产车间为组织和管理
生产等发生的费用,比如辅助生产车间管理人员的工资、福利费、折旧费、办公费等。对于其他能直接计入的耗费直接计入所属的明细账。月末,应将“制造费用——辅助生产车间”转入“辅助生产成本”账户,经分配结转后,“制造费用——辅助生产车间”账户无余额。
对于以上两项费用的处理分别为:“生产成本——辅助生产成本(直接材料)”和“制造费用——辅助生产车间(水电费)”。
实务中,结转制造费用记账凭证的编制如下:
在不设置“制造费用——辅助生产成本”明细账时,凡是辅助生产车间发生的各项耗费(无论是为提供劳务或产品发生,还是为组织、管理生产而发生的制造费用)全部直接计入“辅助生产成本”账户。辅助生产费用的分配
3.1 辅助生产费用分配的程序
辅助生产费用分配的程序与辅助生车间生产的产品或劳务有关,在此次成本会计课程设计中,我们频繁接触到的是供电、运输、修理等车间,这类车间因提供的劳务所发生的费用,按照受益单位的耗用量,采用一定的分配方法在受益单位之间进行分配。若是供其他辅助生产车间使用,则从“生产成本——辅助生产成本——A车间”的贷方转入“生产成本——辅助生产成本——B车间”的借方;若是基本生产耗用,则计入“生产成本——基本生产成本——甲产品”;基本生产车间一般耗用,则记入“制造费用”;管理部门耗用,记“管理费用”;销售部门耗用记“销售费用”等。
对于一些生产工具、模具、修理备用件而发生的辅助生产费用,在工具、模具、生产备用件完工入库时,其成本也从“生产成本——辅助生产成本”账户贷方转入“包装物”、“低值易耗品”、“原材料”等账户的借方,其结转过程与基本生产车间完工产品成本的结转基本相同。领用时,根据用途按照存货发出的各种计价方法,从“包装物”等账户的贷方转入“制造费用”、“管理费用”等账户的借方。
3.2 辅助生产费用的分配原则
(1)谁受益谁承担。对于接受辅助生产车间提供的劳务或生产的产品的受益单位均应负担辅助生产费用。其中,凡是能够直接确认收益对象的,应直接计入该对象的成本中;不能直接确认受益对象的,应按受益比例在各受益单位之间进行分配,受益多的多分配,受益少的少分配。
(2)方法简便合理。辅助生产费用的分配要采用既简便又合理的方法进行。为此,企业应该根据辅助生产车间提供劳务的具体情况及其管理上的要求,选择合适的分配方法进行分配,既不能只求分配方法的简单而忽略了分配结果的准确性,又不能只求分配结果的准确性而致使分配方法过于复杂。
3.3 直接分配法
3.3.1 直接分配法的原理及计算方法
在分配辅助生产费用之前,首先根据相关原始凭证,如电费耗用明细表、维修工作记录表、汽油费发票、运输作业月报表等对辅助生产车间劳务数量进行汇总。
直接分配法是指在各辅助生产车间发生的费用,直接分配给辅助生产以外的各受益单位,辅助生产车间之间相互提供的产品和劳务,不互相分配费用。
耗费分配率=该辅助生产车间待分配的耗费总额÷该辅助生产车间对外提供的劳务总量
辅助生产车间以外各受益单位应负担的耗费=辅助生产车间以外各受益单位耗用劳务数量×该辅助生产车间耗费分配率
3.2.2 直接分配方法下的记账凭证编制
(1)根据辅助生产费用分配表(原始凭证)编制记账凭证。由于是记账凭证,因此,填写“记”字,根据题目填写凭证编号“035”,因涉及多张凭证,故采用“带分数编号法”。日期用阿拉伯数字进行填写。
(2)记账凭证上填写的金额必须与原始凭证的金额相符。在 “合计”行填列合计金额;阿拉伯数字的填写要规范;在合计数字前应填写货币符号,不是合计数字前不应填写货币符号。一笔经济业务因涉及会计科目较多,需填写多张记账凭证的,只在最末一张记账凭证的“合计”行填写合计金额。
(3)摘要栏既是对经济业务的简要说明,又是登记账簿的需要。要真实准确,简明扼要,书写整洁。
(4)填制记账凭证,可以根据每份原始凭证单独填制,也可根据同类经济业务的多份原始凭证汇总填制,还可根据汇总的原始凭证来填制。为了简化记账凭证的填制手续,对于转账业务,可以用自制的原始凭证或汇总原始凭证来代替记账凭证。应当指出的是,不同类型业务的原始凭证,不能混同编制一份记账凭证。除结账和更正错误的记账凭证可以不附原始凭证之外,其他记账凭证必须附有原始凭证。附件张数的计算方法有两种:一种
是按构成记账凭证金额的原始凭证计算张数,如转账业务原始凭证的张数计算。二是以所附原始凭证的自然张数为准,即凡与经济业务内容相关的每一张凭证,都作为记账凭证的附件。
(5)记账凭证上多余的金额栏应划斜线(一根黑色斜线)注销。
(6)会计分录的书写。由于是直接对外进行分配,并未考虑辅助车间之间的相互分配,因此会计分录的书写为:
借:生产成本——基本生产成本(C1车床)生产成本——基本生产成本(H1铣床)管理费用(电费)管理费用(修理费)管理费用(运输费)
销售费用(电费)
销售费用(修理费)
销售费用(运输费)
贷:生产成本——辅助生产成本(供电车间)生产成本——辅助生产成本(修理车间)生产成本——辅助生产成本(运输车间)
3.2.3 直接分配法的优缺点及适用情况
优点:采用直接分配法,由于各辅助生产车间的耗费只需直接对外一次分配就可完成,因此,计算方法最为简便。
缺点:在各辅助生产车间相互提供劳务较多时,不进行交互分配,既不便于考核各辅助生产车间的耗费水平,并且分配给各基本受益单位(指除辅助生产车间外,一切耗用辅助生产产品或劳务的单位)的劳务费用也不准确。
适用情况:适用于辅助生产车间互相提供劳务较少或相互提供劳务价值相等,不禁想交互分配对企业成本计算准确性影响不大的情况下采用。
3.3 一次交互分配法
3.3.1 一次交互分配法的原理及计算方法
一次交互分配法是指企业各辅助生产车间之间有相互服务的情况下,先将各辅助生产车间直接发生的费用进行一次交互分配,然后再进行一次直接的追加分配的一种辅助生产
费用分配方法。
同直接分配法相同,首先进行劳务数量汇总。
第一步:根据各辅助生产车间相互提供劳务(或产品)的数量,按交互分配前的单位成本或计划单位成本,进行一次交互分配(不再进行无穷的反复分配)。
某辅助生产车间交互分配的单位成本=该辅助生产车间直接发生费用÷该辅助生产车间提供的劳务总量
某辅助生产车间交互分配转入的费用=其他辅助生产车间提供的劳务量×该劳务交互分配前的单位成本
某辅助生产车间交互分配转出费用=该辅助生产车间想其他辅助生产车间提供的劳务量×该劳务交互分配前的单位成本
某辅助生产车间交互分配后的实际费用=该辅助生产车间直接发生的费用+该辅助生产车间交互分配转入费用-该辅助生产车间交互分配转出费用
第二步:将各辅助生产车间交互分配后的实际费用除以对辅助生产车间以外各基本收益单位提供的劳务总量,计算出实际单位成本。
某辅助生产车间对基本受益单位提供劳务的实际单位成本=该辅助生产车间交互分配后的实际费用÷该辅助生产车间对基本受益单位提供的劳务总量
第三步:按交互分配后的实际单位成本分别乘以个基本受益单位本期消耗的劳务量,计算出某一基本受益单位本期应分配的劳务费用。
某基本受益单位本期应分配的费用=该基本受益单位本期消耗的劳务量×该劳务交互分配后的实际单位成本
3.3.2 一次交互分配法下的记账凭证编制
一次交互分配法下,除了会计分录的书写与直接分配法有差异之外,其余处理与直接分配法相同。会计分录的书写为:
3.3.3 一次交互分配法的优缺点
优点:克服了直接范培发在辅助生产车间之间不分配费用的缺点,计算较为简便,结果较为准确。
缺点:由于第一阶段交互分配时所要分配的费用不包括耗用其他辅助生产车间劳务的费用,因此,计算出来的费用分配率不是实际的分配率,计算结果的准确性会受影响。
3.4 计划成本分配法
3.4.1 计划成本分配法的原理及计算方法
计划成本分配法是指在分配辅助生产费用时,按辅助生产车间提供的产品或劳务的计划单位成本和各受益单位的实际耗用量计算各受益单位应负担的辅助生产费用的一种辅助生产费用分配方法。
第一步:根据各辅助生产车间提供劳务的计划单位及各受益单位(包括基本受益单位和其他辅助生产车间)的实耗劳务数量,将辅助生产费用计入各受益单位。
第二步:将各辅助生产车间的实际劳务总成本与按计划成本分配的总费用之间的差额,分配给辅助生产车间以外的受益单位,或直接转入“管理费用”。
某辅助生产车间按计划成本分配的总费用=该辅助生产车间提供的劳务总量×劳务的计划单位成本
某辅助生产车间实际发生的总成本=该辅助生产车间直接发生的费用+其他辅助生产车间按计划成本转入的费用
某辅助生产车间的劳务成本差额=该辅助生产车间实际发生的总成本-该辅助生产车间按计划成本分配的总费用
3.4.2 计划成本分配法下记账凭证编制
在计划成本法下,其记账凭证的编写格式与一般的记账凭证编制方法相同,但是,由于计划成本往往与实际成本有所差异,因此,与直接分配法不同的是必须要对差异部分进行归集。
计划成本下的账务处理:
差异部分的账务处理:结转差异,由于是超支差,因此,记在贷方。若为节约差,则记借方,贷方记管理费用。
3.4.3 计划成本分配法的优缺点
优点:简化和加速了成本分配工作,排除了辅助生产费用变动对受益单位成本的影响,便于分析和考核受益单位的成本责任,也便于通过按计划成本转出辅助生产费用之间的差异来考核辅助生产车间成本计划的执行情况。
缺点:如果计划单位成本制定的不够准确,会影响辅助生产费用分配的准确性,不利于考核辅助车间及各受益单位的成本责任,并且将较大的差异额列入“管理费用”科目,对当期的损益也有较大影响。
适用情况:适用于辅助生产车间计划单位成本制定较为准确的情况下采用。
实训体会
这次实训有会计循环实验为基础,因此对整个系统有了大概的了解,对整个操作的流程也更加熟悉。与会计循环实验不同的是,这次成本会计课程设计更注重对成本核算方法的运用。而会计循环使用那则是注重对会计基础知识的运用。
此次成本会计课程设计,很明显地感觉到不像会计循环实验那样经常犯一些小错误,出现错误的往往是对一些计算方法的不熟悉以、计算时对精确位数的要求以及在编制记账凭证时是否需要对明细科目进行书写等地方。
整个实验做下来,很明显的感觉到实务与理论学习的巨大差别。在学习书本知识的过程中,书本上的知识很系统,思路也明确,我们对一些小知识点感觉可能不会用到,这些会让我们觉得会计处理不会很难。但是在实务中,很考验我们对知识的系统运用。因此,我们平时必须对书本上的知识融会贯通。除此之外,还真正地体会到会计是一门谨慎,严谨,细致的学科。它是对经济活动进行记录、计量、核算与反映,容不得一丝马虎。这就要求我们在平时的学习中必须认真刻苦,即使是最细小的东西也应该掌握,不能大意。
第五篇:深加工结转操作流程(电子申报)-20150420
深加工结转操作流程(电子结转)
一、申请条件
1转出企业、转入企业均已取得海关核发的加工贸易登记手册(进料加工或来料加工手册);
2转出企业、转入企业之间已签定加工贸易结转合同或协议; 3结转交易发生在加工贸易登记手册的有效期内。
二、结转方式 1申请表的备案
(1)转出企业在QP系统中录入结转转出情况,申报后,产生“电子口岸统一编号”,将申请表E-MAIL或传真给转入企业;
(2)转入企业在QP系统中录入结转转入情况,申报后,产生电子结转申请表号码(X11000123xxx);此时,转出、转入状态均变为“成功入海关库”
(3)转出企业向转出地海关申请审批,转出海关审批后,转出状态变为“审批通过”
(4)转入企业向转入地海关申请审批,转入海关审批后,转入状态也变为“审批通过”。
此时,申请表方始有效,可以办理收发货。(申请表如果是不需要人工审批的,状态是直接变成审核通过)
(5)一份申请表对应一个转出企业和一个转入企业;一份申请只能对应转出企业一本手册,但可对应转入企业多本手册。
(6)结转双方备案的海关商品编码必须一致;(商品编码前8位必须一致,不一致会转人工审批)
(7)结转双方备的案数量、计量单位应当一致或折算成一致。(E账册联网企业《申请表》无须报备数量。
(8)对经海关审核通过后的《申请表》允许对其数量进行变更及增加新结转商品项目。
2收发货单登记
(1)转出企业在实际发货后10天内(因技术原因无法在规定时效内申报发货数据的,经主管海关同意,可适当延长申报时限,但最长不超过20天),于QP系统中录入发货记录,产生《收发货单》号码(X11000123XXX1000X,前12位同结转申请表号码),并E-MAIL或传真给转入企业;(2)转入企业在收到转出企业《收发货单》并在实际收货后10天内(因技术原因无法在规定时效内申报发货数据的,经主管海关同意,可适当延长申报时限,但最长不超过20天),于QP系统中录入收货记录。(3)《收发货单》登记后,由海关系统自动审批通过。
如果转入企业发现转出企业的发货登记存在错误,在录入收货记录前,可以告知转出企业并由转出企业撤消该收发货单,再重新做一份。
(4)如有退货,应录入《退货单》,由转入企业录入后,再由退货接收方转出企业录入,海关系统自动审批通过《退货单》。
(5)海关对《申请表》进行暂停处理的,在暂停期间企业不能进行收、发货,但《申请表》项下已实际收发货的,允许办理报关手续。
注:发货方在系统中登记后30日之内,转入方要做收货登记,否则转出放数据自动作废。(申请表也是)
3结转报关(先报进口再报出口)
(1)转入、转出企业在每次实际收发货后的10天内,进行对账,并完成《收发货单》;
(2)在次月20号之前,转入企业将转出企业提供的合同、发票、箱单等单证,向转入地海关办理结转进口报关手续,并在进口报关后的第二个工作日内将报关情况通知转出企业;
(3)转出企业自接到转入企业通知之日起至月底前,即《申请表》有效期内并进口报关之日起10天内,凭结转进口报关单复印件、合同、发票、箱单等单证向转出地海关办结出口报关手续;
4结转报关注意事项
(1)转出、转入企业分别在转出地、转入地海关办理结转报关手续;转出、转入企业凭电子结转申请表分批或者集中办理报关手续。
(2)转出、转入企业应当在实际收发货的次月底前办结该批货物的报关手续,但不得超过手册(包括联网监管电子账册、电子化手册)有效期或核销截止日期,且最长不得超过1年。
(3)转入、转出报关单的随附单证代码填写大写的“K”,随附单证号填写电子结转申请表的号码,海关系统自动核对收发货数据做自动核扣,因此报关前必须注意做好电子收发货单的登记手续。
(4)结转进口、出口报关的申报价格为结转货物的实际成交价格;
(5)一份结转进口报关单对应一份结转出口报关单,两份报关单之间对应的申报序号、商品编码、数量、价格和手册号应当一致;
(6)转入企业必须取得转出企业已申报完成的报关单,进行存档。