|
|
|
Как проверить наличие колонки в ТЧ документа? | ☑ | ||
|---|---|---|---|---|
|
0
Прекрасный дилетант
13.12.10
✎
07:29
|
Как проверить наличие определенной колонки в ТЧ документа? Используя саму ТЧ, без ссылки на документ.
|
|||
|
1
Defender aka LINN
13.12.10
✎
07:31
|
Через метаданные. Или выгрузить структуру в ТЗ и посмотреть в ней.
|
|||
|
2
6tuf
13.12.10
✎
07:33
|
еще можно через элементы формы. что-нибудь типа
Если ЭтаФорма.ЭлементыФормы.ТабличнаяЧасть.Колонки.Найти("НужнаяКолонка") = Неопределено Тогда Сообщить("Все плохо"); КонецЕсли; |
|||
|
3
Прекрасный дилетант
13.12.10
✎
07:33
|
(1) Как через метаданные?
|
|||
|
4
Генератор
13.12.10
✎
07:38
|
Функция ЕстьРеквизитТабЧастиДокумента(ИмяРеквизита, МетаданныеДокумента, ИмяТабЧасти) Экспорт
ТабЧасть = МетаданныеДокумента.ТабличныеЧасти.Найти(ИмяТабЧасти); Если ТабЧасть = Неопределено Тогда // Нет такой таб. части в документе Возврат Ложь; Иначе Возврат НЕ (ТабЧасть.Реквизиты.Найти(ИмяРеквизита) = Неопределено); КонецЕсли; КонецФункции |
|||
|
5
Генератор
13.12.10
✎
07:40
|
+(4) Метаданные взять методом Метаданные() у объекта или ссылки, взято из типовой
|
|||
|
6
Прекрасный дилетант
13.12.10
✎
07:41
|
(4) у меня есть только сама ТЧ, как по ней получить метаданные документа и имя ТЧ?
|
|||
|
7
Прекрасный дилетант
13.12.10
✎
07:43
|
+6 такой код я бы и в типовой подглядел.
|
|||
|
8
Рэйв
13.12.10
✎
07:44
|
(6)В каком модуле происходят эти танцы с бубном?
|
|||
|
9
Прекрасный дилетант
13.12.10
✎
07:45
|
(8) в общем, а какая разница?
|
|||
|
10
Рэйв
13.12.10
✎
07:49
|
(9)Да вобщем то большая. Было бы в модуле объекта или формы было бы проще.
известная ТЧ - это таб часть документа или таб . поле на форме? |
|||
|
11
ShoGUN
13.12.10
✎
07:52
|
(6) Если тебе надо строго БЕЗ ССЫЛКИ, то
ТЗ = ТЧ.ВыгрузитьКолонки(); ЕстьКолонка = ЗначениеЗаполнено(ТЗ.Колонки.Найти(ИмяКолонки)); |
|||
|
12
Прекрасный дилетант
13.12.10
✎
07:52
|
(10) ТЧ это ТЧ
|
|||
|
13
Рэйв
13.12.10
✎
07:56
|
(12)Аха. Только в модулях объекта она нафиг бы не нужна была.
ЭтотОбъект.Метаданные() +(4) |
|||
|
14
Рэйв
13.12.10
✎
07:57
|
Вернее нужна но подругому:)
|
|||
|
15
ShoGUN
13.12.10
✎
07:59
|
(13) Прозреваю: (0) пишет какую-то универсальную обработку, которая перебирает все документы в базе. Правда что мешает при этом получить ссылку - нипанятна.
|
|||
|
16
Прекрасный дилетант
13.12.10
✎
08:01
|
(15) ссылку ладно, как получить имя ТЧ?
|
|||
|
17
Прекрасный дилетант
13.12.10
✎
08:05
|
(15) нифига не прозреваешь. В типовой процедура в общем модуле, передается ссылка на документ и ТЧ. Мне надо проверить наличие колонок в ТЧ.
|
|||
|
18
ShoGUN
13.12.10
✎
08:08
|
(17) Так ссылка-то передается... Или я чего-то не понимаю?
|
|||
|
19
ShoGUN
13.12.10
✎
08:09
|
+(18) И нафига вообще имя ТЧ? Дайте кода уже.
|
|||
|
20
Прекрасный дилетант
13.12.10
✎
08:11
|
(18) передается, но как получить имя ТЧ?
|
|||
|
21
Прекрасный дилетант
13.12.10
✎
08:11
|
(19) имя ТЧ для
МетаданныеДокумента.ТабличныеЧасти.Найти(ИмяТабЧасти); |
|||
|
22
ShoGUN
13.12.10
✎
08:16
|
(21) Опс... Да, действительно. Вот всегда такое с метаданными :/
|
|||
|
23
Рэйв
13.12.10
✎
08:18
|
ну если немного извратиться то можно так:
строчка=СтрЗаменить(Строка(ТЧ),"ДокументТабличнаяЧасть.",""); ТочкаМесто=Найти(строчка,"."); дл=СтрДлина(строчка); ИмяТабЧасти=Прав(строчка,(дл-ТочкаМесто)); Сообщить(ИмяТабЧасти); |
|||
|
24
Прекрасный дилетант
13.12.10
✎
08:21
|
Придется выгружать в ТЗ, спасибо за помощь.
Тему можно закрыть. |
|||
|
25
TankerM
13.12.10
✎
08:55
|
А перебрать все табличные части документа, каждую сравнить с неизвестной ТЧ и таким образом установить ее имя?
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |