Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как вытащить вид документа из измерения регистра? (число прочтений - 3438 )
CamelR
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 1
Зарегистрирован: 18. Июня 2007
Как вытащить вид документа из измерения регистра?
20. Июня 2007 :: 04:25
Печать  
Сделал запрос движения регистра "КнигаПродаж ",
вроде всё хорошо, но появилась необходимость вытащить из ресурса Основание в ТабЗнач - Основание.Вид().
Вот Текст запроса:

|SELECT
|Рег.IDDoc [Док $Документ],
|$Рег.Контрагент as [Контрагент $Справочник.Контрагенты],          
|$Рег.Основание as [Основание $Документ],
|$Рег.КодСтавки as [КодСтавки $Число],
|$Рег.Сумма as [Сумма $Число],
|$Рег.ПорядокОплаты as [ПорядокОплаты $Число],
|Жур.IDDocDef as Док_вид
|FROM $Регистр.КнигаПродаж Рег
|LEFT JOIN _1SJourn Жур ON Жур.IDDoc = Рег.IDDoc
|WHERE
|Жур.Date_Time_IDDoc >= :НачДата AND Жур.Date_Time_IDDoc <= :КонДата~
|AND $Рег.МестоХранения = $ПустойИД
|AND $Рег.Контрагент = :Клиент
  
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: Как вытащить вид документа из измерения регист
Ответ #1 - 20. Июня 2007 :: 05:27
Печать  
Ну нечто типа:
Код
Выбрать все
...
case
when j.iddocdef = $ВидДокумента.<Такой-то> then 'Такой-то'
...
end [ВидДок $Строка],
...
inner join _1sjourn j (nolock) on j.iddoc = right($Рег.Основание,9)
 

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


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Как вытащить вид документа из измерения регист
Ответ #2 - 20. Июня 2007 :: 06:12
Печать  
Код
Выбрать все
case
when left($Рег.Основание, 4) = $ВидДокумента36.<Такой-то> then 'Такой-то'
when left($Рег.Основание, 4) = $ВидДокумента36.<Такой-то2> then 'Такой-то2'
...
end as ВидОснования, 

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Как вытащить вид документа из измерения регист
Ответ #3 - 20. Июня 2007 :: 06:18
Печать  
Улыбка
case left($Рег.Основание, 4)
when $ВидДокумента36.<Такой-то> then 'Такой-то'
when $ВидДокумента36.<Такой-то2> then 'Такой-то2'
...
end as ВидОснования,
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как вытащить вид документа из измерения регист
Ответ #4 - 20. Июня 2007 :: 08:10
Печать  
Смех
Код
Выбрать все
Перем ВидИД Экспорт;

Функция _GetCode() Экспорт
	Возврат ЗначениеИзСтрокиВнутр("{""O"",""0"",""0"",""" + ВидИД + """,""0"",""0"",""0""}").Вид();
КонецФункции

Процедура _SQLCreate(Value) Экспорт
	ВидИД = Value;
КонецПроцедуры 



Код
Выбрать все
класс ВидДокумента = ВидДокумента.ert
{}; 



Код
Выбрать все
select top 10
    iddoc [Док $Документ],
    iddocdef [Док_вид $Класс.ВидДокумента]
from _1sjourn 



Памяти на больших выборках отъедает немерянно..
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Как вытащить вид документа из измерения регист
Ответ #5 - 20. Июня 2007 :: 08:23
Печать  
Смех Ну тут конечно дааа, это ты мощно задвинул.. Зачет!
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Как вытащить вид документа из измерения регист
Ответ #6 - 20. Июня 2007 :: 08:27
Печать  
как гриться - жжошь
Класс
  

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



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как вытащить вид документа из измерения регист
Ответ #7 - 23. Июня 2007 :: 09:35
Печать  
можно попробовать так: http://www.1cpp.ru/forum/YaBB.pl?num=1182591175/0
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать