Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Индефикатор вида спр, док-та и тп. (число прочтений - 3227 )
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Индефикатор вида спр, док-та и тп.
02. Октября 2006 :: 00:47
Печать  
Как получить индефикатор вида справочника? Я имею ввиду аналог $ВидСправочника36.<Справочник>, только сделать мне это нужно не в запросе.
Например,
Код
Выбрать все
Стр=ЗначениеВСтрокуВнутр(Перечисление.ИмяПеречисления.ЗнПеречисления);
Поз=Найти(Стр," ");
Код=Прав(_IdToStr(Число(СокрЛП(Сред(Стр,Поз,10)))),4); 


работает. А как получить Ид для вида документа или справочника?
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: Индефикатор вида спр, док-та и тп.
Ответ #1 - 02. Октября 2006 :: 01:22
Печать  
Опеть сенкс, мерси и тд.
Нашёл сам.
Оказывается ИД любого вида справочника - это число в имени его таблицы. то есть если таблица справочника нормы расходов - SC699.дбф, то Ид - 699. А дальше всё просто:
Код
Выбрать все
Код=Прав(_IdToStr(699),4); 

  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: Индефикатор вида спр, док-та и тп.
Ответ #2 - 02. Октября 2006 :: 01:49
Печать  
И вот что получилось:
Код
Выбрать все
Функция ИдЭлементаПоФайлу(Значение)
	Перем Рез,тмп;

	З=Значение;
	Пока Найти(З,"\")>0 цикл  //избависмя от слэшей и всего пути
		З=Сред(З,Найти(З,"\")+1);
	КонецЦикла;

	Рез="";
	Для сч=1 по СтрДлина(З) цикл
		тмп=Сред(З,сч,1);
		Если тмп="0" Тогда
			Рез=Рез+"0";
		ИначеЕсли Число(тмп)<>0 Тогда
			Рез=Рез+тмп;
		КонецЕсли;
	КонецЦикла;

	Рез=Число(Рез);

	Возврат Прав(_IdToStr(Рез),4);
КонецФункции //*********************************
 

  
Наверх
ICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Индефикатор вида спр, док-та и тп.
Ответ #3 - 02. Октября 2006 :: 04:27
Печать  
Лёгких путей не ищем, да   Смех

См. документацию, объект MetaDataWorks, методы начинающиеся на ИД  (ИДСправочника(), ИДДокумента() и т.д.)
  
Наверх
 
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: Индефикатор вида спр, док-та и тп.
Ответ #4 - 02. Октября 2006 :: 08:47
Печать  
во-первых, где ты раньше был? ))))
во-вторых, впринцыпе мой способ в моей ситуации мне тоже подходит, когда мне например нужно определить индификатор "левой" базы...
но большое спасибо, что "открыл" глаза, а то до документации не всегда руки доходят )))))
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Индефикатор вида спр, док-та и тп.
Ответ #5 - 02. Октября 2006 :: 09:51
Печать  
DionX писал(а) 02. Октября 2006 :: 08:47:
во-вторых, впринцыпе мой способ в моей ситуации мне тоже подходит, когда мне например нужно определить индификатор "левой" базы...
для этого можно воспользоваться ПрисоединитьМД
  

1&&2&&3
Наверх
 
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: Индефикатор вида спр, док-та и тп.
Ответ #6 - 02. Октября 2006 :: 09:54
Печать  
ну вот...
почему-то этого метода в "моём" als'е вообще нет
правда в chm нашёл
  
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Индефикатор вида спр, док-та и тп.
Ответ #7 - 02. Октября 2006 :: 10:34
Печать  
DionX писал(а) 02. Октября 2006 :: 09:54:
ну вот...
почему-то этого метода в "моём" als'е вообще нет
правда в chm нашёл

ALS можешь вообще выборсить, пользуйся еапример прилагаемым к 1С++ CHM-ом
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать