Eprst писал(а) 26. Мая 2011 :: 14:53:Интересно, кто-ниь пересилит себя и напишет наконец то, что хочет автор целиком.. или, пусть мучается -учится ?
Для этого, как минимум, нужно понять, чего хочет автор? Я лично пока не понял.
Настенок писал(а) 26. Мая 2011 :: 15:03:можно более поточнее: это каким образом??
типа так:
Типа так:
SELECT ОС.CODE as Код
, NullIf($ОС.ДатаВводаЭкспл, '17530101') ДатаВводаЭкспл
, $ОС.ШифрИзноса [ШифрИзноса $Справочник.КлассификаторОС]
, $КлассификаторОС.СрокСлужбы СрокСлужбы
, sq.Документ [Документ $Документ]
, sq.Документ_вид [Документ_вид $ВидДокумента]
, sq.Документ_дата
, ОС.id [ОС $Справочник.ОС]
, sq.МОЛ [МОЛ $Справочник.МОЛ]
, sq.Подр [Подр $Справочник.Подразделения]
, sq.Счет [Счет $Счет]
, sq.ИнвНомер
, sq.К Коэф
FROM $Справочник.ОС ОС With (NOLOCK)
left JOIN $Справочник.КлассификаторОС AS КлассификаторОС With (NOLOCK) on ($ОС.ШифрИзноса = КлассификаторОС.id)
left JOIN (
select IsNull(coalesce(substring($СписСт.С1, 7, 9), substring($ПеремСт.С1Стар, 7, 9), $Компл.ОС, $ПереоценкаСт.ОС), '') ОС
, IsNull(coalesce($ПостСт.ИнвНомер, $Пост2009Ст.ИнвНомер), '') ИнвНомер
, МОЛ.id МОЛ
, $МОЛ.Подр Подр
, $ПереоценкаСт.К Коэф
, coalesce($ПостСт.Счет,$Пост2009Ст.Счет) Счет
, Журнал.IDDOC Документ
, Журнал.IDDOCDEF Документ_вид
, NullIf(Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime), '17530101') Документ_дата
from _1SJOURN Журнал With (NOLOCK)
left join $ДокументСтроки.ОС_Списание as СписСт With (NOLOCK) on СписСт.IDDOC=Журнал.IDDOC
left JOIN $Документ.ОС_Списание as Спис With (NOLOCK) on Спис.iddoc=Журнал.iddoc
left JOIN $ДокументСтроки.ОС_Перемещение as ПеремСт With (NOLOCK) on ПеремСт.iddoc=Журнал.iddoc
left JOIN $Документ.ОС_Перемещение as Перем With (NOLOCK) on Перем.iddoc=Журнал.iddoc
left JOIN $Документ.ОС_Комплектация AS Компл With (NOLOCK) on Компл.IDDOC=Журнал.IDDOC
left JOIN $ДокументСтроки.Переоценка as ПереоценкаСт With (NOLOCK) on ПереоценкаСт.iddoc=Журнал.iddoc
left JOIN $ДокументСтроки.ТМЦ_Поступление as ПостСт With (NOLOCK) on ПостСт.IDDOC=Журнал.IDDOC
left JOIN $ДокументСтроки.ТМЦ_Поступление2009 as Пост2009Ст With (NOLOCK) on Пост2009Ст.IDDOC=Журнал.IDDOC
left JOIN $Справочник.МОл МОЛ With (NOLOCK) on coalesce($Компл.МОЛОС, $Перем.МОЛОбщ, $Спис.МОЛОбщ, substring($Пост2009Ст.Субконто2Т, 7, 9), substring($ПостСт.Субконто2Т, 7, 9))=МОЛ.ID
left JOIN $Справочник.Подразделения AS ПОдр With (NOLOCK) on ($МОЛ.ПОдр = ПОдр.id)
Where Журнал.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~
and Журнал.iddocdef in ($ВидДокумента.ОС_Списание, $ВидДокумента.ОС_Перемещение, $ВидДокумента.ОС_Комплектация, $ВидДокумента.Переоценка, $ВидДокумента.ТМЦ_Поступление, $ВидДокумента.ТМЦ_Поступление2009)
) sq on ОС.id = sq.ОС or ОС.code = sq.ИнвНомер
Order By ОС.CODE
Настенок писал(а) 26. Мая 2011 :: 15:03:и еще хочу спросить по этому отчету лично у Вас, berezdetsky:
подключила класс AccountsRecordSet
нужно получить различные суммы СНД(). получила виртуальную табличу $БИОстатки, а вот как получить код субконто и соединить ее с отчетом, с тем, что делаю сейчас- не знаю.
Когда соединяю со справочником- пишет ошибку что-то типа слишком длинная строка
Как-то так:
left join $БИОстатки(...) as БИОстатки on ОС.id = БИОстатки.Субконто1"Слишком длинная строка" - 1С это пишет, когда сообщение об ошибке не помещается в окне сообщений.
Настенок писал(а) 26. Мая 2011 :: 15:07:методом проб и ошибок я постепенно сама научусь. а вот где и из-за чего конкретно возникают ошибки, к сожалению пока не понимаю
Из известных мне способов обучения, метод проб и ошибок - самый медленный. Ты сэкономишь много времени, если купишь толстую книгу по SQL и прочитаешь её по главу по команде SELECT, выполняя все примеры и упражнения на живой демо-базе.