dataprovider - 在 Genexus 中将 SDT 数据转换为 BC
问题描述
我用 Genexus 15 中的数据填充了 SDT,需要将其保存在事务中。SDT 具有包含标题信息和详细信息项的两级结构。
我尝试使用此 DataProvider 但出了点问题,因为在尝试执行它时出现外键违规错误:
规则:
parm(in: &NewInvoice); // SDT variable
资源:
DPInvoice
{
StampId = &NewInvoice.StampId
InvoiceNumber = &NewInvoice.InvoiceNumber
CustomerId = &NewInvoice.CustomerId
Concept
{
ProductId = &NewInvoice.Concept.CurrentItem.ProductId
ConceptQty = &NewInvoice.Concept.CurrentItem.ConceptQty
}
}
Webpanel 中触发 DP 的事件:
&Invoice = DPInvoice(&NewInvoice)
&Invoice.Insert()
commit
请帮我!
解决方案
您必须遍历&NewInvoice
.
&NewInvoiceItem
在 DataProvider 中定义一个类型的变量SDTInvoiceCopy1.ConceptItem
并使用以下源代码:
DPInvoice
{
StampId = &NewInvoice.StampId
InvoiceNumber = &NewInvoice.InvoiceNumber
CustomerId = &NewInvoice.CustomerId
Concept Input &NewInvoiceItem in &NewInvoice.Concept
{
ProductId = &NewInvoiceItem.ProductId
ConceptQty = &NewInvoiceItem.ConceptQty
}
}
推荐阅读
- asp.net - IIS Express applicationHost.config 文件包含无效条目
- amazon-web-services - 使用托管 UI 的 AWS Cognito 多重身份验证
- sql-server - Azure Data Studio 无法连接到 SQL Server Browser。确保 SQL Browser 已启动
- swift - 在 Xcode 中,我的 Mac 应用程序启动 curl,但 -o 无法写入磁盘
- c# - 模拟接口返回 null
- python - 我如何将图像从客户端发送到服务器(Socket python)
- c++ - 当角度接近 0 时,Eigen eulerAngles 有时偏离 180 度
- html - 将数据动态添加到 HTML 页面中的 HTML 按钮
- c - 使用 sscanf 验证字符串输入
- c++ - 为什么在使用 .Call 而不是 .C 调用 C++ 函数时会出现段错误?