Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Update поля ParentId (число прочтений - 2133 )
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Update поля ParentId
25. Февраля 2009 :: 08:39
Печать  
привет всем

есть такая теоретическая проблема. Т.е. собственно, код

Код
Выбрать все

табЭлементыСправочника="#табЭлементыСправочника";
глRS.УложитьСписокОбъектов(ВыбГруппаИсточник,табЭлементыСправочника);
глRS.УстановитьТекстовыйПараметр("ВыбГруппаПриемник",ВыбГруппаПриемник);


	// пишем новых родителей
	ТекстЗапроса="
	|Update sc133
	|Set sc133.ParentId=:ВыбГруппаПриемник
	|from sc133 Спр
	|where
	|Спр.IsFolder=2
	|and Спр.ID in (Select val from "+табЭлементыСправочника+")
	|";

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



В результате в поле ParentId пишется значение нового родителя, но фильтр при этом не работает. В итоге получаем sc133, где везде записан одинаковый ParentId
  
Наверх
ICQ  
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Update поля ParentId
Ответ #1 - 25. Февраля 2009 :: 08:52
Печать  
Код
Выбрать все
|Update sc133 as Спр
|Set sc133.ParentId=:ВыбГруппаПриемник
|where
|Спр.IsFolder=2
|and Спр.ID in (Select val from "+табЭлементыСправочника+")
 

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


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: Update поля ParentId
Ответ #2 - 25. Февраля 2009 :: 09:01
Печать  
гм, не пробовал такой синтаксис - надо посмотреть.

Вообще, впечатление создается, что проблема в том, что пишется значение в индексное поле
  
Наверх
ICQ  
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: Update поля ParentId
Ответ #3 - 25. Февраля 2009 :: 09:13
Печать  
действительно, не хочет с таким синтаксисом срабатывать. Да и в найденной инструкции так и говорилось, что алиасы определяются только через from

У меня ДБФ.
  
Наверх
ICQ  
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: Update поля ParentId
Ответ #4 - 25. Февраля 2009 :: 09:15
Печать  
Проблема, собственно, поэтому и названа "теоретической", поскольку особой необходимости править это поле напрямую нет.
Но хочется понять, где можно ожидать грабли при применении Update
  
Наверх
ICQ  
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: Update поля ParentId
Ответ #5 - 25. Февраля 2009 :: 11:01
Печать  
да и с обычным реквизитом та же картина - фильтр не работает.
остался примитивнейший запрос:

Код
Выбрать все
	|Update sc133
	|Set sp124=:ВыбЗначение
	|from sc133 as Спр
	  |where
	|Спр1.ID=:ВыбЭлемент

 



это связано с тем, что у меня dbf - или ??
нигде не нашел намека на то, что с OLEDBData это не б.работать
  
Наверх
ICQ  
IP записан
 
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
Re: Update поля ParentId
Ответ #6 - 25. Февраля 2009 :: 12:30
Печать  
в итоге заработало:

Код
Выбрать все
|Update sc133
|Set sp124=:ВыбЗначение
|where
|ID=:ВыбЭлемент

 

  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать