当前位置: 首页 > news >正文

salesforce 简单的PDF报价单打印




1.Controller:指定了对应的后台Class文件
2.
renderAs="pdf":设置成pdf格式
<apex:page renderAs="pdf" showheader="false" sidebar="false" applyHtmltag="false" Controller="QuoteController">  
  <head>
      <style>
        body {
          font-family: Arial Unicode MS;
            } 
         .table_one{
        border:none;
        margin:0px auto;
        width:100%;
        border-collapse:collapse;
        font-size:13px;
       }
       .table_one th{
       width:100px;
       border:1px dotted black;
       border-right:none;
       }
        .table_one td{
        width:100px;
       border:1px dotted black;
       border-right:none;
       
       }
        </style>
  </head>
  
  <body>
    <div class="div_info" style="width:100%;">
    <div>
      <apex:image url="{!$Resource.Meritor_Loge}" width="270" height="50"/>
    </div>
    <apex:outputText value="文件编号:SHS" style="font-size:13px;"/>
          <apex:outputText value="{!quoteDate}" style="font-size:13px;"/>
               <hr style="height:1px;border:none;border-top:1px solid black; margin-top:0px" />
                  <table class="table_one" >
                     
                       <tr >                                   
                           <th style="border-left:none;border-top:0.5px solid black;" >发至:</th>
                           <td style="border-top:0.5px solid black;"><apex:outputField value="{!Quote.Contact.Name}"/></td>
                           <th style="border-left:1px solid black;border-top:0.5px solid black;" > 来自:</th>
                           <td style="border-right:none;border-top:0.5px solid black;"><apex:outputText value="{!Quote.CreatedBy.Username}"/></td>
                       </tr>
                   
                        <tr >
                           <th style="border-left:none;border-top:none;border-bottom:none;">公司:</th>
                           <td style="border-top:none;border-bottom:none;">{!Quote.Account.Name}</td>
                           <th style="border-left:1px solid black;border-top:none;border-bottom:none;">公司:</th>
                           <td style="border-right:none;border-top:none;border-bottom:none;"><apex:outputText value="{!Quote.CreatedBy.CompanyName}"/></td>
                        </tr>
                       <tr >
                           <th style="border-left:none;">传真:</th>
                           <td ><apex:outputField value="{!Quote.Fax}"/></td>
                           <th style="border-left:1px solid black;">传真:</th>
                           <td style="border-right:none;"><apex:outputText value="{!Quote.CreatedBy.Fax}"/></td>
                        </tr>
                       <tr >
                           <th style="border-left:none;border-top:none;border-bottom:none;">电话:</th>
                           <td style="border-top:none;border-bottom:none;" ><apex:outputField value="{!Quote.Phone}"/></td>
                           <th style="border-left:1px solid black;border-top:none;border-bottom:none;">电话:</th>
                           <td style="border-right:none;border-top:none;border-bottom:none;"><apex:outputText value="{!Quote.CreatedBy.Phone}"/></td>
                        </tr>
                        <tr >
                           <th style="border-left:none;">页数:</th>
                           <td></td>
                           <th style="border-left:1px solid black;">日期:</th>
                           <td style="border-right:none;">
                           <apex:outputText value="{0,date,yyyy-MM-dd}"> <apex:param value="{!Quote.QuoteDate__c}" /> </apex:outputText>
                          </td>
                        </tr>
                       <tr >    
                           <th style="border-left:none;border-bottom:1px double black;border-top:none;">主题:</th>
                           <td style="border-bottom:1px double black;border-top:none;"><apex:outputField value="{!Quote.Name}"/></td>
                           <th style="border-left:1px solid black;border-bottom:1px double black;border-top:none;">邮件:</th>
                           <td style="border-right:none; border-bottom:1px solid black;border-top:none;"><apex:outputText value="{!Quote.CreatedBy.Email}"/></td>
                        </tr>
             </table>
              <hr style="height:1px;border:none;border-top:1px solid black;" />
              <br/><br/>
           
               <apex:outputText value="一:标的及价格" style="font-size:14px;"/>
               <table class="table_two" style=" margin:0px auto;width:100%;border:1px solid black; font-size:13px; border-collapse:collapse;">
                 
                 <thead> 
                 <tr>
                   <th style="border-bottom:1px solid; black;border-top:1px solid black;border-left:1px solid black;text-align:center;">序<br/>号:</th>
                   <th style="border-bottom:1px solid; black;border-left:1px solid black;black;border-top:1px solid black;text-align:center;">客户零件号</th>
                   <th style="border-bottom:1px solid;black;border-left:1px solid black;black;border-top:1px solid black;text-align:center;">美驰零件号</th>
                   <th style="border-bottom:1px solid; black;border-left:1px solid black;black;border-top:1px solid black;text-align:center;">零件名称</th>
                   <th style="border-bottom:1px solid; black;border-left:1px solid black;black;border-top:1px solid black;text-align:center;">单位</th>
                   <th style="border-bottom:1px solid; black;border-left:1px solid black;black;border-top:1px solid black;border-right:1px solid black;text-align:center;">含税价</th>
                  </tr>
                  </thead> 
                  <tbody>
                   <apex:repeat value="{!listItem}" var="item">
                  <tr >
                   <td style="border-left:1px solid black;border-bottom:1px solid black;text-align:center" >{!item.serial}</td>
                   <td style="border-left:1px solid black;border-bottom:1px solid black;text-align:center">{!item.plist.AccountProductCode__c}</td>
                   <td style="border-left:1px solid black;border-bottom:1px solid black;text-align:center">{!item.plist.Product2.Name}</td>
                   <td style="border-left:1px solid black;border-bottom:1px solid black;text-align:center">{!item.plist.Product2.ProductCode}</td>
                   <td style="border-left:1px solid black;border-bottom:1px solid black;text-align:center">{!item.plist.Unit__c}</td>
                   <td style="border-left:1px solid black;border-bottom:1px solid black;border-right:1px solid black;text-align:center">{!Quote.TotalPrice}</td>
                  </tr>
                    </apex:repeat>
                    </tbody>
                   
               </table>
                  <br/>
                   
                  <apex:outputField value="{!Quote.Terms__c}" rendered="{!if(Quote.Recordtype.Name == '公路',true,false)}"/> 
                  <apex:outputField value="{!Quote.Terms2__c}" rendered="{!if(Quote.Recordtype.Name == '非公路',true,false)}"/>  
                  
          </div>
                   <div style="font-size:15px;position:absolute;right:50px;">
                  <apex:outputText value="徐州美驰车轿有限公司" /><br/>
                  <apex:outputField value="{!Quote.QuoteDate__c}" />
                  </div>
  </body>
</apex:page>

 

public class QuoteController{
    public Quote quote {get; set;}
    public String quoteDate {get; set;}
    public List<ProductItem> listItem{get; set;}

 public QuoteController() {
          //获取quoteId 
          String qtId = ApexPages.currentPage().getParameters().get('id');
          //根据取到的quoteId去查询数据
          quote=[select Id, Name,BillingName, Fax,Phone,QuoteDate__c,TotalPrice,Terms__c,Subtotal,Contact.Name,Terms2__c,
                     Account.Owner.Name,Account.Id,Account.Name,CreatedBy.Username,CreatedBy.CompanyName,CreatedBy.Phone,CreatedBy.Fax,
                     CreatedBy.Email,RecordType__c,RecordType.Name
                     FROM Quote 
                     WHERE Id=:qtId];
             System.debug('quote=>'+quote.RecordType.Name);
                //获取订单产品
               List<QuoteLineItem> quoteItems = [SELECT Id,Product2Id, Product2.Name, Product2.ProductCode, Product2.Family, 
                                                 Product2.QuantityUnitOfMeasure,UnitPrice,Unit__c,AccountProductCode__c
                FROM QuoteLineItem 
                WHERE QuoteId = :qtId];
        quoteDate = quote.QuoteDate__c.format().replace('-','');
         //循环赋值给quoteItems序列号
         listItem = new List<ProductItem>();
             Integer i = 1;
             for(QuoteLineItem li: quoteItems) { 
             system.debug('quote.QuoteDate__c: ' + quote.QuoteDate__c); 
             listItem.add(new ProductItem(i, quote.QuoteDate__c.format().replace('-',''), li));
             i++;
        }
}


    Class ProductItem {
        public Integer serial {get; set;}
        public QuoteLineItem plist {get; set;}
        public String quoteDate {get; set;}
         
        public ProductItem(Integer serial, String dlDate, QuoteLineItem plist) {
            this.serial = serial;
            this.quoteDate = dlDate;
            this.plist = plist;
        }
    }
       
 }

 

转载于:https://www.cnblogs.com/pipidan/p/6992570.html

相关文章:

  • 1.8 Oracle 登陆时报错信息:无监听程序 我的程序猿之路:第八章
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • iOS UISlider的使用
  • CSS 各种形状
  • 用php 生成 excel 表格
  • .Net 路由处理厉害了
  • mybatis中批量插入以及更新
  • robots.txt的语法和写法详解
  • STL 标准模板库
  • Servlet 详解
  • I/O流
  • 菜鸟学习Redis(二)——Redis集群
  • 行为模式--代理Proxy模式(Java)
  • python 类的特殊成员
  • 修改敏感字
  • 【附node操作实例】redis简明入门系列—字符串类型
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • Electron入门介绍
  • ERLANG 网工修炼笔记 ---- UDP
  • Leetcode 27 Remove Element
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Linux链接文件
  • Lucene解析 - 基本概念
  • node.js
  • Python3爬取英雄联盟英雄皮肤大图
  • Python学习之路16-使用API
  • spring + angular 实现导出excel
  • XML已死 ?
  • 从伪并行的 Python 多线程说起
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 使用API自动生成工具优化前端工作流
  • 7行Python代码的人脸识别
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #### go map 底层结构 ####
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (1)虚拟机的安装与使用,linux系统安装
  • (2)Java 简介
  • (2022 CVPR) Unbiased Teacher v2
  • (MATLAB)第五章-矩阵运算
  • (搬运以学习)flask 上下文的实现
  • (二)Eureka服务搭建,服务注册,服务发现
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (七)Java对象在Hibernate持久化层的状态
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (十一)c52学习之旅-动态数码管
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转) Android中ViewStub组件使用
  • ./configure、make、make install 命令
  • .Net Core webapi RestFul 统一接口数据返回格式