Имя: Пароль:
1C
1C 7.7
v7: Закрыть доступ к реквизитам формы кроме одного (красиво...)
,
0 Pit0n_08
 
23.09.11
13:33
Вылезла задачка - ответственному менеджеру необходимо дать возможность менять значение ТОЛЬКО одного реквизита элемента справочника. Поставил в правах "Чтение" и "Корректировка", при открытии проверяю набор прав и ставлю Доступность(0 или 1). Но реквизитов гора, причем некоторые только для группы. Собственно вопрос - можно ли перебрать реквизиты в цикле через метаданные, отобрать для элемента и выведенные на форму и задать им доступность? ВК не используются.
1 VladZ
 
23.09.11
13:34
Читай про "Метаданные".
2 Tatitutu
 
23.09.11
13:34
можно
3 Tatitutu
 
23.09.11
13:34
а можно пойти совершенно другим путем
4 noprogrammer
 
23.09.11
13:36
(0) при открытии элемента ставить "статус возврата = 0" а менеджеру открывай обработку в одним единственным полем - потом записывай введенное значение в элемент :)
5 Cthulhu
 
23.09.11
13:36
(1): "формы" - бестолку.
6 Morphius
 
23.09.11
13:38
(0) Красиво будет как раз с использованием ВК: В свойствах поля ввода, разрешенного для редактирования, в поле "комментарий" ставишь например "!", обходишь все реквизиты и даешь доступность полям, содержащим "!". Видел у Раруса
7 Tatitutu
 
23.09.11
13:42
(4) не есть красиво. конфигу нужно менять
(0) с твоей Задачкой - сделай внешнюю обработку

выбор элемента - внес данные - записал
делов минут на 20 со всем функционалом.
8 Mwanaharamu
 
23.09.11
13:42
Перед записью устанавливай все рекизиты, кроме разрешенных, в те значения, которые уже есть в базе. Реквизиты перебрать через метаданные реально, объекты формы - нет.
9 Ёпрст
 
23.09.11
13:43
(8) объекты формы - да. Окромя рамок и еще некоторых реквизитов, причем штатно, без ВК
10 Morphius
 
23.09.11
13:44
(8) ИМХО изврат
11 Cthulhu
 
23.09.11
13:44
(9): что "да"?
12 noprogrammer
 
23.09.11
13:45
(7) так он конфу в любом случае уже поменял.
13 Sereja
 
23.09.11
13:47
(9) Епрст, помоги с Йоксель
14 Ёпрст
 
23.09.11
13:48
(11) Обойти реквизиты формы штатно - да.
15 Tatitutu
 
23.09.11
13:50
(12) ну тогда форма.ТолькоПросмотр(1) и БОЛЬШУЮ КРАСНУЮ КНОПКУ для менеждера для ввода значения

или специально для него сделать дополнительную форму списка
16 Pit0n_08
 
23.09.11
13:53
(7) За 20 минут я тупо перечислил все реквизиты и задал доступность. Но не красиво же...
(9) Обойти - да. А управлять формой через метаданные? И определить те, что на форму выведены?
17 Pit0n_08
 
23.09.11
14:05
(15) А если
Форма.ТолькоПросмотр(1);
Форма.<ИмяРеквизита>.Доступность(1);
18 Cthulhu
 
23.09.11
14:07
(14): и каг?
19 Pit0n_08
 
23.09.11
14:10
+(17) мимо. Пятница. Пошел за пивом...
20 VladZ
 
23.09.11
14:15
+1 Через Метаданные перебор (закрыть лишние).
Закрывать через:

Атрибут = Форма.ПолучитьАтрибут(ИмяРеквизита);
Атрибут.Доступность(Разрешено);
21 Pit0n_08
 
23.09.11
14:16
(15) С кнопкой попал не в бровь, а в глаз! Главбух, когда объясняла "хотюнчик" попросила кнопку "СТОП-ОТГРУЗКА"!

Всем спасибо!
22 Попытка1С
 
23.09.11
14:23
(18) Эмуляцией кнопки TAB.
23 Cthulhu
 
23.09.11
14:25
(22): хня. мне надо в "приоткрытии".
24 Попытка1С
 
23.09.11
14:26
(23) Какая разница где, ПриОткрытии или нет.
25 Cthulhu
 
23.09.11
14:29
(24): 1) разница есть. 2) эмуляция нажатия клавиш - не штатная возможность (и в терминальной сессии, например, может не иметься запущенных служб, которые для нештатной реализации такого способв нужны).
ЗЫ: слушай, может ты лучше делом займёшься?.. а то уже во втором топике вижу, что без твоего участия обсуждение только выиграет...
26 Ёпрст
 
23.09.11
14:31
(23) ну и ? В ПриОткрытии уже форма есть, обходишь все реквизиты и делай что хочешь.
пример тут:
http://infostart.ru/public/68089/
27 Ёпрст
 
23.09.11
14:32
(25) ну тады формекс наше всё .
:)
28 Попытка1С
 
23.09.11
14:32
(25) Ну давай расскажи что такое штатное а что такое нет, давно не слышал.

З.Ы. Может ты мне не будешь давать советы чем заняться? Толку от тебя еще меньше пока что.
29 ЧеловекДуши
 
23.09.11
14:36
(26)Эта обработка из разряда - "Купи кота в мешке"
Или "Собери 30 монеток (если сможешь)" :)
А так, было бы любопытно взглянуть.
У тебя есть подобная, но на бесплатном ресурсе?
Можешь выложить эту обработку на файло-помойку?
...заранее Спасибо, огромное Спасибо :)
30 Cthulhu
 
23.09.11
14:46
(26): не дает скачать.
(27): после того, как в безобидной ситуации отладчиком и собственными глазами увидел переход по Ф8 с оператора модуля формы плямо(!) на оператор(!) внутри(!) процедуры глоб.модуля - я его боюсь.
(28): не дам, в твоем возрасте подобные вопросы задавать стыдно. не хочешь советов - лови констатацию факта: ты в пешем эротическом путешешсвии.
31 Tatitutu
 
23.09.11
14:53
(26) Прикинь какой минус в нововведение, тоже уже прочувствовал
32 Ёпрст
 
23.09.11
14:53
(29) в плане купи ?
она там валяется в свободном доступе
33 Ёпрст
 
23.09.11
14:56
34 Попытка1С
 
23.09.11
15:00
(30) Ну чего то другого и не ожидал от столь скудоумного индивида.
35 Sserj
 
23.09.11
15:10
(0) А можно пятнично извратиться :)

Делаем текстовый реквизитик, в нем функцию, в функции:

Если Форма.АктивныйЭлемент() <> "РазрешенныйНамЭлемент" Тогда
Активизировать("РазрешенныйНамЭлемент", 0);
КонецЕсли


Будет постоянно выкидывать на разрешенный элемент.
Ну может быть там еще ПриНачалеВыбораЗначения() надо будет перехватить.
:)
36 Cthulhu
 
23.09.11
15:19
(35): обломись. 1) "В данной формуле не может быть вызвана эта процедура(функция)"; 2) не мешает переходить по реквизитам и менять значение любого доступного, хотя по ентеру и выдает п.1.
37 Cthulhu
 
23.09.11
15:36
(32): угумц, скачал, спасибо.
ты не поверишь какие странные результаты "обходом":
Сначала перескок на другую закладку, после возврата и "Печать": РеквизитДиалога2,СписокЗначений2,Кнопка2,ПолеСоСписком2,Переключатель2,Флажок2
Тупо после обхода "Печать": РеквизитДиалога2,СписокЗначений2,Кнопка2
Тупо после обхода "Печать": РеквизитДиалога2
и из "ПриОткрытии" нихрена не работает. просто потому, что форма не отрисована, и клавиши таб её до лампады.
38 Ёпрст
 
23.09.11
15:47
зарегился на ИС, попробовал скачать у себя - даёт.. попробовал у других авторов - какая-то шняга с нафлуди чего -нить или купи что-то..

ЗЫ: качайте всё у меня - у меня всё на халяву :))
39 Cthulhu
 
23.09.11
16:12
(38): у тя и скачано. см.(37).