Возможен ли поиск имени элемента УФ, по частям строки?
Здравствуйте. Подскажите пожалуйста, код всех документов в БГУ выполняется в общем модуле, мне необходимо обратиться к элементу формы (создан автоматически программно), но имя у него такого формата: ТиповыеОперации_БухгалтерскиеОперации_0bb47b63_7442_11eb_aa0 b_0050568a7472_ПринятьДенежноеОбязательство, более того, у некоторых документов середина изменяется, можно ли как-то найти по частям имени? Что-то вроде такого:
ФлагПриДО = Форма.Элементы.Найти(ТиповыеОперации_БухгалтерскиеОперации_+"%%"+_ПринятьДенежное Обязательств); или
ФлагПриДО = Форма.Элементы.Найти(ТиповыеОперации_БухгалтерскиеОперации_[]_ПринятьДенежноеОбязательств); . Эти варианты разумеется не работаю, я их проверил, а как можно еще обойти это. Можно конечно условие по типу документа забубенить, но перечислять все типы, где происходит создание элементов, как-то муторно!
ФлагПриДО = Форма.Элементы.Найти(ТиповыеОперации_БухгалтерскиеОперации_+"%%"+_ПринятьДенежное
ФлагПриДО = Форма.Элементы.Найти(ТиповыеОперации_БухгалтерскиеОперации_[]_ПринятьДенежноеОбязательств); . Эти варианты разумеется не работаю, я их проверил, а как можно еще обойти это. Можно конечно условие по типу документа забубенить, но перечислять все типы, где происходит создание элементов, как-то муторно!
По теме из базы знаний
- 1С8:борьба - личный опыт работы с платформой 1с8
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- PowerTools: Инструменты администратора 1С 8.3
- Пометка тестовой копии рабочей базы через механизм оповещений и раскрашивание форм (Управляемое приложение)
- Самые используемые методы БСП 3.1.9
Найденные решения
(1) поищите реквизит типа ТаблицаЗначений на форме. Возможно созданный программно.
Ведь как-то идет обращение к созданным элементам. Возможно где-то уже хранится сопоставление имен элементов и реквизитов.
В крайнем случае можно обойти элементы в цикле и проверять по типу и Заголовок или ПутьКДанным. И составить свою таблицу сопоставлений.
Ведь как-то идет обращение к созданным элементам. Возможно где-то уже хранится сопоставление имен элементов и реквизитов.
В крайнем случае можно обойти элементы в цикле и проверять по типу и Заголовок или ПутьКДанным. И составить свою таблицу сопоставлений.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) поищите реквизит типа ТаблицаЗначений на форме. Возможно созданный программно.
Ведь как-то идет обращение к созданным элементам. Возможно где-то уже хранится сопоставление имен элементов и реквизитов.
В крайнем случае можно обойти элементы в цикле и проверять по типу и Заголовок или ПутьКДанным. И составить свою таблицу сопоставлений.
Ведь как-то идет обращение к созданным элементам. Возможно где-то уже хранится сопоставление имен элементов и реквизитов.
В крайнем случае можно обойти элементы в цикле и проверять по типу и Заголовок или ПутьКДанным. И составить свою таблицу сопоставлений.
(2) Спасибо, сделал циклом
СтрокаПоиска1 = "";
Для Каждого Элемента Из Форма.Элементы Цикл
Если СтрНачинаетсяС(Элемента.Имя, "ТиповыеОперации_БухгалтерскиеОперации_") И СтрЗаканчиваетсяНа(Элемента.Имя, "_ДенежноеОбязательство") Тогда
СтрокаПоиска1 = Элемента.Имя;
Прервать;
КонецЕсли;
КонецЦикла;
//СтрокаПоиска2 = "";
ПоследняяСтрока = "";
//СтрокаПоискаПоИтогу = "" + СтрокаПоиска1;// ".ПодчиненныеЭлементы." + ПоследняяСтрока;
Для Каждого Элемент2 Из Форма.Элементы.Найти(СтрокаПоиска1).ПодчиненныеЭлементы Цикл
Если СтрНачинаетсяС(Элемент2.Имя, "ТиповыеОперации_БухгалтерскиеОперации_") И СтрЗаканчиваетсяНа(Элемент2.Имя, "ДенежноеОбязательство") Тогда
ПоследняяСтрока = Элемент2.Имя;
КонецЕсли;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот