Как Из Документа-объекта Обратиться К Реквизиту Формы?

  • Автор темы Автор темы Надя1972
  • Дата начала Дата начала
Н

Надя1972

Здравствуйте! Подскажите, пожалуйста, как из документа объекта обратиться к реквизиту формы этого документа? У документа Платежное поручениеИсходящее есть реквизит формы "Список". Мне нужно узнать, истина он, или ложь?
Код:
Док=Документы.ПлатежноеПоручениеИсходящее.Выбрать();
Пока Док.Следующий() Цикл
Если Док.?????? Тогда
КонецЕсли;
КонецЦикла;
 
Что за конфигурация? Если открыть форму в конфигураторе, открыть свойство списка - то что написано в поле имя? Есть ли такой реквизит в документе?
 
Что за конфигурация? Если открыть форму в конфигураторе, открыть свойство списка - то что написано в поле имя? Есть ли такой реквизит в документе?
[/qu
Конфигурация УПП. В поле имя написано список. Такого реквизита в документе нет. Это реквизит формы.
 
Это влияет только лишь на отображение на форме данных. Сам принцип является неизменным. Обязательным является заполнение табличной части документа платежное поручение. Т.е. если у вас стоит галочка - данные из таблицы заполняют реквизиты на форме, если нет - то отображается сама табличная часть.

Вам надо обрабатывать количество записей в таблице документа, а не реквизит формы.

Обратите внимание на Процедуру ПриОткрытии основной формы, там даже есть кусочек кода


Если РасшифровкаПлатежа.Количество()>1 Тогда
Список = Истина;
Иначе
Список = Ложь;
КонецЕсли;
 
Если для вас это еще актуально, то приблизительно так:

Док=Документы.ПлатежноеПоручениеИсходящее.Выбрать();
Пока Док.Следующий() Цикл
Форма = Док.ПолучитьФорму();
СписокИзДокумента = Форма.ЭлементыФормы.Список.Значение;
// Здесь анализ содержимого реквизита "Список" через переменную СписокИзДокумента
....
КонецЦикла;
 
Чойта я могу ошибаться, конечно, однако мне кажется ПолучитьФорму() не запускает обработку ПриОтктытии(). Значит, как мне думается, значение реквизита "Список" будет тем, какое оно стоит по умолчанию.
 
Это влияет только лишь на отображение на форме данных. Сам принцип является неизменным. Обязательным является заполнение табличной части документа платежное поручение. Т.е. если у вас стоит галочка - данные из таблицы заполняют реквизиты на форме, если нет - то отображается сама табличная часть.

Вам надо обрабатывать количество записей в таблице документа, а не реквизит формы.

Обратите внимание на Процедуру ПриОткрытии основной формы, там даже есть кусочек кода


Если РасшифровкаПлатежа.Количество()>1 Тогда
Список = Истина;
Иначе
Список = Ложь;
КонецЕсли;
Спасибо, так примерно и сделала

Добавлено:
Если для вас это еще актуально, то приблизительно так:

Док=Документы.ПлатежноеПоручениеИсходящее.Выбрать();
Пока Док.Следующий() Цикл
Форма = Док.ПолучитьФорму();
СписокИзДокумента = Форма.ЭлементыФормы.Список.Значение;
// Здесь анализ содержимого реквизита "Список" через переменную СписокИзДокумента
....
КонецЦикла;
Спасибо, может пригодится в будующем, пока сделала через анализ количества строк в табличной части
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab