Имя: Пароль:
1C
1С v8
Что сделать в конструкторе запроса, чтоб попадали строк с нулевыми результатами?
0 lukinskiy
 
28.04.15
22:08
Не знаю восьмерки, можно ли как-то просто через конструктор запроса сделать, чтобы в выборку попадали строки с нулевыми результатами?
1 trooba
 
28.04.15
22:09
(0) в условии ставь
2 DrShad
 
28.04.15
22:09
К какой таблице запрос?
3 lukinskiy
 
28.04.15
22:13
(2) Потому и спрашиваю про конструктор, что в запросах на 8 не разбираюсь.
Собственно, мне нужен аналог "ВСЕ" из языка запросов 7-ки.

Текст запроса:

    ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ВложенныйЗапрос.Склад КАК Склад,
    |    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    |    ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |    ВложенныйЗапрос.СерияНоменклатуры КАК СерияНоменклатуры,
    |    ВложенныйЗапрос.Качество КАК Качество,
    |    ВложенныйЗапрос.ДокументОснование КАК ДокументОснование,
    |    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Склад) КАК СкладПредставление,
    |    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
    |    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Качество) КАК КачествоПредставление,
    |    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
    |    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДокументОснование) КАК ДокументОснованиеПредставление,
    |    ВложенныйЗапрос.КоличествоОстаток КАК КоличествоОстаток,
    |    ВложенныйЗапрос.КоличествоВРезерве КАК КоличествоВРезерве,
    |    ВложенныйЗапрос.КоличествоКПолучению КАК КоличествоКПолучению,
    |    ВложенныйЗапрос.КоличествоКПередаче КАК КоличествоКПередаче,
    |    ВложенныйЗапрос.КоличествоЗаказаноУПоставщиков КАК КоличествоЗаказаноУПоставщиков,
    |    ВложенныйЗапрос.КоличествоОстаток - ВложенныйЗапрос.КоличествоВРезерве - ВложенныйЗапрос.КоличествоКПередаче КАК СвободныйОстаток,
    |    ВложенныйЗапрос.КоличествоОстаток * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоОстатокБазовыхЕдиниц,
    |    ВложенныйЗапрос.КоличествоВРезерве * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоВРезервеБазовыхЕдиниц,
    |    ВложенныйЗапрос.КоличествоКПолучению * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоКПолучениюБазовыхЕдиниц,
    |    ВложенныйЗапрос.КоличествоКПередаче * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоКПередачеБазовыхЕдиниц,
    |    ВложенныйЗапрос.КоличествоЗаказаноУПоставщиков * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоЗаказаноУПоставщиковБазовыхЕдиниц,
    |    (ВложенныйЗапрос.КоличествоОстаток - ВложенныйЗапрос.КоличествоВРезерве - ВложенныйЗапрос.КоличествоКПередаче) * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК СвободныйОстатокБазовыхЕдиниц,
    |    ВложенныйЗапрос.КоличествоОстаток * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоОстатокЕдиницОтчетов,
    |    ВложенныйЗапрос.КоличествоВРезерве * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоВРезервеЕдиницОтчетов,
    |    ВложенныйЗапрос.КоличествоКПолучению * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоКПолучениюЕдиницОтчетов,
    |    ВложенныйЗапрос.КоличествоКПередаче * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоКПередачеЕдиницОтчетов,
    |    ВложенныйЗапрос.КоличествоЗаказаноУПоставщиков * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЗаказаноУПоставщиковЕдиницОтчетов,
    |    (ВложенныйЗапрос.КоличествоОстаток - ВложенныйЗапрос.КоличествоВРезерве - ВложенныйЗапрос.КоличествоКПередаче) * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК СвободныйОстатокЕдиницОтчетов,
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен,
    |    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
    |{ВЫБРАТЬ
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    СерияНоменклатуры.*,
    |    Качество.*,
    |    ДокументОснование.*,
    |    КоличествоОстаток,
    |    КоличествоВРезерве,
    |    КоличествоКПолучению,
    |    КоличествоКПередаче,
    |    КоличествоЗаказаноУПоставщиков,
    |    СвободныйОстаток,
    |    КоличествоОстатокБазовыхЕдиниц,
    |    КоличествоВРезервеБазовыхЕдиниц,
    |    КоличествоКПолучениюБазовыхЕдиниц,
    |    КоличествоКПередачеБазовыхЕдиниц,
    |    КоличествоЗаказаноУПоставщиковБазовыхЕдиниц,
    |    СвободныйОстатокБазовыхЕдиниц,
    |    КоличествоОстатокЕдиницОтчетов,
    |    КоличествоВРезервеЕдиницОтчетов,
    |    КоличествоКПолучениюЕдиницОтчетов,
    |    КоличествоКПередачеЕдиницОтчетов,
    |    КоличествоЗаказаноУПоставщиковЕдиницОтчетов,
    |    СвободныйОстатокЕдиницОтчетов,
    |    ТипЦен.*,
    |    Цена}
    |ИЗ
    |    (ВЫБРАТЬ
    |        ТоварыНаСкладахОстатки.Склад КАК Склад,
    |        ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    |        ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры,
    |        ТоварыНаСкладахОстатки.Качество КАК Качество,
    |        НЕОПРЕДЕЛЕНО КАК ДокументОснование,
    |        ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
    |        0 КАК КоличествоВРезерве,
    |        0 КАК КоличествоКПолучению,
    |        0 КАК КоличествоКПередаче,
    |        0 КАК КоличествоЗаказаноУПоставщиков
    |    ИЗ
    |        РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры}) КАК ТоварыНаСкладахОстатки
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ТоварыВРозницеОстатки.Склад,
    |        ТоварыВРозницеОстатки.Номенклатура,
    |        ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры,
    |        ТоварыВРозницеОстатки.СерияНоменклатуры,
    |        ТоварыВРозницеОстатки.Качество,
    |        НЕОПРЕДЕЛЕНО,
    |        ТоварыВРозницеОстатки.КоличествоОстаток,
    |        0,
    |        0,
    |        0,
    |        0
    |    ИЗ
    |        РегистрНакопления.ТоварыВРознице.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (Качество).* КАК Качество}) КАК ТоварыВРозницеОстатки
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ТоварыВРезервеНаСкладахОстатки.Склад,
    |        ТоварыВРезервеНаСкладахОстатки.Номенклатура,
    |        ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
    |        ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры,
    |        &КачествоНовый,
    |        ТоварыВРезервеНаСкладахОстатки.ДокументРезерва,
    |        0,
    |        ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток,
    |        0,
    |        0,
    |        0
    |    ИЗ
    |        РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (ДокументРезерва).* КАК ДокументОснование}) КАК ТоварыВРезервеНаСкладахОстатки
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ТоварыКПолучениюНаСкладыОстатки.Склад,
    |        ТоварыКПолучениюНаСкладыОстатки.Номенклатура,
    |        ТоварыКПолучениюНаСкладыОстатки.ХарактеристикаНоменклатуры,
    |        ТоварыКПолучениюНаСкладыОстатки.СерияНоменклатуры,
    |        ТоварыКПолучениюНаСкладыОстатки.Качество,
    |        ТоварыКПолучениюНаСкладыОстатки.ДокументПолучения,
    |        0,
    |        0,
    |        ТоварыКПолучениюНаСкладыОстатки.КоличествоОстаток,
    |        0,
    |        0
    |    ИЗ
    |        РегистрНакопления.ТоварыКПолучениюНаСклады.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (Качество).* КАК Качество, (ДокументПолучения).* КАК ДокументОснование}) КАК ТоварыКПолучениюНаСкладыОстатки
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ТоварыКПередачеСоСкладовОстатки.Склад,
    |        ТоварыКПередачеСоСкладовОстатки.Номенклатура,
    |        ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры,
    |        ТоварыКПередачеСоСкладовОстатки.СерияНоменклатуры,
    |        ТоварыКПередачеСоСкладовОстатки.Качество,
    |        ТоварыКПередачеСоСкладовОстатки.ДокументПередачи,
    |        0,
    |        0,
    |        0,
    |        ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток,
    |        0
    |    ИЗ
    |        РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (Качество).* КАК Качество, (ДокументПередачи).* КАК ДокументОснование}) КАК ТоварыКПередачеСоСкладовОстатки
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад,
    |        ЗаказыПоставщикамОстатки.Номенклатура,
    |        ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры,
    |        &СерияНоменклатурыПустаяСсылка,
    |        &КачествоНовый,
    |        ЗаказыПоставщикамОстатки.ЗаказПоставщику,
    |        0,
    |        0,
    |        0,
    |        0,
    |        ЗаказыПоставщикамОстатки.КоличествоОстаток
    |    ИЗ
    |        РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаКон, {(ЗаказПоставщику.Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПоставщику).* КАК ДокументОснование}) КАК ЗаказыПоставщикамОстатки) КАК ВложенныйЗапрос
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатурыСрезПоследних
    |        ПО ВложенныйЗапрос.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |{ГДЕ
    |    ВложенныйЗапрос.Качество.* КАК Качество,
    |    ВложенныйЗапрос.КоличествоОстаток КАК КоличествоОстаток,
    |    ВложенныйЗапрос.КоличествоВРезерве КАК КоличествоВРезерве,
    |    ВложенныйЗапрос.КоличествоКПолучению КАК КоличествоКПолучению,
    |    ВложенныйЗапрос.КоличествоКПередаче КАК КоличествоКПередаче,
    |    ВложенныйЗапрос.КоличествоЗаказаноУПоставщиков КАК КоличествоЗаказаноУПоставщиков,
    |    (ВложенныйЗапрос.КоличествоОстаток - ВложенныйЗапрос.КоличествоВРезерве - ВложенныйЗапрос.КоличествоКПередаче) КАК СвободныйОстаток,
    |    (ВложенныйЗапрос.КоличествоОстаток * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоОстатокБазовыхЕдиниц,
    |    (ВложенныйЗапрос.КоличествоВРезерве * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоВРезервеБазовыхЕдиниц,
    |    (ВложенныйЗапрос.КоличествоКПолучению * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоКПолучениюБазовыхЕдиниц,
    |    (ВложенныйЗапрос.КоличествоКПередаче * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоКПередачеБазовыхЕдиниц,
    |    (ВложенныйЗапрос.КоличествоЗаказаноУПоставщиков * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоЗаказаноУПоставщиковБазовыхЕдиниц,
    |    ((ВложенныйЗапрос.КоличествоОстаток - ВложенныйЗапрос.КоличествоВРезерве - ВложенныйЗапрос.КоличествоКПередаче) * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК СвободныйОстатокБазовыхЕдиниц,
    |    (ВложенныйЗапрос.КоличествоОстаток * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоОстатокЕдиницОтчетов,
    |    (ВложенныйЗапрос.КоличествоВРезерве * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоВРезервеЕдиницОтчетов,
    |    (ВложенныйЗапрос.КоличествоКПолучению * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоКПолучениюЕдиницОтчетов,
    |    (ВложенныйЗапрос.КоличествоКПередаче * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоКПередачеЕдиницОтчетов,
    |    (ВложенныйЗапрос.КоличествоЗаказаноУПоставщиков * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоЗаказаноУПоставщиковЕдиницОтчетов,
    |    ((ВложенныйЗапрос.КоличествоОстаток - ВложенныйЗапрос.КоличествоВРезерве - ВложенныйЗапрос.КоличествоКПередаче) * ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ВложенныйЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК СвободныйОстатокЕдиницОтчетов,
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен.*}
    |{УПОРЯДОЧИТЬ ПО
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    СерияНоменклатуры.*,
    |    Качество.*,
    |    ДокументОснование.*,
    |    КоличествоОстаток,
    |    КоличествоВРезерве,
    |    КоличествоКПолучению,
    |    КоличествоКПередаче,
    |    КоличествоЗаказаноУПоставщиков,
    |    СвободныйОстаток,
    |    КоличествоОстатокБазовыхЕдиниц,
    |    КоличествоВРезервеБазовыхЕдиниц,
    |    КоличествоКПолучениюБазовыхЕдиниц,
    |    КоличествоКПередачеБазовыхЕдиниц,
    |    КоличествоЗаказаноУПоставщиковБазовыхЕдиниц,
    |    СвободныйОстатокБазовыхЕдиниц,
    |    КоличествоОстатокЕдиницОтчетов,
    |    КоличествоВРезервеЕдиницОтчетов,
    |    КоличествоКПолучениюЕдиницОтчетов,
    |    КоличествоКПередачеЕдиницОтчетов,
    |    КоличествоЗаказаноУПоставщиковЕдиницОтчетов,
    |    СвободныйОстатокЕдиницОтчетов}
    |ИТОГИ
    |    СУММА(КоличествоОстаток),
    |    СУММА(КоличествоВРезерве),
    |    СУММА(КоличествоКПолучению),
    |    СУММА(КоличествоКПередаче),
    |    СУММА(КоличествоЗаказаноУПоставщиков),
    |    СУММА(СвободныйОстаток),
    |    СУММА(КоличествоОстатокБазовыхЕдиниц),
    |    СУММА(КоличествоВРезервеБазовыхЕдиниц),
    |    СУММА(КоличествоКПолучениюБазовыхЕдиниц),
    |    СУММА(КоличествоКПередачеБазовыхЕдиниц),
    |    СУММА(КоличествоЗаказаноУПоставщиковБазовыхЕдиниц),
    |    СУММА(СвободныйОстатокБазовыхЕдиниц),
    |    СУММА(КоличествоОстатокЕдиницОтчетов),
    |    СУММА(КоличествоВРезервеЕдиницОтчетов),
    |    СУММА(КоличествоКПолучениюЕдиницОтчетов),
    |    СУММА(КоличествоКПередачеЕдиницОтчетов),
    |    СУММА(КоличествоЗаказаноУПоставщиковЕдиницОтчетов),
    |    СУММА(СвободныйОстатокЕдиницОтчетов),
    |    МАКСИМУМ(Цена)
    |ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    СерияНоменклатуры.*,
    |    Качество.*,
    |    ДокументОснование.*}";
4 lukinskiy
 
28.04.15
22:28
(1) там такого нет
5 Drac0
 
28.04.15
22:33
(3) Это во временную таблицу (ВТ). Потом вторым пакетом выборка из справочника номенклатура и левое соединение с ВТ.
6 lukinskiy
 
28.04.15
22:34
и?
7 Drac0
 
28.04.15
22:42
(6) и вперед.
8 lukinskiy
 
28.04.15
22:48
Знать бы еще, куда.
9 DrShad
 
28.04.15
22:53
Ипать-колотить, какой смысл сего запроса?
10 RomanYS
 
28.04.15
23:09
а ещё и смысл должен быть? похоже на анализ доступности товаров или типа того
11 lukinskiy
 
28.04.15
23:21
Нужно, чтобы в группировке по номенклатуре выводились все элементы, а не только те, что есть на складе.
12 lukinskiy
 
29.04.15
13:31
Может все же подскажет кто-нибудь?
Есть вообще в восьмерочном языке запросов аналог семерочной конструкции "группировка [...] все"?
13 chelentano
 
29.04.15
13:40
(12) подсказали уже в (5)
14 DrShad
 
29.04.15
13:42
(12) и все таки я бы советовал переписать запрос
15 1976vas
 
29.04.15
13:48
(12) По (5) у тебя возьмется вся номенклатура из справочника и заполнится значениями из ВТ. Только, наверное наоборот, нужно в ВТ справочник номенклатура и левое соединение с основной частью.
16 lukinskiy
 
29.04.15
14:00
Черт, я надеялся, что можно как-то через конструктор сделать или какой-то совсем простой допиской...
17 lukinskiy
 
29.04.15
14:09
Спасибо!
Но сам вряд ли с этим сейчас разберусь...
18 Михаил Козлов
 
29.04.15
14:27
(16) В качестве "основной" таблицы возьмите справочник номенклатура и к ней левым соединением клейте остатки по регистрам.
19 lukinskiy
 
29.04.15
15:21
А это можно сделать в конструкторе?
20 1976vas
 
29.04.15
15:23
(19) Конечно.
21 lukinskiy
 
29.04.15
15:26
спасибо!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс