Мне нужен совет, чтобы преобразовать SQL в BQL или установить Resultset, управляемый кодом C #, в PXSelector.
Мне нужно настроить Счет-фактуру AR и добавить 2 настраиваемых поля для записи учетной записи GL COGS и дополнительной учетной записи для клиента внутри компании, когда компания вводит эту строку счета-фактуры в качестве счета.Это настраиваемое поле должно искать все дополнительные учетные записи, которые ограничены этим идентификатором филиала Клиента и учетной записью GL.По сути, поиск всей субсчета системы заботится о группе ограничений, но о пользовательских полях;для этого нужно написать собственный PXSelector.Ниже приведен SQL-код, который предоставляет необходимые дополнительные учетные записи, но мне нужно знать, как заставить SQL-запрос работать в Acumatica
- SQL для необходимых данных
DECLARE @GLAccountCD nvarchar(10) = 'COGS'
DECLARE @BranchCD nvarchar(30) = 'PurchaseBranch'
SELECT *
FROM Sub
where (((CAST(Sub.groupmask as int) & CAST((SELECT GroupMask FROM Account WHERE AccountCD = @GLAccountCD AND CompanyID = 3 AND DeletedDatabaseRecord = 0) AS int)) > 1
AND (CAST(Sub.groupmask as int) & CAST((SELECT GroupMask FROM Branch WHERE BranchCD = @BranchCD AND CompanyID = 3 AND DeletedDatabaseRecord = 0) AS int)) > 1)
OR (Sub.GroupMask = 0 AND Sub.DeletedDatabaseRecord = 0))
AND CompanyID = 3
ORDER BY SubCD
- НижеPXSelector предоставляет все дополнительные учетные записи группы ограничений, - мне нужно, чтобы PXSelector использовал приведенный выше результат SQL-запроса
#region UsrAPBIllGLSubAccID
[PXDBInt]
[PXUIField(DisplayName="Bill COGS SubAccount")]
[PXSelector(typeof(Search<Sub.subID, Where<Sub.active, Equal<True>>, OrderBy<Desc<Sub.subCD>>>),
new Type[] {typeof(Sub.subCD),
typeof(Sub.description)},
SubstituteKey = typeof(Sub.subCD)
)]
public virtual int? UsrAPBIllGLSubAccID { get; set; }
public abstract class usrAPBIllGLSubAccID : IBqlField { }
#endregion