Имя: Пароль:
1C
1С v8
помогите разобраться с запросом
0 ghostrid3r
 
21.09.11
13:00
Вот собственно запрос

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   РегПервСведения.Организация КАК Организация,
   РегПервСведения.ОсновноеСредство.Код КАК ИнвНомер,
   РегПервСведения.ОсновноеСредство.ДатаВыпуска КАК ДатаВыпуска,
   РегПервСведения.ОсновноеСредство КАК ОсновноеСредство,
   РегПервСведения.ПервоначальнаяСтоимость КАК ПервоначальнаяСтоимость,
   РегПринятия.Регистратор КАК ДокПоступления,
   РегПринятия.ДатаСостояния КАК ДатаПринятия,
   РегВыбытия.Регистратор КАК ДокВыбытия,
   ЕСТЬNULL(РегВыбытия.ДатаСостояния, &ПустаяДата) КАК ДатаВыбытия,
   НалоговыеНазначенияОС.НалоговоеНазначение КАК НалоговоеНазначение,
   РегМеста.МОЛ КАК МОЛ,
   РегМеста.Местонахождение КАК Подразделение,
   РегМеста.МесторасположениеОС КАК Местонахождение,
   СоставОС.ВСоставе КАК ОСРодитель,
   РегСтоимостьОС.СтоимостьОстаток КАК Стоимость,
   РегСтоимостьОС.АмортизацияОстаток КАК Амортизация,
   РегСтоимостьОС.СтоимостьОстаток - РегСтоимостьОС.АмортизацияОстаток КАК ОстаточнаяСтоимость,
   РегСчетаБУ.СчетУчета КАК СчетУчета,
   РегСчетаБУ.СчетНачисленияАмортизации КАК СчетАмортизации,
   РегСтоимостьОСБУ.СтоимостьПриход КАК ПриходЗаПериод,
   РегСтоимостьОСБУ.СтоимостьРасход КАК РасходЗаПериод
{ВЫБРАТЬ
   ОсновноеСредство.*,
   Подразделение.*,
   Местонахождение.*,
   Организация.*,
   НалоговоеНазначение.*,
   МОЛ.*,
   ИнвНомер,
   ДатаВыпуска,
   ОсновноеСредство.*,
   ОСРодитель.*,
   ПервоначальнаяСтоимость,
   ДокПоступления.*,
   ДатаПринятия,
   ДокВыбытия.*,
   ДатаВыбытия,
   Стоимость,
   Амортизация,
   ОстаточнаяСтоимость,
   СчетУчета,
   СчетАмортизации,
   ПриходЗаПериод,
   РасходЗаПериод}
ИЗ
   РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(&ДатаКон, {(Организация).* КАК Организация, (ОсновноеСредство).* КАК ОсновноеСредство}) КАК РегПервСведения
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияОСОрганизаций КАК РегПринятия
       ПО РегПервСведения.Организация = РегПринятия.Организация
           И РегПервСведения.ОсновноеСредство = РегПринятия.ОсновноеСредство
           И (РегПринятия.Состояние = &СостояниеПринят)
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьОСБухгалтерскийУчет.Остатки(&ДатаКон, {(Организация).* КАК Организация, (ОсновноеСредство).* КАК ОсновноеСредство}) КАК РегСтоимостьОС
       ПО РегПервСведения.Организация = РегСтоимостьОС.Организация
           И РегПервСведения.ОсновноеСредство = РегСтоимостьОС.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияОСОрганизаций КАК РегВыбытия
       ПО РегПервСведения.Организация = РегВыбытия.Организация
           И РегПервСведения.ОсновноеСредство = РегВыбытия.ОсновноеСредство
           И (РегВыбытия.Состояние = &СостояниеВыбыл)
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&ДатаКон, {(Организация).* КАК Организация, (ОсновноеСредство).* КАК ОсновноеСредство}) КАК РегМеста
       ПО РегПервСведения.Организация = РегМеста.Организация
           И РегПервСведения.ОсновноеСредство = РегМеста.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НалоговыеНазначенияОС.СрезПоследних(&ДатаКон, {(Организация).* КАК Организация, (ОсновноеСредство).* КАК ОсновноеСредство}) КАК НалоговыеНазначенияОС
       ПО РегПервСведения.Организация = НалоговыеНазначенияОС.Организация
           И РегПервСведения.ОсновноеСредство = НалоговыеНазначенияОС.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставОС.СрезПоследних(, {(ОсновноеСредство).* КАК ОсновноеСредство}) КАК СоставОС
       ПО РегПервСведения.ОсновноеСредство = СоставОС.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних(&ДатаКон, {(Организация).* КАК Организация, (ОсновноеСредство).* КАК ОсновноеСредство}) КАК РегСчетаБУ
       ПО РегПервСведения.ОсновноеСредство = РегСчетаБУ.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьОСБухгалтерскийУчет.Обороты(&ДатаНач, &ДатаКон, Месяц, {(Организация).* КАК Организация, (ОсновноеСредство).* КАК ОсновноеСредство}) КАК РегСтоимостьОСБУ
       ПО РегПервСведения.Организация = РегСтоимостьОСБУ.Организация
           И РегПервСведения.ОсновноеСредство = РегСтоимостьОСБУ.ОсновноеСредство
{ГДЕ
   РегМеста.Местонахождение.* КАК Подразделение,
   РегМеста.МесторасположениеОС.* КАК Местонахождение,
   РегМеста.Организация.* КАК Организация,
   НалоговыеНазначенияОС.НалоговоеНазначение.* КАК НалоговоеНазначение,
   РегМеста.МОЛ КАК МОЛ,
   СоставОС.ВСоставе.* КАК ОСРодитель,
   РегПервСведения.ОсновноеСредство.Код КАК ИнвНомер,
   РегПервСведения.ПервоначальнаяСтоимость КАК ПервоначальнаяСтоимость,
   РегСтоимостьОС.СтоимостьОстаток КАК Стоимость,
   РегСтоимостьОС.АмортизацияОстаток КАК Амортизация,
   (РегСтоимостьОС.СтоимостьОстаток - РегСтоимостьОС.АмортизацияОстаток) КАК ОстаточнаяСтоимость,
   РегСчетаБУ.СчетУчета КАК СчетУчета,
   РегСчетаБУ.СчетНачисленияАмортизации КАК СчетАмортизации,
   РегСтоимостьОСБУ.СтоимостьПриход КАК ПриходЗаПериод,
   РегСтоимостьОСБУ.СтоимостьРасход КАК РасходЗаПериод,
   РегПринятия.ДатаСостояния КАК ДатаПринятия,
   (ЕСТЬNULL(РегВыбытия.ДатаСостояния, &ПустаяДата)) КАК ДатаВыбытия}
{УПОРЯДОЧИТЬ ПО
   ОсновноеСредство.*,
   Подразделение.*,
   Местонахождение.*,
   Организация.*,
   НалоговоеНазначение.*,
   МОЛ.*,
   ОСРодитель.*,
   ИнвНомер,
   ДатаВыпуска,
   ОсновноеСредство.*,
   ПервоначальнаяСтоимость,
   ДокПоступления.*,
   ДатаПринятия,
   ДокВыбытия.*,
   ДатаВыбытия,
   Стоимость,
   Амортизация,
   ОстаточнаяСтоимость,
   СчетУчета,
   СчетАмортизации,
   ПриходЗаПериод,
   РасходЗаПериод}
ИТОГИ
   МАКСИМУМ(ИнвНомер),
   МАКСИМУМ(ДатаВыпуска),
   СУММА(ПервоначальнаяСтоимость),
   МАКСИМУМ(ДокПоступления),
   МАКСИМУМ(ДатаПринятия),
   МАКСИМУМ(ДокВыбытия),
   МАКСИМУМ(ДатаВыбытия),
   СУММА(Стоимость),
   СУММА(Амортизация),
   СУММА(ОстаточнаяСтоимость),
   СУММА(ПриходЗаПериод),
   СУММА(РасходЗаПериод)
ПО
   ОБЩИЕ
{ИТОГИ ПО
   Подразделение,
   Местонахождение,
   Организация,
   НалоговоеНазначение.*,
   МОЛ,
   ОСРодитель,
   СчетУчета,
   СчетАмортизации,
   ОсновноеСредство.*}

нам нужно выбирать сюда те ОС, у которых ДатаВыбытия, не меньше периода ДатаНач - ДатаКон, на данный момент.
Например: с 1.06.11 - 31.06.11 выбирает всякие ОС, но в этот период не должны попадать те ОС у которых Дата выбития например 04.03.2011.
На данный момент попадают все.
1 SuperMario
 
21.09.11
14:24
(0) и правильно делают, что попадают.
Условие в запрос ставить не пробовал?
2 ghostrid3r
 
22.09.11
00:24
и какое собственно условие, добавлял условие типа.
ГДЕ РегВыбытия.ДатаСостояния >= &ДатаНачСравнения, оно выбирает все карточки ОС, которые выбили в заданный период, а надо еще которые досих пор числятся
3 catena
 
22.09.11
06:09
(2)ГДЕ РегВыбытия.ДатаСостояния >= &ДатаНачСравнения или
РегВыбытия.ДатаСостояния есть NULL
4 ghostrid3r
 
22.09.11
08:50
спс
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.