问题标签 [sharepoint-2016]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sharepoint-2013 - 优化 JSOM 查询
我有以下 SharePoint 2016 JSOM 查询,该查询根据当前用户电子邮件检索列表项...此查询当前有效,但是,我一直在使用 jquery deferred 和 Promised 对象进行一些研究。为了合理化这种方法的工作原理,我想优化下面的现有代码
请协助
project - 无法还原 SharePoint 2016 项目网站
Restore-SPSite:INSERT 语句与 CHECK 约束“MSP_PROJECT_RESOURCES_RES_TYPE_RULE”冲突。冲突发生在数据库“WSS_Content_2221”、表“pjpub.MSP_PROJECT_RESOURCES”中。该语句已终止。在 line:1 char:1 + Restore-SPSite -Identity "http://*****sea01:2221/ " -Path D:\Backup\epmitsi ... + ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (Microsoft.Share...dletRestoreSite:SPCmdletRestoreSite) [Restore-SPSite], SqlException + FullyQualifiedErrorId : Microsoft.SharePoint。 PowerShell.SPCmdletRestoreSite
sharepoint - 将 1 个网站集拆分为多个
我有一个包含 600GB 内容数据库的环境,在一个网站集下运行 SharePoint 2007。挑战在于,我们如何将其拆分或转换为多个网站集?我们希望将其移至具有适当网站集结构的 SharePoint 2016
谢谢
office365 - 如何以编程方式自动创建 SharePoint 网站?
对于其中一个要求,我必须使用列表中输入的信息来实现自动站点创建。基本上,在列表中单击新项目时,用户将输入详细信息,例如客户名称(在创建站点时将是站点标题)、项目(用于输入项目编号的文本字段)。使用 SharePoint 列表中输入的信息自动创建网站的通用方法是什么?我正在使用 Office 365/SharePoint 在线平台。任何帮助,将不胜感激。
arrays - 在 countifs() 中将函数应用于数组
问题:我表中 的时间列是文本值,而不是时间值。我需要将其转换为 countifs() 函数中的时间值。就像是:
显然我不能将 TIMEVALUE 函数应用于数组,但我想这样做。我该如何做到这一点?完整场景如下...
摘要: 我正在跟踪呼叫量并使用 SharePoint 2016 来存储我的值。我有一个链接到 SharePoint 的 Excel 电子表格,以及同一个电子表格中的另一个转换值的电子表格。该表具有以下列值:
- 日期
- 部门
- 时间
- 代理人
还有一些。此表中的每个条目都是呼叫摘要。例如,日期是通话的日期,时间是通话发生的时间,等等。我使用 countifs() 函数来统计通话频率,部门,座席,以及它们 3 一起(混合) . 这是它的主要问题:我从 SharePoint 获得的时间值是文本值而不是时间;因此,当我尝试将其与另一个时间值进行比较时,它会比较两者的字符串值而不是时间。
这是我迄今为止尝试过的:我知道最简单的解决方案是转换每个时间值并将它们放入 SharePoint 本身的 DateTime 列中(这是未来的目标),但我需要一个临时解决方案,直到我可以筛选 2000记录。我目前正在使用辅助表来转换时间值,但它需要我用所有值填充它,这似乎是多余的,所以我试图摆脱它。
我将我的问题放在上面以供快速参考,但我的问题仍然存在:如何将 TIMEVALUE 函数应用于 countifs 函数中的数组?如果这是不可能的,任何人都可以提供替代解决方案吗?我想保持宏免费,所以最好没有宏或 VBA,但如果这是唯一的解决方案,那么我会考虑它。
作为参考,我在 Office 365 上使用 Excel 2016 和 SharePoint 2016。我要转换为的时间值采用 [hh:mm AM/PM] 格式。
sql-server - Office Online Server for SharePoint 2016 SQL Server 兼容性
Office Online Server for SharePoint 2016 支持哪些版本的 SQL SERVER?我不是指 OOS2016 所在的环境,我指的是它可以查询的环境。
javascript - 本地 SharePoint 2016:如何滚动到页面顶部?
我的用例非常简单:我在自定义列表表单中(修改后的 NewForm.aspx,使用 SharePoint Designer 添加)。我添加了一个按钮,我希望当用户单击它时,页面会滚动回最顶部。
我尝试了以下方法:
在 aspx
在 javascript
我没有详细说明如何确保调用该函数(有时在 SharePoint 中使用 MDS 和 _spBodyOnLoadFunctionNames.push 可能会很棘手,但我 100% 确定我的函数被调用,因为我在浏览器的调试器。
我在“10”和“Edge”模式下都使用 IE11。
这是我的尝试(我一一尝试,不在同一个功能中)
这些都不起作用。当我单击按钮时,断点显示我的脚本已执行,但它就像 window.scrollTo 和其他根本没有效果。
我已经在 init.js 的这个 SharePoint 函数中设置了一个断点,以查看是否可以将自己挂在某个地方,但我不确定我应该做什么:
sharepoint - SharePoint 身份验证令牌 - 保存公式
我们的项目团队目前正在开发 SharePoint 2016 上的工作区托管应用程序。在应用程序中,我们有一个公式,用户可以在其中输入信息并将其保存到列表 (REST API)。
现在的问题是: SharePoint 确实有一个在一定时间后过期的身份验证令牌。如果令牌过期并且我们尝试将公式的数据保存到列表中,Internet Explorer (V.11) 会抛出 HTTP 403 (Forbidden) 错误。
在 Chrome 中,这不会发生。在那里,令牌更新并且数据按预期保存到列表中。
有没有人有这个问题的解决方案或解决方法?
谢谢大家的想法,祝你有美好的一天!
真诚的,拉斐尔
更新 我们发现,创建在 Chrome 中也不起作用。但更新确实如此。
javascript - SharePoint 2016:尽管有 Ajax 和/或 MDS,如何强制 JS 在每个网站页面上执行?
我正在实现一个非常简单的用例,但我不仅没有找到解决方案,而且找不到任何谈论它的文章,就好像我是唯一的一样。
我希望我的自定义 Javascript 在给定 SharePoint 网站的每个页面上执行。
容易,你会说。嗯,不。远非如此,就像 SharePoint 一样。
重现步骤 :
- 创建开箱即用的发布网站
- 使用我在下面描述的任何方式包括下面的自定义 javascript
- 转到站点,到主页。这是一个发布站点,因此默认情况下,您应该在左侧导航窗格中至少默认包含“主页”和“文档”。
- 第一次加载页面时,javascript 会执行。现在,单击“文档”。页面更改但未执行Javascript 。
那是因为 SharePoint 使用Ajax。即使MDS被禁用。它通过 URL 中的哈希 (#) 使用 Ajax。
例如,它转换了一个非常无害的链接,如下所示:
<a href src="/SitePages/Home.aspx">
单击它时进入此 URL:
https://your-url/sites/your-site/_layouts/15/start.aspx#/SitePages/Home.aspx
这是我的 Javascript :
因此,我尝试了以下包含 Javascript 的方法:
- 通过用户自定义操作。我已经使用这个非常方便的页面来添加它,但这不相关。该操作已添加到站点,我可以在第一次加载时在 DOM 中看到 JS。但是当我点击页面中的链接并且SP使用Ajax之后,它不会再次执行它。
- 通过修改母版页——即:seattle.html。起初我以这种方式将其包含在其他本地包含项下:
<head runat="服务器">
...
<!--SPM:<SharePoint:ScriptLink language="javascript" name="suitelinks.js" OnDemand="true" runat="server" Localizable="false"/>-->
<!--SPM:<SharePoint:ScriptLink language="javascript" Name="~sitecollection/SiteAssets/MYJAVASCRIPT.js" runat="server"/>-->
但后来我读到了AjaxDelta(这里:https ://msdn.microsoft.com/fr-fr/library/office/dn456543.aspx ),我将我的包含(仍在标题中)移动到 <AjaxDelta> 中,就像这样:
<head runat="服务器">
...
<!--SPM:<SharePoint:AjaxDelta id="DeltaPlaceHolderAdditionalPageHead" Container="false" runat="server">-->
<!--SPM:<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server"/>-->
<!--SPM:<SharePoint:DelegateControl runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true"/>-->
<!--SPM:<SharePoint:ScriptLink language="javascript" Name="~sitecollection/SiteAssets/MYJAVASCRIPT.js" runat="server"/>-->
<!--SPM:</SharePoint:AjaxDelta>-->
...但没有任何效果。通过单击 SharePoint 的“托管”链接在同一站点的页面之间切换时,永远不会执行 Javascript。
我正在寻找一种能够优雅地处理 SharePoint 的 Ajax 的解决方案,而不是劫持页面上每个超链接的繁重和冒险的解决方案。例如,我尝试将我的代码挂钩到ajaxNavigate方法(例如:addNavigate),但我不确定我是否了解那里实际发生的情况以及它是否对我有任何帮助。
编辑 :
似乎有一个共识(例如,在最底部),无论如何都会执行用户自定义操作——因为据称 SharePoint 出于某种原因将他们的 ScriptLink 放入 AjaxDelta。好吧,这不是我亲眼目睹的。
还有一个共识是这个问题可以通过使用“ RegisterModuleInit ”来解决。这对我也不起作用。
我非常困惑。我认为当用户单击链接然后单击“返回”时,这两种解决方案确实解决了导航问题。但它没有解决 SharePoint 巧妙的“托管”、充满 Ajax 的超链接。