Как получить список реквизитов документа

1. eababenko 15.08.12 13:02 Сейчас в теме
Как реализовать следующую функциональность в 1с 8.2.
Есть справочник элементов. В каждом элементе есть табличная часть с тремя реквизитами:
1. Реквизит документа.
2. Значение по умолчанию.
3. "Галка" возможности редактирования реквизита

1. Как получить список реквизитов документа и добавить ее в табличную часть. (принцип работы такой же как и со справочниками)?

2. Если выбран реквизит, то согласно типа реквизита получить его значения, и выбрать его для второго реквизита колонки.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. cheiser1982 228 26.05.15 11:50 Сейчас в теме
(1) eababenko,

Для получения реквизитов документа можете использовать код:

Для Каждого Реквизит Из Документ.Метаданные().Реквизиты Цикл
		НоваяСтрока = РеквизитыДокумента.Добавить();
		НоваяСтрока.Реквизит = Реквизит.Имя;
		НоваяСтрока.Значение = Документ[Реквизит.Имя];
	КонецЦикла;

РеквизитыДокумента - таблица значений с двумя полями "Реквизит" и "Значение".

А для получения табличных частей документа и их реквизитов можете использовать следующий код:

Для Каждого ТабличнаяЧасть Из Документ.Метаданные().ТабличныеЧасти Цикл
		Сообщить(ТабличнаяЧасть);
		Для Каждого РеквизитТЧ Из ТабличнаяЧасть.Реквизиты Цикл
			Сообщить("  -  " + РеквизитТЧ);
		КонецЦикла
	КонецЦикла;


Остальные моменты я думаю не составит труда разобрать самому.
Bas_ERP_UX; Nelli_A86; user942338; katrineKA; rpgshnik; olsy; Craig; BoBaH; +8 Ответить
2. juntatalor 63 15.08.12 13:07 Сейчас в теме
1. Метаданные.Документы.[ИмяДокумента].Реквизиты (выполнять на сервере)

Решение второго вопроса вытекает из первого. Смотрите тип значения, во второй колонку вставляете пустое значение такого типа (0, "", Дата(1,1,1), Документы[ИмяДокумента].ПустаяСсылка и т.д.). Необходимо также запретить редактирование типа значения во второй колонке.
3. NadinBel 15.08.12 13:10 Сейчас в теме
попробуйте через это http://www.1c-galaxy.ru/forum5/topic746704/
в любом случае это будет делаться через объект метаданные
4. eababenko 15.08.12 13:38 Сейчас в теме
Какой тип данных использовать для первого реквизита табличной части?
6. mrm1212 36 20.04.18 14:27 Сейчас в теме
А кто знает как получить не только список реквизитов, но и их тип??? и если реквизит составного типа тоже..
7. t.v.s. 113 20.04.18 14:51 Сейчас в теме
(6)
Для Каждого Реквизит Из Документ.Метаданные().Реквизиты Цикл
        ТипРеквизита = Реквизит.Тип;
КонецЦикла;

ОбъектМетаданных: Реквизит (MetadataObject: Attribute)
Тип (Type)
Использование:

Только чтение.
Описание:

Тип: ОписаниеТипов.
Тип данных объекта метаданных.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Показать
8. mrm1212 36 20.04.18 15:14 Сейчас в теме
(7)
Спасибо! сейчас проверю с составным типом как получится!
9. 1CEnterprise 12.09.19 12:03 Сейчас в теме
Такой вариант не работает
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот