Переключение на Главную Страницу Страницы: 1 2 [3]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Поиск элемента справочника по ID (число прочтений - 10735 )
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #30 - 07. Июля 2009 :: 14:07
Печать  
Сделала так:

     RS = СоздатьОбъект("ODBCRecordset");
     ТекстЗапроса = "
     |SELECT
     |  Спр.ID as [Элемент $Справочник.ТМЦ]
     |FROM
     |  $Справочник.ТМЦ as Спр
     |WHERE
     |  Спр.ID = :ГУИД";
     RS.УстановитьТекстовыйПараметр("ГУИД", ГУИД);
     
     СпрТМЦЗапрос = RS.ВыполнитьСкалярный(ТекстЗапроса);
     СпрТМЦ = СоздатьОбъект("Справочник.ТМЦ");
     Если СпрТМЦ.НайтиЭлемент(СпрТМЦЗапрос)=1 Тогда
                      //обработка реквизитов
               КонецЕсли;

И все работает!
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #31 - 07. Июля 2009 :: 14:08
Печать  
berezdetsky писал(а) 07. Июля 2009 :: 14:05:
СпрТМЦ = СоздатьОбъект("Справочник.ТМЦ");
Если СпрТМЦ.НайтиЭлемент(RS.ВыполнитьСкалярный(ТекстЗапроса)) = 1 Тогда
     ...
     СпрТМЦ.Записать();
КонецЕсли;



Спасибо! Я уже догадалась
  
Наверх
 
IP записан
 
admin spb
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 150
Зарегистрирован: 26. Апреля 2007
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #32 - 15. Июля 2009 :: 08:19
Печать  
А так можно? Ищу по коду и получаю элемент?

Цитата:
RS = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT
|  Спр.ID as [Элемент $Справочник.Работы]
|FROM
|  $Справочник.Работы as Спр
|WHERE
|  Спр.Code = " + Код;
Возврат RS.ВыполнитьСкалярный(ТекстЗапроса);


И как сделать так что бы не выдавало сообщение:
Возврат RS.ВыполнитьСкалярный(ТекстЗапроса);
{Глобальный модуль(627)}: База данных не установлена
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #33 - 15. Июля 2009 :: 08:39
Печать  
RS.УстБД1С();
Возврат RS.ВыполнитьСкалярный(ТекстЗапроса);
  
Наверх
ICQ  
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #34 - 17. Июля 2009 :: 18:14
Печать  
Дело в том, что я обращаюсь к ИД только из центральной базы, а создаваться он мог в периферийной. Вот и получается, что ТекущаяИБКод() не работает в этом случае. Как узнать код базы, в которой элемент был создан?
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #35 - 18. Июля 2009 :: 10:13
Печать  
Сделала так:

Функция ПолучитьИД_Базы(Объект) экспорт
    Перем Стр;
    Стр=ЗначениеВСтрокуВнутр(Объект);
    СЗ=СоздатьОбъект("СписокЗначений");
    СЗ.ИзСтрокиСРазделителями(Сред(Стр,2,СтрДлина(Стр)-2));
     ИД = СокрЛП(СЗ.ПолучитьЗначение(СЗ.РазмерСписка()));
     ИД = Прав(ИД,3);
    Возврат  ИД;
КонецФункции
  
Наверх
 
IP записан
 
Ярослав
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 43
Местоположение: Иркутск
Зарегистрирован: 14. Октября 2008
Re: Поиск элемента справочника по ID
Ответ #36 - 27. Января 2010 :: 05:11
Печать  
Функция ПолучитьИД_Базы(Объект) экспорт
   Перем Стр;
   Стр=ЗначениеВСтрокуВнутр(Объект);
   СЗ=СоздатьОбъект("СписокЗначений");
   СЗ.ИзСтрокиСРазделителями(Сред(Стр,2,СтрДлина(Стр)-2));
     ИД = СокрЛП(СЗ.ПолучитьЗначение(СЗ.РазмерСписка()));
     ИД = Прав(ИД,3);
   Возврат  ИД;
КонецФункции

Заменить на ИбСозданияОбъекта(Объект)
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать