SF中对象发出消息后在chatter上显示名字的问题

在SF的chatter界面上,都会有个显示的名字,如下图:
[img]http://dl.iteye.com/upload/attachment/0063/2774/37c394c1-a772-3a58-a3d8-853d10b96416.png[/img]

对于标准的对象里,SF已经给我们设置好了具体显示那个字段的值了,也就上上图看到的Elias,Driver之类的名字。但是如果是我们自己自定义的对象呢?如何处理,其实在SF里的所有对象中,salesforce所有的对象都有一个默认的Name字段,这个字段就是在Chatter里看到的值。Name字段拥有两种类型,Auto Number 或者 是 Text。

例如以自定义的车对象(Car)为例,Car上的Name是被定义成Auto Number的,那么该字段就是只读属性,不能修改,如果定义为文本,则可以读写;
默认的标准字段Name:

[img]http://dl.iteye.com/upload/attachment/0063/2795/9539970b-e986-3051-bed9-092d06586316.png[/img]

进入Car对象的字段编辑页面后,点击Edit连接,就可以进入编辑页面了:
[img]http://dl.iteye.com/upload/attachment/0063/2778/fd86a45c-1545-3794-8cae-ac2dd0bed791.png[/img]

以Car对象为例,我们定义标准对象,定义数值型时,显示的为“0008, 0009”之类的,不是很友好,所以我们定义为字符串,这样能看到名字就一目了然了。
注意:Record Name字段,可以任意输入,此处为Name;Date Type可以根据需要选择为数值型或文本行,如果是数值型,需要定义显示的格式,如{0000},大括号表示变量,里面的4个0表示显示几位,如果4个0,则显示00001,如果是6个0,则为000001;也可以混合,如No-{0000}, 则显示 No-0001;
[img]http://dl.iteye.com/upload/attachment/0063/2801/ce29d629-beec-3e18-9908-bc09aa8eecef.png[/img]

修改记录的值,会更新了
[img]http://dl.iteye.com/upload/attachment/0063/2780/e07ad5fc-fc5c-3edc-826c-bc55e6950c99.png[/img]

更新后,在Chatter 页面就看到了,Kevin's Car是修改后的,原来是0009;0008还没有修改,是之前定义为数值型时赋值的:
[img]http://dl.iteye.com/upload/attachment/0063/2782/a3b4ff8d-309c-3f76-a710-bd3d29bcdd10.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在ROS订阅话题消息并通过CAN发送出去,可以使用以下步骤: 1. 安装CAN接口模块 首先需要安装CAN接口模块,例如canutils和python-can。可以使用以下命令进行安装: ``` sudo apt-get install can-utils sudo pip install python-can ``` 2. 配置CAN接口 接下来需要配置CAN接口。可以使用以下命令设置CAN接口: ``` sudo ip link set can0 up type can bitrate 1000000 ``` 这里假设使用can0接口,如果使用其他接口需要相应修改。 3. 创建ROS节点 然后需要创建一个ROS节点来订阅话题消息并将其发送到CAN接口。可以使用Python编写ROS节点。以下是一个简单的示例: ```python #!/usr/bin/env python import rospy from can_msgs.msg import Frame from std_msgs.msg import String import can def send_can(frame): bus = can.interface.Bus(channel='can0', bustype='socketcan_native') msg = can.Message(arbitration_id=frame.id, data=frame.data) bus.send(msg) def callback(data): rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data) bytes = [ord(c) for c in data.data] frame = Frame() frame.id = 0x123 frame.dlc = len(bytes) frame.data = bytes send_can(frame) def listener(): rospy.init_node('can_sender', anonymous=True) rospy.Subscriber("chatter", String, callback) rospy.spin() if __name__ == '__main__': listener() ``` 这个节点会订阅名为“chatter”的话题,并将其发送到CAN接口。在回调函数,我们将收到的字符串消息转换为字节数组,并将其打包为CAN帧发送出去。可以根据实际情况修改回调函数和CAN帧的内容。 4. 运行节点 最后需要运行ROS节点。可以使用以下命令启动节点: ``` rosrun <package_name> <node_name>.py ``` 这里假设ROS节点的Python脚本名称为<node_name>.py,放置在<package_name>包。 现在,当有消息发布到“chatter”话题时,ROS节点会将其发送到CAN接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值