Имя: Пароль:
1C
1C 7.7
v7: Поле агрегатного объекта не обнаружено
0 Масянька
 
19.02.15
11:55
День добрый!
Обработка "Добавить из документа" (самописка): суть в том, что в одном из док-ов нет реквизита ТЧ (коэффициент).
Как сделать проверку на отсутствие?
Типа: если нет реквизита...
Спасибо.
1 Godofsin
 
19.02.15
11:56
Попытка =)
2 Остап Сулейманович
 
19.02.15
12:01
(0) Ну так через Метаданные же.

Функция ЕстьРеквизитШапки(Док, ИмяРеквизита) Экспорт
    Перем ВидДок, _Док,Поз;
    ВидДок=Док.ТекущийДокумент().Вид();
    Возврат Метаданные.Документ(ВидДок).РеквизитШапки(ИмяРеквизита).Выбран();
КонецФункции

Функция ЕстьРеквизитТабличнойЧасти(Док, ИмяРеквизита) Экспорт
    ВидДок=Док.ТекущийДокумент().Вид();
    Возврат Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИмяРеквизита).Выбран();
КонецФункции
3 Масянька
 
19.02.15
12:02
(1) Спасибо! :)
4 Злопчинский
 
19.02.15
12:07
(3)  ты бы уже открыла глобальник в тисе например и просто почитала бы какие процедуры функции там есть
Способствует
Тем более там все просто не в пример уматной восьмерке
5 D_E_S_131
 
19.02.15
12:11
(1) "Быдлокодирование" нужно прививать с детства?
6 Ёпрст
 
19.02.15
12:15
(5) если че, попытка-исключение в разы быстрее, чем проверка через метаданные.
7 MiniMuk
 
19.02.15
12:26
(6) куда торопишься?
8 1Сергей
 
19.02.15
12:31
Эта... А проверять Док.Вид() не вариант ваще?
9 Масянька
 
19.02.15
12:32
Чего вы пристали?
(8) А зачем?
10 Ёпрст
 
19.02.15
12:32
(8) это самый тормозной метод
11 Godofsin
 
19.02.15
12:33
(5) Ну в этом случае назвать это быдлокодированием - спорный вопрос
12 1Сергей
 
19.02.15
12:34
(10) Ну, в (2) он как раз используется. Так что, всяко быстрее получится
13 Ёпрст
 
19.02.15
12:35
(12) быстрее чего ?

Вид() - мегатормоз, получение и проверка через метаданные - тоже.

Попытка-исключение - мгновенно.

На алгоритмах, массовой обработки, существенное замедление из-за вот таких вот "проверок"
14 1Сергей
 
19.02.15
12:37
(13) Быстрее проверки через метаданные. Невозможно проверить наличие реквизита через метаданные, не воспользовавщись методом Вид()
15 D_E_S_131
 
19.02.15
12:58
(13) На алгоритмах массовой обработки лучше понимать заранее что будешь обрабатывать. Здесь же скорее упор на универсальность.

(14) Получение метаданных от ссылки или от объекта не подходит?
16 1Сергей
 
19.02.15
13:37
(15) >>Получение метаданных от ссылки или от объекта не подходит?

Не подходит. Это семерка
17 Ёпрст
 
19.02.15
13:39
На самом деле, даже на открытие документа, влияет.. вообще обращение к метаданным ради этого - зло.
18 Ёпрст
 
19.02.15
13:40
достаточно посмотреть замер производительности - сколько на это времени тратится.
19 D_E_S_131
 
19.02.15
13:55
(16) А теперь к названию темы V77, v8 не добавляются?
20 1Сергей
 
19.02.15
14:00
(19) только по желанию автора
21 D_E_S_131
 
19.02.15
14:03
(20) Это же какая лазейка для "заднеприводных"!!! :(
22 aka AMIGO
 
19.02.15
14:03
(19) (20) - или по лени автора, когда нет сил жмакнуть мышой по выбору Секции :)
23 1Сергей
 
19.02.15
14:07
(21) "заднеприводных" почти не осталось, есть "полноприводные"
24 Масянька
 
19.02.15
14:08
(19) А секцию посмотреть - не судьба?
(22) Я указала секцию.
25 aka AMIGO
 
19.02.15
14:11
(24) у меня в (22) смайлик! вот такой: :)
26 aka AMIGO
 
19.02.15
14:13
в ОФФ. вообще-то частенько Секцию не указывают, т.к. то, что знает автор - знают все :)
27 aka AMIGO
 
19.02.15
14:15
сейчас посмотрел на первую страницу: из 20 тем в 4-х темах секция не указана :)
28 D_E_S_131
 
19.02.15
14:23
(24) Секция отражена в общем списке тем. К сожалению запомнить все открытые обсуждения из каких секций проблематично.