Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) В запросе можно ..... (число прочтений - 4235 )
ted
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Февраля 2011
В запросе можно .....
22. Января 2013 :: 13:48
Печать  
Как состряпать? В документе Реестр, в табличной части поле Документ  имеет тип Документ (реально только два вида могут там быть). Как сделать запрос к табличной части и связать с _1sjourn. Типа:

     SELECT $Реестр.Документ [Перемещение]

     FROM $ДокументСтроки.РеестрДокументовПереданныхВБухгалтерию Реестр (nolock)
     INNER JOIN _1sjourn ОЖ1 (nolock) on ОЖ1.iddoc=$Реестр.Документ
--     INNER JOIN _1sjourn ОЖ1 (nolock) on ОЖ1.iddoc=right($Реестр.Документ,9)
     WHERE ОЖ1.ismark = 0

Так как есть - выдает пустой запрос, если заменить закоменченной строкой, то выдает правильно. Собственно вопрос: могут ли в такой запрос попасть докиды от второго вида документа? или они уникальные ?
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: В запросе можно .....
Ответ #1 - 22. Января 2013 :: 14:58
Печать  
Код
Выбрать все
...
INNER JOIN _1sjourn ОЖ1 (nolock) on ОЖ1.iddoc=$Реестр.Документ
  INNER JOIN _1sjourn ОЖ2 (nolock) on ОЖ2.iddoc=right($Реестр.Документ,9)
...
 


  
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: В запросе можно .....
Ответ #2 - 22. Января 2013 :: 16:19
Печать  
ted писал(а) 22. Января 2013 :: 13:48:
могут ли в такой запрос попасть докиды от второго вида документа? или они уникальные ?
нет, конечно уникальные. Кстати проверить уникальность можно запросом..
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
ted
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Февраля 2011
Re: В запросе можно .....
Ответ #3 - 23. Января 2013 :: 05:44
Печать  
Спасибо ответившим. Вроде все получилось
  
Наверх
 
IP записан
 
ted
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Февраля 2011
Re: В запросе можно .....
Ответ #4 - 23. Января 2013 :: 06:18
Печать  
Могу добавить неожиданное для меня наблюдение:
в таком запросе:
     SELECT right($Реестр.Документ,9) [Перемещение $Документ.ПеремещениеКомплектующих]
     FROM $ДокументСтроки.РеестрДокументовПереданныхВБухгалтерию Реестр (nolock)
     INNER JOIN _1sjourn ОЖ1 (nolock) on ОЖ1.iddoc=right($Реестр.Документ,9)
     WHERE ОЖ1.ismark = 0
в выборке наблюдается наличие обоих видов документов, у которых иддоки правильно подменены самими документами. Я ожидал что только перемещения будут.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: В запросе можно .....
Ответ #5 - 23. Января 2013 :: 06:47
Печать  
Добавь условие

ОЖ1.iddocdef = $ВидДокумента.ПеремещениеКомплектующих
  

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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В запросе можно .....
Ответ #6 - 23. Января 2013 :: 07:07
Печать  
ted писал(а) 23. Января 2013 :: 06:18:
в выборке наблюдается наличие обоих видов документов


враньё.


Ну и тест на вшивость:


Код
Выбрать все
SELECT
 $Реестр.Документ as  [Док $Документ]
,ОЖ1.iddocdef Док_вид
    FROM $ДокументСтроки.РеестрДокументовПереданныхВБухгалтерию Реестр (nolock)
    INNER JOIN _1sjourn ОЖ1 (nolock) on ОЖ1.iddoc=right($Реестр.Документ,9)
    WHERE ОЖ1.ismark = 0 



а блин, ты же по виду доков не ограничил выборку!
Улыбка))

Иван как всегда прав.
  
Наверх
 
IP записан
 
ted
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Февраля 2011
Re: В запросе можно .....
Ответ #7 - 23. Января 2013 :: 07:22
Печать  
Не ограничивал. Меня это вполне устраивает.
Пост написал, потому что несмотря на наличие только
SELECT right($Реестр.Документ,9) [Перемещение $Документ.ПеремещениеКомплектующих]
в выборке правильно разыминоваются:

Поступление 0000034 от 10.08.2012

я ожидал, что будет что-то вроде Объект не найден/12
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В запросе можно .....
Ответ #8 - 23. Января 2013 :: 07:24
Печать  
Цитата:
выборке правильно разыминоваются:


Неа.. не правильно, самого документа ты при этом не получишь, можешь проверить (хотя его представление и будешь видеть при этом)
  
Наверх
 
IP записан
 
ted
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Февраля 2011
Re: В запросе можно .....
Ответ #9 - 23. Января 2013 :: 07:26
Печать  
Eprst писал(а) 23. Января 2013 :: 07:24:
Цитата:
выборке правильно разыминоваются:


Неа.. не правильно, самого документа ты при этом не получишь, можешь проверить (хотя его представление и будешь видеть при этом)


Понятно. Спасибо.  В самом деле только представление.
  
Наверх
 
IP записан
 
vinogradoff
Full Member
***
Отсутствует



Сообщений: 107
Зарегистрирован: 06. Февраля 2010
Пол: Мужской
Re: В запросе можно .....
Ответ #10 - 25. Января 2013 :: 07:44
Печать  
SELECT
    $Реестр.Документ [Документ $Документ],
    j.iddocdef Документ_вид
FROM $ДокументСтроки.РеестрДокументовПереданныхВБухгалтерию Реестр (nolock)
INNER JOIN _1sjourn j (nolock) on j.iddoc=$Реестр.Документ
WHERE j.ismark = 0
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В запросе можно .....
Ответ #11 - 25. Января 2013 :: 09:15
Печать  
Ну, запрос не верный (on j.iddoc=$Реестр.Документ  - вот это не будет работать )
и автору не то нужно, ему нужен один конкретный вид документа.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: В запросе можно .....
Ответ #12 - 28. Января 2013 :: 03:29
Печать  
ted писал(а) 23. Января 2013 :: 07:22:
Не ограничивал. Меня это вполне устраивает.
Пост написал, потому что несмотря на наличие только
SELECT right($Реестр.Документ,9) [Перемещение $Документ.ПеремещениеКомплектующих]
в выборке правильно разыминоваются:

Поступление 0000034 от 10.08.2012

я ожидал, что будет что-то вроде Объект не найден/12


А вот так лучше не шутить.
Представление 1Ска формирует правильно, а вот попытка поработать с результатом как ссылкой закончится плачевно.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать