Страница 1 из 1

После обновления не появляется пункт меню, в актах оказания

Добавлено: 12 янв 2023, 12:39
a.gataullin
После обновления не появляется пункт меню, в актах оказания услуг

Код: Выделить всё

	  //********************************//
	  //	Интерфейс L_SOPRDOC::AKTUSL   //  
		//********************************//		
	  m_MenuName := 'L_SOPRDOC::MNUSDKDA1'
	  if (log4.RecordExists X$Resources where (( 3 == X$Resources.XR$Type and m_MenuName == X$Resources.XR$Name))!= tsOk)
	  {
	    DeleteMenuHowDynamics (m_MenuName);
	    m_Menu := LoadMenuEx (m_MenuName, true, false);
	    AddMenuItem(m_Menu, 'SEPARATOR', 0);
	    AddMenuItem(m_Menu, 'Загрузить в Акт Календарный план загрузки', cmPIRDownloadActIntoKPZ);
      StoreMenuHowDynamics (m_Menu, m_MenuName);
	    DisposeLoadMenu (m_Menu);
	    ReinitHeaderMenu;
	  }
	  m_Menu := 0;   
Изображение
Изображение

Через саппорт видно что добавилось, а через галку нет

Re: После обновления не появляется пункт меню, в актах оказа

Добавлено: 13 янв 2023, 17:54
Den
Значит поменяли что то в алгоритме сбора/отображения меню в это окне разработчики. И с MNUSDKDA1 теперь так не получается, как вы привыкли.
Вообще, это не очень - совать что то в свое в стандартные меню. По возможности, нужно пользоваться механизмом дополнительных функций меню к конкретному документу (коих к акту на услуги более чем достаточно ) в настройках - это расширение разработчики не тронут никак.
Но, если совсем невмоготу, то попробуйте проальтерить другое стандартное меню в вашем коде (например,L_SoprDoc::mnuCU)

Re: После обновления не появляется пункт меню, в актах оказа

Добавлено: 15 янв 2023, 02:37
edward_K
Сейчас в большинстве накладных|актов есть "Настроить меню".
Не разбирался что там влияет, на его отображение. Ну и вызов идет по другому.
Для акта на оказание услуг в окне редактирования в том числе.

Код: Выделить всё

cmHotKeys:
{
  case CurTable of
    #KatSopr:
    {
      if (not UpdateTable) exit;

      oMenu := oSoprMenuV2.MakeSoprEditMenu(oMenu, KatSopr.VidSopr);

      BindEvent(BeforRunMenu, oMenu.BeforRunMenu);
      BindEvent(GetCurrentContextWithMarker, oMenu.GetCurrentContext);

      if (oMenu.Run)
        PutCommand(oMenu.ResultCommand);

      if (oMenu.IsRunMenuFun)
        ReReadRecord(tnKatSopr);

      UnBindEvent(BeforRunMenu, oMenu.BeforRunMenu);
      UnBindEvent(GetCurrentContextWithMarker, oMenu.GetCurrentContext);
    }

    #SpSopr:{
      oMenu.Load('L_SoprDoc::mnuSoprUslSpSopr1', 'L_SoprDoc::mnuSoprUslSpSopr1' + string(KatSopr.VidSopr));

      BindEvent(GetSpCurrentContext, oMenu.GetCurrentContext);

      if (oMenu.Run)
        PutCommand(oMenu.ResultCommand);

      if (oMenu.IsRunMenuFun)
        ReReadRecord(tnSpSopr);

      UnBindEvent(GetSpCurrentContext, oMenu.GetCurrentContext);
    }
  end;
}
Ищите в описаниях к патчам например
ERP-8082.
Что же касается динамических меню, то не раз сталкивался что вроде все норм, а меню не грузится. Приходится удалять все и добавлять снова. Все это хранится в x$resource с определенным типом - посмотрите по журналу когда будете добавлять.
Лучше уж через дополнительные пункты меню.