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


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Поиск элемента справочника по ID
16. Июня 2009 :: 12:45
Печать  
В 1С++ я - новичок. Нужно выполнить поиск элемента справочника по ID, так чтобы в результате запроса мы получили именно элемент справочника, с которым можно будет работать как после Спр.НайтиЭлемент(), т.е. Можно будет обрататься к реквизитам, редактировать их и записать элемент.

RS = СоздатьОбъект("ODBCRecordset");
RS.УстБД1С();
ТекстЗапроса = "
|SELECT
|    Спр.ID as [Элемент $Справочник.КлиентыФиз],
|FROM
|    $Справочник.КлиентыФиз as Спр
|WHERE
|    $Спр.ID = ГУИД";

ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);


Что делаю не так не пойму, но рукается на "Meta name parser error: поле таблицы не найдено "$Спр.ID""
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #1 - 16. Июня 2009 :: 12:47
Печать  
$ при обращении к служебным полям не нужен.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #2 - 16. Июня 2009 :: 12:49
Печать  
В смысле так?

|    $Спр.ID = ГУИД";

или вообще нигде не нужен?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #3 - 16. Июня 2009 :: 12:53
Печать  
В смысле так:

|    Спр.ID = ГУИД";

Вопрос ещё, что такое ГУИД?
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #4 - 16. Июня 2009 :: 12:53
Печать  
Теперь "Неправильный синтаксис около ключевого слова "FROM"."

Печаль
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #5 - 16. Июня 2009 :: 12:54
Печать  
berezdetsky писал(а) 16. Июня 2009 :: 12:53:
В смысле так:

|    Спр.ID = ГУИД";

Вопрос ещё, что такое ГУИД?



ГУИД - это реквизит диалога
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #6 - 16. Июня 2009 :: 12:58
Печать  
Задача состоит в синхронизации с внешней системой. Синхронизация происходит по ID для справчоников и IDDoc для документов. Пока я пробую сделать внешнюю обработку, в которую руками вписываю ID, взятый из SQL. На деле будет приходить ИД от внешней системы и искать надо по нему
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #7 - 16. Июня 2009 :: 13:21
Печать  
В общем с ГУИД я разобралась, получилось:

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

RS.Отладка(1);

ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);

В отладке получаем:
SELECT
    Спр.ID as [$Элемент Справочник.КлиентыФиз],
FROM
    sc74 as Спр
WHERE
    Спр.ID = '  11ID   '


Но все равно выскакивает "Неправильный синтаксис около ключевого слова "FROM""
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #8 - 16. Июня 2009 :: 13:22
Печать  
marina писал(а) 16. Июня 2009 :: 12:53:
Теперь "Неправильный синтаксис около ключевого слова "FROM"."

Печаль

Запятая лишняя:
Код
Выбрать все
|SELECT
|    Спр.ID as [Элемент $Справочник.КлиентыФиз],
|FROM
 

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

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

А как получить элемент после выполнения запроса?
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #10 - 16. Июня 2009 :: 14:20
Печать  
marina писал(а) 16. Июня 2009 :: 13:28:
Спасибо! Работает!

А как получить элемент после выполнения запроса?

ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()...
Спр = ТЗ.Элемент;
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #11 - 16. Июня 2009 :: 14:22
Печать  
marina писал(а) 16. Июня 2009 :: 13:28:
Спасибо! Работает!



А как получить элемент после выполнения запроса?

ТЗ.ВыбратьСтроку(); или любым методом работы с таблицейзначений


RS.УстБД1С(); не нужен

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



ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
ТЗ.ВыбратьСтроку();
 


также читай учебник
http://www.kb.mista.ru/article.php?id=86
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #12 - 16. Июня 2009 :: 20:48
Печать  
Дело в том, что выбратьСтроку() предоставляет пользователю возможность выбрать. А как сделать так, чтобы выбрать элемент автоматически и сразу его обработать? Через ВыбратьСтроки(), а потом цикл?
Эту статью я читала, спасибо

