Имя: Пароль:
1C
1С v8
Изменить дополнительный реквизит табличной части. Управляемые формы.
0 User1519
 
03.10.16
07:55
Доброе утро.
Есть следующий вопрос.
Конфигурация БП 3.0, вопрос справедлив для любой другой конфы на управляемых формах.
В документе есть табличная часть. Так вот, как изменить/прочитать дополнительные реквизиты/колонки этой табличной части?

Делаю получитьобъект. и т.д. для доступа к реквизитам т.ч. объекта, но могу прочитать/изменить только основные реквизиты. Как менять дополнительные реквизиты?

Что характерно, если сделать во внешней обработке также(добавить основной реквизит, потом на форме добавить дополнительный, обратиться через объект), то проблем с изменением/добавлением этих доп.реквизитов нет. В документе не получается.

http://prntscr.com/cp5dgy

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