Skip to main content
Question

Garbled Characters on address and Contact name

  • October 2, 2025
  • 5 replies
  • 51 views

Forum|alt.badge.img

Hi everyone, I need some help with an issue related to address and contact information. They have somehow turned into different characters. Additionally, when I tried to publish a customization to another instance, the same issue occurred. Even after unpublishing all customizations, I can't revert it. All the Customers address, and contacts became like this.Does anyone have any idea what's happening? Thanks!

 

5 replies

RohitRattan88
Acumatica Moderator
Forum|alt.badge.img+4
  • Acumatica Moderator
  • October 2, 2025

@melvinc 

Without your customization project/code, we would be just “guessing” things which is no help to you or anyone else.

Since you mentioned issue seems to be caused by a customization project on two different instances, consider sharing code/sql related to this screen or your customization project(without dll) itself.


Forum|alt.badge.img
  • Author
  • Jr Varsity II
  • October 2, 2025

@melvinc 

Without your customization project/code, we would be just “guessing” things which is no help to you or anyone else.

Since you mentioned issue seems to be caused by a customization project on two different instances, consider sharing code/sql related to this screen or your customization project(without dll) itself.

Hi ​@RohitRattan88 this is the customization I use


Forum|alt.badge.img
  • Author
  • Jr Varsity II
  • October 2, 2025

I already published this before with the same sql script and its not doing this before. now I just change the code on the extension library and it this things happen ​@RohitRattan88 


Forum|alt.badge.img
  • Author
  • Jr Varsity II
  • October 2, 2025

Heres is the code changes

using PX.Data;
using PX.Objects.SO;
using PX.SM;
using System;
using System.Collections;
using System.Collections.Generic;
using AISCustomerCostCodes2024R2;
using PX.Objects.AR;
using static PX.Objects.TX.CSTaxType;
using static PX.Objects.SO.SOBehavior;
using PX.Objects.Common.Extensions;
using static AISAgreementTab.SOOrderExtension;
using static PX.Data.BQL.BqlPlaceholder;
using PX.Objects.CR;

namespace AISAgreementTab
{
    public class SOOrderEntryExtension : PXGraphExtension<SOOrderEntry>
    {
        
        protected virtual void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected baseMethod)
        {
            baseMethod?.Invoke(sender, e);

            SOOrder order = Base.Document.Current;
            
            if (order == null)
            {
                return;
            }

            SOOrderExtension orderExt = order.GetExtension<SOOrderExtension>();

            if (order.OrderType == "QT")
            {
                SetFieldVisibility(true);

            }
            else
            {
                SetFieldVisibility(false);
            }

            SetSectionEnable(orderExt.UsrAISIsSOW == true);

        }
        public virtual void SetFieldVisibility(bool val)
        {
            PXUIFieldAttribute.SetVisible<SOOrderExtension.usrAISIsSOW>(Base.Document.Cache, null, val);
            PXUIFieldAttribute.SetVisible<SOOrderExtension.usrAISIsDemo>(Base.Document.Cache, null, val);
            PXUIFieldAttribute.SetVisible<SOOrderExtension.usrAISIsE2Shield>(Base.Document.Cache, null, val);

        }


        protected virtual void _(PX.Data.Events.FieldUpdated<SOOrderExtension.usrAISIsSOW> e)
        {
            SOOrder order = (SOOrder)e.Row;
            if (order == null) return;


            UpdateSOWContent(order);

        }

        public virtual void SetSectionEnable(bool isEnable)
        {
            PXUIFieldAttribute.SetEnabled<SOOrderExtension.usrAISIsSOWContent>(Base.Document.Cache, null, isEnable);
        }

        protected virtual void _(PX.Data.Events.RowPersisting<SOOrder> e)
        {
            SOOrder order = e.Row as SOOrder;
            if (order != null)
            {
                UpdateSOWContent(order);
            }
        }

        private void UpdateSOWContent(SOOrder order)
        {
            SOOrderExtension orderExt = order.GetExtension<SOOrderExtension>();
            if (orderExt.UsrAISIsSOW == true)
            {
                string custName = "";
                string QTDate = (order.OrderDate.HasValue) ? order.OrderDate.Value.ToString("d") : "";
                string fullShippingAddress = String.Empty;

                if (order.CustomerID != null)
                {
                    Customer customer = PXSelect<Customer,
                        Where<Customer.bAccountID, Equal<Required<Customer.bAccountID>>>>.Select(Base, order.CustomerID);

                    Address shippingAddress = PXSelect<Address,
                        Where<Address.addressID, Equal<Required<Address.addressID>>>>.Select(Base, customer.DefAddressID);

                    if (shippingAddress != null)
                    {
                        string addressLine1 = shippingAddress.AddressLine1;
                        string addressLine2 = shippingAddress.AddressLine2;
                        string city = shippingAddress.City;
                        string state = shippingAddress.State;
                        string postalCode = shippingAddress.PostalCode;
                        string country = shippingAddress.CountryID;

                        fullShippingAddress = $"{addressLine1} {addressLine2}, {city}, {state} {postalCode}, {country}";

                    }

                    custName = customer.AcctName;
                }

                orderExt.UsrAISIsSOWContent = "HTML CODE";
            }
            else
            {
                orderExt.UsrAISIsSOWContent = null;
            }
        }

    }
}
 


Chris Hackett
Community Manager
Forum|alt.badge.img
  • Acumatica Community Manager
  • November 5, 2025

Hi ​@melvinc were you able to find a solution? Thank you!