I am working on a custom processing screen focused on inventory. My code was using a simple processing statement with InventoryItem as the Data:
public PXProcessing<InventorySiteItems> Processing;
However, I needed to make a joined data source, so I changed it to:
public PXProcessingJoin<InventoryItem,
LeftJoin<INItemSite, On<InventoryItem.inventoryID, Equal<INItemSite.inventoryID>>,
InnerJoin<INLocationStatus, On<INLocationStatus.siteID, Equal<INItemSite.siteID>,
And<INLocationStatus.inventoryID, Equal<INItemSite.inventoryID>>>>>> Processing;
This all worked. But, In order to do some debugging to check for duplicate records, I went to change my Processing Screen using the customization editor. I wanted to add InventoryID to the columns. InventoryCD was already there, but that I wanted the actual ID, since it is unique.
I made the change, but when I went to publish it, I get this now:
Building directory '\WebSiteValidationDomain\App_RuntimeCode\'.
\App_RuntimeCode\SOBackorderProcess.cs(28): error CS0246: The type or namespace name 'InventoryRawAttribute' could not be found (are you missing a using directive or an assembly reference?)
\App_RuntimeCode\SOBackorderProcess.cs(28): error CS0246: The type or namespace name 'InventoryRaw' could not be found (are you missing a using directive or an assembly reference?)
\App_RuntimeCode\SOBackorderProcess.cs(28): error CS0246: The type or namespace name 'IsKey' could not be found (are you missing a using directive or an assembly reference?)
\App_RuntimeCode\SOBackorderProcess.cs(28): error CS0246: The type or namespace name 'DisplayName' could not be found (are you missing a using directive or an assembly reference?)
\App_RuntimeCode\SOBackorderProcess.cs(28): error CS0246: The type or namespace name 'InventoryRawAttribute' could not be found (are you missing a using directive or an assembly reference?)
Compiler time, in seconds: 8.4989854
I tried to back the change out, but the errors stay.
I double checked in the AcumaticaERP\Pages\PS directory, and the ASP file is:
<%@ Page Language="C#" MasterPageFile="~/MasterPages/ListView.master" AutoEventWireup="true" ValidateRequest="false" CodeFile="PS501000.aspx.cs" Inherits="Page_PS501000" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPages/ListView.master" %>
<asp:Content ID="cont1" ContentPlaceHolderID="phDS" Runat="Server">
<px:PXDataSource ID="ds" runat="server" Visible="True" Width="100%"
TypeName="Plyler.SOBackorderProcess"
PrimaryView="Processing"
>
<CallbackCommands>
</CallbackCommands>
</px:PXDataSource>
</asp:Content>
<asp:Content ID="cont2" ContentPlaceHolderID="phL" runat="Server">
<px:PXGrid ID="grid" runat="server" DataSourceID="ds" Width="100%" Height="150px" SkinID="Primary" AllowAutoHide="false">
<Levels>
<px:PXGridLevel DataMember="Processing">
<Columns>
<px:PXGridColumn DataField="Selected" Width="60" ></px:PXGridColumn>
<px:PXGridColumn DataField="InventoryCD" Width="70" ></px:PXGridColumn>
<px:PXGridColumn DataField="Descr" Width="280" ></px:PXGridColumn>
<px:PXGridColumn DataField="INItemSite__SiteID" Width="140" />
<px:PXGridColumn DataField="INLocationStatus__QtyOnHand" Width="100" />
<px:PXGridColumn DataField="INLocationStatus__QtyAvail" Width="100" />
<px:PXGridColumn DataField="Availability" Width="70" ></px:PXGridColumn></Columns>
</px:PXGridLevel>
</Levels>
<AutoSize Container="Window" Enabled="True" MinHeight="150" />
<ActionBar >
</ActionBar>
</px:PXGrid>
</asp:Content>
All of this has been published, compiling, and running just fine for the past several days. But as soon as I added that field, now I cannot get it to publish -- even though I backed the change out.
I saw an old post about an issue with permissions, where it was suggested adding:
<add key="aspnet:DisableAppPathModifier" value="false" />
To the web config file under -- and I have done that with no change.
What could have changed that now causes this issue?
[EDIT] I NEVER call InventoryRaw in my source code: Here is Line 28 of SOBackorderProcess.CS:
Here it is with the snippet added (with no change in behavior, sadly)
The trace points to source code file: App_RuntimeCode\SOBackorderProcess.cs
You have 5 unreferenced types on line 28 on Inventory attribute: InventoryRawAttribute InventoryRaw IsKey DisplayName
You need to add using
namespace directive in source code file or fully qualify the types with namespace.
Example:
using PX.Objects.IN;
[InventoryRaw]
[PX.Objects.IN.InventoryRaw]
EDIT:
To remove lingering files deployed to App_RuntimeCode folder. First check if there are source code files on the web server file system in the target IIS virtual directory under App_RuntimeCode folder.
Then for each tenant of the Acumatica website, check for customization items deployed from Code and Data Access section.