Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Заполнить реквизит регистра прямым запросом. (число прочтений - 1597 )
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Заполнить реквизит регистра прямым запросом.
25. Марта 2010 :: 09:34
Печать  
Всем добрый день. Подсобите пожалуйста.
Задача - заполнить реквизит регистра Продажи из периодического реквизита справочника Контрагенты
Код
Выбрать все
	  |update
	|РегПродажДвиж
	|Set $РегПродажДвиж.КатегорияКлиента =
	|(
	|Select
	| одаж.Date_Time_Iddoc,8) as DateTime)) as Категория
	| From
	| $Регистр.Продажи as РегПродаж
	|)
	|From
	|$Регистр.Продажи as РегПродажДвиж
 


Но что-то не выходит каменный цветок.
Заранее спасибо.
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Заполнить реквизит регистра прямым запросом.
Ответ #1 - 25. Марта 2010 :: 09:47
Печать  
Код
Выбрать все
|update $Регистр.Продажи
|set $Регистр.Продажи.КатегорияКлиента =
|	(Date_Time_Iddoc,8) as DateTime))
 

как то так
  

1&&2&&3
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Заполнить реквизит регистра прямым запросом.
Ответ #2 - 25. Марта 2010 :: 09:50
Печать  
Спасибо за подсказку - почитал BOL и в очередной раз себя отругал что на форуме задал вопрос Улыбка
Вот работающий вариант:
Код
Выбрать все
	|update
	|РегПродажДвиж
	|Set $РегПродажДвиж.КатегорияКлиента = ISNULL(ЗапросИстории.Категория,$Перечисление.ЦнКатегорияКлиента.Д)
	|From
	|$Регистр.Продажи as РегПродажДвиж
	|INNER JOIN
	|(
	|Select
	| РегПродаж.IDDOC as IDDOC
	| родаж.Date_Time_Iddoc,8) as DateTime)) as Категория
	| From
	| $Регистр.Продажи as РегПродаж
	|) as ЗапросИстории
	|ON (ЗапросИстории.IDDOC = РегПродажДвиж.IDDOC)
 

  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Заполнить реквизит регистра прямым запросом.
Ответ #3 - 25. Марта 2010 :: 10:01
Печать  
хм... Озадачен
не уловил, а зачем так сложно.
чем мой вариант не устраивает?
  

1&&2&&3
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Заполнить реквизит регистра прямым запросом.
Ответ #4 - 25. Марта 2010 :: 10:02
Печать  
trad писал(а) 25. Марта 2010 :: 10:01:
хм... Озадачен
не уловил, а зачем так сложно.
чем мой вариант не устраивает?

Не отработал:
Цитата:
Meta name parser error: неизвестное метаимя или алиас "$Регистр"
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Заполнить реквизит регистра прямым запросом.
Ответ #5 - 25. Марта 2010 :: 10:15
Печать  
ааа...
ну да, точно.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Заполнить реквизит регистра прямым запросом.
Ответ #6 - 25. Марта 2010 :: 10:20
Печать  
тогда так:
Код
Выбрать все
|update $Регистр.Продажи
|set $Регистр.Продажи.КатегорияКлиента =
|  Date_Time_Iddoc,8) as DateTime)), $Перечисление.ЦнКатегорияКлиента.Д)
|from $Регистр.Продажи Продажи 

  

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