Кастомизация
01
Фев
0

Save and Publish

Давным-давно (еще в CRM 2011) в редакторе форм и в окне Веб-ресурсов была кнопка «Save and Publish», которая экономила чуточку времени при внесении изменений. В последующих версиях CRM она пропала 🙂

Чтобы исправить этот недостаток просто импортируйте в систему Решение Save and Publish.


Вы также можете вручную добавить заветные кнопки:

  • Create JS Веб-ресурс с именем new_utils_support.js и таким кодом:
    Cinteros.Xrm.Customization = {
        SaveAndPublishForm: function () {
            try {
                SaveForm(false);
            }
            catch (e) { }
            try {
                SaveAndPublish();
            }
            catch (e) { }
        },
        SaveAndPublishWebResource: function () {
            try {
                SaveForm(false);
            }
            catch (e) { }
            try {
                PublishWebResource();
            }
            catch (e) { }
        }
    }
    

    Данный код просто последовательно вызывает две стандартныйе функции: для сохранения и публикации.

  • Создайте Решение в одной глобальной Лентой и добавьте в разделе RibbonDiffXml файла customizations.xml следующие кнопки:
    <RibbonDiffXml>
      <CustomActions>
        <CustomAction Id="Cint.Mscrm.FormEditorTab.SaveButtons.Controls" Location="Mscrm.FormEditorTab.SaveButtons.Controls._children" Sequence="1">
          <CommandUIDefinition>
            <Button Command="Cint.Mscrm.FormEditorTab.SaveButtons.Controls.Button.SaveAndPublish" CommandType="General" Id="Cint.Mscrm.FormEditorTab.SaveButtons.Controls.Button.SaveAndPublish.Id" Image16by16="/_imgs/ribbon/SaveAndPublish16.png" Image32by32="/_imgs/ribbon/SaveAndPublish32.png" TemplateAlias="o1" LabelText="$LocLabels:Cint.Mscrm.FormEditorTab.SaveAndPublish.LabelText" ToolTipTitle="$LocLabels:Cint.Mscrm.FormEditorTab.SaveAndPublish.ToolTip" ToolTipDescription="$LocLabels:Cint.Mscrm.FormEditorTab.SaveAndPublish.ToolTipDescription" />
          </CommandUIDefinition>
        </CustomAction>
        <CustomAction Id="Cint.Mscrm.WebResourceEditTab.Save.Controls" Location="Mscrm.WebResourceEditTab.Save.Controls._children" Sequence="1">
          <CommandUIDefinition>
            <Button Command="Cint.Mscrm.WebResourceEditTab.Save.Controls.Button.SaveAndPublish" CommandType="General" Id="Cint.Mscrm.WebResourceEditTab.Save.Controls.Button.SaveAndPublish.Id" Image16by16="/_imgs/ribbon/SaveAndPublish16.png" Image32by32="/_imgs/ribbon/SaveAndPublish32.png" TemplateAlias="o1" LabelText="$LocLabels:Cint.Mscrm.FormEditorTab.SaveAndPublish.LabelText" ToolTipTitle="$LocLabels:Cint.Mscrm.FormEditorTab.SaveAndPublish.ToolTip" ToolTipDescription="$LocLabels:Cint.Mscrm.FormEditorTab.SaveAndPublish.ToolTipDescription" />
          </CommandUIDefinition>
        </CustomAction>
      </CustomActions>
      <Templates>
        <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
      </Templates>
      <CommandDefinitions>
        <CommandDefinition Id="Cint.Mscrm.FormEditorTab.SaveButtons.Controls.Button.SaveAndPublish">
          <EnableRules>
            <EnableRule Id="Mscrm.Enable.IsCustomizableManagedPropertyRule" />
          </EnableRules>
          <DisplayRules />
          <Actions>
            <JavaScriptFunction FunctionName="Cinteros.Xrm.Customization.SaveAndPublish" Library="$webresource:new_utils_support.js" />
          </Actions>
        </CommandDefinition>
        <CommandDefinition Id="Cint.Mscrm.WebResourceEditTab.Save.Controls.Button.SaveAndPublish">
          <EnableRules>
            <EnableRule Id="Mscrm.Enable.IsWebResourceCustomizableRule" />
          </EnableRules>
          <DisplayRules />
          <Actions>
            <JavaScriptFunction FunctionName="Cinteros.Xrm.Customization.SaveAndPublishWebResource" Library="$webresource:new_utils_support.js" />
          </Actions>
        </CommandDefinition>
      </CommandDefinitions>
      <RuleDefinitions>
        <TabDisplayRules />
        <DisplayRules />
        <EnableRules />
      </RuleDefinitions>
      <LocLabels>
        <LocLabel Id="Cint.Mscrm.FormEditorTab.SaveAndPublish.LabelText">
          <Titles>
            <Title languagecode="1033" description="Save and Publish" />
            <Title languagecode="1049" description="Сохранить и опубликовать" />
          </Titles>
        </LocLabel>
        <LocLabel Id="Cint.Mscrm.FormEditorTab.SaveAndPublish.ToolTip">
          <Titles>
            <Title languagecode="1033" description="Save and Publish" />
            <Title languagecode="1049" description="Сохранить и опубликовать" />
          </Titles>
        </LocLabel>
        <LocLabel Id="Cint.Mscrm.FormEditorTab.SaveAndPublish.ToolTipDescription">
          <Titles>
            <Title languagecode="1033" description="Saves and publishes the form" />
            <Title languagecode="1049" description="Сохранить и опубликовать форму" />
          </Titles>
        </LocLabel>
      </LocLabels>
    </RibbonDiffXml>
    
    

    Кнопки просто вызывают созданный ранее JS Веб-ресурс.

Комментарии (0)

*

code