关于点可云进销存ERPV7版本的打印模板设计

进销存
2023-12-07 13:14
I
10分钟

模板修改后一定要点击左上角保存按钮,否则修改的所有内容不会生效,且下次打开还是原样式。

       打印模板目前系统中内置的有A4、二等分纸张大小的两种模板,其中部分单据还有序列号模板,如果您在使用期间需要编辑为其他纸张大小的模板,建议您复制一份原本内置的模板,然后再编辑,留存一份原版模板,以防止在修改期间出现不可逆错误,导致模板打不开,无法调试等情况。

1.jpg

       模板在调试前需要确保对应的单据中至少有一个单据存在,才能对模板进行调试,否则会提示“[ ERROR ] 未匹配到数据!”;

2.jpg

       模板的详情中是模板的标识、代码等信息,如果对于代码方面不熟悉的,建议您不要随意更改模板中的代码,调整模板中样式,您可点击调试进行模板样式调整;

3.jpg

       在第一次打开模板调试时,会略微慢一点,实际快慢与个人网速有关联,等待即可,在打开后即可更改模板中内容,可以直接进行拖动,或点击需要调整的内容,在左侧属性中对内容进行调整,双击可打开内容进行编辑,左侧属性为当前选中的内容样式、格式等信息修改;

4.jpg

       字典是目前单据模板所能调取的字段、打印系统内置的变量函数等,数据源就是目前可调取的字段,可在其中查找需要调取的字段,然后修改单据中的内容,同时也可双击单据中需要修改的字段,在弹框中点击右侧的数据列,也可以进行字段的查找,选中后点击底部确定即可更改字段。

5.jpg

       模板的纸张大小更改,可以点击右侧模板的空白处,然后在左侧的属性中第一个页,可以看到页面大小、页宽、页高、定向等数据,可在此处进行编辑选择。

6.jpg

       关于自动换行,如果模板中某字段显示内容较多,可能会出现在打印时字段内容显示不全情况,此时需要再模板中选中要换行的字段,然后在左侧属性、附加文本中最后一个选项,自动换行进行勾选,保存后即可生效;

7.jpg

       在修改时预览打印样式,可在顶部点击预览,即可查看目前修改后的打印样式,主页为编辑模板的界面。

8.jpg

部分模板增加部分字段方式(同类型字段同样添加)

其它出库单(extry)、其它入库单(entry)在打印模板中是没有客户(customer)、供应商(supplier)字段的调取,如需添加客户、供应商的字段需在后端代码中添加模型调取字段,方法如下:

1、在后端    app/model/    该地址下找到对应的文件    

   其它出库单(extry)、其它入库单(entry)

   添加以下代码:

    //供应商关联
    public function supplierData(){
        return $this->hasOne(Supplier::class,'id','supplier')->append(['extension']);
    }
    
    //客户关联
    public function customerData(){
        return $this->hasOne(Customer::class,'id','customer')->append(['extension']);
    }
    
    注:其它出库单中添加客户关联代码,其它入库单中添加供应商关联代码。

2、在后端    app/controller/Reports.php    文件中找到    Entry、Extry    字段;

在    $items    中增加    'supplierData'  

    //其它入库单
    public function entry(){
        $input=input('post.');
        if(isset($input['parm']) && is_array($input['parm'])) {
            empty($input['parm'])&&$input['parm']=array_column(Entry::limit(3)->field('id')->select()->toArray(),'id');
            $items=Entry::with(['frameData','supplierData','userData'])->where([['id','in',$input['parm']]])->append(['extension'])->order(['id'=>'desc'])->select()->toArray();
            foreach ($items as $key => $item) {
                $items[$key]['info']=EntryInfo::with(['goodsData','warehouseData'])->where([['pid','=',$item['id']]])->append(['extension'])->select()->toArray();
            }
            $result=empty($items)?['state'=>'error','info'=>'[ ERROR ] 未匹配到数据!']:['entry'=>$items];
        }else{
            $result=['state'=>'error','info'=>'传入参数不完整!'];
        }
        return json($result);
    }

3、在打印模板中调取对应的供应商字段,

10.jpg

商品类别在打印模板中是不会显示的,但是同样可以在调取后进行使用,方法如下:

1、在后端    app/model/    该地址下找到需要添加的文件(Info数据需要在Info单据中添加);

此处使用销售单作为演示:

打开    SellInfo.php    文件,添加以下代码:

    //商品类别关联
    public function categoryData(){
        return $this->hasOne(Category::class,'id','category');
    }

2、在后端    app/controller/Reports.php    文件中找到    Sell    字段;

在    $items[$key]['info']    中增加    'categoryData'  

    //销售单
    public function sell(){
        $input=input('post.');
        if(isset($input['parm']) && is_array($input['parm'])) {
            empty($input['parm'])&&$input['parm']=array_column(Sell::limit(3)->field('id')->select()->toArray(),'id');
            $items=Sell::with(['frameData','customerData','peopleData','userData'])->where([['id','in',$input['parm']]])->append(['extension'])->order(['id'=>'desc'])->select()->toArray();
            foreach ($items as $key => $item) {
                $items[$key]['info']=SellInfo::with(['goodsData'=>['categoryData'],'warehouseData'])->where([['pid','=',$item['id']]])->append(['extension'])->select()->toArray();
            }
            $result=empty($items)?['state'=>'error','info'=>'[ ERROR ] 未匹配到数据!']:['sell'=>$items];
        }else{
            $result=['state'=>'error','info'=>'传入参数不完整!'];
        }
        return json($result);
    }

3、在打印模板中调取对应的商品类别字段,

11.jpg

本打印插件自由度较高,用户可根据自身需求度进行开发,本社区也欢迎大家发布自身修改后的模板,方便大家共同交流学习,同时我们会选取部分较好的模板加入后续系统的更新中。

©2025 山西点可云科技有限公司 晋ICP备2020014583号 晋B2-20240132