0
1С 8.3 : Функции ЕстьРеквизитДокумента и ЕстьРеквизитОбъекта
При разработке частенько нужно проверить наличие реквизита в документе или справочнике.
Ниже приведены функции позволяющие проверить наличие заданных реквизитов в объектах конфигурации:
Код 1C v 8.х
// Позволяет определить есть ли среди реквизитов шапки Объекта реквизит с переданным именем.
Функция ЕстьРеквизитОбъекта(ИмяРеквизита, Объект) Экспорт
МетаданныеОбъекта = Объект.Метаданные();
Если МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Для документа:
Код 1C v 8.х
// Позволяет определить есть ли среди реквизитов шапки документа
// реквизит с переданным именем.
//
// Параметры:
// ИмяРеквизита - строковое имя искомого реквизита,
// МетаданныеДокумента - объект описания метаданных документа, среди реквизитов которого производится поиск.
//
// Возвращаемое значение:
// Истина - нашли реквизит с таким именем, Ложь - не нашли.
//
Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт
Если МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
P.S. Посмотрите еще Полезные функции по работе с метаданными
Вопрос Как определить программно, существует ли у документа требуемый реквизит
С давних времен в типовых конфигурациях для этого существовала специальная функция.
В конфигурациях последних редакций эта функция стала более универсальной и кроме того стала неожиданно оригинальной, даже эстетически восхитительной.
Так, на сегодня, в 2019 г., эта функция называется ЕстьРеквизитИлиСвойствоОбъекта и располагается в общем модуле ОбщегоНазначенияКлиентСервер. Обращение к функции:
ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Форма, "ПериодРегистрацииИсправленногоДокумента")
Сама функция проверки выглядит сейчас (2019 год) так:
// Проверяет наличие реквизита или свойства у произвольного объекта без обращения к метаданным. // // Параметры: // Объект - Произвольный - объект, у которого нужно проверить наличие реквизита или свойства; // ИмяРеквизита - Строка - имя реквизита или свойства. // // Возвращаемое значение: // Булево - Истина, если есть. // Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт КлючУникальности = Новый УникальныйИдентификатор; СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; КонецФункции
В типовых конфигурациях 1С по состоянию на 2010 г. для этой цели использовалась функция, например, «ЕстьРеквизитДокумента» общего модуля «ОбщегоНазначения» и была построена на получении метаданных. Обращение к функции:
Если ОбщегоНазначения.ЕстьРеквизитДокумента("БанковскийСчет", МетаданныеДокумента) Тогда ...
где «БанковскийСчет» — пример наименования искомого реквизита,
«МетаданныеДокумента«:
МетаданныеДокумента = ДокументОбъект.Метаданные();
Сама функция проверки (расположенная в общем модуле «ОбщегоНазначения«):
// Позволяет определить есть ли среди реквизитов шапки документа // реквизит с переданным именем. // // Параметры: // ИмяРеквизита - строковое имя искомого реквизита, // МетаданныеДокумента - объект описания метаданных документа, среди реквизитов которого производится поиск. // // Возвращаемое значение: // Истина - нашли реквизит с таким именем, Ложь - не нашли. // Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт Если МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции // ЕстьРеквизитДокумента()
Next Post
-
v8
-
Программисту 1C
Ср Ноя 10 , 2010
Примеры работы с регистами сведений см. также в Шпаргалке по программированию для системы 1С:Предприятие 8.2 Оглавление 1. Как из регистра сведений «РасчетчикиЗарплатыОрганизации» получить в виде массива всех расчетчиков зарплаты определенного подразделения организации 2. Как добавить запись в непериодический независимый регистр сведений 3. Как считать содержимое непериодического независимого регистра сведений «СобственныеКонтрагенты» […]
Breaking News
Проверка существования реквизита |
Я |
03.09.14 — 10:02
Народ, подскажите как проверить существование реквизита у документа. Не его заполнение, а именно существование
1 — 03.09.14 — 10:05
Если Документ.Метаданные().Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
Сообщить(«Нету»);
КонецЕсли;
2 — 03.09.14 — 10:09
(1) ага, а если метаданных нету
(0) через Попытка — наверняка
3 — 03.09.14 — 10:12
(2) т.е. как нету ? ))
4 — 03.09.14 — 10:16
(3) ну ты че с будуна внешней обработкой в нету конфу не тыкал?
в пустой тоже запускается
5 — 03.09.14 — 10:18
(4) всё равно есть метаданные у документа, хоть обработкой тыкай, хоть чем.
6 — 03.09.14 — 10:18
(4)В не той конфе пошлет лесом через ошибку и это будет правильно и соразмерно:-)
7 — 03.09.14 — 10:20
(4) ну если с фанатизмом, то версию еще конфы при открытии проверить да? ))
8 — 03.09.14 — 10:21
(5)
Наверное он имеет в виду вариант если в обработке стоит:
Документ=Документы.КакойтоВид.ПустаясСылка();
в случае если нет такого вида:-)
9 — 03.09.14 — 10:23
(2) Попытка — ЗЛО
10 — 03.09.14 — 10:25
(1) у Задачи поищи реквизит «Адресат»….
или у справочника «Код»
в 8.1 было все просто, сейчас развели по разным коллекциям, по этому стало куда более проблемно…
11 — 03.09.14 — 10:28
можно через задницу
Структура = Новый Структура(ИмяРеквизита);
ЗаполнитьЗначенияСвойств(Структура, Документ);
Если Структура[ИмяРеквизита] = Неопределено Тогда
Сообщить(«Нету»);
КонецЕсли;
12 — 03.09.14 — 10:30
(10) >>у справочника «Код»
а зачем его искать?
13 — 03.09.14 — 10:32
(9) если проверять наличие каждого объекта метаданных в процессе обращения — супер мега универсальная обработка получится. года через два тестирования
14 — 03.09.14 — 10:33
(12) а его может и не быть…. да у справочника может не быть кода
проверь на длине кода = 0
15 — 03.09.14 — 10:34
(14) ну и проверяй длину кода отдельно
да несколько не однообразно, ну что делать
16 — 03.09.14 — 10:34
(12) или например общие реквизиты у документов, угадай где они
17 — 03.09.14 — 10:34
(13) ты просто не знаешь какое зло эта «попытка»
18 — 03.09.14 — 10:34
(12) его может не быть
19 — 03.09.14 — 10:36
(15) ты не понял, его физически в таблице нет, колонки нет! и запрос вылетет с ошибкой
20 — 03.09.14 — 10:52
(17) И какое ж зло это — попытка? Не поясните?
21 — 03.09.14 — 10:57
Я кстати тоже подумал над попыткой. -почему мегазло???
22 — 03.09.14 — 10:59
23 — 03.09.14 — 11:01
вот еще про попытки исключение и остановка по ошибке в отладчике
http://forum.infostart.ru/forum26/topic56814/
24 — 03.09.14 — 11:17
(20)(21) вы теряете ошибку, все проходит «хорошо», но результат может быть плачевен
25 — 03.09.14 — 11:20
(22) (24) ну это смотря где пытаться проверять
в приначалеработысистемы или в приоткрытии, если внешняя обработка — ничего не будет
26 — 03.09.14 — 11:25
+ флажок один раз зарядил — и работай себе не хочу
а про метаданные в 150-ти местах вставлять — это каждый тормоз может
27 — 03.09.14 — 11:28
(24) Например?
28 — 03.09.14 — 11:46
(10) Речь про документ вообще-то, а не про задачу и не про справочник
29 — 03.09.14 — 11:48
(8) Вообще-то в таких случаях сначала делается проверка на существование вида документа, а уже потом его реквизитов.
30 — 03.09.14 — 11:50
+(10) адресата у задачи и код у справочника надо искать через СтандартныеРеквизиты
31 — 03.09.14 — 11:54
(30) У стандартных реквизитов НЕТ метода «НАЙТИ» — только перебором, либо через «заполнитьЗначенияСвойств», либо через попытку
32 — 03.09.14 — 11:57
(0) Вот тебе универсальная процедура. Кинь в общий модуль и пользуйся:
Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт
Если МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
//<—Maximus
Для Каждого Реквизит Из МетаданныеДокумента.СтандартныеРеквизиты цикл
Если Врег(Реквизит.Имя) = Врег(ИмяРеквизита) Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
//Maximus—>
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции // ЕстьРеквизитДокумента()
33 — 03.09.14 — 11:57
(24) Конструкцией, позволяющей отработать ошибку, вы умудряетесь её потерять?? Вспоминается анекдот: а где шары металлические? — один сломал, второй про..терял.
34 — 03.09.14 — 11:59
Конечно, это сугубое ИМХО. Я считаю при хорошей архитектуре решения не должна вставать необходимость выяснения наличия реквизитов.
35 — 03.09.14 — 12:03
(34) имело место быть на больших кусках, вложенных в Попытка
36 — 03.09.14 — 12:03
(22) (23) — осилил, но так и не понял, зачем к серьёзному вопросу ссылки на ламерские топики?
Адский плющ
37 — 03.09.14 — 12:10
(24) +1
Попытка хороша, когда в блоке «Исключение» вызывается исключение.
Ну кроме пользовательского уровня, когда в исключении просто выводится более вежливое сообщение.
// Проверяет наличие реквизита или свойства у произвольного объекта без обращения к метаданным.
//
// Параметры:
// Объект — Произвольный — объект, у которого нужно проверить наличие реквизита или свойства;
// ИмяРеквизита — Строка — имя реквизита или свойства.
//
// Возвращаемое значение:
// Булево — Истина, если есть.
//
Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт
КлючУникальности = Новый УникальныйИдентификатор;
СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности);
ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект);
Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности;
КонецФункции
Войти или зарегистрироваться
8.х Как проверить реквизит/Объект метаданных на существование?
Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем alp, 17 апр 2010.
-
0/5,
Голосов: 0
-
Offline
alp
Опытный в 1С- Регистрация:
- 8 янв 2009
- Сообщения:
- 434
- Симпатии:
- 0
- Баллы:
- 26
есть Список реквизитов:
Контрагент
Договор
Договор2
….
Как проверить существует ли этот реквизит в объекте?
подобно методу Выбран() в 77.
alp,
17 апр 2010
#1 -
Offline
mialord
Модераторы
Команда форума
Модератор- Регистрация:
- 31 июл 2009
- Сообщения:
- 5.460
- Симпатии:
- 53
- Баллы:
- 54
Здраствуйте!
Если Вы хотите проверить существует ли реквизит у объекта метаданных контрагент, то самый простой способ попытаться его получить через Метаданные() с использованием оператора Попытка … КонецПопытки;
mialord,
17 апр 2010
#2 -
Offline
Stack_G
Опытный в 1С- Регистрация:
- 10 дек 2007
- Сообщения:
- 786
- Симпатии:
- 2
- Баллы:
- 29
Из типовой:
Код:МетаданныеДокумента = ДокументОбъект.Метаданные();
Код:// Позволяет определить есть ли среди реквизитов шапки документа // реквизит с переданным именем. // // Параметры: // ИмяРеквизита - строковое имя искомого реквизита, // МетаданныеДокумента - объект описания метаданных документа, среди реквизитов которого производится поиск. // // Возвращаемое значение: // Истина - нашли реквизит с таким именем, Ложь - не нашли. // Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт Если МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции // ЕстьРеквизитДокумента()
Переписать под любой объект не составляет труда:
Код:Функция ЕстьРеквизитОбъекта(ИмяРеквизита, Объект) Экспорт МетаданныеОбъекта = Объект.Метаданные(); Если МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции
Как говорит «начальника форума»: «все украдено до нас»
Stack_G,
17 апр 2010
#3
- Похожие темы
-
8.х
Как проверить существование переменной
GRUV,
15 май 2008, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 5
- Просмотров:
- 6.698
- BabySG
- 20 май 2008
-
8.х
Как созданную в SQL таблицу превратить в объект метаданных 1С 8.2?
МалышкА,
8 мар 2014, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 4
- Просмотров:
- 849
- Thelearning
- 12 мар 2014
-
7.7
Проверить существование файла запросом
man37,
21 ноя 2015, в разделе: Конфигурирование на платформе «1С:Предприятие 7.7»
- Ответов:
- 8
- Просмотров:
- 2.765
- man37
- 23 ноя 2015
-
[РЕШЕНО]
Как проверить существование узла при чтении ФабрикаXDTO
Aidis,
27 ноя 2015, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 3
- Просмотров:
- 2.723
- hawksib
- 24 сен 2019
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…
Содержание
- О чем собственно речь
- Как это реализовать
- Практический пример
- Подведем итог
- Проверка средствами платформы
- Программная проверка реквизитов с флагом «Выдавать ошибку»
- Программная проверка реквизитов
- Выводы
О чем собственно речь
Возможно у мноих из вас возникала задача проверять наличие определенного элемента на форме, или имеется ли на области макета нужный параметр. К сожалению, стандартных методов, позволяющих выполнить эту задачу, платформа не предоставляет.
Для значений типа «Структура» доступен метод «Свойство()»:
Если же мы попытаемся таким же образом узнать о существовании какого-либо элемента формы или параметра на области макета (как пример), то это вызовет следующую ошибку:
По подробной информации об ошибке видно, что коллекция элементов управляемой формы (переменная «Элементы») не имеет метода «Свойство()». Тоже самое относится к абсолютому большинству коллекций, которые поддерживает платформа.
Для некоторых коллекций, таких как «КолонкиТабличногоПоля», «КоллекцияЭлементовМетаданных» для использования доступен метод «Найти()», в качестве первого параметра которому предеатеся имя элемента для поиска. Методы возвращают найденный элемент или «Неопределено», если значение не найдено. Таким образом, с помощью метода найти можно унать наличие того или иного свойства для тех коллекций, которые поддерживают работу с ним.
Но что делать, если коллекция не поддерживает работу с подобными методами, описанными выше. В таких случая нужен совсем иной способ работы с этими типами данных.
Сегодня в статье будет идти речь об универсальном подходе, позволяющим определить наличие свойства у значения любого типа данных 1С:Предприятие 8.x.
Как это реализовать
Предлагаю написать универсальную функцию для определения наличия свойства у любого типа значения и затем перейти к использованию ее на небольшом примере.
Работа предлагаемого подхода основывается на использовании метода «ЗаполнитьЗначенияСвойств()» и переменной с типом «Структура». На следующем листинге приведен програмный код данной функции:
В принципе все понятно из коментариев на листинге. Единственным моментом, на что следуюет обратить внимание, является то, что если свойство будет найдено, а его значение при этом равно NULL, то функция все равно скажет, что такого свойства нет. В таких случаях нужно создавать дополнительную проверку.
Практический пример
В качестве примера в тестовой конфигурации добавим документ «ТестовыйДокумент» с несколькими реквизитами. На его форму добавлены соответствующие элементы формы.
В поле «Имя элемента» вводится имя элемента формы. По кнопке найти отрабатывает созданная нами ранее функция. После выполнения команды, программа уведомляет пользователя об успешности поиска. На следующем листинге приведен программный код обработчика команды и вызываемая процедура поиска свойств.
Тестовую конфигурация Вы можете скачать по ссылке .
Подведем итог
Описанный в статье подход позволяет проверять наличия свойст в коллекциях любого типа. Элементы формы, коллекция метаданных, параметры макета и много другое. Отрицательного влияния на производительность не имеет. Работает на любой версии платформы.
рубрики: Платформа 8.3 | Дата: 12 Июль, 2018
Одной из стандартных задач при работе с формами различных объектов 1С является проверка реквизитов формы на заполненность.
Рассмотрим несколько способов проверки заполненности реквизитов на форме. Рассматривать будем на примере элемента справочника.
Проверка средствами платформы
Как правило у различных объектов метаданных (справочники, документы и т.д.) часть реквизитов обязательны к заполнению. Это могут быть как стандартные реквизиты, например, для справочника наименование и код, так и реквизиты созданные в процессе конфигурирования. Для таких реквизитов свойство «Проверка заполнения» обычно устанавливается в значение «Выдавать ошибку»
Кроме этого в свойствах самой формы должен быть установлен флаг Проверять Заполнение Автоматически
Это позволяет выполнять проверку средствами платформы в момент записи объекта без написания дополнительного кода. Давайте посмотрим как это работает в режиме предприятия.
При выполнении такой проверки платформа осуществляет вызов предопределенной процедуры ОбработкаПроверкиЗаполненияНаСервере(), расположенной в модуле формы, а затем и вызов процедуры ОбработкаПроверкиЗаполнения(), которая находится уже в модуле объекта, если конечно эти процедуры имеются в наличии. И как мы видим организация такого рода проверки занимает минимальное количество усилий.
Программная проверка реквизитов с флагом «Выдавать ошибку»
Для реквизитов у которых свойство «Проверка заполнения» установлено в значение «Выдавать ошибку» достаточно легко можно организовать программную проверку буквально одной строчкой кода c помощью метода ПроверитьЗаполнение():
В отличие от предыдущего способа (когда проверка происходит в момент записи), мы можем вызвать данную проверку в любом месте своего кода. И точно также как и в предыдущем случае будут выполнены процедуры ОбработкаПроверкиЗаполненияНаСервере() и ОбработкаПроверкиЗаполнения()
Программная проверка реквизитов
И конечно же мы всегда можем программно проверить заполненность реквизитов вне зависимости от значения свойства «Проверка заполнения». В самом простейшем случае с помощью метода ЗначениеЗаполнено():
Давайте теперь попробуем разобраться в каком из предопределенных модулей лучше выполнять проверку, когда речь идет о записи объекта. Если мы обратимся к схеме событий при проведении документа, то увидим, что логично будет выполнить проверку до начала транзакции. То есть это следующие предопределенные процедуры:
- Модуль формы. ПередЗаписью()
- Модуль формы. ОбработкаПроверкиЗаполненияНаСервере()
- Модуль объекта. ОбработкаПроверкиЗаполнения()
- Модуль формы. ПередЗаписьюНаСервере()
Как правило проверка реквизитов выполняется в предопределенной процедуре модуля объекта ОбработкаПроверкиЗаполнения(). По умолчанию она выглядит следующим образом:
Здесь ПроверяемыеРеквизиты — это массив с именами реквизитов, которые подлежат проверке. Тип элементов массива — строка. Естественно, что платформа автоматически добавляет в этот массив имена реквизитов для которых установлено свойство «Выдавать ошибку». Но мы можем программно добавлять или удалять элементы массива и таким образом менять перечень проверяемых реквизитов:
Однако следует учитывать, что процедура ОбработкаПроверкиЗаполнения() не отрабатывает при программной записи объекта. Поэтому если заранее известно, что контроль реквизитов нужно производить как при интерактивной записи так и при программной, контроль заполненности реквизитов следует перенести в другую предопределенную процедуру в модуле объекта. Например ПередЗаписью().
Выводы
Из всего вышесказанного можно сделать вывод, что выбирать способ проверки заполненности реквизитов нужно для каждого случая индивидуально, но по возможности лучше возлагать эту обязанность на саму платформу.
Мощный инструмент для интеграции и управления интернет-магазином. Его преимуществом, является то, что для начала использования модуля необходимо минимум времени. Все сценарии для различных CMS и различных конфигураций 1С уже заложены в модуле и могут быть использованы большинством интернет-магазинов.
1. Минимум времени для настройки и старта модуля.
2. Простой и понятный интерфейс управления обменами. Все инструменты для выгрузки, загрузки и управления товарами и заказами.
3. Удобный инструмент для работы Вашего менеджера.
4. Модуль работает как внешнее приложение для 1С, что позволяет выполнять обновления конфигураций в автоматическом режиме.
Цена: 400$ | Подробная информация о модуле |
Проверка существования реквизита у объекта метаданных |
Написал Валецкий Станислав |
При написании универсальных процедур или функций (например проверка заполнения реквизитов перед проведением, или непосредственно проведение документов) возникает проблема, связанная с существованием или несуществованием некоторых реквизитов у объекта (например у документа продажи есть реквизит склад, а у документа перемещение — склад отправитель и склад получатель). Определить существование реквизита можно через метаданные, для этого понадобится вид объекта и имя реквизита. |
Для справочников код будет следующий:
Для документов код будет следующий:
Для табличной части документов код будет следующий:
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
1 |
|
Проверить наличие реквизита через свойство13.09.2018, 13:47. Показов 24767. Ответов 12
Добрый день, вообщем нужно проверить есть ли реквизит в справочнике, как это проверить? через метаданные не идёт, так как пишет поле объекта не обнаружено
0 |
_ЕГОР_ Тест 383 / 162 / 56 Регистрация: 26.02.2010 Сообщений: 1,241 |
||||
13.09.2018, 13:59 |
2 |
|||
0 |
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
13.09.2018, 14:51 [ТС] |
3 |
_ЕГОР_, а как-нибудь без попытки можно?
0 |
Тест 383 / 162 / 56 Регистрация: 26.02.2010 Сообщений: 1,241 |
|
13.09.2018, 14:58 |
4 |
Владислаучык, а чем попытка то не устраивает?
0 |
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
13.09.2018, 14:59 [ТС] |
5 |
_ЕГОР_, Да и с попыткой как-то не идёт
0 |
Тест 383 / 162 / 56 Регистрация: 26.02.2010 Сообщений: 1,241 |
|
13.09.2018, 15:06 |
6 |
что не идет то? есть реквизит, но он падает в исключение?
0 |
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
13.09.2018, 15:12 [ТС] |
7 |
_ЕГОР_, я не в справочнике нахожусь, реквизит текущего справочника ссылается на справочник, вот в том справочнике и нужноо проверить наличие определенного реквизита. Можно же как-то через свойство проверить?
0 |
Тест 383 / 162 / 56 Регистрация: 26.02.2010 Сообщений: 1,241 |
|
13.09.2018, 15:24 |
8 |
ну получите вы пустую ссылку этого справочника, и далее через попытку проверьте
0 |
3 / 3 / 7 Регистрация: 21.03.2013 Сообщений: 638 |
|
13.09.2018, 16:19 [ТС] |
9 |
Если Не (Справочники.ПрофессииРабочих.ПолучитьСсылку().Мет аданные().Реквизиты.Найти(«КодПоОКРБ») = Неопределено) — кароч вот как я сделал, если кому надо
0 |
polax 1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,396 |
||||
13.09.2018, 18:53 |
10 |
|||
Владислаучык, Тогда уж сократите
1 |
Эксмет |
14.09.2018, 07:37
|
Не по теме:
Владислаучык, а чем попытка то не устраивает? Вы фазу определяете, приложив провод к языку?
0 |
_ЕГОР_ |
14.09.2018, 07:57
|
Не по теме:
Вы фазу определяете, приложив провод к языку? какое тонкое сравнение
0 |
Эксмет |
14.09.2018, 08:04
|
Не по теме:
какое тонкое сравнение Почему же тонкое? Такое же глупое действие как и проверять что-то через ошибку, вместо того, чтобы открыть С-П)
0 |