|
Как получить синоним реквизита? | ☑ | ||
---|---|---|---|---|
0
gerthog
10.03.15
✎
14:31
|
Есть задача, проверка заполнения реквизитов по условию. Реквизиты на техническом английском, а синонимы по русски и нужно, что бы если реквизит(например "X_GZT") не заполнен, тогда сообщить пользователю, что не заполнен реквизит "СинонимРеквизита". Гугл пока ничего подходящего не сказал, мб тут подскажут?
|
|||
1
aka AMIGO
10.03.15
✎
14:32
|
какая конфа? релиз?
|
|||
2
zak555
10.03.15
✎
14:33
|
Метаданные ?
|
|||
3
Vladal
10.03.15
✎
14:33
|
Правильно ли я понимаю, что синоним реквизита не заполнен в дереве метаданных?
Тогда по метаданным в цикле и проверять реквизит. Если НЕ ЗначениеЗаполнено(Реквизит.Синоним) Тогда // Ошибочка вышла КонецЕсли; |
|||
4
Веселый молочник
10.03.15
✎
14:34
|
никак
|
|||
5
aka AMIGO
10.03.15
✎
14:35
|
(4) почему "Никак"?
|
|||
6
Веселый молочник
10.03.15
✎
14:36
|
(5) потому что штатными средствами в режиме предприятия никак
|
|||
7
Vladal
10.03.15
✎
14:37
|
проверь и поправь в своей конфе:
МетаданныеДокумента = Источник.Метаданные(); // Проверка по реквизитам шапки Для Каждого РеквДок из МетаданныеДокумента.Реквизиты Цикл Сообщить(РеквДок.Синоним); КонецЦикла; // Проверка по табличным частям Для каждого ТабЧасть Из МетаданныеДокумента.ТабличныеЧасти Цикл Для каждого КолонкаТЧ Из ТабЧасть.Реквизиты Цикл Сообщить(КолонкаТЧ.Синоним); КонецЦикла; КонецЦикла; Я грубо вырезал свою обработку использования помеченных на удаление элементов справочников. (5) и (6) Потому что ты этого не знаешь. А средства штатные. Код - выше. |
|||
8
aka AMIGO
10.03.15
✎
14:38
|
(6) так в (3) и предложено нештатное :)
а штатно - только смотреть в конфигураторе дерево метаданных :) |
|||
9
aka AMIGO
10.03.15
✎
14:39
|
(7) понятно :)
|
|||
10
Vladal
10.03.15
✎
14:39
|
(8) Почему нештатное? Внешние компоненты, VBS, WSH - нештатное. А нативный код в 1С - штатное.
|
|||
11
Vladal
10.03.15
✎
14:40
|
+(7) Весь код такой (может, кому пригодится)
МетаданныеДокумента = Источник.Метаданные(); // Проверка по реквизитам шапки Для Каждого РеквДок из МетаданныеДокумента.Реквизиты Цикл Если ВидОбъектаПоСсылке(Источник[РеквДок.Имя]) = "Справочник" Тогда Если ЗначениеЗаполнено(Источник[РеквДок.Имя]) И Источник[РеквДок.Имя].ПометкаУдаления Тогда ОбщегоНазначения.СообщитьОбОшибке("Нельзя использовать помеченный на удаление элемент! |Реквизит шапки " + РеквДок.Синоним + " - " + Источник[РеквДок.Имя]); КонецЕсли; КонецЕсли; КонецЦикла; // Проверка по табличным частям Для каждого ТабЧасть Из МетаданныеДокумента.ТабличныеЧасти Цикл Для каждого СтрокаТЧ Из Источник[ТабЧасть.Имя] Цикл Для каждого КолонкаТЧ Из ТабЧасть.Реквизиты Цикл Если ВидОбъектаПоСсылке(СтрокаТЧ[КолонкаТЧ.Имя]) = "Справочник" Тогда Если ЗначениеЗаполнено(СтрокаТЧ[КолонкаТЧ.Имя]) И СтрокаТЧ[КолонкаТЧ.Имя].ПометкаУдаления Тогда ОбщегоНазначения.СообщитьОбОшибке("Нельзя использовать помеченный на удаление элемент! |Табличная часть " + ТабЧасть.Синоним + ", строка " + СтрокаТЧ.НомерСтроки + ", колонка " + КолонкаТЧ.Синоним + " - " + СтрокаТЧ[КолонкаТЧ.Имя], Отказ); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; |
|||
12
aka AMIGO
10.03.15
✎
14:40
|
(10) т.е. я вношу изменения в модуль конфы, и получаю штатное решение?
|
|||
13
DirecTwiX
10.03.15
✎
14:49
|
(12) Так обработки же есть
|
|||
14
Vladal
10.03.15
✎
14:50
|
(12) Внешней обработкой.
Что есть штатное и нештатное? Что есть штатное для типовой? Что есть нештатное для типовой? Что находится в папках Extforms на диске ИТС? |
|||
15
Timon1405
10.03.15
✎
14:51
|
Телепатирую: у ТС есть некий объект Деталь1, у которого есть реквизит Деталь1.X_GZT, у которого синоним, например "Ширина детали" и, если при загрузке извне она оказалась пустой, то сообщать нужно "у Детали1 не заполнена Ширина детали"
|
|||
16
Vladal
10.03.15
✎
14:52
|
(12) Вот получить Exif-информацию из фоток (размер, выдержка, GPS-координты. модель фотоаппарата, дата и время снимка и т.д.) средствами 1С без внешних компонент - явно нештатное, ибо приходилось задействовать vbs.
А прочиттать синоним метаданых - вполне себе штатный метод, описан в синтакс-помощнике. |
|||
17
Vladal
10.03.15
✎
14:53
|
(15) Хороший вариант.
|
|||
18
gerthog
10.03.15
✎
14:56
|
(1) Конфа - Управление Мед. Центром
(2) Что метаданные? (3) Нет, синоним в дереве метаданных заполнен. Например реквизит "X_TVP" его синоним: "ТВП". Программно проверяю заполнен ли реквизит "X_TVP", если нет, то нужно вывести сообщение пользователю "Не заполнен реквизит "ТВП"", но как узнать синоним реквизита не могу нагуглить. (7) Спасибо, сейчас попробую |
|||
19
b_ru
10.03.15
✎
14:57
|
>>Реквизиты на техническом английском
Я бы рекомендовал эвтаназию для автора решения. |
|||
20
gerthog
10.03.15
✎
15:00
|
(19) Не знаешь для чего и почему так сделано, а критикуешь - глупо
|
|||
21
Vladal
10.03.15
✎
15:05
|
(18) Ну вот как раз это и есть синоним:
ОбщегоНазначения.СообщитьОбОшибке("Нельзя использовать помеченный на удаление элемент! |Реквизит шапки " + РеквДок.Синоним + " - " + Источник[РеквДок.Имя]); РеквДок.Синоним -- синоним реквизита, как его привыкли видеть пользователи на экране. |
|||
22
aka AMIGO
10.03.15
✎
15:13
|
(16) я понял, спасибо! :)
|
|||
23
gerthog
10.03.15
✎
15:21
|
(21) Пробую сейчас по Вашему примеру. К метаданным можно обращаться только НаСервере, да?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |