Заполнить все разрешены представление. Только для внутреннего использования.
// Только для внутреннего использования.
Процедура ЗаполнитьВсеРазрешеныПредставление(Форма, ОписаниеВидаДоступа, ДобавитьКоличествоЗначений = Истина) Экспорт
Параметры = ПараметрыФормыРедактированияРазрешенныхЗначений(Форма);
Если ОписаниеВидаДоступа.ВсеРазрешены Тогда
Если Форма.ЭтоПрофильГруппДоступа И НЕ ОписаниеВидаДоступа.Предустановленный Тогда
Имя = "ВначалеВсеРазрешены";
Иначе
Имя = "ВсеРазрешены";
КонецЕсли;
Иначе
Если Форма.ЭтоПрофильГруппДоступа И НЕ ОписаниеВидаДоступа.Предустановленный Тогда
Имя = "ВначалеВсеЗапрещены";
Иначе
Имя = "ВсеЗапрещены";
КонецЕсли;
КонецЕсли;
ОписаниеВидаДоступа.ВсеРазрешеныПредставление =
Форма.ПредставленияВсеРазрешены.НайтиСтроки(Новый Структура("Имя", Имя))[0].Представление;
Если НЕ ДобавитьКоличествоЗначений Тогда
Возврат;
КонецЕсли;
Если Форма.ЭтоПрофильГруппДоступа И НЕ ОписаниеВидаДоступа.Предустановленный Тогда
Возврат;
КонецЕсли;
Отбор = ОтборВТаблицахФормыРедактированияРазрешенныхЗначений(Форма, ОписаниеВидаДоступа.ВидДоступа);
КоличествоЗначений = Параметры.ЗначенияДоступа.НайтиСтроки(Отбор).Количество();
Если Форма.ЭтоПрофильГруппДоступа Тогда
Если КоличествоЗначений = 0 Тогда
ЧислоИПредмет = НСтр("ru = 'не назначены'");
Иначе
ЧислоИПредмет = Формат(КоличествоЗначений, "ЧГ=") + " "
+ ПользователиСлужебныйКлиентСервер.ПредметЦелогоЧисла(КоличествоЗначений,
"", НСтр("ru = 'значение,значения,значений,,,,,,0'"));
КонецЕсли;
ОписаниеВидаДоступа.ВсеРазрешеныПредставление =
ОписаниеВидаДоступа.ВсеРазрешеныПредставление
+ " (" + ЧислоИПредмет + ")";
Возврат;
КонецЕсли;
Если КоличествоЗначений = 0 Тогда
Представление = ?(ОписаниеВидаДоступа.ВсеРазрешены,
НСтр("ru = 'Все разрешены, без исключений'"),
НСтр("ru = 'Все запрещены, без исключений'"));
Иначе
ЧислоИПредмет = Формат(КоличествоЗначений, "ЧГ=") + " "
+ ПользователиСлужебныйКлиентСервер.ПредметЦелогоЧисла(КоличествоЗначений,
"", НСтр("ru = 'значения,значений,значений,,,,,,0'"));
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
?(ОписаниеВидаДоступа.ВсеРазрешены,
НСтр("ru = 'Все разрешены, кроме %1'"),
НСтр("ru = 'Все запрещены, кроме %1'")),
ЧислоИПредмет);
КонецЕсли;
ОписаниеВидаДоступа.ВсеРазрешеныПредставление = Представление;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ВидыДоступаВсеРазрешеныПредставлениеПриИзменении (БСП)
ВидыДоступаВсеРазрешеныПредставлениеОбработкаВыбора (БСП)
ЗаполнитьПредставленияПредопределенныхВариантовОтчетов (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)