Имя: Пароль:
1C
 
Предопределенный элемент.
0 nastyaaa
 
23.11.07
16:22
Этого нигде не могу найти.
как сделать так, чтобы в справочник вбить определенное значение и чтобы пользователь никогда не мог его изменить? Вроде как-то с помощью предопределенного элемента справочника... Только я не знаю как...
ПОДСКАЖИТЕ, кто знает!!!
1 zbv
 
23.11.07
16:25
Свойства Объекта, закладка "Прочее", кнопка "Предопределенные"
2 nastyaaa
 
23.11.07
16:29
(1) Там отображается просто список. Как туда добавить?
3 Steelvan
 
23.11.07
16:30
В конфигураторе через кнопочку Действия/Открыть предопределенные элементы.
Указываешь код и наименование элемента. Создать можно только элемент. После этого в режиме Предприятия с элементом можно делать что угодно (Переносить в любую группу).

В момент заведения в конфе прописывается соответствие ID нового элемента и нового элемента конфигурации (Выглядит как предопред. элемент). В таблицах стоит _IsMetadata 0x1. Вот
4 nastyaaa
 
23.11.07
16:35
В конфигураторе через кнопочку Действия/Открыть предопределенные элементы.
Где копочка действия?

Предприятия с элементом можно делать что угодно (Переносить в любую группу).
Какие еще группы?

Мне нужно чтобы я вела значение в справочник и никто не смог с ним ничего сделать.. :( неужели это так сложно?
5 zbv
 
23.11.07
16:35
(2) Ins
6 nastyaaa
 
23.11.07
16:35
(4) для (3)
7 zbv
 
23.11.07
16:37
(4) Действие - это правой кнопкой мыши...
8 Steelvan
 
23.11.07
16:41
(4) А что такое группа ? А что такое Родитель ? А что такое Владелец ?
9 alena5555
 
23.11.07
16:42
(7)А мне подсказать? :)))))))))))
10 Поручик
 
23.11.07
16:42
nastyaaa имейте в виду, что пользователь может изменить значения реквизитов (код, наименование, etc) у предопреленного элемента.
11 zbv
 
23.11.07
16:44
(9) А где фото? ;-)))
12 nastyaaa
 
23.11.07
16:44
(8) ясно-ясно... Вспомнила. Не злись :)
13 Steelvan
 
23.11.07
16:45
ПередЗаписью()
Если Родитель <> Ссылка.Родитель ИЛИ Код <> Ссылка.Код ИЛИ ...
Тогда Сообщить("Кааззееелл")
Отказ = Истина
Возврат
...
...
...
14 Steelvan
 
23.11.07
16:46
Искать и писать в модуле объекта
15 ОператорПК
 
23.11.07
16:46
У Насти сегодня юбилей - она задала свой 60 вопрос на форуме поздравим ее с этих успехом, и пожелаем развиватся также интенсивно, нет стоп пожелаем ей развиватся есче интенсивнее на поприще программирования, ура товарищи :))

p.s. хотел сперва предложить статью по ее вопросам забацать типа "1Це 8.0-8.1 для чайНеГоффф" но думаю пока рановато, подождем еще полгодика тогда она будет задавать вопросы уровня чайНегоффф сейчас увы пока не тянет...
16 nastyaaa
 
23.11.07
16:47
В конфигураторе через кнопочку Действия/Открыть предопределенные элементы.
Указываешь код и наименование элемента.
Дело в том что у меня кнопки добавить-неактивны и он ничего туда добавлять не дает...
17 zbv
 
23.11.07
16:49
(16) Потому что конфа на поддержке без возможности внесения изменений.
18 alena5555
 
23.11.07
16:49
(11)Фото нету! :) Прощайте меня!!!!!!!
Все равно смотреть не на что!
ХелП:)
19 nastyaaa
 
23.11.07
16:49
(15) Блин, видимо заняться нечем...кроме того что количество вопрос отслеживать... Так скажешь может как это сделать? Тупые вопросы говоришь? Зато ответа от тебя НОЛЬ. Может ты не знаешь просто?
20 Salvador Limones
 
23.11.07
16:50
(16) Значит, это справочник кому-то подчинён.
21 nastyaaa
 
