Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) СинонимИдентификатора. Возможно ли? (число прочтений - 3560 )
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
СинонимИдентификатора. Возможно ли?
22. Мая 2007 :: 06:52
Печать  
Возможно ли сделать СинонимИдентификатора для реквизитов документов\справочников.... ?
Пример:
В конфигураторе в Документе "ПолисОСАГО" есть реквизит с ИД = "Лицо". Хотелось бы добавить к этому реквизиту синоним "Агент", чтобы потом можно было бы обращаться к этому реквизиту как ПолисОСАГО.Лицо, так и ПолисОСАГО.Агент (ес-но ПолисОСАГО.Лицо==ПолисОСАГО.Агент).
Если честно, даже не представляю как это можно сделать. Но вдруг здешний коллективный разум что-нибудь знает по этому поводу.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #1 - 22. Мая 2007 :: 07:11
Печать  
А смысл?  Озадачен
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #2 - 22. Мая 2007 :: 07:25
Печать  
artbear писал(а) 22. Мая 2007 :: 07:11:
А смысл?  Озадачен

Ну вот я сижу на конфе, где предыдущие программисты сделали реквизиты документов одного и того вида разными именами. Т.е. в Документе "ПолисОСАГО" - это "Лицо", в ФинОтчете - "Агент", где-то ещё "Сотрудник" и т.д. В связи с этим не получается строить универсальные отчеты, где можно было бы поставить для всех этих доков ".Агент"
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #3 - 22. Мая 2007 :: 07:28
Печать  
Справочник + функция + свой парсер, ну нафиг Улыбка
уж лучше переименовать
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #4 - 22. Мая 2007 :: 07:32
Печать  
Phoenix писал(а) 22. Мая 2007 :: 07:28:
Справочник + функция + свой парсер, ну нафиг Улыбка
уж лучше переименовать

Да вот тоже думаю переименовывать, но столько всякой фигни за этим полезет. В конфе ещё хоть как-то можно поправить, а вот во внешних отчетах...  Нерешительный
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #5 - 22. Мая 2007 :: 11:20
Печать  
Ну никто еще не отменял Метаданные и Справочник.ПолучитьАтрибут !
Т.е. с помощью Метаданных находишь имя для нужного реквизита с нужным типом, а далее с помощью Спр.ПолучитьАтрибут(ИмяРеквизита) используешь.

И все, ничего в конфе переделывать не нужно, а только правильно написать твой отчет.

ИМХО все довольно просто Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #6 - 22. Мая 2007 :: 12:40
Печать  
artbear писал(а) 22. Мая 2007 :: 11:20:
Ну никто еще не отменял Метаданные и Справочник.ПолучитьАтрибут !
Т.е. с помощью Метаданных находишь имя для нужного реквизита с нужным типом, а далее с помощью Спр.ПолучитьАтрибут(ИмяРеквизита) используешь.

И все, ничего в конфе переделывать не нужно, а только правильно написать твой отчет.

ИМХО все довольно просто Улыбка

чего-то не уловил мысли твоей....
Вот конкретный пример:
Код
Выбрать все
Для ъ=1 По спВидыДокументов.РазмерСписка() Цикл
		текДок ="Документ."+спВидыДокументов.ПолучитьЗначение(ъ);
		стрПутьДок=стрПутьДок+?(стрПутьДок="", "", ",")+текДок+".Агент";
	КонецЦикла; 


Но у разных видов документов разные "Агенты": где-то это "Лицо", где-то "Сотрудник"....
спВидыДокументов может содержать различные виды документов (но у них точно есть реквизит типа "Агент")

Не писать же каждый раз что-то типа:
Код
Выбрать все
Если текВидДок = "ПолисОСАГО" тогда ИмяПеременной="Агент"
иначеЕсли теквидДок = ....
 



Как ты предлагаешь поступить?
  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: СинонимИдентификатора. Возможно ли?
Ответ #7 - 22. Мая 2007 :: 15:14
Печать  
JohnyDeath
Избежать императивной логики поможет, например, регистр правил.
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #8 - 22. Мая 2007 :: 15:51
Печать  
Цитата:
JohnyDeath
Избежать императивной логики поможет, например, регистр правил.


Гы... А у меня примерно так и работает в базе. Причем делал от лени, сделал этот класс и передал права на раздачу прав манагеру. Теперь меня не беспокоят.

p.s. ишь ты как заумно все это называется  Смех
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: СинонимИдентификатора. Возможно ли?
Ответ #9 - 22. Мая 2007 :: 16:37
Печать  
JohnyDeath писал(а) 22. Мая 2007 :: 12:40:
artbear писал(а) 22. Мая 2007 :: 11:20:
Ну никто еще не отменял Метаданные и Справочник.ПолучитьАтрибут !
Т.е. с помощью Метаданных находишь имя для нужного реквизита с нужным типом, а далее с помощью Спр.ПолучитьАтрибут(ИмяРеквизита) используешь.

И все, ничего в конфе переделывать не нужно, а только правильно написать твой отчет.

ИМХО все довольно просто Улыбка

чего-то не уловил мысли твоей....
Вот конкретный пример:
Код
Выбрать все
Для ъ=1 По спВидыДокументов.РазмерСписка() Цикл
		текДок ="Документ."+спВидыДокументов.ПолучитьЗначение(ъ);
		стрПутьДок=стрПутьДок+?(стрПутьДок="", "", ",")+текДок+".Агент";
	КонецЦикла; 


Но у разных видов документов разные "Агенты": где-то это "Лицо", где-то "Сотрудник"....
спВидыДокументов может содержать различные виды документов (но у них точно есть реквизит типа "Агент")

Не писать же каждый раз что-то типа:
Код
Выбрать все
Если текВидДок = "ПолисОСАГО" тогда ИмяПеременной="Агент"
иначеЕсли теквидДок = ....
 



Как ты предлагаешь поступить?


artbear имел ввиду, что в конфигураторе задаешь синоним одинаковый для всех (например "Агент"), потом получаешь не идентификатор атрибута а его синоним ну а далее "Спр.ПолучитьАтрибут()"
  
Наверх
wwwICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #10 - 22. Мая 2007 :: 20:58
Печать  
Улыбнуло... я из ТиС за день вакашивал всю розницу и всякое упоминание о налоге с продаж
Зачем постоянно париться?
Глаза боятся - руки делают  Смех
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СинонимИдентификатора. Возможно ли?
Ответ #11 - 22. Мая 2007 :: 21:23
Печать  
Лучще раз покорячиться да исправить, чем потом спустя время ребусы решать....
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать