Имя: Пароль:
1C
1С v8
Запрос в СКД 1С 8.3 УПП
,
0 Casper211
 
15.07.16
19:10
Запрос

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

СГРУППИРОВАТЬ ПО
    СвязьОснСредств.ОсновныеСредства,
    Амортизац.АмортизацияОборот,
    Ремонт.СтоимостьОборот,
    Доход.СтоимостьОборот,
    СтоимостьОС.СтоимостьОстаток

УПОРЯДОЧИТЬ ПО
    ОсновныеСредства


В Консоле запросов работает. А в СКД не хочет:

Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(15, 4)}: Ошибка обработки представления "РегистрНакопления.Продажи.Обороты:Несоответствие типов (Параметр номер ""1"")"
<<?>>РегистрНакопления.Продажи.Обороты(&П, &П2, Регистратор, ) КАК ПродажиОбороты


Помогите пожалуйста. Возможно, что для СКД нечто необходимо заменить? Спасибо.
1 Джинн
 
15.07.16
19:50
Начало-конец периода как передаете? Это дата?
2 Casper211
 
15.07.16
23:32
(1) да
3 Zhuravlik
 
15.07.16
23:43
(0) агрегатная функция всегда вернет NULL даже при отсутствии записей. Во первых зачем группировка по сумме, во вторых зачем детализация по регистратор?
4 disk-2008
 
16.07.16
00:37
(0)Это в какой типовой версии УПП в консоли такой запрос работает?
5 Casper211
 
18.07.16
11:30
(3) Сделать проверку на NULL и сделать детализацию на период?
6 aleks_default
 
18.07.16
11:33
(2) Чем докажешь?
7 Casper211
 
18.07.16
12:30
(6) В СКД в параметрах Тип Дата
8 Джинн
 
18.07.16
12:31
(7) Это ничего не значит.
9 Casper211
 
18.07.16
12:34
(8) А как тогда?
10 Джинн
 
18.07.16
12:36
(9) Покажите как Вы ее передаете.
11 Casper211
 
18.07.16
12:38
12 aleks_default
 
18.07.16
12:40
Бывает при удалении/переименовании параметров путаются значения пользовательских настроек по умолчанию (порядок меняется). Проверь.
Реальный текст запроса и параметры можно увидеть в процедуре ПриКомпоновкеРезультата(если создать ее и описать программный вывод) у МакетаКомпоновкиДанных.
13 Casper211
 
18.07.16
12:45
(12) Удалив и создал снова отчет и работает.
14 Casper211
 
18.07.16
12:46
Я переделал вот так запрос, так лучше чем выше? или все равно плохо?

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

УПОРЯДОЧИТЬ ПО
    ОсновныеСредства
15 aleks_default
 
18.07.16
13:00
ОстаткиИОбороты заменить на Обороты
16 Casper211
 
18.07.16
13:00
(15) Спасибо за подсказку.
17 Casper211
 
18.07.16
13:34
(15) Точнее так:

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

УПОРЯДОЧИТЬ ПО
    ОсновныеСредства
18 aleks_default
 
18.07.16
14:09
Детализацию замени на  АВТО и суммирование у оборотов убери. Обороты итак будут общей суммой.