Имя: Пароль:
1C
 
Ошибка в СКД
0 ArturDoo
 
25.11.20
16:55
Всем привет. Подскажите, в чем проблема. Создал отчет,а он пишет - "Ошибка обработки представления ... несоответствие типов параметр номер "1"", как я понял он ругается на параметр "Период" и не может сопоставить его у физ таблицы и виртуальной, как это исправить?
Запрос.Текст =
ВЫБРАТЬ
    ЗаказыКлиентов.ЗаказКлиента КАК ЗаказКлиента,
    ЗаказыКлиентов.ЗаказКлиента.Менеджер КАК ЗаказКлиентаМенеджер,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент КАК ЗаказКлиентаКонтрагент,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент.ИНН КАК ЗаказКлиентаКонтрагентИНН,
    ЗаказыКлиентов.ЗаказКлиента.Партнер.БизнесРегион КАК ЗаказКлиентаПартнерБизнесРегион,
    ЗаказыКлиентов.ЗаказКлиента.Номер КАК ЗаказКлиентаНомер,
    ЗаказыКлиентов.ЗаказКлиента.СуммаДокумента КАК ЗаказКлиентаСуммаДокумента,
    ЗаказыКлиентов.ЗаказКлиента.ПорядокРасчетов КАК ЗаказКлиентаПорядокРасчетов
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
        ПО ЗаказыКлиентов.ЗаказКлиента = РасчетыСКлиентами.ЗаказКлиента
{ГДЕ
    (ЗаказыКлиентов.ЗаказКлиента.Дата >= &ПериодНачалоОтчета
            И ЗаказыКлиентов.ЗаказКлиента.Дата <= &ПериодКонецОтчета),
    (ЗаказыКлиентов.ЗаказКлиента.ПорядокРасчетов = &ПорядокРасчетов),
    (ЗаказыКлиентов.ЗаказКлиента.Контрагент = &Контрагент),
    (ЗаказыКлиентов.ЗаказКлиента.Менеджер = &Менеджер)}

СГРУППИРОВАТЬ ПО
    ЗаказыКлиентов.ЗаказКлиента,
    ЗаказыКлиентов.ЗаказКлиента.Менеджер,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент.ИНН,
    ЗаказыКлиентов.ЗаказКлиента.Партнер.БизнесРегион,
    ЗаказыКлиентов.ЗаказКлиента.Номер,
    ЗаказыКлиентов.ЗаказКлиента.СуммаДокумента,
    ЗаказыКлиентов.ЗаказКлиента.ПорядокРасчетов
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.ЗаказКлиента КАК ЗаказКлиента,
    ВТ.ЗаказКлиентаМенеджер КАК Менеджер,
    ВТ.ЗаказКлиентаКонтрагент КАК Контрагент,
    ВТ.ЗаказКлиентаКонтрагентИНН КАК ИНН,
    ВТ.ЗаказКлиентаПартнерБизнесРегион КАК БизнесРегион,
    ВТ.ЗаказКлиентаНомер КАК Номер,
    ВТ.ЗаказКлиентаСуммаДокумента КАК СуммаДокумента,
    ВТ.ЗаказКлиентаПорядокРасчетов КАК ЗаказКлиентаПорядокРасчетов,
    РасчетыСКлиентамиОстатки.КОплатеОстаток КАК Долг,
    ВТ.ЗаказКлиентаСуммаДокумента - РасчетыСКлиентамиОстатки.КОплатеОстаток КАК Оплачено
ИЗ
    ВТ КАК ВТ
        Левое СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Остатки(&Период, ) КАК РасчетыСКлиентамиОстатки
        ПО ВТ.ЗаказКлиента = РасчетыСКлиентамиОстатки.ЗаказКлиента
1 dka80
 
25.11.20
17:06
&Период - убери. он сам в параметры тебе его подставит
2 ArturDoo
 
25.11.20
17:54
(1) не помогло( Вот скрин ошибки: https://yadi.sk/i/ZOcoWe399xRoHg
Исправленный текст запроса ( в убрал параметр "период" у виртуальной таблицы ):
ВЫБРАТЬ
    ЗаказыКлиентов.ЗаказКлиента КАК ЗаказКлиента,
    ЗаказыКлиентов.ЗаказКлиента.Менеджер КАК ЗаказКлиентаМенеджер,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент КАК ЗаказКлиентаКонтрагент,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент.ИНН КАК ЗаказКлиентаКонтрагентИНН,
    ЗаказыКлиентов.ЗаказКлиента.Партнер.БизнесРегион КАК ЗаказКлиентаПартнерБизнесРегион,
    ЗаказыКлиентов.ЗаказКлиента.Номер КАК ЗаказКлиентаНомер,
    ЗаказыКлиентов.ЗаказКлиента.СуммаДокумента КАК ЗаказКлиентаСуммаДокумента,
    ЗаказыКлиентов.ЗаказКлиента.ПорядокРасчетов КАК ЗаказКлиентаПорядокРасчетов
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
        ПО ЗаказыКлиентов.ЗаказКлиента = РасчетыСКлиентами.ЗаказКлиента
{ГДЕ
    (ЗаказыКлиентов.ЗаказКлиента.Дата >= &ПериодНачалоОтчета
            И ЗаказыКлиентов.ЗаказКлиента.Дата <= &ПериодКонецОтчета),
    (ЗаказыКлиентов.ЗаказКлиента.ПорядокРасчетов = &ПорядокРасчетов),
    (ЗаказыКлиентов.ЗаказКлиента.Контрагент = &Контрагент),
    (ЗаказыКлиентов.ЗаказКлиента.Менеджер = &Менеджер)}

СГРУППИРОВАТЬ ПО
    ЗаказыКлиентов.ЗаказКлиента,
    ЗаказыКлиентов.ЗаказКлиента.Менеджер,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент,
    ЗаказыКлиентов.ЗаказКлиента.Контрагент.ИНН,
    ЗаказыКлиентов.ЗаказКлиента.Партнер.БизнесРегион,
    ЗаказыКлиентов.ЗаказКлиента.Номер,
    ЗаказыКлиентов.ЗаказКлиента.СуммаДокумента,
    ЗаказыКлиентов.ЗаказКлиента.ПорядокРасчетов
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.ЗаказКлиента КАК ЗаказКлиента,
    ВТ.ЗаказКлиентаМенеджер КАК Менеджер,
    ВТ.ЗаказКлиентаКонтрагент КАК Контрагент,
    ВТ.ЗаказКлиентаКонтрагентИНН КАК ИНН,
    ВТ.ЗаказКлиентаПартнерБизнесРегион КАК БизнесРегион,
    ВТ.ЗаказКлиентаНомер КАК Номер,
    ВТ.ЗаказКлиентаСуммаДокумента КАК СуммаДокумента,
    ВТ.ЗаказКлиентаПорядокРасчетов КАК ЗаказКлиентаПорядокРасчетов,
    РасчетыСКлиентамиОстатки.КОплатеОстаток КАК Долг,
    ВТ.ЗаказКлиентаСуммаДокумента - РасчетыСКлиентамиОстатки.КОплатеОстаток КАК Оплачено
ИЗ
    ВТ КАК ВТ
        Левое СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Остатки КАК РасчетыСКлиентамиОстатки
        ПО ВТ.ЗаказКлиента = РасчетыСКлиентамиОстатки.ЗаказКлиента
3 Cthulhu
 
25.11.20
18:35
РегистрНакопления.РасчетыСКлиентами.Остатки(???)
4 ArturDoo
 
25.11.20
19:50
(3)?
5 hhhh
 
25.11.20
20:40
(4) скобки поставь
6 youalex
 
25.11.20
23:54
(3) это допустимая форма
7 ArturDoo
 
26.11.20
08:10
Так как соединить таблицы?
8 Малыш Джон
 
26.11.20
08:26
Я извиняюсь, а нахрена в первой ВТ соединение с регистром?
9 ArturDoo
 
26.11.20
08:56
(8) В первой ВТ нет нужды, просто осталось
10 dka80
 
26.11.20
09:01
На вкладке Параметры у тебя что?
11 ArturDoo
 
26.11.20
09:51
12 youalex
 
26.11.20
10:00
А если поменять тип СтандартныйПериод на Дата?
13 dka80
 
26.11.20
10:01
Поле Период у тебя должно быть дата. Это поле добавил автоматически СКД
Тебе лучше создать отдельный параметр ПериодОтчета с типом Стандартный период и из него подставить данные в другие параметры
14 ArturDoo
 
26.11.20
10:27
(12),(13)Спасибо большое, всё получилось