Skip to main content
Answer

Convert to Project Dialog/Popup acumatica 2025R1

  • October 7, 2025
  • 3 replies
  • 90 views

Forum|alt.badge.img

I have a problem with this action when clicking on convert project.

This is what I want. When I click "Convert to Project," the highlighted fields should be checked by default. I added this change, but it doesn't work. When I trace through code, I see that the fields are checked, but when I finish tracing and view the dashboard, they're still unchecked. Please tell me what I'm doing wrong.

 

My code:

namespace PX.Objects.PM
{
    // Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active
    public class PMQuoteMaint_Extension : PXGraphExtension<PX.Objects.PM.PMQuoteMaint>
    {
        #region Event Handlers

        public delegate Boolean ValidateQuoteBeforeConvertToProjectDelegate(PMQuote row, ref Int32 productErrorsCount);
        [PXOverride]
        public Boolean ValidateQuoteBeforeConvertToProject(PMQuote row, ref Int32 productErrorsCount, ValidateQuoteBeforeConvertToProjectDelegate baseMethod)
        {

            if (Base.ConvertQuoteInfo.View.Answer == WebDialogResult.None)
            {
                Base.ConvertQuoteInfo.Cache.Clear();

                var settings = (ConvertToProjectFilter)Base.ConvertQuoteInfo.Cache.Insert();
                Base.ConvertQuoteInfo.Cache.SetValueExt<ConvertToProjectFilter.createLaborRates>(settings, true);
                Base.ConvertQuoteInfo.Cache.SetValueExt<ConvertToProjectFilter.activateProject>(settings, true);
                Base.ConvertQuoteInfo.Cache.SetValueExt<ConvertToProjectFilter.activateTasks>(settings, true);
                Base.ConvertQuoteInfo.Cache.SetValueExt<ConvertToProjectFilter.copyNotes>(settings, true);
                Base.ConvertQuoteInfo.Cache.SetValueExt<ConvertToProjectFilter.copyFiles>(settings, true);

                Base.ConvertQuoteInfo.Cache.Update(settings);
                Base.ConvertQuoteInfo.View.RequestRefresh(); // Refresh  panel 

            }
            return baseMethod(row, ref productErrorsCount);
        }
        #endregion
    }
}

 

Please tell me what my fault is or why it doesn't work, I will be very grateful.

Best answer by SaulGomez61

I looked for the way but I couldn't find how, what I did was initialize the fields with that the solution was solved, I tried it and it works fine

  public override void Initialize()
  {
      var quoteInfo = Base.ConvertQuoteInfo.Current;

      if (quoteInfo == null)
          return;
      quoteInfo.CopyNotes = true;
      quoteInfo.CopyFiles = true;
      quoteInfo.CreateLaborRates = true;
      quoteInfo.ActivateProject = true;
      quoteInfo.ActivateTasks = true;
  }

3 replies

DipakNilkanth
Pro III
Forum|alt.badge.img+13

Hi ​@SaulGomez61,
Could you please try setting the default value from the Customization Editor using the low-code/no-code customization approach?

However this will not work for Copy Notes, Copy Files, Link Activities to project.(you can try with customize attribute from Customization editor)

 


Hope. it helps!


Forum|alt.badge.img
  • Author
  • Freshman II
  • October 8, 2025

Hi ​@SaulGomez61,
Could you please try setting the default value from the Customization Editor using the low-code/no-code customization approach?

However this will not work for Copy Notes, Copy Files, Link Activities to project.(you can try with customize attribute from Customization editor)

 


Hope. it helps!

It's checked and it does what I want, but the last two fields should look like the fields were added. Something is missing or the Acumatica standard doesn't allow it.

because it only activates the 3rd and less the last two.

 


Forum|alt.badge.img
  • Author
  • Freshman II
  • Answer
  • October 14, 2025

I looked for the way but I couldn't find how, what I did was initialize the fields with that the solution was solved, I tried it and it works fine

  public override void Initialize()
  {
      var quoteInfo = Base.ConvertQuoteInfo.Current;

      if (quoteInfo == null)
          return;
      quoteInfo.CopyNotes = true;
      quoteInfo.CopyFiles = true;
      quoteInfo.CreateLaborRates = true;
      quoteInfo.ActivateProject = true;
      quoteInfo.ActivateTasks = true;
  }