|
Как проверить поле на существование ? |
☑ |
0
Dzhos
15.07.14
✎
08:24
|
Допустим я получил объект из ТЗ
ДокОбъект = СтрокаТЗ.Ссылка.ПолучитьОбъект();
теперь хочу узнать если там поле Склад?
если есть то назначить новое и записать?
ДокОбъект.Склад = Склад;
ДокОбъект.Записать();
|
|
1
Бешеная Нога
15.07.14
✎
08:24
|
получи метаданные и посмотри реквизиты
|
|
2
Бешеная Нога
15.07.14
✎
08:25
|
а проще всего - ЗаполнитьЗначенияСвойств(). запишет если поле есть
|
|
3
Dzhos
15.07.14
✎
08:25
|
Просто у меня там куча документов
в некоторых есть в некоторых нету склада(1)
|
|
4
Wobland
15.07.14
✎
08:28
|
а зачем в этой куче документы без склада?
|
|
5
Fish
гуру
15.07.14
✎
08:28
|
(3) Через метаданные
|
|
6
Dzhos
15.07.14
✎
08:28
|
Просто во всех есть Автор и Организация
а склад проблему создает (4)
|
|
7
Patrio_
O_Muerte
15.07.14
✎
08:29
|
В общем модуле есть функция соответствующая, не помню как называется
|
|
8
Wobland
15.07.14
✎
08:29
|
(6) на вопрос ответил, спасибо
|
|
9
Fish
гуру
15.07.14
✎
08:37
|
(6) Какую именно проблему?
|
|
10
Dzhos
15.07.14
✎
08:41
|
Поле Объекта не обнаружена(Склад)(9)
|
|
11
Рэйв
15.07.14
✎
08:43
|
Если Докссылка.Метаданные().Реквизиты.Найти("Склад")=Неопределено Тогда
Сообщить("Тут рыбы нет!");
КонецЕсли;
|
|
12
Dzhos
15.07.14
✎
08:48
|
Спасибо, то что нужно(11)
|
|
13
Адинэснег
15.07.14
✎
08:50
|
как не выпускной - так шквал этих веток
|
|
14
Wobland
15.07.14
✎
08:51
|
(13) месяце в ноябре засилье бывало
|
|
15
Jokero
15.07.14
✎
09:45
|
А с помощью попытка... исключение проверять наличие метаданных - это плохо?
|
|
16
Jokerman
15.07.14
✎
09:55
|
(15) лишний раз - да
|
|
17
Полотенчик
15.07.14
✎
10:00
|
(15) зачем принудительно создавать ошибку и пропускать ее, если можно сделать нормально без возникновения ошибок?
|
|
18
Jokero
15.07.14
✎
12:06
|
(17) ну не всегда же знаешь, что за метаданные приходят.
|
|
19
Wobland
15.07.14
✎
12:07
|
(18) это как? чорные-чорные метаданные?
|
|
20
Jokero
15.07.14
✎
14:09
|
(19)Почти. Ну так на вскидку - процедура которая дублирует функцию галочки Форма.ТолькоЧтение = истина;
Если стоит эта галка, то никакие события элементов формы не обрабатывают. Это не удобно, иногда нужно, что бы например ссылка осталась доступной.
Делается процедура, которая перебирает все элементы формы, и назначает тем элементам, у которых есть свойство ТолькоЧтение истина. У панели или надписи или переключателе такого свойства например нет, и их нужно просто пропустить.
Удобно в этом случае использовать
попытка... исключение.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший