Нужна помощь!!! ( ИспользоватьСписокЭлементов)

1. nastyaMNs 12.05.10 10:57 Сейчас в теме
Всем привет.

Проблема: Нужно создать пользователя, который бы смог открывать справочник.контрагенты и вносить нового конрагента. - сделала.
Но при этом он не должен видеть всех реальных названий контрагента. (контрагент - Иванов А.А.). Пользователь может видеть группу иеррархического справочника.контрагенты ( физик).


список = СоздатьОбъект("СписокЗначений");
спр =СоздатьОбъект("Справочник.Контрагенты");
ВыборГруппы(1);
спр.ИспользоватьРодителя(ИспользоватьРодителя());
спр.ВыбратьЭлементы(1); //1
Пока спр.ПолучитьЭлемент(0) =1 Цикл //0
Если спр.ЭтоГруппа() =1 Тогда
сообщить(спр.ТекущийЭлемент());
список.ДобавитьЗначение(спр.ТекущийЭлемент());
конецесли;
КонецЦикла;
ИспользоватьСписокЭлементов(список);
ИерархическийСписок(1,0);


Мне отображаются в справочнике конрагенты только группы, а элементы группы отбражатся с вопросами красными. И при "ИспользоватьСписокЭлементов" этом я не могу добавить новую запись в справочнике.

Как можно сделать так, чтобы пользователь мог видеть только группы справочника и при этом добавлять новый элементы справочника в эти группы ?



Спасибо.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Styvi 6 12.05.10 15:18 Сейчас в теме
(1)
Наверное, надо просто добавить кнопку на форму списка справочника, типа:
"Добавить Контрагента"... с одноимённой процедуркой...
При этом создать НовыйЭлемент, записать и добавить в список используемых в данном сеансе работы с Формой списка Справочника...
2. jmw 61 12.05.10 13:45 Сейчас в теме
Могу предложить решение с использованием FormEx.

В многострочную часть добавляем текст, делаем его невидимым, заголовок = FormEx_ПланРаскраски, формула = ВЦвете() и немного дорабатываем код:
Перем Фонт, Разрешено;

Процедура ПриОткрытии()
    Фонт = Сервис.СоздатьШрифт("Arial", 1, 2);
    Разрешено = Пользователь.Разрешения; // Вот здесь нужно получить разрешение
КонецПроцедуры

Процедура ПриЗакрытии()
    Сервис.УдалитьШрифт(Фонт);
КонецПроцедуры

Функция ВЦвете()
    Если ТекущийЭлемент().Выбран() = 0 Тогда
        Возврат "";
    ИначеЕсли ТекущийЭлемент().ЭтоГруппа() = 1 Тогда
        Возврат "";
    ИначеЕсли Разрешено = 0 Тогда
            Возврат "(FONTSET[" + Фонт + "])";
    Иначе
        Возврат "";
    КонецЕсли;
КонецФункции

Процедура ПриВыбореСтроки()
    Если Разрешено = 0 Тогда
        СтатусВозврата(0);
    КонецЕсли;
КонецПроцедуры

Показать


В форме контрагента:
Процедура ПриОткрытии()
    Разрешено = Пользователь.Разрешения; // Вот здесь нужно получить разрешение
    Если Разрешено = 0 Тогда
        СтатусВозврата(0);
    КонецЕсли;
КонецПроцедуры



Вот собственно и всё!
Получается не невидимый контрагент, а невидимая строка (высота шрифта в 1 точку).
4. nastyaMNs 13.05.10 02:09 Сейчас в теме
Подскажите еще пожалуйста как сделать, так чтобы вся строка форматировалась , а не только добавляемый текст, заголовок = FormEx_ПланРаскраски, формула = ВЦвете() ?
спасибо
5. nastyaMNs 13.05.10 02:29 Сейчас в теме
спасибо огромное. Верхнее сообщение - прогнала.
6. nastyaMNs 13.05.10 03:17 Сейчас в теме
Подскажите пожалуйста как можно сделать так, чтобы кликая на текущий элемент справочника не подсвечивался с реальным размером шрифта. Ато записи все равно можно увидеть(
Спасибо
9. jmw 61 13.05.10 09:42 Сейчас в теме
(6) какие записи?
(7) как на счёт иерархии?
(8) если отключить группы, то не возможно будет создать новый элемент!
7. nastyaMNs 13.05.10 03:31 Сейчас в теме
еще такую странность заметила, что при не первом открытии 1с , добавить новый элемент в спавочник не возможно. Почему?
8. nastyaMNs 13.05.10 04:52 Сейчас в теме
как можно отключить режим вывода списка по группам?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот