Имя: Пароль:
1C
1С v8
СКД. Не найдено связанное поле для поля остатка.
0 megabax
 
30.06.15
09:57
Добрый день. Добавил в запрос СКД вот такие ресурсы:
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаНачОстЗакуп,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаПриходЗакуп,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаРасходЗакуп,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаКонОстЗакуп,

И после этого он перестал работать, выдавая сообщение:
"Ошибка исполнения отчета
по причине:
Ошибка инициализации
по причине:
Не найдено связанное поле для поля остатка "НаборДанных1"
"
Подскажите пожалуйста как лечить
Вот полный запрос;
ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * ЕСТЬNULL(ЦеныНоменклатурыМагазиновСрезПоследних.Цена, 0)) КАК СуммаНачОст,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход * ЕСТЬNULL(ЦеныНоменклатурыМагазиновСрезПоследних.Цена, 0)) КАК СуммаПриход,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход * ЕСТЬNULL(ЦеныНоменклатурыМагазиновСрезПоследних.Цена, 0)) КАК СуммаРасход,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЕСТЬNULL(ЦеныНоменклатурыМагазиновСрезПоследних.Цена, 0)) КАК СуммаКонОст,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаНачОстЗакуп,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаПриходЗакуп,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаРасходЗакуп,
    СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)) КАК СуммаКонОстЗакуп,
    ЕСТЬNULL(ЦеныНоменклатурыМагазиновСрезПоследних.Цена, 0) КАК Цена,
    ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0) КАК ЦенаЗакупа,
    СУММА(ЗапросКПродажам.КоличествоОборот) КАК КоличествоПродажа,
    СУММА(ЗапросКПродажам.СтоимостьОборот) КАК СтоимостьПродажа,
    СУММА(ЗапросКПродажам.СтоимостьБезСкидокОборот) КАК СтоимостьБезСкидокПродажа
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачДата, &КонДата, Период, , ) КАК ТоварыНаСкладахОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыМагазинов.СрезПоследних(&КонДата, ) КАК ЦеныНоменклатурыМагазиновСрезПоследних
        ПО ТоварыНаСкладахОстаткиИОбороты.Склад.Магазин = ЦеныНоменклатурыМагазиновСрезПоследних.Магазин
            И ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыМагазиновСрезПоследних.Номенклатура
            И ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры = ЦеныНоменклатурыМагазиновСрезПоследних.ХарактеристикаНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПродажиОбороты.Склад КАК Склад,
            ПродажиОбороты.Номенклатура КАК Номенклатура,
            ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,
            СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот,
            СУММА(ПродажиОбороты.СтоимостьБезСкидокОборот) КАК СтоимостьБезСкидокОборот
        ИЗ
            РегистрНакопления.Продажи.Обороты(&НачДата, &КонДата, Период, ) КАК ПродажиОбороты
        
        СГРУППИРОВАТЬ ПО
            ПродажиОбороты.Склад,
            ПродажиОбороты.Номенклатура,
            ПродажиОбороты.ХарактеристикаНоменклатуры) КАК ЗапросКПродажам
        ПО ТоварыНаСкладахОстаткиИОбороты.Склад = ЗапросКПродажам.Склад
            И ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЗапросКПродажам.Номенклатура
            И ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры = ЗапросКПродажам.ХарактеристикаНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СебестоимостьНоменклатуры.СрезПоследних(&КонДата, Магазин = &ПустойМагазин) КАК СебестоимостьНоменклатурыСрезПоследних
        ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = СебестоимостьНоменклатурыСрезПоследних.Номенклатура
            И ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры = СебестоимостьНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
    ЕСТЬNULL(ЦеныНоменклатурыМагазиновСрезПоследних.Цена, 0),
    ЕСТЬNULL(СебестоимостьНоменклатурыСрезПоследних.Цена, 0)
1 lxndr
 
30.06.15
10:15
запрос не при чем. Смотри роли полей
2 lxndr
 
30.06.15
10:16
для СуммаНачОстЗакуп и СуммаКонОстЗакуп задай имя поля остатка
3 megabax
 
30.06.15
10:18
(1) Спасибо. Имя в роли "Сумма" поменял на "СуммаЗак". Заработало.
Интересно, а для чего вообще нужны эти роли?
4 lxndr
 
30.06.15
10:20
чтобы СКД знала, что конечный остаток надо рассчитывать от связанного поля нач. остатка
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший