找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
楼主: 849830265

[学习] 用友开发-接口

   火.. [复制链接]
发表于 2021-7-2 15:46:46 | 显示全部楼层
学习了,谢谢
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-5 11:43:12 | 显示全部楼层

多学习用友开发,尝试转型。
回复 点赞 拍砖

使用道具 举报

发表于 2021-7-5 14:17:54 | 显示全部楼层
谢谢提供资料分享
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-6 15:30:54 | 显示全部楼层
this.result_txt.Text += "时间:" + DateTime.Now.ToString() + "  正在执行【测试登录U8】!\r\n";
            U8Login.clsLogin u8Login = new U8Login.clsLogin();
            String sSubId = txt_sSubId.Text;
            String sAccID = txt_sAccID.Text;
            String sYear = txt_sYear.Text;
            String sUserID = txt_sUserID.Text;
            String sPassword = txt_sPassword.Text;
            String sDate = txt_sDate.Text;
            String sServer = txt_sServer.Text;
            String sSerial = txt_sSerial.Text;
            if (!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial))
            {
                this.result_txt.Text += "时间:" + DateTime.Now.ToString() + "  登陆失败,原因:" + u8Login.ShareString + "\r\n";
                return;
            }
            this.result_txt.Text += "时间:" + DateTime.Now.ToString() + "  登录成功!\r\n";
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-7 19:28:45 | 显示全部楼层
单点登录

UFSoft.U8.Framework.Login.UI.clsLogin u8Login = new UFSoft.U8.Framework.Login.UI.clsLogin();
bool bLoginSucceed = u8Login.login("AS");
if (bLoginSucceed)
{
UserData u8User = u8Login.GetLoginInfo();
textBox3.Text = u8User.UserName;
textBox4.Text = u8User.AccID;
textBox5.Text = u8User.ConnString;
}
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-9 10:38:42 | 显示全部楼层
           联查单据
           string cmdLine = "";

            cmdLine = "ID:{0}&&&Name:{1}&&&SubSysID:{2}&&&AuthID:{3}&&&CMDLINE:{4}\t{5}";
            //cMenu_Id,cMenu_Name,cSub_Id,cAuth_Id,CardNumber,keyId
            cmdLine = string.Format(cmdLine, "PUM030301", "采购订单", "PU", "PU0301", "88", "1000000011");//非UAP单据格式
            //CS单据 打开菜单
            IPortalCommandOperator portalCommandOperator = new PortalCommandOperator();
            IPortalCommandArgs portalCommandArgs = new PortalCommandArgs("PUM030301", "PU");//menuID是菜单编号,在菜单调整工具中查,或者在ua_menu表中查,subID是子系统编号,在system库 ua_subsys_base中查
            portalCommandArgs.AuthId = string.Empty;//浏览权限编号 在系统管理中查
            portalCommandArgs.DocId = string.Empty;
            portalCommandArgs.DocType = string.Empty;
            portalCommandArgs.ID = "PUM030301"; //menuID是菜单编号,在菜单调整工具中查,或者在ua_menu表中查

            portalCommandArgs.Name = "采购订单";//菜单名称,在菜单调整工具中查,或者在ua_menu表中查
            portalCommandArgs.SubFunction = string.Empty;
            portalCommandArgs.Extenision = string.Empty;
            portalCommandArgs.SubSysID = "PU";//是子系统编号
            portalCommandArgs.CmdLine = cmdLine;
            portalCommandArgs.FromUserClick = false;
            portalCommandArgs.ExtProperties.Add("recheck", "1");
            portalCommandOperator.RunBusiness(portalCommandArgs);
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-12 14:01:53 | 显示全部楼层
            部门档案 co同步

            this.rhlog.Text += "时间:" + DateTime.Now.ToString() + " 少侠你正在执行【新增部门档案】任务!\r\n";
            U8Login.clsLogin u8Login = new U8Login.clsLogin();
            String sSubId = "AS";
            String sAccID = txtzt.Text.Trim().ToString();//(default)@002
            String sYear = Convert.ToDateTime(dldate.Text.ToString()).Year.ToString();
            String sDate = Convert.ToDateTime(dldate.Text.ToString()).ToString();
            String sServer = txtserver.Text.ToString();//jx
            String sUserID = txtuser.Text.ToString();//demo
            String sPassword = txtpwd.Text.ToString();
            String sSerial = "";
            if (!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial))
            {
                this.rhlog.Text += "时间:" + DateTime.Now.ToString() + "  登陆失败,原因:" + u8Login.ShareString + "\r\n";

                return;
            }
            else
            {
                this.rhlog.Text += "时间:" + DateTime.Now.ToString() + " 恭喜少侠登录成功! 获得co秘籍【新增部门档案】\r\n";
                //初始化
                DbHelperSQL.connectionString = u8Login.UFDataConnstringForNet;
                U8SrvTrans.IClsCommon CO = new U8SrvTrans.IClsCommon();
                string conn = u8Login.UFDataConnstringForNet;
                CO.InitNew(u8Login);
                string sErrTmp = "";
                string cXml = ReadFile(@"D:\DepBase.xml");
                bool Result = CO.Add(cXml, "Department", ref sErrTmp);
                if (Result)
                {

                    this.rhlog.Text += "时间:" + DateTime.Now.ToString() + " 新增部门成功!\r\n";
                }
                else
                {
                    this.rhlog.Text += "时间:" + DateTime.Now.ToString() + "   新增部门失败,原因:" + sErrTmp.ToString() + "\r\n";
                }
            }
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-13 08:28:33 | 显示全部楼层
                Co修改销售订单

                MSXML2.DOMDocument oDomMsg = new MSXML2.DOMDocument();
                oDomMsg = new MSXML2.DOMDocument();
                USSAServer.clsSystem Cls = new USSAServer.clsSystem();
                Cls.Init(u8Login);
                VoucherCO_Sa.ClsVoucherCO_SAClass Co = new VoucherCO_Sa.ClsVoucherCO_SAClass();
                Co.Init(VoucherCO_Sa.VoucherTypeSA.SODetails, u8Login, null, "CS", Cls);
                var curID = new Object();
                string Result = Co.Save(domHead, domBody, 1, ref curID); //0 是新增  1 是修改
回复 点赞 拍砖

使用道具 举报

发表于 2021-7-14 08:29:05 | 显示全部楼层
楼主的代码,感觉跟我的很相似。
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-15 13:23:01 | 显示全部楼层
  • BOM查询
  • --增加了数量
  • DECLARE @partid INT;
  • SELECT @partid = 225323;
  • WITH parts (pbom, pid, cbom, cid, lvl, seq, sortseq, fvflag, pqty, cqty, baseqtyn, baseqtyd)
  • AS (SELECT NULL,
  •            p.ParentId,
  •            p.BomId,
  •            p.ParentId,
  •            0,
  •            0,
  •            0,
  •            1,
  •            CAST(1.0 AS DECIMAL(20, 10)),
  •            1,
  •            1,
  •            1
  •     FROM dbo.bom_parent AS p
  •         JOIN dbo.bom_bom AS b
  •             ON b.BomId = p.BomId
  •     WHERE b.VersionEffDate <= GETDATE()
  •           AND b.VersionEndDate > GETDATE()
  •           AND b.BomType = 1
  •     UNION
  •     SELECT p.BomId,
  •            p.ParentId,
  •            cb.BomId,
  •            c.ComponentId,
  •            0 AS lvl,
  •            CAST(ROW_NUMBER() OVER (PARTITION BY c.BomId ORDER BY c.SortSeq) AS INT) AS seq,
  •            c.SortSeq,
  •            c.FVFlag,
  •            CAST(1.0 AS DECIMAL(20, 10)),
  •            c.BaseQtyN / c.BaseQtyD,
  •            c.BaseQtyN,
  •            c.BaseQtyD
  •     FROM dbo.bom_parent AS p
  •         JOIN dbo.bom_bom AS b
  •             ON b.BomId = p.BomId
  •         JOIN dbo.bom_opcomponent AS c
  •             ON c.BomId = p.BomId
  •         LEFT JOIN dbo.bom_parent AS cb
  •             ON c.ComponentId = cb.ParentId
  •         LEFT JOIN dbo.bom_bom AS bc
  •             ON bc.BomId = cb.BomId
  •     --LEFT JOIN dbo.bom_opcomponentopt bo ON c.OptionsId = bo.OptionsId
  •     WHERE b.VersionEffDate <= GETDATE()
  •           AND b.VersionEndDate > GETDATE()
  •           AND
  •           (
  •               (
  •                   bc.VersionEffDate <= GETDATE()
  •                   AND bc.VersionEndDate > GETDATE()
  •                   AND bc.BomType = 1
  •               )
  •               OR bc.BomId IS NULL
  •           )),
  •      bom
  • AS (SELECT parts.pid AS ancestor,
  •            parts.pbom,
  •            parts.pid,
  •            parts.cbom,
  •            parts.cid,
  •            parts.lvl,
  •            parts.seq,
  •            parts.sortseq,
  •            CAST('01' AS NVARCHAR(50)) AS pseq,
  •            parts.fvflag,
  •            CAST(parts.pqty AS DECIMAL(20, 10)) AS pqty,
  •            CASE parts.fvflag
  •                WHEN 0 THEN
  •                    parts.cqty
  •                ELSE
  •                    parts.pqty * parts.cqty
  •            END AS cqty,
  •            parts.baseqtyn,
  •            parts.baseqtyd
  •     FROM parts
  •     WHERE parts.pbom IS NULL
  •           AND parts.pid = @partid
  •     UNION ALL
  •     SELECT p.ancestor,
  •            c.pbom,
  •            c.pid,
  •            c.cbom,
  •            c.cid,
  •            p.lvl + 1,
  •            c.seq,
  •            c.sortseq,
  •            CAST(p.pseq + '.' + RIGHT('00' + CAST(c.seq AS NVARCHAR(50)), 2) AS NVARCHAR(50)),
  •            c.fvflag,
  •            CAST(p.cqty AS DECIMAL(20, 10)),
  •            CASE c.fvflag
  •                WHEN 0 THEN
  •                    c.cqty
  •                ELSE
  •                    p.cqty * c.cqty
  •            END,
  •            c.baseqtyn,
  •            c.baseqtyd
  •     FROM parts AS c
  •         JOIN bom AS p
  •             ON p.cbom = c.pbom)
  • SELECT *
  • FROM bom AS b
  • ORDER BY b.pseq
  • OPTION (HASH JOIN, MAXRECURSION 10);

复制代码

回复 点赞 拍砖

使用道具 举报

发表于 2021-7-16 09:03:00 | 显示全部楼层

学习,膜拜大佬
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-17 11:19:47 | 显示全部楼层
3560819158 发表于 2021-6-20 14:18
2021-04-15 更新腾讯课堂,添加了API-Webserices接口开发视频+代码案例
2021-05-05 更新腾讯课堂,添加了 ...

这个内容挺齐全
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-18 22:46:19 | 显示全部楼层
            登录

            rhlog.Text += "欢迎少侠进入u8login的世界,当前时间:" + DateTime.Now + "\r\n";
            U8Login.clsLogin u8Login = new U8Login.clsLogin();
            String sSubId = "AS";
            String sAccID = txtzt.Text.Trim().ToString();//(default)@002
            String sYear = Convert.ToDateTime(dldate.Text.ToString()).Year.ToString();
            String sDate = Convert.ToDateTime(dldate.Text.ToString()).ToString();
            String sServer = txtserver.Text.ToString();//jx
            String sUserID = txtuser.Text.ToString();//demo
            String sPassword = txtpwd.Text.ToString();
            String sSerial = "";
            if (!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial))
            {


                rhlog.Text += "请少侠重头再来,原因是" + u8Login.ShareString + "看下时间吧:" + DateTime.Now + "\r\n";
                return;
            }
            else
            {
                rhlog.Text += "恭喜少侠登录成功,就很Nice!获得co秘籍,看下时间吧:" + DateTime.Now + "\r\n";
            }
回复 点赞 拍砖

使用道具 举报

发表于 2021-7-19 10:18:28 | 显示全部楼层
谢谢楼主的分享,最近正在做这方面的准备工作
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2021-7-19 20:44:33 | 显示全部楼层
zmin72 发表于 2021-7-19 10:18
谢谢楼主的分享,最近正在做这方面的准备工作

用友开发非常轻松学会
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-4-24 07:00 , Processed in 0.081676 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表