Столкнулась с еще одной проблемой. ID скопировала из базы и ищу по нему, но при ВыбратьСтроку() получаю таблицу с одним полем  '  .  .  ', хотя запрос в SQL находит этот элемент
Если я беру
|      Спр.ID as [$Элемент Справочник.КлиентыФиз]

то как мне потом обращаться к данным?
если
|      Спр.ID as Код

то получаю только код, а в первом случае как? почему отобращается '  .  .  '?
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Поиск элемента справочника по ID
Ответ #13 - 17. Июня 2009 :: 03:49
Печать  
Код
Выбрать все
RS = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT
|  Спр.ID as [Элемент $Справочник.КлиентыФиз]
|, Спр.Code as Код
|FROM
|  $Справочник.КлиентыФиз as Спр
|WHERE
|  Спр.ID = :ГУИД";
RS.УстановитьТекстовыйПараметр("ГУИД", ГУИД);

ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
Элемент = ТЗ.ПолучитьЗначение(1,"Элемент");
Код = ТЗ.ПолучитьЗначение(1,"Код"); 



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



Сообщений: 278
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #14 - 17. Июня 2009 :: 05:10
Печать  
Код
Выбрать все
RS = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT
|  Спр.ID as [Элемент $Справочник.КлиентыФиз]
|FROM
|  $Справочник.КлиентыФиз as Спр
|WHERE
|  Спр.ID = :ГУИД";
RS.УстановитьТекстовыйПараметр("ГУИД", ГУИД);

Элемент = RS.ВыполнитьСкалярный(ТекстЗапроса); 


Так вернёт сразу элемент
  
Наверх
 
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #15 - 17. Июня 2009 :: 07:32
Печать  
pavel_tr писал(а) 17. Июня 2009 :: 05:10:
Код
Выбрать все
RS = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT
|  Спр.ID as [Элемент $Справочник.КлиентыФиз]
|FROM
|  $Справочник.КлиентыФиз as Спр
|WHERE
|  Спр.ID = :ГУИД";
RS.УстановитьТекстовыйПараметр("ГУИД", ГУИД);

Элемент = RS.ВыполнитьСкалярный(ТекстЗапроса); 


Так вернёт сразу элемент


и совсем уж по науке - сделать запрос параметрическим
  
Наверх
ICQ  
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

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

а как выбрать элемент справочников по ИД, если мы заранее не знаем какой это справочник, а знаем, что этот элемент лежит или Спрвочник.Сотрудники или в Справочник.Операторы?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Поиск элемента справочника по ID
Ответ #17 - 19. Июня 2009 :: 10:05
Печать  
Цитата:
а как выбрать элемент справочников по ИД, если мы заранее не знаем какой это справочник, а знаем, что этот элемент лежит или Спрвочник.Сотрудники или в Справочник.Операторы?

заджойнить оба этих справочника по ID...
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Поиск элемента справочника по ID
Ответ #18 - 19. Июня 2009 :: 10:39
Печать  
marina писал(а) 19. Июня 2009 :: 10:00:
а как выбрать элемент справочников по ИД, если мы заранее не знаем какой это справочник, а знаем, что этот элемент лежит или Спрвочник.Сотрудники или в Справочник.Операторы?

никак, вам нужно получать тогда из вашего внешнего приложения, typeid и id, или id длиной 13 символов. Потом определять таблицу(справочник), в которой нужно искать этот id.
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #19 - 19. Июня 2009 :: 10:45
Печать  
     RS = СоздатьОбъект("ODBCRecordset");
     ТекстЗапроса = "
     |SELECT
     |  Спр1.ID as [Элемент $Справочник.Сотрудники],
     |  Спр2.ID as [Элемент $Справочник.Операторы]
     |FROM
     |  $Справочник.Сотрудники as Спр1 join $Справочник.Операторы as Спр2 on Спр1.ID = Спр2.ID
     |WHERE
     |  Спр1.ID = :ГУИД,";
     RS.УстановитьТекстовыйПараметр("ГУИД", ГУИД);
     
     Спр = RS.ВыполнитьСкалярный(ТекстЗапроса);


Где-то так?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Поиск элемента справочника по ID
Ответ #20 - 19. Июня 2009 :: 11:20
Печать  
Тип того не покатит?

