Имя: Пароль:
1C
1С v8
Получение имени документа по его синониму
0 moonlight
 
26.02.14
13:57
Добрый день!

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

Спасибо
1 Cerera
 
26.02.14
13:59
(0)через метаданные Для каждого Эл Из Метаданные.Документы ...

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

но это долгий способ))
2 wanderer_ица
 
26.02.14
13:59
Перебрать метаданные, найти все виды документов с таким синонимом, почесать репу, и переделать постановку задачи заново
3 1Сергей
 
26.02.14
13:59
(1) единожды пихануть в соответствие и вуаля
4 Рэйв
 
26.02.14
14:01
(0)А синоним откуда берешь?
5 Господин ПЖ
 
26.02.14
14:01
нажать ctrl+f в пофигураторе
6 moonlight
 
26.02.14
14:18
(4) в типовом коде на выходе только поле куда попадает синоним .
7 Maxus43
 
26.02.14
14:20
синонимы не уникальны, идея овно...
8 1Сергей
 
26.02.14
14:21
переведите на человеческий кто-нибудь набор слов из (6)
9 Господин ПЖ
 
26.02.14
14:21
(8) проще послать...
10 Maxus43
 
26.02.14
14:22
(8) он видит синоним, вместо имени
11 Ненавижу 1С
 
гуру
26.02.14
14:22
(6) дай угадаю, там ссылка
12 moonlight
 
26.02.14
14:37
В форме табличная часть, которая заполняется данными. Одно из полей ТЧ содержит синоним документа. Все это оригинальный код. Стараюсь меньше редактировать его. Поэтому и пытаюсь как то через синоним определить имя документа.

И очень прошу лиц пытающихся самоутвердится в своих глазах, пытаясь тут хамить, идти в сад. Не вызывайте чувство жалости и не пытайтесь ответить. не доказывайте что то..., мне интересно мнение адекватных людей, для которых тут не площадка для хамства и невежества. Надеюсь так понятно!
13 Рэйв
 
26.02.14
14:39
(12)А ты не допускаешь что как раз мнение адекватных людей ты по невежеству своему и принимаешь за хамство?:-)
14 azernot
 
26.02.14
14:43
(12) Уже постом №2 должно идти твоё "Спасибо" на пост№1 и на этом обсуждение должно было закончиться. Любое продолжение беседы провоцирует лишь на критику (причём справедливую) самой постановки задачи.
15 Defender aka LINN
 
26.02.14
14:48
(0) Уникальность синонима никем не гарантируется.
(12) Ути какие мы грозные... Нихрена, правда, в собственной работе не знаем, но советы уже всем раздаем, как себя с Их Величеством вести...
16 Ненавижу 1С
 
гуру
26.02.14
14:48
я думаю там где-то в дебрях (не на экране) есть либо имя вида документа, либо ссылки
17 moonlight
 
26.02.14
15:06
(1) Спасибо!

Ну если (9) это критика!!!!???? (9) Что то не ясно написал всегда готов подкорректировать, но хамство есть хамство
18 1Сергей
 
26.02.14
15:25
(17) Если это взято из типовой, то скажи в какой конфигурации в каком объекте в табличной части есть реквизит, куда записывается синоним объекта
19 barrgand
 
26.02.14
15:29
(12) Посмотри откуда попадают в поле ТЧ данные о синониме. Скорее всего оттуда же можно взять и имя документа и записать например в невидимую колонку, и в дальнейшем брать имя оттуда.
20 moonlight
 
26.02.14
18:35
Для Каждого КлючИЗначение ИЗ КэшПоТипамДокументов Цикл
        Запрос.Текст = Запрос.Текст + ?(Запрос.Текст = "", "
                    |ВЫБРАТЬ ", "
                    |ОБЪЕДИНИТЬ ВСЕ
                    |ВЫБРАТЬ") + "
                    |Дата, Номер, Ссылка, Проведен, ПометкаУдаления, """ + КлючИЗначение.Значение.Синоним + """ КАК ВидДокумента,
                    |" + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ]["СуммаДокумента"], "СуммаДокумента", "NULL") + " КАК СуммаДокумента,
                    |" + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ]["ВалютаДокумента"], "ВалютаДокумента", "NULL") + " КАК ВалютаДокумента,
                    |" + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ]["ВидОперации"], "ВидОперации", "NULL") + " КАК ВидОперации,
                    |" + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ]["Организация"], "Организация", "NULL") + " КАК Организация,
                    |" + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ]["Ответственный"], "Ответственный", "NULL") + " КАК Ответственный,
                    |" + ?(мКэшРеквизитовДокумента[КлючИЗначение.Ключ]["Информация"], "Информация", "NULL") + " КАК Информация
                    
                    |ИЗ Документ." + КлючИЗначение.Ключ + "
                    |ГДЕ Ссылка В (&" + КлючИЗначение.Ключ + ")";
                    
        Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение.МассивСсылок);        
    КонецЦикла;
    
    Запрос.Текст = ТекстЗапросаНачало + Запрос.Текст + ТекстЗапросаКонец;
    
    Выборка = Запрос.Выполнить().Выбрать();    
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = Список.Добавить();
        НоваяСтрока.Ссылка = Выборка.Ссылка;
        НоваяСтрока.Дата = Выборка.Дата;
        НоваяСтрока.Номер = Выборка.Номер;
        НоваяСтрока.Вид = Выборка.ВидДокумента;
        НоваяСтрока.ВидОперации = Выборка.ВидОперации;
        НоваяСтрока.СуммаДокумента = Выборка.СуммаДокумента;
        НоваяСтрока.ВалютаДокумента = Выборка.ВалютаДокумента;
        НоваяСтрока.Организация = Выборка.Организация;
        НоваяСтрока.Ответственный = Выборка.Ответственный;
        НоваяСтрока.Информация = Выборка.Информация;
        НоваяСтрока.Проведен = Выборка.Проведен;
        НоваяСтрока.ПометкаУдаления = Выборка.ПометкаУдаления;        
    КонецЦикла;
21 moonlight
 
26.02.14
18:44
Я уже сделал перебором по метаданным. Задача сводится к динамическому построению подменю, где список подменю будет формироваться типами документов, которые можно создать на основании синонима документа указанного в соответствующем поле в текущей  строке табличной части. Каждый пункт меню  - имя документа как оно задано в конфигураторе. Все работает!

Теперь проблема в следующем -как в созданном меню, передавать параметр (например Имя пункта меню) в процедуру, которая указывается при программном создании меню, в параметре метода Добавить() - "Действие", позволяющего задать только имя процедуры или функции.
22 moonlight
 
26.02.14
18:45
конфигурация 1С:8.2 УППдУ
23 barrgand
 
26.02.14
19:15
(21) В параметр можно передать только кнопку.

Процедура МояПроцедура(Кнопка)
    ИмяПунктаМеню = Кнопка.Имя;
КонецПроцедуры
24 moonlight
 
26.02.14
22:30
(23)да. спасибо я уже догадался!