移动BOS开发技巧(二)
金蝶云社区-天冥异
天冥异
5人赞赏了该文章 856次浏览 未经作者许可,禁止转载编辑于2018年07月04日 14:36:14

如何打开一个设计好的移动表单或者单据



移动BOS开发技巧 -- 如何打开一个设计好的移动表单或者单据
在K/3 Cloud的移动BOS,我们可以看到在设计器中我们区分为移动表单核移动单据
下面我们就来看一下,我们如何用代码打开他们,我们以一个简单的场景为例:
  我们在当前页面的一个按钮点击的时候,打开另外一个页面(移动表单和移动单据列表)
  以下是打开移动表单的写法,如果要打开移动单据列表,只需要把 MobileShowParameter 换成 MobileListShowParameter即可
                MobileShowParameter param = new MobileShowParameter();                param.FormId = "你想打开的formid";
                //也可以添加自定义的参数                
                param.CustomParams.Add("key名", “value”);
                //如果需要支持回调参考以下写法
                param.SyncCallBackAction = false; 
                this.View.ShowForm(param, new Action<FormResult>((res) =>                { 
                      this.View.Refresh(); //刷新当前页面 
               }));


如何在移动BOS中打开链接时传递自定义的参数


大家在云之家中使用移动BOS,如果使用了外部页面和移动页面的混合方式,一般跳转都是采用链接方式,那么如何传递自定义参数呢。看下面的url,这个是我们打开移动表单的url
http://localhost/k3cloud/mobile/k3cloud.html?entryrole=XT&appid=101091440&formId=test_xiaogy&formType=mobile
我们的实现思路是:移动bos在url上固定了一个参数,用于自定义数据传输
A 首先如上的链接,我们可以修改为
http://localhost/k3cloud/mobile/k3cloud.html?entryrole=XT&appid=101091440&formId=test_xiaogy&formType=mobile&custparam=test
在参数中增加custparam=test,其中custparam是固定的,不能修改,test就是你爱传什么就传什么了
B 然后你再this.View.OpenParameter.GetCustomParameter("custparam"),就可以获取到cusparam中的值了


移动BOS蓝牙打印



一、蓝牙打印机配对
登录Cloud 工作台 -》设置 -》蓝牙打印设置,如下图:

云之家图片20161114111114.jpg 云之家图片20161114111040.jpg 
二、插件代码示例:
1、打印文本
var helper = PrintHelper.CreateHelper(this.Context, "");
var prtEntity = helper.CreateEntity();
prtEntity.ElementCollection.Add(helper.GetFormatString("HelloWorld!"));
this.View.MobilePrint(prtEntity);

2、打印条形码 
var helper = PrintHelper.CreateHelper(this.Context, "");
var prtEntity = helper.CreateEntity();
prtEntity.ElementCollection.Add(helper.GetFormat1DBarcode("123456789012"));
this.View.MobilePrint(prtEntity);

3、打印二维码 
var helper = PrintHelper.CreateHelper(this.Context, "");
var prtEntity = helper.CreateEntity();
prtEntity.ElementCollection.Add(helper.GetFormat2DBarcode("HelloWorld!"));
this.View.MobilePrint(prtEntity);

4、打印图片("image/print"图片所在目录,"print.gif"图片名称) 
var helper = PrintHelper.CreateHelper(this.Context, "");
var prtEntity = helper.CreateEntity();
prtEntity.ElementCollection.Add(helper.GetFormatPicture(PathUtils.GetPhysicalPath(@"image/print", "print.gif")));
this.View.MobilePrint(prtEntity);

5、按模板打印
“MOB_PrintShop”为打印模板。
模板定义路径:Administrator登录系统,主控台 -》 基础管理 -》 公共设置 -》 移动平台设置 -》 移动打印格式模板列表。
var sphelper = PrintHelper.CreateHelper(this.Context, "MOB_PrintShop");
var spprtEntity = sphelper.CreateEntity();
if (spprtEntity.Header.IsEmpty())
{
   var headerString = sphelper.GetFormatString("金蝶商城");
   headerString.Format.AntiWhite = true;
   headerString.Format.DoubleWidth = true;
   spprtEntity.Header.Add(headerString);
   spprtEntity.Header.Add(sphelper.GetFormatString("----------------------------"));
   if (spprtEntity.Footer.IsEmpty())
   {
       spprtEntity.Footer.Add(sphelper.GetFormatString("----------------------------"));
   }
}
spprtEntity.ElementCollection.Add(sphelper.GetFormatCollumns(new[] { "拖把(促销)", "$100", "2.0" }));
spprtEntity.ElementCollection.Add(sphelper.GetFormatCollumns(new[] { "叼牌洗面奶(促销)", "$200", "5.0" }));spprtEntity.ElementCollection.Add(sphelper.GetFormatCollumns(new[] { "购物袋", "$2", "1.0" }));spprtEntity.ElementCollection.Add(sphelper.GetFormatCollumns(new[] {"HelloWorld", "$100", "2.0" }));spprtEntity.ElementCollection.Add(sphelper.GetFormatCollumns(new[] { "Oh中文MyGod.", "$100", "2.0" }));
spprtEntity.ElementCollection.Add(sphelper.GetFormatCollumns(new[] { "你好吗?这是超长商品名称,谢谢光顾!", "$2", "1.0" }));
this.View.MobilePrint(spprtEntity);

适配的打印机是北京瑞工科技的RG-MTP58B-SUBT。


赞 5