Код
Выбрать все
|SELECT
|   COALESCE(Спр1.ID,Спр1.ID) as [Элемент $Справочник]
|FROM
|  $Справочник.Сотрудники as Спр1
|LEFT JOIN  $Справочник.Операторы as Спр2 on Спр2.ID = :ГУИД
|WHERE
|  Спр1.ID = :ГУИД 



каюсь .. протупил
« Последняя редакция: 19. Июня 2009 :: 12:22 - Eprst »  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #21 - 19. Июня 2009 :: 11:47
Печать  
Eprst писал(а) 19. Июня 2009 :: 11:20:
Тип того не покатит?

Ты чего?..  Ужас
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #22 - 19. Июня 2009 :: 11:53
Печать  
в этом случае мне только одно поле нужно было Наименование, так что я написала немного по-другому

     RS = СоздатьОбъект("ODBCRecordset");
     ТекстЗапроса = "
     |SELECT
     |  ID, Descr
     |FROM
     |  $Справочник.Сотрудники
     
     |WHERE
     |  ID = :ГУИД
     |union
     |SELECT
     |  ID, Descr
     |FROM
     |  $Справочник.Операторы
     |WHERE
     |  ID = :ГУИД";
     RS.УстановитьТекстовыйПараметр("ГУИД", ГУИД);
     
     Спр = RS.ВыполнитьИнструкцию(ТекстЗапроса);
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Поиск элемента справочника по ID
Ответ #23 - 19. Июня 2009 :: 11:59
Печать  
id уникален только в пределах одной таблицы, это не ГУИД. Т.е. таким запросом вы можете получить две записи, и это будут разные сотрудники
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Поиск элемента справочника по ID
Ответ #24 - 23. Июня 2009 :: 10:54
Печать  
Вы бы хоть предупредили девушку, что
Цитата:
так чтобы в результате запроса мы получили именно элемент справочника, с которым можно будет работать как после Спр.НайтиЭлемент(), т.е. Можно будет обрататься к реквизитам, редактировать их и записать элемент.

запросом не получится.
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #25 - 25. Июня 2009 :: 19:46
Печать  
Со справочниками все получилось - сейчас разбираюсь с документами - у меня там запрос 1С на 6 документов и 11 полей из этих документов Печаль. Пытаюсь переписать на прямой.
Со справочниками возникла следующая проблема: в документе есть поле Клиент типа Справочник.КлиентыФиз, пытаюсь получить ID этого клиента через функцию_IdToStr(Числовой_ИД).  Числовой_ИД получаю из ЗначениеВСтрокуВнутр(Объект), но почему-то IdToStr мне возвращает вместо "  1GLLПО1" - "1GLL".
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


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

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #26 - 27. Июня 2009 :: 17:04
Печать  
Правильно, Марина
Код базы (три последних символа) никакого отношения не имеют к преобразованию из 36 в 10 систему
Их надо тупо добавить
У меня такой даже вопрос был для кандидата на соискание должности, никто правда на него не ответил Печаль
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
VoditelKobyly
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 22
Зарегистрирован: 13. Февраля 2009
Пол: Мужской
Re: Поиск элемента справочника по ID
Ответ #27 - 07. Июля 2009 :: 08:21
Печать  
А вы уверены, что ИД от внешеней системы будет совпадать с ID, который присваивает 1С в справочниках? Или у вас сначала рождаются элементы справочников в 1С, затем передаются во внешнюю систему, а потом обратно, какая-то информация приходит?
  
Наверх
 
IP записан
 
marina
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 14. Июня 2009
Re: Поиск элемента справочника по ID
Ответ #28 - 07. Июля 2009 :: 13:51
Печать  
Все Ид рождаются в 1С, а потом передаются во внешнюю систему.

Столкнулась с такой проблемой. Выбираю элемент справочника по ИД, нахожу его, меняю в нем данные, а когда пытаюсь записать, то пишет - не выбран элемент, хотя СпрТМЦ.Выбран() = 1

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


barba non facit sisadminum

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

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
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] 
ОтправитьПечать