Найти метаданные по синониму

Получение имени документа по его синониму

Я
   moonlight

26.02.14 — 13:57

Добрый день!

Есть синоним документа. Мне надо получить имя документа по его синониму. Как это сделать?

Спасибо

   Cerera

1 — 26.02.14 — 13:59

(0)через метаданные Для каждого Эл Из Метаданные.Документы …

Если эл.синоним=ВыбСиноним Тогда возврат Эл.Имя

но это долгий способ))

   wanderer_ица

2 — 26.02.14 — 13:59

Перебрать метаданные, найти все виды документов с таким синонимом, почесать репу, и переделать постановку задачи заново

   1Сергей

3 — 26.02.14 — 13:59

(1) единожды пихануть в соответствие и вуаля

   Рэйв

4 — 26.02.14 — 14:01

(0)А синоним откуда берешь?

   Господин ПЖ

5 — 26.02.14 — 14:01

нажать ctrl+f в пофигураторе

   moonlight

6 — 26.02.14 — 14:18

(4) в типовом коде на выходе только поле куда попадает синоним .

   Maxus43

7 — 26.02.14 — 14:20

синонимы не уникальны, идея овно…

   1Сергей

8 — 26.02.14 — 14:21

переведите на человеческий кто-нибудь набор слов из (6)

   Господин ПЖ

9 — 26.02.14 — 14:21

(8) проще послать…

   Maxus43

10 — 26.02.14 — 14:22

(8) он видит синоним, вместо имени

   Ненавижу 1С

11 — 26.02.14 — 14:22

(6) дай угадаю, там ссылка

   moonlight

12 — 26.02.14 — 14:37

В форме табличная часть, которая заполняется данными. Одно из полей ТЧ содержит синоним документа. Все это оригинальный код. Стараюсь меньше редактировать его. Поэтому и пытаюсь как то через синоним определить имя документа.

И очень прошу лиц пытающихся самоутвердится в своих глазах, пытаясь тут хамить, идти в сад. Не вызывайте чувство жалости и не пытайтесь ответить. не доказывайте что то…, мне интересно мнение адекватных людей, для которых тут не площадка для хамства и невежества. Надеюсь так понятно!

   Рэйв

13 — 26.02.14 — 14:39

(12)А ты не допускаешь что как раз мнение адекватных людей ты по невежеству своему и принимаешь за хамство?:-)

   azernot

14 — 26.02.14 — 14:43

(12) Уже постом №2 должно идти твоё «Спасибо» на пост№1 и на этом обсуждение должно было закончиться. Любое продолжение беседы провоцирует лишь на критику (причём справедливую) самой постановки задачи.

   Defender aka LINN

15 — 26.02.14 — 14:48

(0) Уникальность синонима никем не гарантируется.

(12) Ути какие мы грозные… Нихрена, правда, в собственной работе не знаем, но советы уже всем раздаем, как себя с Их Величеством вести…

   Ненавижу 1С

16 — 26.02.14 — 14:48

я думаю там где-то в дебрях (не на экране) есть либо имя вида документа, либо ссылки

   moonlight

17 — 26.02.14 — 15:06

(1) Спасибо!

Ну если (9) это критика!!!!???? (9) Что то не ясно написал всегда готов подкорректировать, но хамство есть хамство

   1Сергей

18 — 26.02.14 — 15:25

(17) Если это взято из типовой, то скажи в какой конфигурации в каком объекте в табличной части есть реквизит, куда записывается синоним объекта

   barrgand

19 — 26.02.14 — 15:29

(12) Посмотри откуда попадают в поле ТЧ данные о синониме. Скорее всего оттуда же можно взять и имя документа и записать например в невидимую колонку, и в дальнейшем брать имя оттуда.

   moonlight

20 — 26.02.14 — 18:35

Для Каждого КлючИЗначение ИЗ КэшПоТипамДокументов Цикл

        Запрос.Текст = Запрос.Текст + ?(Запрос.Текст = «», »

                    |ВЫБРАТЬ «, »

                    |ОБЪЕДИНИТЬ ВСЕ

                    |ВЫБРАТЬ») + »

                    |Дата, Номер, Ссылка, Проведен, ПометкаУдаления, «»» + КлючИЗначение.Значение.Синоним + «»» КАК ВидДокумента,

                    |» + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ][«СуммаДокумента»], «СуммаДокумента», «NULL») + » КАК СуммаДокумента,

                    |» + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ][«ВалютаДокумента»], «ВалютаДокумента», «NULL») + » КАК ВалютаДокумента,

                    |» + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ][«ВидОперации»], «ВидОперации», «NULL») + » КАК ВидОперации,

                    |» + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ][«Организация»], «Организация», «NULL») + » КАК Организация,

                    |» + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ][«Ответственный»], «Ответственный», «NULL») + » КАК Ответственный,

                    |» + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ][«Информация»], «Информация», «NULL») + » КАК Информация

                    
                    |ИЗ Документ.» + КлючИЗначение.Ключ + »

                    |ГДЕ Ссылка В (&» + КлючИЗначение.Ключ + «)»;

                    
        Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение.МассивСсылок);        

    КонецЦикла;

    
    Запрос.Текст = ТекстЗапросаНачало + Запрос.Текст + ТекстЗапросаКонец;

    
    Выборка = Запрос.Выполнить().Выбрать();    

    Пока Выборка.Следующий() Цикл

        НоваяСтрока = Список.Добавить();

        НоваяСтрока.Ссылка = Выборка.Ссылка;

        НоваяСтрока.Дата = Выборка.Дата;

        НоваяСтрока.Номер = Выборка.Номер;

        НоваяСтрока.Вид = Выборка.ВидДокумента;

        НоваяСтрока.ВидОперации = Выборка.ВидОперации;

        НоваяСтрока.СуммаДокумента = Выборка.СуммаДокумента;

        НоваяСтрока.ВалютаДокумента = Выборка.ВалютаДокумента;

        НоваяСтрока.Организация = Выборка.Организация;

        НоваяСтрока.Ответственный = Выборка.Ответственный;

        НоваяСтрока.Информация = Выборка.Информация;

        НоваяСтрока.Проведен = Выборка.Проведен;

        НоваяСтрока.ПометкаУдаления = Выборка.ПометкаУдаления;        

    КонецЦикла;

   moonlight

21 — 26.02.14 — 18:44

Я уже сделал перебором по метаданным. Задача сводится к динамическому построению подменю, где список подменю будет формироваться типами документов, которые можно создать на основании синонима документа указанного в соответствующем поле в текущей  строке табличной части. Каждый пункт меню  — имя документа как оно задано в конфигураторе. Все работает!

Теперь проблема в следующем -как в созданном меню, передавать параметр (например Имя пункта меню) в процедуру, которая указывается при программном создании меню, в параметре метода Добавить() — «Действие», позволяющего задать только имя процедуры или функции.

   moonlight

22 — 26.02.14 — 18:45

конфигурация 1С:8.2 УППдУ

   barrgand

23 — 26.02.14 — 19:15

(21) В параметр можно передать только кнопку.

Процедура МояПроцедура(Кнопка)

    ИмяПунктаМеню = Кнопка.Имя;

КонецПроцедуры

  

moonlight

24 — 26.02.14 — 22:30

(23)да. спасибо я уже догадался!

Синонимы объектов 1с

Синонимы в 1с имеются практически у всех объектов. Синоним объекта конфигурации назначается для пользователя. Именно пользователь конфигурации работает с объектом ориентируясь на его синоним. Соответственно он должен быть назначен исходя из назначения объекта. Также необходимо учесть функции выполняемые объектом.

что такое синоним объекта 1с

Синоним объекта должен быть определен так, чтобы осмысленно, лаконично описывать объект. Заполняется обязательно.

Данное требование продиктовано тем, что синонимы непосредственно участвуют в формировании пользовательского интерфейса (отображаются в формах, отчетах, командном интерфейсе и т.д.) и поэтому должны корректно и одинаково во всех местах пользовательского интерфейса идентифицировать ту сущность, к которой они относятся. Помимо объектов метаданных, требование распостраняется также и на реквизиты объектов метаданных, табличные части, реквизиты табличных частей, измерения регистров, ресурсы и другие объекты конфигурации, у которых имеется синоним.

Синоним объекта 1с справочник

Объект конфигурации Справочник обладает свойством синоним. Оно задается на вкладке Основные

Синонимы 1с
Синоним объекта справочник 1с

Синоним объекта 1с перечисление

Объект конфигурации Перечисление обладает свойством синоним. Оно задается на вкладке Основные

Синонимы 1с
Синоним объекта перечисление

Синонимы других объектов 1с

Другие объекты конфигурации 1с также обладают свойством Синоним. Кроме того расположение свойства Синоним то же самое.

Обработка нахождения отчетов в 1с по известному синониму

Объекты конфигураций 1с имеют свойства Наименование и Синоним. Синоним предназначен для пользователя информационной базы и именно его увидит пользователь при работе. Синонимы объектов 1с могут не совпадать с наименованием. Такая ситуация часто возникает с объектом отчет потому, что отчету регулярно переделываются по требованию пользователя. Обработка нахождения синонимов отчетов в 1с призвана находить объект отчет по известному синониму.

Конфигурации 1с:Предприятие, как известно, запускаются в 2-х режимах:

  1. Предприятие
  2. Конфигуратор

Пользователь в режиме Предприятие видит объекты и их синонимы. Часто имя и синоним объекта не совпадают. Найти объект по его синониму, не такая простая задача. Объекты отчеты часто имеют несколько различных редакций. Соответственно поиск конкурентной редакции отчета может занять продолжительное время.

Создана обработка для нахождения объекта отчет по синониму.

Синонимы объектов 1с
Внешний вид обработки

Обработки нахождения отчетов в 1с имеет следующий код:

Синонимы 1с
Код показывающий имя Отчетов и его синоним 1с

Ссылка на архив: http://ithelpyou.ru/wp-content/uploads/2021/02/ПоискСинонимовОтчетов.zip

Обработка нахождения отчета по синониму

Внешняя обработка нахождения отчета по синониму. Синоним вводится в текстовое поле. Код очень похож на описанный ранее.

Результат выполнения обработки:

Синонимы 1с

Поиск отчета по синониму 1с

Файл внешней обработки:http://ithelpyou.ru/wp-content/uploads/2022/07/ПоискСинонимовОтчетов2.zip

Вроде простой вопрос, но не нашел… Есть строка «Товары на складах», нужно получить название самого объекта («ТоварыНаСкладах»). Как можно реализовать?

обход метаданных и Найти по синониму…

почему Найти? получается просто сравнивать с названием синонима PS хотя все равно не айс…

а если у тебя будет 2 объекта метаданных с одним синонимом? как например значениясвойствобъектов?

значит им не повезет :) PS тут вопрос не «Зачем?», а «Как?» PSS сейчас уже из любопытства :)

Цикл по метаданным методом НайтиПоРеквизиту(…).

Причем только по документам, а не по всем метаданным.

Тэги:

Комментарии доступны только авторизированным пользователям

Поиск во всех текстах
Режим поиска во всех текстах предназначен для поиска строки во всех модулях, диалогах, таблицах и описаниях конфигурации. Этот режим может быть использован, например, для поиска всех вызовов некоторой глобальной процедуры или обращения к какому-либо реквизиту в разных модулях.

Для вызова этого режима следует выбрать пункт «Поиск во всех текстах» в меню «Конфигурация» главного меню Конфигуратора. На экран будет выдан диалог для задания параметров поиска.

В поле «Найти» этого диалога следует ввести образец для поиска или нажать кнопку  раскрытия списка и выбрать один из образцов, которые были использованы ранее в операциях поиска.

Чтобы различать при поиске прописные и строчные буквы, установите флажок «Учитывать регистры». При установленном флажке «Искать целые слова» будут найдены только целые слова, а не части слов.

Группа «Искать в» позволяет указать, где следует искать указанный образец. Если все флажки отключены, поиск производиться не будет.

Нажатие кнопки «Дополн.>>» открывает управляющие элементы для включения в поиск внешних отчетов и обработок.

Флажки «Искать в конфигурации» и «Искать во внешних отчетах и обработках» позволяют выбрать область поиска. Если оба флажка сняты, поиск выполняться не будет.

Если флажок «Искать во внешних отчетах и обработках» установлен, в поле «Путь» необходимо указать имя каталога, в котором располагаются внешние отчеты. Нажав кнопку «…», можно открыть стандартный диалог выбора каталога.

Для начала поиска следует нажать кнопку «Искать». В процессе поиска в окно «Список найденных вхождений» будут выдаваться строки, содержащие указанную последовательность символов.

В любого момента можно процесс поиска прервать, нажав клавишу Esc. На экран будет выдан запрос «Прервать выполнение обработки?», в котором можно подтвердить прекращение поиска, ответив «Да», или продолжить его.

По окончании поиска в окне «Список найденных вхождений» будет выдан список найденных вхождений искомой строки.

Если дважды щелкнуть мышью одну из строк в списке найденных вхождений, то текст, содержащий выбранную строку, будет открыт для редактирования. Если выбрана строка, содержащая ссылку на внешний отчет (обработку), то соответствующий внешний отчет (обработка) будет автоматически загружен в Конфигуратор.

Из списка найденных вхождений можно также выполнить замену найденной строки. Для этого необходимо выделить строку, в которой требуется произвести замену, нажатием правой кнопки мыши вызвать контекстное меню и выбрать пункт «Заменить».

На экран будет выдан диалог «Замена во всех текстах».

В верхней части диалога для информации выдастся название модуля (таблицы, диалога, описания), содержащего строку, в которой будет производиться замена. В не редактируемом поле «В строке» выдается строка, в которой будет производиться замена. Содержимое этих двух полей диалога соответствует выбранной строке списка найденных вхождений.

Поле «заменить» содержит образец для замены: это тот образец для поиска, который был указан в диалоге «Поиск во всех текстах».

Наконец, в поле «на:» диалога следует ввести строку замены или нажать кнопку  раскрытия списка и выбрать одну из строк, которые были использованы для замены ранее.

Назначение кнопок этого диалога достаточно простое:

·        кнопка «Закрыть» закрывает диалог;

·        кнопка «Заменить» выполняет замену в текущей строке и переходит к следующей строке списка найденных вхождений;

·        кнопка «Пропустить» выполняет переход к следующей строке списка найденных вхождений без выполнения замены в текущей строке;

·        кнопка «Для всех» выполняет замену сразу для всех строк списка найденных вхождений.

лгоритмически можно получить коллекцию перечислений из конфигурации и перебрав их в цикле сравнить значение реквизита синоним с параметром функции вернуть имя перечисления.

Исходный код функции ИмяПеречисленияПоСинониму (СинонимПеречисления):

Код 1C v 8.х

 // Возвращает имя перечисления по известному значению синонима
      
// Пример пСиснонимПеречисления = "Юр физ лицо" тип строка,
// возвращаемое значение имя = "ЮрФизЛицо", тип строка
Функция ИмяПеречисленияПоСинониму( пСинонимПеречисления ) Экспорт
КолекцияПеречислений = Метаданные.Перечисления;
Для каждого пНайденноеЗначение из КолекцияПеречислений Цикл
Если пНайденноеЗначение.Синоним = пСинонимПеречисления Тогда
Возврат пНайденноеЗначение.Имя;
КонецЕсли;
КонецЦикла;
Возврат неопределено;
КонецФункции

Информация взята с сайта http://helpf.pro

Подпишитесь на нашу рассылку новостей

Хотите узнать больше по этому вопросу?

Подпишитесь на нашу рассылку новостей

Подписаться

Чтобы задать вопрос или предложить тему статьи, нажмите на кнопку ниже:

Предложить статью

Понравилась статья? Поделить с друзьями:
  • Найти баланс синоним
  • Найти аргументы синоним
  • Найм сотрудников синоним
  • Найм работников синоним
  • Найм персонала синоним