Как проверить наличие реквизита у управляемой формы. |
Я |
18.09.19 — 12:00
Разбираюсь с поведением управляемой формы.
Выявляется что нужно проверять наличие реквизита у Форма — тип которой УправляемаяФорма.
Так как реквизит появляется при использовании Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты). Как то по передаваемому массиву эти реквизиты видимо создаются.
Подскажите пожалуйста, как проверять есть ли у Форма, тот или иной реквизит ?
1 — 18.09.19 — 12:04
Купи у меня наконец синтакс-помощник и уроки по его чтению. Столько вопросов сразу снимется — ты даже не представляешь…
2 — 18.09.19 — 12:04
ПолучитьРеквизиты
3 — 18.09.19 — 12:09
Форма.ИспользоватьДопСведения = Ложь — то есть реквизит есть
почему он не находится?
Форма.ПолучитьРеквизиты().Найти(«ИспользоватьДопСведения») — неопределено
4 — 18.09.19 — 12:11
Или как правильно искать в этом случае? (3)
Массив реквизитов получил, как определять наличие реквизита? Перебором массива?
5 — 18.09.19 — 12:15
проще через по попытку
6 — 18.09.19 — 12:28
(5) Так метода никакого нет, проверить есть реквизит или нет.
Можно перебором массива как вариант.
Или попытка, и все?
7 — 18.09.19 — 12:31
(5) Как через попытку?
Вот реквизит Форма.ИспользоватьДопСведения, то есть то нет.
То значение, то поле не обнаружено.
И как на него проверять?
8 — 18.09.19 — 12:33
Попытка а = Форма.ИспользоватьДопСведения ЕстьРеквизит = Истина; Исключение ЕстьРеквизит = Ложь; КонецПопытки;
9 — 18.09.19 — 12:50
(8) И это будет считаться нормально?
10 — 18.09.19 — 12:55
(9) Да фик знает, но перебором массива с проверкой имени реквизита тоже как-то не то…
11 — 18.09.19 — 12:56
(10) Ну не знаю, а что не так? Перебирается массив, и выявляется реквизит.
То есть это лучше (8) ? И правильнее?
12 — 18.09.19 — 12:57
(10) перебор коллекции, тем более априори небольшой, да ещё в памяти — совершенно нормальный и очень быстрый вариант.
(8) А вот с этим отлаживать потом тяжко.
13 — 18.09.19 — 12:58
(12) То есть функция проверки массива на наличие значения будет лучше?
14 — 18.09.19 — 12:59
Ну массив можно в ТЗ запихать. А в ней уже поиском)))
15 — 18.09.19 — 13:00
(13) конечно.
Я имел удовольствие отлаживать код который был весь в попытках — то ещё испытание для нервов
16 — 18.09.19 — 13:01
(15) пару десятков элементов коллекции переберется за ничтожное время.
А если на форме будут тысячи реквизитов, поверьте, Вам будет не до быстродействия береборщика, хотя время все равно будет ничтожным.
17 — 18.09.19 — 13:04
Подскажите пожалуйста, как удалить элемент «ИспользоватьДопСведения» если он есть у формы ?
МассРеквизитов = Форма.ПолучитьРеквизиты();
Для каждого ЭлМасс Из МассРеквизитов Цикл
Если ЭлМасс.Имя = «ИспользоватьДопСведения» Тогда
КонецЕсли;
КонецЦикла;
18 — 18.09.19 — 13:06
(17) удалить можно только программно добавленные реквизиты.
Методом ИзменитьРеквизиты
19 — 18.09.19 — 13:08
(18) Мне нужно удалить этот реквизит, если он есть, перед методом Форма.ИзменитьРеквизиты(Реквизиты);
так как на нем выходит ошибка, что он не уникален, уже есть у формы. Там не ясное её поведение.
как его удалить подскажите, он вроде как и создается программно
20 — 18.09.19 — 13:09
(18) Как удалить именно этот реквизит?
21 — 18.09.19 — 13:09
(19) ну дык удали перед проблемной строчкой.
Удаляемые реквизиты это 2 параметр
22 — 18.09.19 — 13:12
(21) Эта строчка и есть проблемная
Форма.ИзменитьРеквизиты(Реквизиты);
То есть будет так?
МассРеквизитов = Форма.ПолучитьРеквизиты();
Для каждого ЭлМасс Из МассРеквизитов Цикл
Если ЭлМасс.Имя = «ИспользоватьДопСведения» Тогда
Форма.ИзменитьРеквизиты(Реквизиты, «ИспользоватьДопСведения»);
КонецЕсли;
КонецЦикла;
Форма.ИзменитьРеквизиты(Реквизиты);
Или я не пойму ((((
Там одна ситуация, точнее не одна.
На строке
Форма.ИзменитьРеквизиты(Реквизиты);
Выходит ошибка что реквизит «ИзменитьДопСведения» не уникальный
и я смотрю по коду, он в Форма, то есть то нет, вот ошибка когда есть.
Как тут правильнеесделать тогда?
23 — 18.09.19 — 13:20
Или вот так? Проверяю сейчас это.
Попытка
ЕстьРеквизитИспользоватьДопСведения = Форма.ИспользоватьДопСведения;
Форма.ИзменитьРеквизиты(Реквизиты, «ИспользоватьДопСведения»);
Исключение
Форма.ИзменитьРеквизиты(Реквизиты);
КонецПопытки;
24 — 18.09.19 — 13:37
Так ты удали его из массива Реквизиты перед тем, как делается
Форма.ИзменитьРеквизиты(Реквизиты);
25 — 18.09.19 — 13:37
ПОПРОБОВАЛ ТАК, НИЧЕГО НЕ РАБОТАЕТ. ПОДСКАЖИТЕ КАК избавиться от реквизита «ИспользоватьДопСведения»
перед строчкой
Форма.ИзменитьРеквизиты(Реквизиты);
/////////////////////////////////////////////////
Попытка
ЕстьРеквизитИспользоватьДопСведения = Форма.ИспользоватьДопСведения;
ЕстьРеквизитИспДопСведения = Истина;
Исключение
ЕстьРеквизитИспДопСведения = Ложь;
КонецПопытки;
Если ЕстьРеквизитИспДопСведения Тогда
УдаляемыйРеквДопСведения = Новый Массив;
УдаляемыйРеквДопСведения.Добавить(Реквизиты[0]);
Форма.ИзменитьРеквизиты(Реквизиты, УдаляемыйРеквДопСведения);
Иначе
Форма.ИзменитьРеквизиты(Реквизиты);
КонецЕсли;
26 — 18.09.19 — 13:38
(24) Понял, то есть я не с того конца, пробую решить вопрос.
Сейчас попробую.
27 — 18.09.19 — 14:06
(23) Коллега, вы изобрели третий вид ЯП. Ещё вчера они были трансляторы и компиляторы. Теперь, благодаря Вам, мир узнал, что код можно выполнять на форуме.
Там Столману замену ищут. У вас с английским тоже хорошо?
falselight
28 — 18.09.19 — 16:42
(27) Не все не так. Я просто решал не известную мне проблему.
И тема этой главы не есть её решение, там сложилось все по другому.
А тема эта была как путь к решению. Мне нужно было топливо.
Я завел её так как думал, что это одна из идей.
Но это ничего не пригодилось. Там все по другому.
И как я узнаю дальше.
Перейти в раздел примеры кода 1С 8.3:
При наличии в конфигурации БСП, желательно использовать метод ЕстьРеквизитИлиСвойствоОбъекта (ссылка выше). Но что делать если конфигурация нетиповая? Вариантов (в зависимости от поставленной задачи) несколько: скопировать метод из БСП, проверить на свойство объекта, проверить через поиск, использовать попытку (не рекомендуется, только как временная заплатка).
Проверка реквизита через свойство объекта в 1С 8.3:
Функция ПроверкаНаСвойствоОбъекта(Объект, ИмяСвойстваОбъекта) Экспорт
ЕстьСвойство = Ложь;
СтруктураОбъекта = Новый Структура(ИмяСвойстваОбъекта, Неопределено);
ЗаполнитьЗначенияСвойств(СтруктураОбъекта, Объект);
Если СтруктураОбъекта[ИмяСвойстваОбъекта] = Неопределено Тогда
СтруктураОбъекта[ИмяСвойстваОбъекта] = Ложь;
ЗаполнитьЗначенияСвойств(СтруктураОбъекта, Объект);
Если СтруктураОбъекта[ИмяСвойстваОбъекта] <> Ложь Тогда
ЕстьСвойство = Истина;
КонецЕсли;
Иначе
ЕстьСвойство = Истина;
КонецЕсли;
Возврат ЕстьСвойство;// Булево
КонецФункции
Проверка реквизита через Найти в 1С 8.3:
Функция ПроверитьНаРеквизит(ИмяРеквизита, МетаданныеДок) // универсальная функция
// Например ИмяРеквизита=»ДрагМеталлы»;
Если МетаданныеДок.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Функция НайтиДрагМеталлы(Номенклатура, Материал, ОсновноеСредство) // пример использования в универсальной обработке
// если реквизит шапки
ИмяРеквизита=«ДрагМеталлы»;
Если Метаданные.Справочники.Товары.Реквизиты.Найти(ИмяРеквизита) <> Неопределено Тогда
Возврат Номенклатура.ДрагМеталлы;
ИначеЕсли Метаданные.Справочники.Материалы.Реквизиты.Найти(ИмяРеквизита) <> Неопределено Тогда
Возврат Материал.ДрагМеталлы;
ИначеЕсли Метаданные.Справочники.ОсновныеСредства.Реквизиты.Найти(ИмяРеквизита) <> Неопределено Тогда
Возврат ОсновноеСредство.ДрагМеталлы;
Иначе
Возврат Ложь;
КонецЕсли;
// если реквизит таб.части
//Если НЕ ТекущаяСтрока.Свойство(ИмяРеквизита) ИЛИ НЕ ТекущаяСтрока.ДрагМеталлы Тогда
// ЗаполнитьЗначенияСвойств(ТаблицаДок.Добавить(), ТекущаяСтрока); // приёмник, источник
//КонецЕсли;
КонецФункции
Проверка реквизита через Попытка (&НаКлиенте) в 1С 8.3:
&НаКлиенте
Функция ПроверитьНаНаличиеРеквизитаЧерезПопытку(ИмяРеквизита)
Попытка
РеквизитФормыПоИмени = ЭтаФорма[ИмяРеквизита];
ЕстьРеквизитНаФорме = Истина;
Исключение
ЕстьРеквизитНаФорме = Ложь;
КонецПопытки;
Возврат ЕстьРеквизитНаФорме;
КонецФункции
В определенных задачах можно использовать метод в 1С 8.3:
ПолучитьРеквизиты(GetAttributes)
Синтаксис:
ПолучитьРеквизиты(<Путь>)
Параметры:
<Путь> (необязательный)
Тип: Строка.
Указывает путь к родительскому реквизиту. Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня.
Возвращаемое значение:
Тип: Массив.
Массив объектов РеквизитФормы.
Описание:
Получает описание реквизитов формы.
Copyright©, «Программист 1С в г.Минске», 06.11.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Добрый день! Нужно программно создавать ТЗ на УФ, а затем обновлять. Встал вопрос, как проверить перед добавлением нового реквизита формы, что он уже есть у формы?
Синтаксис: ПолучитьРеквизиты(<Путь>) Параметры: Тип: Строка. Указывает путь к родительскому реквизиту. Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня. Возвращаемое значение: Тип: Массив. Массив объектов РеквизитФормы. Описание: Получает описание реквизитов формы. Доступность: Сервер, мобильное приложение(сервер).
Ну а потом перебор массива и сравнение имени Альтернативный вариант: в попытке код Пустышка = ЭтотОбъект[ИмяРеквизита]; Но скорее всего это будет дольше работать
а Элементы.Найти не сработает?
Синтаксис: Найти(<Имя>) Параметры: Тип: Строка. Имя элемента формы. Возвращаемое значение: Тип: Элемент управления; Неопределено. Элемент управления в форме. Если элемент не найден, то возвращается значение Неопределено.
Спасибо всем! Подошло: ЭтаФорма.ПолучитьРеквизиты
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Содержание:
1. Когда возникает необходимость проверить наличие реквизита 1С?
2. Как можно получить метаданные объекта 1С?
1. Когда возникает необходимость проверить наличие реквизита 1С
Потребность проверки наличия реквизита обычно возникает при написании общих, универсальных процедур или функций, к примеру, когда необходимо выполнить ряд однообразных действий, проверить заполнение перед проведением, при этом реквизитный состав обрабатываемых объектов метаданных отличается незначительно (например, в документе, отражающем продажу товара, есть реквизит Склад, а в документе, отражающем перемещение товара – реквизиты Склад-отправитель и Склад-получатель).
В ряде типовых конфигураций 1С предлагается стандартная функция проверки наличия реквизита в объекте (расположена в модуле “ОбщегоНазначения”)
Функция ЕстьРеквизитОбъекта(ИмяРеквизита, МетаданныеОбъекта) Экспорт
Возврат НЕ (МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизита) = Неопределено);
КонецФункции
2. Как можно получить метаданные объекта 1С
Однако написать свою функцию также не представляет труда. В первую очередь необходимо получить метаданные объекта 1С одним из способов:
через функцию Метаданные() объекта
пример синтаксиса: СправочникСсылка.Метаданные()
ДокументСсылка.Метаданные()
через свойство глобального контекста Метаданные
пример синтаксиса: Метаданные.Справочники.[ИмяСправочника]
Метаданные.Документы.[ИмяДокумента]
Далее через свойство “Реквизиты” использовать функцию Найти(). В случае, если реквизит не найден, возвращается значение Неопределено.
Пример 1
Метаданные = Контрагент.Метаданные();
Если Метаданные.Реквизиты.Найти(«Ответственный») = Неопределено Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
Пример 2
Функция ПолучитьОрганизацию(Контрагент, Пользователь)
Если Метаданные.Справочники.Контрагенты.Реквизиты.Найти(«Организация») <> Неопределено Тогда
Возврат Контрагент.Организация;
Иначе
Возврат Пользователь.Организация;
КонецЕсли;
КонецФункции
Описанный алгоритм подходит для случаев проверки наличия реквизита шапки. Но что делать, когда возникает необходимость определить, существует ли реквизит в табличной части 1С (справочника или документа)? Для этого используется следующая конструкция:
Метаданные.Справочники.<ИмяСправочника>.ТабличныеЧасти.Реквизиты.Найти(<ИмяОбъектаПоиска>).
При обработке таблиц значений также возможно выполнить проверку существования колонки – в этом случае применяется метод Свойство(), с помощью которого, помимо основной функции – получения значения элемента по указанному имени, можно проверить, имеется ли указанного свойство.
Пример синтаксиса:
Если НЕ ТекущаяСтрока.Свойство(«Исключить») ИЛИ НЕ ТекущаяСтрока.Исключить Тогда
ЗаполнитьЗначенияСвойств(ТаблицаЗагрузки.Добавить(); ТекущаяСтрока);
КонецЕсли;
Специалист компании ООО «Кодерлайн»
Кондренко Анна Сергеевна
Содержание
- О чем собственно речь
- Как это реализовать
- Практический пример
- Подведем итог
- Проверка средствами платформы
- Программная проверка реквизитов с флагом «Выдавать ошибку»
- Программная проверка реквизитов
- Выводы
О чем собственно речь
Возможно у мноих из вас возникала задача проверять наличие определенного элемента на форме, или имеется ли на области макета нужный параметр. К сожалению, стандартных методов, позволяющих выполнить эту задачу, платформа не предоставляет.
Для значений типа «Структура» доступен метод «Свойство()»:
Если же мы попытаемся таким же образом узнать о существовании какого-либо элемента формы или параметра на области макета (как пример), то это вызовет следующую ошибку:
По подробной информации об ошибке видно, что коллекция элементов управляемой формы (переменная «Элементы») не имеет метода «Свойство()». Тоже самое относится к абсолютому большинству коллекций, которые поддерживает платформа.
Для некоторых коллекций, таких как «КолонкиТабличногоПоля», «КоллекцияЭлементовМетаданных» для использования доступен метод «Найти()», в качестве первого параметра которому предеатеся имя элемента для поиска. Методы возвращают найденный элемент или «Неопределено», если значение не найдено. Таким образом, с помощью метода найти можно унать наличие того или иного свойства для тех коллекций, которые поддерживают работу с ним.
Но что делать, если коллекция не поддерживает работу с подобными методами, описанными выше. В таких случая нужен совсем иной способ работы с этими типами данных.
Сегодня в статье будет идти речь об универсальном подходе, позволяющим определить наличие свойства у значения любого типа данных 1С:Предприятие 8.x.
Как это реализовать
Предлагаю написать универсальную функцию для определения наличия свойства у любого типа значения и затем перейти к использованию ее на небольшом примере.
Работа предлагаемого подхода основывается на использовании метода «ЗаполнитьЗначенияСвойств()» и переменной с типом «Структура». На следующем листинге приведен програмный код данной функции:
В принципе все понятно из коментариев на листинге. Единственным моментом, на что следуюет обратить внимание, является то, что если свойство будет найдено, а его значение при этом равно NULL, то функция все равно скажет, что такого свойства нет. В таких случаях нужно создавать дополнительную проверку.
Практический пример
В качестве примера в тестовой конфигурации добавим документ «ТестовыйДокумент» с несколькими реквизитами. На его форму добавлены соответствующие элементы формы.
В поле «Имя элемента» вводится имя элемента формы. По кнопке найти отрабатывает созданная нами ранее функция. После выполнения команды, программа уведомляет пользователя об успешности поиска. На следующем листинге приведен программный код обработчика команды и вызываемая процедура поиска свойств.
Тестовую конфигурация Вы можете скачать по ссылке .
Подведем итог
Описанный в статье подход позволяет проверять наличия свойст в коллекциях любого типа. Элементы формы, коллекция метаданных, параметры макета и много другое. Отрицательного влияния на производительность не имеет. Работает на любой версии платформы.
рубрики: Платформа 8.3 | Дата: 12 Июль, 2018
Одной из стандартных задач при работе с формами различных объектов 1С является проверка реквизитов формы на заполненность.
Рассмотрим несколько способов проверки заполненности реквизитов на форме. Рассматривать будем на примере элемента справочника.
Проверка средствами платформы
Как правило у различных объектов метаданных (справочники, документы и т.д.) часть реквизитов обязательны к заполнению. Это могут быть как стандартные реквизиты, например, для справочника наименование и код, так и реквизиты созданные в процессе конфигурирования. Для таких реквизитов свойство «Проверка заполнения» обычно устанавливается в значение «Выдавать ошибку»
Кроме этого в свойствах самой формы должен быть установлен флаг Проверять Заполнение Автоматически
Это позволяет выполнять проверку средствами платформы в момент записи объекта без написания дополнительного кода. Давайте посмотрим как это работает в режиме предприятия.
При выполнении такой проверки платформа осуществляет вызов предопределенной процедуры ОбработкаПроверкиЗаполненияНаСервере(), расположенной в модуле формы, а затем и вызов процедуры ОбработкаПроверкиЗаполнения(), которая находится уже в модуле объекта, если конечно эти процедуры имеются в наличии. И как мы видим организация такого рода проверки занимает минимальное количество усилий.
Программная проверка реквизитов с флагом «Выдавать ошибку»
Для реквизитов у которых свойство «Проверка заполнения» установлено в значение «Выдавать ошибку» достаточно легко можно организовать программную проверку буквально одной строчкой кода c помощью метода ПроверитьЗаполнение():
В отличие от предыдущего способа (когда проверка происходит в момент записи), мы можем вызвать данную проверку в любом месте своего кода. И точно также как и в предыдущем случае будут выполнены процедуры ОбработкаПроверкиЗаполненияНаСервере() и ОбработкаПроверкиЗаполнения()
Программная проверка реквизитов
И конечно же мы всегда можем программно проверить заполненность реквизитов вне зависимости от значения свойства «Проверка заполнения». В самом простейшем случае с помощью метода ЗначениеЗаполнено():
Давайте теперь попробуем разобраться в каком из предопределенных модулей лучше выполнять проверку, когда речь идет о записи объекта. Если мы обратимся к схеме событий при проведении документа, то увидим, что логично будет выполнить проверку до начала транзакции. То есть это следующие предопределенные процедуры:
- Модуль формы. ПередЗаписью()
- Модуль формы. ОбработкаПроверкиЗаполненияНаСервере()
- Модуль объекта. ОбработкаПроверкиЗаполнения()
- Модуль формы. ПередЗаписьюНаСервере()
Как правило проверка реквизитов выполняется в предопределенной процедуре модуля объекта ОбработкаПроверкиЗаполнения(). По умолчанию она выглядит следующим образом:
Здесь ПроверяемыеРеквизиты — это массив с именами реквизитов, которые подлежат проверке. Тип элементов массива — строка. Естественно, что платформа автоматически добавляет в этот массив имена реквизитов для которых установлено свойство «Выдавать ошибку». Но мы можем программно добавлять или удалять элементы массива и таким образом менять перечень проверяемых реквизитов:
Однако следует учитывать, что процедура ОбработкаПроверкиЗаполнения() не отрабатывает при программной записи объекта. Поэтому если заранее известно, что контроль реквизитов нужно производить как при интерактивной записи так и при программной, контроль заполненности реквизитов следует перенести в другую предопределенную процедуру в модуле объекта. Например ПередЗаписью().
Выводы
Из всего вышесказанного можно сделать вывод, что выбирать способ проверки заполненности реквизитов нужно для каждого случая индивидуально, но по возможности лучше возлагать эту обязанность на саму платформу.
Мощный инструмент для интеграции и управления интернет-магазином. Его преимуществом, является то, что для начала использования модуля необходимо минимум времени. Все сценарии для различных CMS и различных конфигураций 1С уже заложены в модуле и могут быть использованы большинством интернет-магазинов.
1. Минимум времени для настройки и старта модуля.
2. Простой и понятный интерфейс управления обменами. Все инструменты для выгрузки, загрузки и управления товарами и заказами.
3. Удобный инструмент для работы Вашего менеджера.
4. Модуль работает как внешнее приложение для 1С, что позволяет выполнять обновления конфигураций в автоматическом режиме.
Цена: 400$ | Подробная информация о модуле |
Проверка существования реквизита у объекта метаданных |
Написал Валецкий Станислав |
При написании универсальных процедур или функций (например проверка заполнения реквизитов перед проведением, или непосредственно проведение документов) возникает проблема, связанная с существованием или несуществованием некоторых реквизитов у объекта (например у документа продажи есть реквизит склад, а у документа перемещение — склад отправитель и склад получатель). Определить существование реквизита можно через метаданные, для этого понадобится вид объекта и имя реквизита. |
Для справочников код будет следующий:
Для документов код будет следующий:
Для табличной части документов код будет следующий:
0
1С 8.x : Функции ЕстьРеквизитДокумента и ЕстьРеквизитОбъекта
При разработке частенько нужно проверить наличие реквизита в документе или справочнике.
Ниже приведены функции позволяющие проверить наличие заданных реквизитов в объектах конфигурации:
Код 1C v 8.х
// Позволяет определить есть ли среди реквизитов шапки Объекта реквизит с переданным именем.
Функция ЕстьРеквизитОбъекта(ИмяРеквизита, Объект) Экспорт
МетаданныеОбъекта = Объект.Метаданные();
Если МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Для документа:
Код 1C v 8.х
// Позволяет определить есть ли среди реквизитов шапки документа
// реквизит с переданным именем.
//
// Параметры:
// ИмяРеквизита - строковое имя искомого реквизита,
// МетаданныеДокумента - объект описания метаданных документа, среди реквизитов которого производится поиск.
//
// Возвращаемое значение:
// Истина - нашли реквизит с таким именем, Ложь - не нашли.
//
Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт
Если МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
P.S. Посмотрите еще Полезные функции по работе с метаданными
Проверка реквизита, элемента формы на существование
FastCode
1413
11
21
66
1С
Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство
Автор: HostHost
// 1.
СтруктураПараметров.Свойство("ЗначенияРазовыхПоказателей", ЗначенияРазовыхПоказателей)
// 2.
Элементы.Найти("ИсполнителиРабот")
0
0
0
ред. 2 года назад
Недостаточно рейтинга для добавления отрицательного голоса. Шаблон будет скрыт из ваших результатов поиска.
-
Шаблоны кода 1С
База полезных фрагментов кода
-
Секреты TurboConf
С автором программы
-
Нейросети и AI
Будущее наступает
-
Лайфхаки 1С
Полезные советы, база знаний
-
Бубен админа
Приемы администрирования
-
1С не всерьез
Одинесники шутят
‹
›
Комментарии
См. также
Проверка поля на существование
УдалитьСтарыеРеквизитыИЭлементы (БСП)
УстановитьДоступностьЭлементовФормы (БСП)
ПроверитьКодСправочникаПоОрганизации (БСП)
ПроверкаЗаполненностиРеквизитовОтложеннойОтправки (БСП)
ЗаполнитьДополнительныеРеквизитыВФорме (БСП)
ОбновитьЭлементыДополнительныхРеквизитов (БСП)
РазрешитьРедактированиеРеквизитовОбъекта (БСП)
ОбработатьФайлПослеПроверкиСуществования (БСП)
Previous
Next
Модератору