Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Общий реквизит без отбора: как типизировать? (число прочтений - 4197 )
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Общий реквизит без отбора: как типизировать?
12. Июня 2007 :: 14:06
Печать  
Чет я туплю, а надо срочно. Помогите

Так работает, если для общего реквизита документов установлен в конфе отбор
Код
Выбрать все
$Справочник.Пользователи as Пользователи(nolock) on j.$ОбщийРеквизит.Автор = Пользователи.id"; 



А если не стоит, то так не работает:
Код
Выбрать все
$Справочник.Пользователи as Пользователи(nolock) on Пользователи.id = $Докум"+Ном+".Автор"; 



Если стоит отбор по общему реквизиту, то это поле таблицы _1sjourn. А если не стоит, то где это поле искать?
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #1 - 12. Июня 2007 :: 14:43
Печать  
Опять какую-то глупость спросил наверное Печаль
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #2 - 12. Июня 2007 :: 15:06
Печать  
Kapet писал(а) 12. Июня 2007 :: 14:06:
Если стоит отбор по общему реквизиту, то это поле таблицы _1sjourn. А если не стоит, то где это поле искать?

В шапке документа (DHxxx).

И при чём здесь типизация?  Озадачен
  

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


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

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #3 - 12. Июня 2007 :: 20:48
Печать  
Поставь отбор - пригодится
По шапкам не набегаешься
  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #4 - 13. Июня 2007 :: 07:11
Печать  
berezdetsky писал(а) 12. Июня 2007 :: 15:06:
Kapet писал(а) 12. Июня 2007 :: 14:06:
Если стоит отбор по общему реквизиту, то это поле таблицы _1sjourn. А если не стоит, то где это поле искать?

В шапке документа (DHxxx).

И при чём здесь типизация?  Озадачен


Имеем запрос и его результат (ошибку):
Код
Выбрать все
select
		j.iddoc as [Документ $Документ]
,		j.iddocdef as Документ_вид
,		Контрагенты.id as [Контрагент $Справочник.Контрагенты]
,		Пользователи.id as [Автор $Справочник.Пользователи]
,		Склады.id as [Склад $Справочник.МестаХранения]
,		$Докум1.СуммаСНДС as СуммаСНДС
,		$Докум1.НДС as НДС
from
		_1sjourn j(nolock)
inner join
		$Документ.ВозвратРозница as Докум1 (nolock) on Докум1.iddoc = j.iddoc
left join
		$Справочник.Контрагенты as Контрагенты(nolock) on ($Докум1.Контрагент = Контрагенты.id)
inner join
		$Справочник.Пользователи as Пользователи(nolock) on Пользователи.id = $Докум1.Автор
inner join
		$Справочник.МестаХранения as Склады(nolock) on Склады.id = $Докум1.МестоХранения
where
		j.date_time_iddoc between :НачДата and :КонДата~
and	j.iddocdef = $ВидДокумента.ВозвратРозница
order by
		j.iddoc
ТЗ=_RS.ВыполнитьИнструкцию(ТекстЗапроса);
{D:\DB1C\ACCOUNT_DB\EXTFORMS\ПОИСКПОЖУРНАЛУ.ERT(516)}: Meta name parser error: поле таблицы не найдено "$Докум1.Автор" 


И так для любого документа...
Нет в шапках документов общего реквизита "Автор" если на этом общем реквизите не стоит отбор.

Какие еще могут быть варианты?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #5 - 13. Июня 2007 :: 07:32
Печать  
Докум1.$ОбщийРеквизит.Автор

+если реквизит без отбора, то это означение только что он в шапке, но от этого он не перестает быть общим
  

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #6 - 13. Июня 2007 :: 07:41
Печать  
+ офф/2

если у таблиц справочников Контрагенты,Пользователи,МестаХранения не используются другие поля кроме id, то зачем их цеплять?
по данному запросу можно просто написать:
where $Докум1.Автор != $ПустойИД and $Докум1.МестоХранения != $ПустойИД
и
select ...
,$Докум1.Контрагент as [Контрагент $Справочник.Контрагенты]
,$Докум1.Автор as [Автор $Справочник.Пользователи]
,$Докум1.МестоХранения as [Склад $Справочник.МестаХранения]

ps
если конечно все в порядке с ссылочной целостностью
  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #7 - 13. Июня 2007 :: 07:44
Печать  
trad писал(а) 13. Июня 2007 :: 07:32:
Докум1.$ОбщийРеквизит.Автор

+если реквизит без отбора, то это означение только что он в шапке, но от этого он не перестает быть общим

Пардон, перемудрил: не $Докум1.$ОбщийРеквизит.Автор а Докум1.$ОбщийРеквизит.Автор. Да, так работает.
Просто привык, что если реквизит документа не код, то спереди обязательно ставится $...
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #8 - 13. Июня 2007 :: 07:53
Печать  
trad писал(а) 13. Июня 2007 :: 07:41:
+ офф/2

если у таблиц справочников Контрагенты,Пользователи,МестаХранения не используются другие поля кроме id, то зачем их цеплять?
по данному запросу можно просто написать:
where $Докум1.Автор != $ПустойИД and $Докум1.МестоХранения != $ПустойИД
и
select ...
,$Докум1.Контрагент as [Контрагент $Справочник.Контрагенты]
,$Докум1.Автор as [Автор $Справочник.Пользователи]
,$Докум1.МестоХранения as [Склад $Справочник.МестаХранения]

ps
если конечно все в порядке с ссылочной целостностью

Это фрагмент запроса универсальной обработки "Поиск по Журналам", где всё намного сложнее...

  

1_001.jpg ( 178 KB | Загрузки )
1_001.jpg
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #9 - 13. Июня 2007 :: 08:10
Печать  
хотел напугать большой красивой картинкой? Улыбка не напугал
можно было просто сказать: "кроме id используются другие поля" (если это действительно так)
  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #10 - 13. Июня 2007 :: 08:15
Печать  
trad писал(а) 13. Июня 2007 :: 08:10:
хотел напугать большой красивой картинкой? Улыбка не напугал
можно было просто сказать: "кроме id используются другие поля" (если это действительно так)

У меня сейчас под рукой токо монитор 19" и принтскрин. Больше картинка не получается...  Печаль
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #11 - 13. Июня 2007 :: 08:16
Печать  
Улыбка

В любом случае, - большое спасибо всем откликнувшимся!
  
Наверх
ICQ  
IP записан
 
Kapet
Senior Member
****
Отсутствует


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #12 - 13. Июня 2007 :: 08:24
Печать  
trad писал(а) 13. Июня 2007 :: 07:41:
+ офф/2

если у таблиц справочников Контрагенты,Пользователи,МестаХранения не используются другие поля кроме id, то зачем их цеплять?
по данному запросу можно просто написать:
where $Докум1.Автор != $ПустойИД and $Докум1.МестоХранения != $ПустойИД
и
select ...
,$Докум1.Контрагент as [Контрагент $Справочник.Контрагенты]
,$Докум1.Автор as [Автор $Справочник.Пользователи]
,$Докум1.МестоХранения as [Склад $Справочник.МестаХранения]

ps
если конечно все в порядке с ссылочной целостностью


Уточнение: по ,$Докум1.Автор as [Автор $Справочник.Пользователи]: если Автор - общий реквизит, то здесь парсер должен ругнуться. Наверное правильно будет как выше: Докум1.$ОбщийРеквизит.Автор

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Общий реквизит без отбора: как типизировать?
Ответ #13 - 13. Июня 2007 :: 09:23
Печать  
Kapet писал(а) 13. Июня 2007 :: 08:24:
Уточнение: по ,$Докум1.Автор as [Автор $Справочник.Пользователи]: если Автор - общий реквизит, то здесь парсер должен ругнуться. Наверное правильно будет как выше: Докум1.$ОбщийРеквизит.Автор

да, конечно
  

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