Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

как получить значение реквизита формы

как получить  значение реквизита формы
Я
   arkada
 
08.01.18 - 11:02
Здравствуйте. Прошу не пинать ногами. Вопрос простейший. Есть форма документа. Есть поле "Контрагент".

В модуле формы документа
 Делаю процедуру

Значение=Объект.Контрагент;
    Сообщить(Значение);

Показывается наименование поля Контрагент. А как получить ИНН поля Контрагент?

    Значение=Объект.Контрагент.ИНН;
    Сообщить(Значение);

Так не работает. Заранее спасибо.
 
 
   PuhUfa
 
1 - 08.01.18 - 11:06
Где делаешь?
   arkada
 
2 - 08.01.18 - 11:08
Управляемая форма бп 3.0
   PuhUfa
 
3 - 08.01.18 - 11:20
ИНН = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Контрагент, "ИНН");
или делай как в (0) но на &НаСервере
   arkada
 
4 - 08.01.18 - 11:23
Вставил в процедуру и выдается ошибка

{Документ.тест.Форма.ФормаДокумента.Форма(12,8)}: Переменная не определена (ОбщегоНазначения)
    ИНН = <<?>>ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Контрагент, "ИНН") (Проверка: Тонкий клиент)
   arkada
 
5 - 08.01.18 - 11:24
Значение=Объект.Контрагент;
    Сообщить(Значение);
    ИНН = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Контрагент, "ИНН")
    Сообщить(ИНН);
   DrZombi
 
6 - 08.01.18 - 11:29
(5) "ОбщегоНазначения" - это общий модуль, который работает на стороне СЕРВЕРА.

Вы тоже самое можете организовать и в модуле формы, используя "&НаСервере"
   DrZombi
 
7 - 08.01.18 - 11:31
+ Лучше "&НаСервереБезКонтекста"
И в качестве параметра используем команду "Знач" (нам не надо возвращать обратно на клиентскую часть ссылку, не стоит забивать трафик лишней информацией)
   arkada
 
8 - 08.01.18 - 11:40
Ребята, как правильно и где написать. Ну не понимаю я пока. :(
   PuhUfa
 
9 - 08.01.18 - 11:48
&НаСервереБезКонтекста
Функция ХочуЗначениеРеквизита(Ссылка,ИмяРеквизита)
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка,ИмяРеквизита);
КонецФункции

&НаКлиенте
Процедура МояПрелесть()
 Сообщить(ХочуЗначениеРеквизита(Объект.Контрагент,"ИНН");
КонецПроцедуры
   PuhUfa
 
10 - 08.01.18 - 11:49
(6) странное решение размещать функцию получения реквизита в общем модуле доступном только на сервере...
 
 Рекламное место пустует
   DrZombi
 
11 - 08.01.18 - 11:57
(10) По мне так вообще странно тонкий клиент отвратно работает, особенно если на форму разместить все 1000 реквизитов и табличных частей разом :)
   arkada
 
12 - 08.01.18 - 16:04
Огромное спасибо!!! Работает!!
   arkada
 
13 - 08.01.18 - 16:33
В продолжение темы. А как добраться до Юридического и фактического адреса Контрагента?
   arkada
 
14 - 08.01.18 - 16:35
Банковский счет и т.д.
   rozer76
 
15 - 08.01.18 - 16:40
(14) это уже запросом в &НаСервереБезКонтекста
   hawksib
 
16 - 08.01.18 - 17:59
а че так не работает?

&НаКлиенте
Процедура СообщитьИНН()
 Сообщить(ИННКонтрагента());
КонецПроцедуры

&НаСервере
Функция ИННКонтрагента()
 Возврат РеквизитФормыВЗначение("Объект.Контрагент").ИНН;
КонецФункции
   FIXXXL
 
17 - 09.01.18 - 08:28
(13) (14) не изобретай велосипед
наверняка в конфигурации есть функции получения этой инфы
   DrZombi
 
18 - 09.01.18 - 09:04
(13) так же, обращаешься на сервер, и там выполняешь запрос к нужной информации.
   arkada
 
19 - 11.01.18 - 05:24
Коллеги, добраться к другим реквизитам, по данной схеме не получается. Они просто не присутствуют в справочник.Контрагенты. Но каким образом к ним добираться? Например реквизит Адрес или Банковский счет?
   igorPetrov
 
20 - 11.01.18 - 05:32
(19) так посмотри где они присутствуют
   segn
 
21 - 11.01.18 - 06:32
(19) Посмотри как получают данные контрагента для заполнения печатной формы (например ТОРГ-12). Процедура Печать() расположена в модуле менеджера объекта.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует