Нужна помощь!!! ( ИспользоватьСписокЭлементов)
Всем привет.
Проблема: Нужно создать пользователя, который бы смог открывать справочник.контрагенты и вносить нового конрагента. - сделала.
Но при этом он не должен видеть всех реальных названий контрагента. (контрагент - Иванов А.А.). Пользователь может видеть группу иеррархического справочника.контрагенты ( физик).
список = СоздатьОбъект("СписокЗначений");
спр =СоздатьОбъект("Справочник.Контрагенты");
ВыборГруппы(1);
спр.ИспользоватьРодителя(ИспользоватьРодителя());
спр.ВыбратьЭлементы(1); //1
Пока спр.ПолучитьЭлемент(0) =1 Цикл //0
Если спр.ЭтоГруппа() =1 Тогда
сообщить(спр.ТекущийЭлемент());
список.ДобавитьЗначение(спр.ТекущийЭлемент());
конецесли;
КонецЦикла;
ИспользоватьСписокЭлементов(список);
ИерархическийСписок(1,0);
Мне отображаются в справочнике конрагенты только группы, а элементы группы отбражатся с вопросами красными. И при "ИспользоватьСписокЭлементов" этом я не могу добавить новую запись в справочнике.
Как можно сделать так, чтобы пользователь мог видеть только группы справочника и при этом добавлять новый элементы справочника в эти группы ?
Спасибо.
Проблема: Нужно создать пользователя, который бы смог открывать справочник.контрагенты и вносить нового конрагента. - сделала.
Но при этом он не должен видеть всех реальных названий контрагента. (контрагент - Иванов А.А.). Пользователь может видеть группу иеррархического справочника.контрагенты ( физик).
список = СоздатьОбъект("СписокЗначений");
спр =СоздатьОбъект("Справочник.Контрагенты");
ВыборГруппы(1);
спр.ИспользоватьРодителя(ИспользоватьРодителя());
спр.ВыбратьЭлементы(1); //1
Пока спр.ПолучитьЭлемент(0) =1 Цикл //0
Если спр.ЭтоГруппа() =1 Тогда
сообщить(спр.ТекущийЭлемент());
список.ДобавитьЗначение(спр.ТекущийЭлемент());
конецесли;
КонецЦикла;
ИспользоватьСписокЭлементов(список);
ИерархическийСписок(1,0);
Мне отображаются в справочнике конрагенты только группы, а элементы группы отбражатся с вопросами красными. И при "ИспользоватьСписокЭлементов" этом я не могу добавить новую запись в справочнике.
Как можно сделать так, чтобы пользователь мог видеть только группы справочника и при этом добавлять новый элементы справочника в эти группы ?
Спасибо.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Могу предложить решение с использованием FormEx.
В многострочную часть добавляем текст, делаем его невидимым, заголовок = FormEx_ПланРаскраски, формула = ВЦвете() и немного дорабатываем код:
В форме контрагента:
Вот собственно и всё!
Получается не невидимый контрагент, а невидимая строка (высота шрифта в 1 точку).
В многострочную часть добавляем текст, делаем его невидимым, заголовок = FormEx_ПланРаскраски, формула = ВЦвете() и немного дорабатываем код:
Перем Фонт, Разрешено;
Процедура ПриОткрытии()
Фонт = Сервис.СоздатьШрифт("Arial", 1, 2);
Разрешено = Пользователь.Разрешения; // Вот здесь нужно получить разрешение
КонецПроцедуры
Процедура ПриЗакрытии()
Сервис.УдалитьШрифт(Фонт);
КонецПроцедуры
Функция ВЦвете()
Если ТекущийЭлемент().Выбран() = 0 Тогда
Возврат "";
ИначеЕсли ТекущийЭлемент().ЭтоГруппа() = 1 Тогда
Возврат "";
ИначеЕсли Разрешено = 0 Тогда
Возврат "(FONTSET[" + Фонт + "])";
Иначе
Возврат "";
КонецЕсли;
КонецФункции
Процедура ПриВыбореСтроки()
Если Разрешено = 0 Тогда
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры
ПоказатьВ форме контрагента:
Процедура ПриОткрытии()
Разрешено = Пользователь.Разрешения; // Вот здесь нужно получить разрешение
Если Разрешено = 0 Тогда
СтатусВозврата(0);
КонецЕсли;
КонецПроцедуры
Вот собственно и всё!
Получается не невидимый контрагент, а невидимая строка (высота шрифта в 1 точку).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот