村长占卜:90%的问题由新手提出,90%的官方销售属于老手范畴。
每个入坑ES的筒子都会经历新手阶段的磨练,作为新手应该自觉主动的先学习官方教程,特别是word版,边看边写模板上手最快。
作为新手,可以适当了解SQL,VBA等ES相关知识,知道能实现哪些功能即可,不要执着于某个暂时不能直接完成的功能,刚开始要学会EXCEL辅助大法
,曲线救国
,然后等待灵感在某天的闪现,再回来升级更换。
当新手成长为老手,大都会开始琢磨界面美化,更深入的可能还会优化架构等等。
老手不一定是高手,例如大部分官方销售就是老手老手老老手,但仅仅是老而已,据村里去京城官方总部实地培训过的筒子说,老老手的水平还没自己高,一对一培训进行不下去,真心尴尬~!
除了官方老手,还有一些外部老手,部分甚至开公司专门以开发ES为生,例如以前在村里呆过的老张啊,老杨啊,老李啊等等,他们一般会混迹于多个QQ群答题,或与官方销售合作,销售开发实施一条龙,也算相得益彰?不过外部老手水平参差不齐,而且大多数并没有什么技术,最多是经验老道,善于梳理流程。
老老手中混得差的像老李,完全是坑蒙拐骗的架势,问出的问题连新手都不如,咱就不费墨水了。稍微好一点的像老张专门从官方拿OA类单子,老杨善于从社区整合技术,也混得风生水起,不过必须要吐槽一下,某某的10W块RMB级生产系统,核心居然是外包的辣鸡技术,模块之间数据流动靠回写,错误百出,一塌糊涂。
老老手其实并不比新手强多少,他们只是EXCEL辅助大法
,曲线救国
,用得更溜。ES圈子其实很小,新手多加几个QQ群,会发现怎么又是这帮人(老手)……
总结:新手需自强自立,警惕只有美丽表样的老手。
新手好奇指数:★★★★★
老手忽悠指数:★★★★★
村长占卜:他们各占1%的新手和1%的老手比例。
与一般新手不同,新秀拥有很强的自学能力,稍加点拨就能成为高手。新秀的成长环境很重要,需要一个良好的导师或一个堆满学习资料的仓库。
新秀中典型的例子当然就是村长俺啦,哈哈哈哈(捂脸),因为当年公司购买了正版系统,所以才有机会与俺师父勤哲杨工进行一对一的辅导交流,真怀念那段加班加点的岁月,经常升级,经常被坑,经常报bug,经常提需求,也正是这样让我迅速成长,短短两个月内,从一无所知的小白到做出辣眼睛的官方案例
虽然俺自诩青出于蓝,也很久没与师父联系,但是对师父的感激永驻心底。因此俺建立ESAP水镜禅院
(QQ群:365159025)这个堆满学习资料的仓库,并公开了许多官方不传绝学,例如调用存储过程的代码,myGrid控件资料,系统debug模式开启方法等,据说有些是官方技术总监提供的呢!
很多进入村子的筒子会惊讶有如此之多闻所未闻的ES资料,其实村长衷心希望村里能产出更多像@荆州,@清风这样的闪耀新秀。
新秀在技术方面一般有自己的想法和坚持,他们不容易被没有技术的老手蛊惑,确容易被华丽的老炮误导。
老炮是老手的魔鬼形态,例如某老程,开博客,开公众号,开公开课,对象还是在校大学生,简直是误人子弟。
老炮一般只会侃大山,说大道理,用一些老掉牙的管理思想一遍遍的洗地,或是录一些仿金蝶用友,配有好看模板然并卵的视频。识别老炮的办法就是:有没有干货?please show me the code~!
老炮的最高境界就是:不管你信不信,反正我信了!先给钱!
总结:新秀应突破创新,防止被老炮束晃点
新秀潜力指数:★★★★★
老炮轰炸指数:★★★★★
你没有看错,有一部分玩ES的高手其实是企业的IT主管或公司老板。
ES高手总是很低调,他们加入社区主要是为了解决企业所面临的一些非主流问题,例如排程排产,非标产品BOM等
CTO级高手往往把ES当作工具或现有ERP的补充,他们分享的技术一般是完整的一套方案,ESAP部落宝典
中就收录了许多这类案例。
CTO高手一般精通SQL,同时还会VBA和其它编程手段,不像部分老手以EXCEL为生,ES并不是他们的主业,所以CTO分享的技术更深入更纯粹。
CEO高手是真实存在的,他们或多或少都用ES开发了部分系统,俺与其中一部分CEO打过交道,包括我现在的公司的BOSS。CEO开发的系统更接近一把手工程
,是BOSS内心想法的真实反映。
CEO高手技术是有限的,不可能像CTO那样纯粹深入,但CEO的财力是无限的,哈哈,这完全是抓住了俺的弱点(捂脸逃……)
CTO和CEO都比较任性,一言不合可能就会说:招人,来我们公司上班吧:)
总结:喜闻乐见,珍惜眼前
CTO技术指数:★★★★★
CEO挖角指数:★★★★★
最后这一组画风有点突变,有点伤感。
玩ES的筒子来自五湖四海,各行各业,例如:IT网管,电工,机修,销售,财务,计划,采购和行业会长等。
很多ES玩家是跨界人才,例如咱们的@木头就是摄影师,不是美女不给拍哦:)
ES高级玩家通常会转向.NET开发,例如研究院的@stone等,也有转向java开发的,像狼神等。因为时代在进步,而新版ES已走上了不归路……
ES神级玩家通常会破解ES并发和写书,例如《勤哲Excel服务器专业开发》的作者,我曾从他那学会了视图库存的玩法并推广开来,不过这本书有点花哨,例如使用控件的VBA模糊输入就不值得采用,在控件中输入一半时按ESC键会报错,这是VBA本身的硬伤,体验非常糟糕。
ES寂寞玩家会离开ES,例如@OLAY,早已改玩WEB很多年,@断哥也投入ORACLE大军。
天下没有不散的宴席,ES圈子虽小,离合总是难免,但愿人长久,千里共婵娟。
总结:官方不为咱做主,不如回家卖豆腐
怪咖会玩指数:★★★★★
寂寞伤感指数:★★★★★
为避免新手们多走弯路,村长决定开源ESAP库啦,简洁精致,敬请期待。
村长点评:散了吧,X哲已死……
采购订单在ES中生成,审批后需要把本表导出成pdf或excel发送给供应商。
ES本身没有这种功能,据说高版本有,但估计也不能导出pdf。
所以实现必须借助vba,office2007+版本有pdf插件或自带pdf插件,可以另存pdf,然后通过vba发送给smtp邮件服务器,按照这个思路即可实现。
Sub send()
Dim NameSpace$, Email As Object, mypath$
' 本表另存pdf
On Error Resume Next
Application.ScreenUpdating = False ' 关闭屏幕刷新
If Application.Version < 12 Then
MsgBox "此功能用于Excel2007以上"
Exit Sub
End If
mypath = ThisWorkbook.Path
'VBA.MkDir (mypath & "/PDF")
' 导出pdf
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=mypath & "\" & ThisWorkbook.Name & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
' 另存xls
Set NewBook = Workbooks.Add
Sheet2.Range("a:d").Copy NewBook.Worksheets("sheet1").Range("a:d") '复制A:D列
NewBook.SaveAs Filename:=mypath & "\" & ThisWorkbook.Name & "-副本" & ".xls"
NewBook.Close SaveChanges:=True '关闭文件
Application.ScreenUpdating = True ' 打开屏幕刷新
' 发送准备工作
NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.From = Sheet2.Range("g2") ' 发件人邮箱=“辅助工作表”G2
Email.To = Sheet2.Range("g5") ' 要发往的地址=“辅助工作表”D列
Email.Subject = Sheet2.Range("g4") ' 标题=“辅助工作表”G4
Email.Textbody = Sheet2.Range("g6") ' 正文=“辅助工作表”C列+G6
Email.AddAttachment mypath & "\" & ThisWorkbook.Name & ".pdf" '添加附件
Email.AddAttachment mypath & "\" & ThisWorkbook.Name & "-副本" & ".xls" '添加附件
With Email.Configuration.Fields
.Item(NameSpace & "smtpusessl") = 0 ' 是否启用ssl
.Item(NameSpace & "sendusing") = 2
.Item(NameSpace & "smtpserver") = "smtp.163.com" ' 发送邮件服务器
.Item(NameSpace & "smtpserverport") = "25"
.Item(NameSpace & "smtpauthenticate") = 1
.Item(NameSpace & "sendusername") = Sheet2.Range("g2") ' 发件人邮箱
.Item(NameSpace & "sendpassword") = Sheet2.Range("g3") '发件人密码
.Update
End With
Email.send ' 发送
MsgBox "文件已经发送完成。"
Kill mypath & "\" & ThisWorkbook.Name & ".pdf" '删除所有的已经发送的附件
Kill mypath & "\" & ThisWorkbook.Name & "-副本" & ".xls" '删除所有的已经发送的附件
End Sub
可以通过提数自动获取供应商对应的邮箱,通过回写记录发送历史。
@挨踢熊 @毛毛
更多精彩功能请关注我们^_^
村长点评:Nx中可以直接将本表转pdf存入字段,然后调用邮件发送,原生支持。
近半年村长主要研究企业移动办公,微信企业号开发快速迭代中,大受用户好评,年末了,年会将近,捱不住HR小MM的撒娇,于是答应开发个【优秀员工投票系统】,供大家乐(fen)乐(zang)。
数据源:评选是公司内部员工,所以要用的素材例如名单,照片等就直接从ES系统取现成数据。
前端:当然是用Vue写个web页面啦,考虑到投票需要限定仅本公司人员可投票,所以使用微信企业号的OAuth2鉴权。
后端:要打通前端和ES,一两天就完成开发部署,还支持大并发,除了golang,也是没谁了,哈哈。
统计投票:当然是扔给ES啦,一个EXCEL表而已。
// 检查是否为在职员工
ok := sqlsrv.CheckBool("select 1 from 员工 where 微信号=? and 状态='在职' ", wxid.Value)
fmt.Println("--isEmp:", ok)
if !ok {
return "您不是在册员工,不能参与此次投票"
}
// 插入投票记录
uid := wxid.Value
rcid := "rc" + time.Now().Format("060102150405.99")
now := time.Now().Format("2006-01-02 15:04:05")
fmt.Println("rcid to insert:", rcid, wxid)
err = sqlsrv.Exec("insert 投票(uid,姓名,wxid,T1,T2,T3,X1,X2,X3,excelserverrcid,excelserverrtid) values(?,?,?,?,?,?,?,?,?,?,549.1)", uid, m["姓名"], wxid.Value,
m["T1"], m["T2"], m["T3"],
m["X1"], m["X2"], m["X3"],
rcid)
if err != nil {
return fmt.Sprintln("您已经投过票了", err)
}
err = sqlsrv.Exec("insert es_repcase(rcid,rtid,fillDate,lstFiller,lstFillerName,lstFillDate) values(?,549.1,?,1,'sys',?)", rcid, now, now)
if err != nil {
return fmt.Sprintln("系统数据插入错误,投票失败", err)
}
更多精彩功能请关注我们^_^
高版本的ES可以查看视图引用,而低版本不能,每次修改或删除视图时总会被“有其它对象引用…”对话框困扰,不得已,祭出SQL Server Profiler(sql2000里叫事件探查器)这个大杀器,终于找到了根源。
首先开启SQL Server Profiler
简单配置一下只勾选RPC及SQL
启动后到管理控制台的视图里去尝试删改视图,必然报错
马上回到SQL Server Profiler,暂停,查看最后一句RPC
把代码复制到查询分析器里,改 refid
为 *
, 执行一下,就能获知是哪个模板引用了
最后重复以上过程就能一一清理障碍,完成视图删改。
企业号是专为企业推出的微信公众号的一种,不但拥有订阅号、服务号的所有功能,还拥有额外的权限及安全配置,企业号提供手机等移动端的便利操作和快捷查询,一般为内部应用,仅企业内部人员或供应链友商使用,企业号关注后通常需验证手机号或企业邮箱才能正常使用。
ES系统可以解决大部分基础数据人工采集和简化统计工作,却也将用户绑定在电脑前,不能很好的适应企业中高层的日常工作需要(移动化)。企业号可以作为ES系统的移动端入口,打通高级移动办公。
本文演示的ESAP2.0微信API,实现了对接ES数据库,让用户拥有了快速连接系统并获取、上传数据和文件的能力。
目前村长已将企业号广泛用于项目管理
、库存查询
、资产台账
、订单进度
、待办审核
、照片采集
、核心报表
等功能。
此处仅提供一些测试案例作为参考。
功能演示:
本文示例的运行环境为win2008r2 + sql 2008r2sp3 + es9.4 + golang1.5
。
微信企业号可免费使用,目前注册时选择团体,不认证也可支持200
微信用户,每日可主动推送6000次
。
企业号后台程序建议自主开发,一旦掌握了技巧,应用开发速度相当快捷,示例应用仅需几小时即可全部开发实现。
获取微信SDK及示例:
go get github.com/woylyn/esap2
(村后院/蛋蛋PDF/esap15.flv)
更多精彩功能请关注我们^_^