|
v8: Проверка на реквизит в ТЧ документа
| ☑ |
0
Dmitrith
13.08.12
✎
09:38
|
Есть ТЧ документа. При этом в функции сам вид документа не определен. Так же не определено название ТЧ. как можно проверить данную ТЧ на нахождение в ней реквизита, ну например "Номенклатура"
|
|
1
ДенисЧ
13.08.12
✎
09:39
|
Попытка
ном = стрДок.Номенклатура;
Исключение
Сообщить("Нету такого");
КонецПопытки;
|
|
2
Dmitrith
13.08.12
✎
09:40
|
Через попытку некошерно как-то. Другие способы есть? )
|
|
3
ДенисЧ
13.08.12
✎
09:40
|
Через метаданные...
|
|
4
CepeLLlka
13.08.12
✎
09:41
|
(3) А если это просто реквизит на форме.. добавленная, вычисляемая колонка.
|
|
5
CepeLLlka
13.08.12
✎
09:41
|
?
|
|
6
Dmitrith
13.08.12
✎
09:42
|
Через метаданные насколько я вижу я должен знать вид документа и имя табличной части. А у меня ТЧДокумента как объект передано
|
|
7
France
13.08.12
✎
09:43
|
(4) элемент формы
(6) из тчдокумента документ можно получить.
|
|
8
PuhUfa
13.08.12
✎
09:49
|
// Позволяет определить есть ли среди реквизитов табличной части документа
// реквизит с переданным именем.
//
// Параметры:
// ИмяРеквизита - строковое имя искомого реквизита,
// МетаданныеДокумента - объект описания метаданных документа, среди реквизитов которого производится поиск.
// ИмяТабЧасти - строковое имя табличной части документа, среди реквизитов которого производится поиск
//
// Возвращаемое значение:
// Истина - нашли реквизит с таким именем, Ложь - не нашли.
//
Функция ЕстьРеквизитТабЧастиДокумента(ИмяРеквизита, МетаданныеДокумента, ИмяТабЧасти) Экспорт
ТабЧасть = МетаданныеДокумента.ТабличныеЧасти.Найти(ИмяТабЧасти);
Если ТабЧасть = Неопределено Тогда // Нет такой таб. части в документе
Возврат Ложь;
Иначе
Возврат НЕ (ТабЧасть.Реквизиты.Найти(ИмяРеквизита) = Неопределено);
КонецЕсли;
КонецФункции // ЕстьРеквизитТабЧастиДокумента()
|
|
9
Dmitrith
13.08.12
✎
09:51
|
(8) Это я уже видел. Я не знаю в функции ИмяТабЧасти и вид документа. Не хотелось бы добавлять.
|
|
10
PuhUfa
13.08.12
✎
09:52
|
(9) ты же в (7) пишешь, что "А у меня ТЧДокумента как объект передано"
|
|
11
Reset
13.08.12
✎
10:08
|
(0) ЕстьРеквизит=Метаданные.НайтиПоТипу(ТипЗнч(ТЧ)).Реквизиты.Найти(ИмяРеквизита)<>Неопределено
|
|