Имя: Пароль:
1C
1С v8
v8: 1c упп модернизация Анализа Заказа.отчёт
0 Tcibah
 
14.05.13
08:28
Добрый день, модернизирую стандартный отчёт. К резервам хочу добавить имя склада на котором лежат эти резервы. Всё вроде бы  хорошо,но стандартные запрос "затраивает строки" а  склад выводиться только в каждой третьей строке и программа его не видит при формировании отчёта.

В чём может быть проблема?

    ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ЗаказыПокупателейОстаткиИОбороты.Номенклатура КАК Номенклатура,
   ЗаказыПокупателейОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХраненияОстатков,
   ЗаказыПокупателейОстаткиИОбороты.Номенклатура.ВестиУчетПоХарактеристикам КАК НоменклатураВестиУчетПоХарактеристикам,
   ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ЗаказыПокупателейОстаткиИОбороты.КоличествоПриход КАК Запланировано,
   ЗаказыПокупателейОстаткиИОбороты.КоличествоРасход КАК ОтгруженоОтменено,
   ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток КАК ОсталосьОтгрузить,
   ЕСТЬNULL(РезервыКомпании.КоличествоОстаток, 0) + ЕСТЬNULL(РезервыКПередаче.КоличествоОстаток, 0) - ЕСТЬNULL(РезервыКПолучению.КоличествоОстаток, 0) КАК Резерв,
   РазмещениеЗаказовПокупателей.КоличествоОстаток КАК Заказано,
   ЕСТЬNULL(ОстаткиТоваровКомпании.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиТоваровКомпанииВРознице.КоличествоОстаток, 0) - ЕСТЬNULL(РезервыТоваровКомпании.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеКомпании.КоличествоОстаток, 0) КАК СвободныйОстаток,
   ВЫБОР
       КОГДА РезервыКомпании.КоличествоОстаток > 0
           ТОГДА РезервыКомпании.Склад
       ИНАЧЕ ВЫБОР
               КОГДА РезервыКПередаче.КоличествоОстаток > 0
                   ТОГДА РезервыКПередаче.Склад
               ИНАЧЕ ВЫБОР
                       КОГДА РезервыКПолучению.КоличествоОстаток > 0
                           ТОГДА РезервыКПолучению.Склад
                   КОНЕЦ
           КОНЕЦ
   КОНЕЦ КАК РезервСклад
ИЗ
   РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(, &ДатаАнализа, , , ЗаказПокупателя = &Заказ) КАК ЗаказыПокупателейОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаАнализа, ДокументРезерва = &Заказ) КАК РезервыКомпании
       ПО ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = РезервыКомпании.ХарактеристикаНоменклатуры
           И ЗаказыПокупателейОстаткиИОбороты.Номенклатура = РезервыКомпании.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(&ДатаАнализа, ЗаказПокупателя = &Заказ) КАК РазмещениеЗаказовПокупателей
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = РазмещениеЗаказовПокупателей.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = РазмещениеЗаказовПокупателей.ХарактеристикаНоменклатуры
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаАнализа, ) КАК ОстаткиТоваровКомпании
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ОстаткиТоваровКомпании.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ОстаткиТоваровКомпании.ХарактеристикаНоменклатуры
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаАнализа, ) КАК ОстаткиТоваровКомпанииВРознице
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ОстаткиТоваровКомпанииВРознице.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ОстаткиТоваровКомпанииВРознице.ХарактеристикаНоменклатуры
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаАнализа, ) КАК РезервыТоваровКомпании
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = РезервыТоваровКомпании.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = РезервыТоваровКомпании.ХарактеристикаНоменклатуры
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаАнализа, ) КАК ТоварыКПередачеКомпании
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ТоварыКПередачеКомпании.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ТоварыКПередачеКомпании.ХарактеристикаНоменклатуры
           И ЗаказыПокупателейОстаткиИОбороты.СтатусПартии = ТоварыКПередачеКомпании.СтатусПартии
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаАнализа, ДокументРезерва = &Заказ) КАК РезервыКПередаче
       ПО ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = РезервыКПередаче.ХарактеристикаНоменклатуры
           И ЗаказыПокупателейОстаткиИОбороты.Номенклатура = РезервыКПередаче.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПолучениюНаСклады.Остатки(&ДатаАнализа, ДокументРезерва = &Заказ) КАК РезервыКПолучению
       ПО ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = РезервыКПолучению.ХарактеристикаНоменклатуры
           И ЗаказыПокупателейОстаткиИОбороты.Номенклатура = РезервыКПолучению.Номенклатура
ИТОГИ
   СУММА(Запланировано),
   СУММА(ОтгруженоОтменено),
   СУММА(ОсталосьОтгрузить),
   СУММА(Резерв),
   СУММА(Заказано),
   СУММА(СвободныйОстаток)
ПО
   Номенклатура,
   ХарактеристикаНоменклатуры
1 Галахад
 
гуру
14.05.13
08:40
Не понял, зачем столько соединений?
2 Tcibah
 
14.05.13
08:45
Это типовой отчёт. Ничего не менял.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.