23.11.07
16:50
(17) Все могу изменять. А это не могу... как так? Что же делать? :(((
22 zbv
 
23.11.07
16:51
(21) остаеться (20) ;)
23 nastyaaa
 
23.11.07
16:52
(20) Да...действительно подчинен...
24 nastyaaa
 
23.11.07
16:53
И что изменять в справочникек которому подчинен этот?
25 Salvador Limones
 
23.11.07
16:59
(24) Вот теперь совсем непонятно, что ты замыслила.
26 nastyaaa
 
23.11.07
17:04
(25) Уже ничего не замыслела... Не знаю что делать... Что делать? :(
27 Salvador Limones
 
23.11.07
17:06
(26) Ничего не делай. Забей на предопределённый элемент у подчиненного справочника.
28 ОператорПК
 
23.11.07
17:08
:)) я в отпаде, хочет внести предопределенный элемент в справочник подчиненный другому справочнику - каково а.... при этом даже не знала что он подчиненный - ух&еть .....
(26)как же ты лезеш вносить изменения в базу не понимая принцыпов ее работы???
29 nastyaaa
 
23.11.07
17:11
про предопределенные элементы я не знаю..
(24) Это был риторический вопрос. Типо и что же мне делать. Не собиралась я
"внести предопределенный элемент в справочник подчиненный другому справочнику "
30 nastyaaa
 
23.11.07
17:12
Как решить задачу того, чтобы в справочник этот внести данный и чтобы пользователь не мог их изменить другим методом? Как это сделать?
31 nastyaaa
 
23.11.07
17:12
(29) для (28)
32 nastyaaa
 
23.11.07
17:14
Не говорите что так нельзя и так не верно и типо не понимаешь, не умеешь, не знаешь. Слышали...не актуально. Скажите как сделать?
33 nastyaaa
 
23.11.07
17:14
Хотя бы в каком направлении капать.. :(
34 ОператорПК
 
23.11.07
17:16
(30) при открытии формы элемента справочника поставь проверку:
Если Предопределенный Тогда
ТолькоПросмотр=Истина;
КонецЕсли;
35 Поручик
 
23.11.07
17:19
Или в событии ПриЗаписи проверяй код, если Предопределенный, делаем Отказ. Чтобы нельзя было обработкой изменить.
36 Salvador Limones
 
23.11.07
17:20
(30) С предопределёнными тут точно не получится. Может при создании основного элемента пусть создаётся подчинённый, с определённым наименованием, а в ПриОткрытии проверять, если это тот, созданный автоматом, то ТолькоПросмотр.
37 zbv
 
23.11.07
17:21
(34)-(35) я так понимаю речь уже не о предопределенном элементе, так как выяснили, что справочник подчиненный...
38 nastyaaa
 
23.11.07
17:23
Так... у меня ощущние, что либо я никого не понимаю, либы вы меня не понимаете.
Мне нужно чтобы в справочнике стояло значение, котор. пользователь изменять не может, удалять не может. При этом в этот же справочник можно было пользователю добавить еще значения, с которыми он смог бы делать все что угодно
39 nastyaaa
 
23.11.07
17:24
(37) Я так тоже поняла... :(
40 Всеяд
 
23.11.07
17:24
Реквизит "Разрешено редактирование", редактирование которого регулируется ролями (например, ПВХ "ПраваПользователей").
Перед записью объекта - проверка реквизита и отказ.
41 ОператорПК
 
23.11.07
17:27
(39) тебе лучше думать в какой момент создавать элементы подчиненного справочника, а как их убереч от пользователя вопрос десятый....
42 Поручик
 
23.11.07
17:27
Имеется в виду

Если Код = Какому-то-Предопределенному-Коду Тогда
ТолькоПросмотр=Истина;
КонецЕсли;

Годится, если у подчиненного справочника нумерация в пределах подчинения.
43 Salvador Limones
 
23.11.07
17:27
(38) Ну приблизительно в (36), но тогда не в ПриОткрытии, а перед записью.
44 ОператорПК
 
23.11.07
17:28
+(41) в типовых глянь как создается основной договор при создании контрагента. можно юзать туже методу+ хранить его также в реквизите ....
45 clarion
 
23.11.07
17:31
тихий ужас...
46 nastyaaa
 
23.11.07
17:40
(36)
Может при создании основного элемента пусть создаётся подчинённый, с определённым наименованием
Подчиненный элемент? Каким образом создать подчиненный элемент?
47 nastyaaa
 
23.11.07
17:42
(42)
Имеется в виду

Если Код = Какому-то-Предопределенному-Коду Тогда
ТолькоПросмотр=Истина;
КонецЕсли;
Как он может равняться Какому-то-Предопределенному, если предопределенный элемент не задан? И задать его в этот справочник нельзя, т.кк. он подчинен другому и не позволяет добавлять предопределенные элементы
48 Вектор3
 
23.11.07
17:45
Анастасия, а вы всё ещё уверены, что программирование - это то , чем вы хотите заниматься??? Уж на что 1С  простой  язык   - но он Вам как то не быстро даётся(((. Есть же замечательная штука - внедрение.
49 nastyaaa
 
23.11.07
17:48
:((((((
50 Поручик
 
23.11.07
17:50
А если при внедрении потребуется что-то подправить или дописАть в штатной конфе?
51 zbv
 
23.11.07
17:50
(48) еще вышивание предложи.. ;-)

(46) так же как и неподчиненный элемент, с той лишь разницей, что нужно указать владельца.
52 nastyaaa
 
23.11.07
17:51
(48) (50)
вот тратите время чтобы меня обидеть. лучше бы потратили его на помощь :(
53 Поручик
 
23.11.07
17:52
Ни дай Боже. Вот как раз и тратим время на помощь.
54 nastyaaa
 
23.11.07
17:54
(51) Где добавлятьэтот подчиненый элемент? В справочнике которому подчиняется этот справочник? Там нельзя указать владельца... :( Тока Родитель(изменять нельзя - всегда элементы), Имя, код, Наименование
55 asady
 
23.11.07
17:57
(54) ну нет такой возможности для подчиненных справочников - ну нет -
не плачь - мы все скорбим....
56 zbv
 
23.11.07
17:57
(54) как пример:

СпрКонтр = Справочники.Контрагенты.СоздатьЭлемент();
СпрКонтр.Наименование = "Тест";
СпрКонтр.Записать();

//создадим подчиненный справочник ДоговорыКонтрагентв
СпрДог = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
СпрДог.Владелец = СпрКонтр.Ссылка; //Пишем владельца
СпрДог.Наименование = "Договор контргента тест";
СпрДог.Записать();
57 MRAK
 
24.11.07
10:03
Спасибо,  nastyaaa!!!
Посмеялся!
58 nastyaaa
 
24.11.07
23:30
(57) Пож-та...всегда рада угодить
59 nastyaaa
 
27.11.07
17:01
Уважаемые программисты! Рассказываю как нужно было решить эту задачу...
В модуле справочника (Заходите в справочник-действие-открфть модуль объекта ИЛИ справочник-свойства (правой кнопкой мыши)-открыть модуль объекта) можно просмотреть процедуры и функции доступные для этого справочника (см. наверху рядом с беноклем поле выбора).
Есть процедура - ПередУдалением(Отказ) и ПередЗаписью(Отказ)

Вот как нужно было сделать:

Процедура ПередУдалением(Отказ)
Если ЭтотОбъект.Наименование = "Наименование справочника, котор. вы не хотите чтобы пользователь изменял" //здесь находит элемент справочника с тем значением,
                     //котор. вам не нужно удалять и котор. вы сами задаете
Тогда
Отказ = Истина;  //Тогда Удалить нельзя
   
КонецЕсли;    
   
КонецПроцедуры

//Процедура перед записью нужна, чтобы пользователь не смог не только удалить
//но и изменить ваш элемент справочника
Процедура ПередЗаписью(Отказ)
   Если ЭтотОбъект.Наименование = "Наименование справочника, котор. вы не хотите чтобы пользователь изменял" Тогда
   Отказ = Истина;
   
КонецЕсли;    
КонецПроцедуры

З.Ы. Если ЭтотОбъект.Наименование = ...
Лучше по коду, так правильнее, я просто не знаю как выцепить код, он же меняется...


Ура, товарищи, никто так не подсказал и номального ничего не объяснил.
60 zbv
 
27.11.07
17:06
(59) а кто мне запрещает изменить наименование?
61 nastyaaa
 
27.11.07
17:19
(60) Никто, самое прикольно, что изменив наименование можно будет и удалить
62 nastyaaa
 
27.11.07
17:21
дело в том, что нужно по коду видимо.. Тока как код выцепить?
63 zbv
 
27.11.07
17:47
(61) надо в При открытии формы проверять на наименование(или на код) и устанавливать только просмотр... ;)

можно попробывать с правами поиграться... хотя хз поможет или нет.. не пробывал...
64 nastyaaa
 
27.11.07
17:59
(63) Попробую завтра и это тоже:
надо в При открытии формы проверять на наименование(или на код) и устанавливать только просмотр... ;)
65 evgen_5
 
27.11.07
18:00
ПриОткрытии() //форма элемента
Если Ссылка.Предопределенный Тогда
   ЭтаФОрма.ТолькоПросмотр = истина;
КонецЕсли;
2 + 2 = 3.9999999999999999999999999999999...