Имя: Пароль:
1C
1С v8
Конвертация реквизита формы справочника.
0 manti
 
21.10.13
14:52
Документооборот- управлямые формы.
В форме объекта спр пользователи есть реквизит формы типа булево.
Вопрос- можно ли при конвертации всегда ставить этот реквизит формы в истину??
При загрузке в ПКО спр пользователи пробую так:

Форма=Объект.ПолучитьФорму();
Рек=Форма.ДоступКИнформационнойБазеРазрешен;
Рек = Истина;
ругается на недоступность интерактивных операций
1 Defender aka LINN
 
21.10.13
14:54
(0) рукалицо...
2 Naumov
 
21.10.13
14:54
что значит при конвертации?
3 Rie
 
21.10.13
14:55
(0) В _форме_. А не в _объекте ИБ_.
4 manti
 
21.10.13
14:55
(2) при переносе данных путем конвертации))(КД)
5 manti
 
21.10.13
14:56
(3) что имеете ввиду?
6 Rie
 
21.10.13
14:56
(4) Никаких _форм_ в этот момент не существует. И их реквизитов - тоже.
7 manti
 
21.10.13
14:57
(6) ну и какой выход?
8 Rie
 
модератор
21.10.13
14:58
(5) Именно то, что написал. КД работает с _объектами ИБ_. А реквизит - в _форме_. (Ну и ПолучитьФорму()... Впрочем, об этом деянии само "1С:Предприятие" уже высказалось).
9 Rie
 
21.10.13
14:59
(7) Изучить разницу между реквизитами объекта ИБ и реквизитами формы.
10 Naumov
 
21.10.13
14:59
(7) Ты посмотри как реквизит формы заполняется при открытии существующего объекта.
Соответствующее свойство документа и устанавливай.
11 manti
 
21.10.13
15:00
(9) хорошо, тоесть нельзя программно при переносе задать реквизит формы?
12 manti
 
21.10.13
15:01
(10) при создании на сервере в форме спр
ДоступКИнформационнойБазеРазрешен = Истина;
13 Rie
 
21.10.13
15:05
(12) Доступ-то разрешён. Но нужная тебе информация в ИБ - отсутствует. Её сначала получить надо. О чём в (10) и говорится.
14 manti
 
21.10.13
15:14
(13) извините за тупняк, можно по конкретнее- что имеете ввиду
15 Rie
 
21.10.13
15:19
(14) Реквизиты формы _не_ хранятся в ИБ. Они заполняются обработчиками событий при создании и открытии формы (ну или ещё каким способом).
Вот посмотреть, откуда и каким образом данные ИБ попадают в реквизит. И использовать эти данные "откуда", а не реквизит.
Никаких форм при этом не создавая.
16 hhhh
 
21.10.13
15:43
(14) реквизиты формы берутся с реквизитов объекта. А ты берешь реквизит формы с потолка.
17 manti
 
21.10.13
15:48
еще бы разгрести в этом коде откуда проставляегся эта галка((
18 Rie
 
21.10.13
15:49
(17) Посмотреть, с какими данными связан этот реквизит формы.
Затем Ctrl-F1 в модуле формы.
19 manti
 
21.10.13
15:55
(15) (18) признак на форме проставлеся в результате выполнения функции ПрочитатьПользователяИБ. Конкретно истина, если найден такой пользоватль ИБ: ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь()......

Если Пользователи.ПрочитатьПользователяИБ(
                 Объект.ИдентификаторПользователяИБ,
                 ПрочитанныеСвойства) Тогда
        
            ПользовательИБСуществует          = Истина;
            ДоступКИнформационнойБазеРазрешен = Истина;
20 manti
 
21.10.13
15:56
И как это в конвертации задать? если к реквизиту формы не пробиться оттуда??
21 Rie
 
21.10.13
16:12
(19) Если так - то _зачем_ это конвертировать?
Это имеет значение лишь в рамках конкретного сеанса. В другой базе - сеанс будет совсем-совсем другим.
Возможно, есть смысл передать ИдентификаторПользователяИБ - он хранится в объекте ИБ.
Основная теорема систематики: Новые системы плодят новые проблемы.