В общем, я уже ранее писал: Лень - двигатель прогресса. Если бы человек любил ходить, он никогда бы не сделал Феррари) Вот и в моем случае: сделал десяток маршрутов вручную, да плюнул - не для того учился. А коль решение принято и делать все же надо, я подошел к процессу творчески.
Ранее, на форуме уже писали о пользе и этике Автоподписания, а так же о их методах поэтому эту стороны вопроса рассматривать я не стану, я расскажу лишь о методе "Ленивой замены" показателя:
1. Определим маршруты, где нам надо произвести замену:
SprComponents = References.SYSREF_STANDARD_ROUTES.GetComponent()
View = SprComponents.CreateView('Главное')
View.ViewMode = vmSelect
View.MultiSelection = TRUE
View.MainForm.Show
if View.MainForm.Result = mrOK
//.................
Нет времени фильтровать (точнее описывать это и подстаривать), да и мне это ровно на раз и надо, так что достаточно и такой простенькой конструкции.
2. Формируем списки и получаем необходимые нам сведения:
Index2 = 0
while (Index2) < View.SelectedRecordCount
Dot = References.SYSREF_STANDARD_ROUTES.GetObjectByID(View.SelectedRecordsID(Index2))
OldStr = '<Property Name="AutoSign" Type="5" Description="Автоматическое подписание" DescriptionLocalizeID="COMMON.DIRBLOCK_DESC_DF627E34_8C4C_4A08_A28B_F22264746A1B" Visible="true" ParentProperty="SigningRequired" IsOut="false" ValueType="0" AllowedTypes="5" AllowedValueTypes="1;0"><ValueParamNames/><Value Value="false"/></Property></Properties>'
NewStr = '<Property Name="AutoSign" Type="5" Description="Автоматическое подписание" DescriptionLocalizeID="COMMON.DIRBLOCK_DESC_DF627E34_8C4C_4A08_A28B_F22264746A1B" Visible="true" ParentProperty="SigningRequired" IsOut="false" ValueType="0" AllowedTypes="5" AllowedValueTypes="1;0"><ValueParamNames/><Value Value="True"/></Property></Properties>'
NewText = ЗамПодстр(Dot.ISBSearchCondition;OldStr;NewStr)
Dot.ISBSearchCondition = NewText
Dot.Save
Index2 = Index2 + 1
endwhile
endif
ShowMessage('Работа Сценария успешно завершена!')
3. Аплодируем себе любимому и проверяем, что у нас все стало так как надо.
А вот теперь - ощутите вкус власти, когда вы впервые попробуете сделать такую замену, какие перспективы у нас впереди? Замены элементов и инструкций в маршрутах, поиск реквизитов и даже людей там, где кто-то по глупости вписывал пользователя вместо роли. Все это оказывается не так уж и сложно реализуемо! Достаточно хорошенько облениться и сделать все основательно.
Собственно это все! Кейс получился маленький, но весьма шустрый :)
Удачного дня.
Авторизуйтесь, чтобы написать комментарий