Изменить дополнительный реквизит табличной части. Управляемые формы. #781951


#0 by User1519
Доброе утро. Есть следующий вопрос. Конфигурация БП 3.0, вопрос справедлив для любой другой конфы на управляемых формах. В документе есть табличная часть. Так вот, как изменить/прочитать дополнительные реквизиты/колонки этой табличной части? Делаю получитьобъект. и т.д. для доступа к реквизитам т.ч. объекта, но могу прочитать/изменить только основные реквизиты. Как менять дополнительные реквизиты? Что характерно, если сделать во внешней обработке также(добавить основной реквизит, потом на форме добавить дополнительный, обратиться через объект), то проблем с изменением/добавлением этих доп.реквизитов нет. В документе не получается. С Уважением.
#1 by zak555
это не дополнительные реквизиты, а просто реквизиты формы
#2 by User1519
Хорошо, пускай просто реквизит. Но при обращении к объектам ТЧ, вижу только реквизиты "Номер строки, Сотрудники". Те просто реквизиты отсутствуют. .... ТЧ.НомерСтроки; .... ТЧ.Сотрудники; и больше ничего. Если просто написать нужное поле, то поле объекта не найдено. ТЧ.НужноеПоле; (Ошибка);
#3 by ovrfox
Если Вы спрашиваете о дополнительных реквизитах, которые отображаются на закладке "Дополнительные реквизиты", то для их хранения используется табличнаяЧасть "допреквизиты". Каждая строка описывает один реквизит. В реквизитах ТЧ есть наименование реквизита и значение реквизита. Для длоступа вам нужно найти строки в ТЧ, в которой совпадет наименование реквизита и посмотреть и/или установить его значение.
#4 by zak555
что за документ и из какой конфы ?
#5 by User1519
БП 3.0 Док. Начисление зарплаты. Интересует ТЧ Сотрудники.
#6 by ovrfox
Сорри, не посмотрел картинку. Рекизиты формы, привязанные к ТЧ объекта. Тогда у тебя есть Объект."ИмяТЧ" и ЭтаФорма."ИмяТЧ" Доступ к дополнительным реквизитам возможен только при обращении через ЭтаФорма."ИмяТЧ" Обычно в модулче сервера обрабатывают так: ТЗ = ЭтаФорма."ИмяТЧ".Выгрузить; ...Обработка ТЗ.. ЭтаФорма."ИмяИЧ".Загрузить(ТЗ);
#7 by ovrfox
Что -то я нахимичил - просто Объект."ИмяТЧ"."ИмяДопРеквизита" - достаточно, причем даже в контексте клиента
#8 by ovrfox
Для понимания, что я хотел сказать. В модуле сервера можно получить элемент справочника или документа как ДокОбъект = РеквизитформыВЗначение("Объект"); ДокОбъект = Это реальный объект и в нем нет доп реквизитов , причем реквизиты находятся в том состоянии ,котором они были переведены во время работы формы. Объект - Это коллекция элементов Формы, которая содержит все реквизиты документа и дополнительные реквизиты, если они были созданы при разработке. И есть еще третий источник - БД - к которой можно обратиться через запрос и считать те значения реквизитов, которые были перед открытием формы.
#9 by User1519
Спасибо за помощь, постараюсь усвоить и применить.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С