|
Как получить значение реквизита формы | ☑ | ||
---|---|---|---|---|
0
Babarysh
09.06.16
✎
23:19
|
Добрый вечер! Подскажите пожалуйста,как получить значение реквизита формы справочника из внешней обработки для управляемого приложения.
Попыталась через процедуру РеквизитФормыВЗначение(), но что-то не получается( |
|||
1
Pistol
09.06.16
✎
23:23
|
Сергей? Попыталась?
|
|||
2
GROOVY
09.06.16
✎
23:26
|
Может это не реквизит формы?Может данные формы?
|
|||
3
Babarysh
10.06.16
✎
18:55
|
Это жена его просто за помощью обратилась)))
Я написала для обычного, но как переделать на клиент сервер не получается Вот код клиентской: СпрФЛ = Справочники.ФизическиеЛица.НайтиПоКоду("0000001113"); СпрП = Справочники.Пользователи.НайтиПоРеквизиту("ФизЛицо", СпрФЛ); ФормаПользователи = СпрП.ПолучитьФорму("ФормаРедактированиеПользователяИБ"); Сообщить(ФормаПользователи.ЭтаФорма.ПользовательОС); |
|||
4
break
10.06.16
✎
22:59
|
мужу такой код не показывате
|
|||
5
Стальная Крыса
11.06.16
✎
04:27
|
Я так понимаю что "ПользовательОС" реквизит от ПользовательИБ ?
Нафига тогда нужна форма? |
|||
6
Стальная Крыса
11.06.16
✎
04:29
|
Ну если нужна именно форма, тогда
Сообщить(ФормаПользователи.ПользовательОС); вполне работает |
|||
7
Babarysh
11.06.16
✎
10:53
|
Код работает, но только для обычного приложения, а на клиент сервере не работает процедура ПолучитьФорму(),т.к.она клиентская, а чем ее можно заменить на сервере? Можете подсказать?
|
|||
8
Мимохожий Однако
11.06.16
✎
11:01
|
Начала про одно, закончила про другое. Опиши всю задачу и не хвосты.
|
|||
9
alle68
11.06.16
✎
11:13
|
(7) Ничем. Ссылку ищем на сервере, форму открываем на клиенте.
|
|||
10
Babarysh
14.06.16
✎
09:37
|
(9) Так?
&НаСервере Функция Команда1НаСервере() СпрФЛ = Справочники.ФизическиеЛица.НайтиПоКоду("0000001113"); Возврат Справочники.Пользователи.НайтиПоРеквизиту("ФизЛицо", СпрФЛ); КонецФункции &НаКлиенте Процедура Команда1(Команда) СпрП = Команда1НаСервере(); С = СпрП.ПолучитьФорму("ФормаРедактированиеПользователяИБ"); Сообщить(С.ПользовательОС); КонецПроцедуры Но у меня выдает ошибку: Метод объекта не обнаружен(ПолучитьФорму) |
|||
11
Babarysh
14.06.16
✎
09:50
|
А процедурой РеквизитФормыВЗначение() нельзя заменить процедуру ПолучитьФорму()?
|
|||
12
Beretta
14.06.16
✎
09:53
|
Может проще мужа спросить? Он вроде ближе и быстрее должен быть?
|
|||
13
write
14.06.16
✎
09:56
|
Какая Ваша конечная цель?
|
|||
14
Babarysh
14.06.16
✎
09:57
|
Он не программист, просто так получилось, что он вместо меня зарегистрировался
|
|||
15
Babarysh
14.06.16
✎
09:58
|
Получить значение реквизита формы
|
|||
16
singlych
14.06.16
✎
10:02
|
Оставьте форму в покое, она тут ни причем. По пользователю найдите пользователя ИБ, и у него смотрите пользователя ОС.
|
|||
17
FIXXXL
14.06.16
✎
10:02
|
(15) а зачем оно надо?
если инфа на форме = реквизит объекта - получай от объекта если инфа на форме = расчет с использованием данных объекта - копируй алгоритм расчета не надо дергать форму и получать с нее что либо |
|||
18
Babarysh
14.06.16
✎
10:33
|
Скажу проще, муж попросил меня написать ему код во внешней обработке(сам он сис.админ,ему срочно надо,а их программисты 1с пока все заняты). Конфа УПП, я с ней никогда не работала + уже 2 года сижу в декрете(соответственно многое уже подзабыла). Это чтобы больше не возникало вопросов про мужа и все такое...
Он показал мне форму справочника физ. лиц и сказал, что у него есть код физ. лица и ему надо в справочнике пользователей найти это физ лицо и вытащить данные реквизита ПользовательОС. Я сделала так на клиенте: СпрФЛ = Справочники.ФизическиеЛица.НайтиПоКоду("0000001113"); СпрП = Справочники.Пользователи.НайтиПоРеквизиту("ФизЛицо", СпрФЛ); ФормаПользователи = СпрП.ПолучитьФорму("ФормаРедактированиеПользователяИБ"); Сообщить(ФормаПользователи.ЭтаФорма.ПользовательОС); Но надо серверную. &НаСервере Функция Команда1НаСервере() СпрФЛ = Справочники.ФизическиеЛица.НайтиПоКоду("0000001113"); Возврат Справочники.Пользователи.НайтиПоРеквизиту("ФизЛицо", СпрФЛ); КонецФункции &НаКлиенте Процедура Команда1(Команда) СпрП = Команда1НаСервере(); С = СпрП.ПолучитьФорму("ФормаРедактированиеПользователяИБ"); Сообщить(С.ПользовательОС); КонецПроцедуры Так выдает ошибку: Метод объекта не обнаружен(ПолучитьФорму) (16) можете поподробнее написать как обойтись без формы? и где найти этого пользователя ИБ? в спр.Пользователи есть реквизит объекта ИдентификаторПользователяИБ, из него как-то можно достать ПользователяОС? |
|||
19
catena
14.06.16
✎
10:44
|
(18)
МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager) МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager) Методы: НайтиПоИмени (FindByName) НайтиПоУникальномуИдентификатору (FindByUUID) ПолучитьПользователей (GetUsers) СоздатьПользователя (CreateUser) ТекущийПользователь (CurrentUser) Описание: Предназначен для работы со списком пользователей информационной базы. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
20
catena
14.06.16
✎
10:45
|
ПользовательИнформационнойБазы (InfoBaseUser)
Свойства: АутентификацияОС (OSAuthentication) АутентификацияСтандартная (StandardAuthentication) ЗапрещеноИзменятьПароль (CannotChangePassword) Имя (Name) ОсновнойИнтерфейс (DefaultInterface) Пароль (Password) ПарольУстановлен (PasswordIsSet) ПоказыватьВСпискеВыбора (ShowInList) ПолноеИмя (FullName) ПользовательОС (OSUser) РазделениеДанных (DataSeparation) РежимЗапуска (RunMode) Роли (Roles) СохраняемоеЗначениеПароля (StoredPasswordValue) УникальныйИдентификатор (UUID) Язык (Language) Методы: Записать (Write) Удалить (Delete) Описание: Предназначен для получения и записи сведений о пользователе в информационную базу. Если текущий пользователь не обладает административными правами, он может изменить только ограниченный набор сведений (свойства объекта) о себе (ПолноеИмя, Язык, Пароль). При изменении этих свойств остальные свойства сохраняют свои значения. |
|||
21
FIXXXL
14.06.16
✎
11:08
|
(18) вместо
ФормаПользователи = СпрП.ПолучитьФорму("ФормаРедактированиеПользователяИБ"); Сообщить(ФормаПользователи.ЭтаФорма.ПользовательОС); попробуй Сообщить(СпрП.ПользовательОС) то что надо выдаст? |
|||
22
write
14.06.16
✎
11:15
|
Откройте в конфигураторе ФормаРедактированиеПользователяИБ, посмотрите, откуда попадают данные в это поле, если это реквизит справочника Пользователи, то просто обращаетесь СпрП.ХХХХХХХ, в это поле могут попадать и данные регистра сведений тогда задача немножко усложниться, придется искать в регистре сведений.
|
|||
23
Babarysh
14.06.16
✎
11:51
|
(19) спасибо большое) Совсем забыла про ПользователяИБ(
Получилось так: Процедура КнопкаВыполнитьНажатие(Кнопка) СпрФЛ = Справочники.ФизическиеЛица.НайтиПоКоду("0000000709"); СпрП = Справочники.Пользователи.НайтиПоРеквизиту("ФизЛицо", СпрФЛ); П = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(СпрП.ИдентификаторПользователяИБ); Сообщить(П.ПользовательОС); КонецПроцедуры |
|||
24
Babarysh
14.06.16
✎
12:11
|
А за идентификатором обязательно лезть в справочник пользователей или по коду физ лица можно сразу из справочника ПользователейИБ достать?
|
|||
25
catena
14.06.16
✎
12:14
|
Ну, это смотря как там в базе связывается. Может быть в конкретном случае и можно.
|
|||
26
Babarysh
14.06.16
✎
12:17
|
Понятно, спасибо) помогли)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |