Имя: Пароль:
1C
1С v8
СКД: есть ли какие-то ограничения на использование вложенных запросов?
0 mrd2006
 
02.08.12
11:39
Не пойму в чем проблема: имеется отчет, построенный с использованием СКД, источник данных запрос
ВЫБРАТЬ
   ХозрасчетныйОбороты.Субконто1 КАК НомГруппа,
   ХозрасчетныйОбороты.Субконто2 КАК СтатьяЗатрат,
   ХозрасчетныйОбороты.СуммаОборот КАК Сумма,
   "Косвенные" КАК ВидРасходов
ПОМЕСТИТЬ КосвенныеРасходы
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты(
           &ДатаН,
           &ДатаК,
           ,
           Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство),
           ,
           ,
           КорСчет = ЗНАЧЕНИЕ(Плансчетов.Хозрасчетный.ОбщепроизводственныеРасходы)
               ИЛИ КорСчет = ЗНАЧЕНИЕ(Плансчетов.Хозрасчетный.ОбщехозяйственныеРасходы),
           ) КАК ХозрасчетныйОбороты

ИНДЕКСИРОВАТЬ ПО
   НомГруппа,
   СтатьяЗатрат
;

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

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.НомГруппа,
   ВложенныйЗапрос.СтатьяЗатрат
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ХозрасчетныйОбороты.Субконто1 КАК НомГруппа,
   ХозрасчетныйОбороты.СуммаНУОборотКт КАК Сумма
ПОМЕСТИТЬ Выручка
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаН, &ДатаК, , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВыручкаНеЕНВД), ЗНАЧЕНИЕ(ПланвидовХарактеристик.видыСубконтоХозрасчетные.НоменклатурныеГруппы), , НЕ КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи)), ) КАК ХозрасчетныйОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ПрямыеРасходы.НомГруппа,
   ПрямыеРасходы.СтатьяЗатрат,
   ПрямыеРасходы.Сумма,
   ПрямыеРасходы.ВидРасходов
ПОМЕСТИТЬ ВсеРасходы
ИЗ
   ПрямыеРасходы КАК ПрямыеРасходы

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   КосвенныеРасходы.НомГруппа,
   КосвенныеРасходы.СтатьяЗатрат,
   КосвенныеРасходы.Сумма,
   КосвенныеРасходы.ВидРасходов
ИЗ
   КосвенныеРасходы КАК КосвенныеРасходы
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВсеРасходы.НомГруппа,
   ВсеРасходы.ВидРасходов,
   ВсеРасходы.СтатьяЗатрат,
   ВсеРасходы.Сумма КАК СуммаЗатрат,
   Выручка.Сумма КАК СуммаВыручки
ИЗ
   Выручка КАК Выручка
       ПОЛНОЕ СОЕДИНЕНИЕ ВсеРасходы КАК ВсеРасходы
       ПО Выручка.НомГруппа = ВсеРасходы.НомГруппа

При исполнении запроса выдается ошибка:
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(59, 3)}: Ошибка обработки представления "РегистрБухгалтерии.Хозрасчетный.Остатки:Несоответствие типов (Параметр номер ""1"")"
<<?>>РегистрБухгалтерии.Хозрасчетный.Остатки(&П, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство), , ) КАК ХозрасчетныйОстатки) КАК ВложенныйЗапрос

Если же убрать таблицу "РегистрБухгалтерии.Хозрасчетный.Остатки" из запроса тогда никаких ошибок нет
В общем не пойму, что за ошибка это и почему выдает, что первый параметр для таблицы "РегистрБухгалтерии.Хозрасчетный.Остатки" &П а не &ДатаН как задано у меня в запросе
1 mikecool
 
02.08.12
11:40
подзапрос тут ни при чем