答案 0 :(得分:1)
我在同一个问题上与Acumatica有一个案例。问题是门户网站地图中缺少主项目浏览器页面。 在数据库上运行以下SQL语句并重新启动Acumatica实例。
更新6/15/2018 - 我在另一次升级时又遇到了这个问题,下面的原始脚本没有用,因为位置字段错误。我已将其调整为插入位置1036,现在似乎有效。
var items = request.body.items,
promises;
promises = _.map(items, function(item) {
return ProjectModel.findById(item.id).then(function(findedProject) {
ProjectPhotoModel.findAll({ where: { projectId: findedProject.id } }).then(function(findedPhotos) {
var photoPromises = _.map(findedPhotos, function(photo) {
fs.unlink('./public/uploads/' + photo.name, function() {
photo.destroy();
});
});
Promise.all(photoPromises);
});
fs.unlink('./public/uploads/' + findedProject.thumbnail, function() {
findedProject.destroy();
});
});
});
Promise.all(promises).then(function() {
response.send('');
});
答案 1 :(得分:1)
感谢Peter Rankin我以相同的方式更新了脚本,它适用于2019R1
INSERT INTO dbo.PortalMap
(
CompanyID,
Position,
Title,
Description,
Url,
ScreenID,
CompanyMask,
NodeID,
ParentID,
CreatedByID,
CreatedByScreenID,
CreatedDateTime,
LastModifiedByID,
LastModifiedByScreenID,
LastModifiedDateTime,
RecordSourceID
)
SELECT CompanyID,
Position,
Title,
Description,
Url,
ScreenID,
CompanyMask,
NodeID,
ParentID,
CreatedByID,
CreatedByScreenID,
CreatedDateTime,
LastModifiedByID,
LastModifiedByScreenID,
LastModifiedDateTime,
RecordSourceID
FROM dbo.SiteMap
WHERE ScreenID = 'AU000000'
AND NOT EXISTS
(
SELECT *
FROM dbo.PortalMap
WHERE CompanyID = dbo.SiteMap.CompanyID
AND ScreenID = dbo.SiteMap.ScreenID
);
答案 2 :(得分:0)
我遇到了同样的问题,@ Kurt Bauer的答案是正确的答案,但是我需要更新SQL以使我的代码正常工作(版本18.212),并且sql太大,无法发表评论。我发现插入的公司不是我的公司ID 1,而是我所在的公司。这是我使用的SQL:
INSERT INTO dbo.PortalMap
(
CompanyID,
Position,
Title,
Description,
Url,
Expanded,
IsFolder,
ScreenID,
CompanyMask,
NodeID,
ParentID,
CreatedByID,
CreatedByScreenID,
CreatedDateTime,
LastModifiedByID,
LastModifiedByScreenID,
LastModifiedDateTime,
RecordSourceID
)
SELECT CompanyID,
Position,
Title,
Description,
Url,
Expanded,
IsFolder,
ScreenID,
CompanyMask,
NodeID,
ParentID,
CreatedByID,
CreatedByScreenID,
CreatedDateTime,
LastModifiedByID,
LastModifiedByScreenID,
LastModifiedDateTime,
RecordSourceID
FROM dbo.SiteMap
WHERE ScreenID = 'AU000000'
AND NOT EXISTS
(
SELECT *
FROM dbo.PortalMap
WHERE CompanyID = dbo.SiteMap.CompanyID
AND ScreenID = dbo.SiteMap.ScreenID
);
答案 3 :(得分:0)
我在2020 R1上,对JvD的解决方案有疑问。运行他的脚本后,我能够打开自定义浏览器,但是左侧面板为空白,这严重限制了浏览器的功能。我注意到PortalMap中的AU页面缺少的行比AU000000多,因此我修改了脚本,将所有缺少的AU站点从SiteMap中拉入PortalMap,这解决了我的问题。
INSERT INTO dbo.PortalMap
(
CompanyID,
Position,
Title,
Description,
Url,
ScreenID,
CompanyMask,
NodeID,
ParentID,
CreatedByID,
CreatedByScreenID,
CreatedDateTime,
LastModifiedByID,
LastModifiedByScreenID,
LastModifiedDateTime,
RecordSourceID
)
SELECT CompanyID,
Position,
Title,
Description,
Url,
ScreenID,
CompanyMask,
NodeID,
ParentID,
CreatedByID,
CreatedByScreenID,
CreatedDateTime,
LastModifiedByID,
LastModifiedByScreenID,
LastModifiedDateTime,
RecordSourceID
FROM dbo.SiteMap
WHERE ScreenID Like 'AU%'
AND NOT EXISTS
(
SELECT *
FROM dbo.PortalMap
WHERE CompanyID = dbo.SiteMap.CompanyID
AND ScreenID = dbo.SiteMap.ScreenID
);