Ошибка обработки представления несоответствие типов параметр номер 1 скд

Опубликовано: 16.02.2018 /

Рубрики: 1С

Разрабатывал я простенький отчет на СКД в 1С:ERP Управление предприятием 2 (2.2.3.138)

Краткое ТЗ такое:

За основу взять типовой отчет «Ведомость товаров на складах»

Добавить возможность выводить в поля отчета следующие показатели:

  • Коэффициент. Вычисляется как отношение количества конечного остатка за период к количеству продаж за соответствуюий период в единицах хранения

  • Цена. Последняя актуальная цена товара в соответствующий период по виду цен = «Розничная»

  • Количество. Количество продаж в единицах хранения (расход в отчете — общий расход со склада, нужны только продажи)

  • Сумма. Выручка от продаж

Задача простейшая,пишу такой запрос (тут часть):

Товары КАК Товары
ПОЛНОЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Товары.Номенклатура = Продажи.Номенклатура
И Товары.Характеристика = Продажи.Характеристика
И Товары.Склад = Продажи.Склад
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
ПО Товары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И Товары.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика

И столкнулся с такой ошибкой:

Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»

Проблема решается не хитрым путем, но решил сохранить ее решение для себя и для вас.

Решение:

Нужно устанавливать параметры для СКД на вкладке «компоновка данных» в конструкторе запроса.

Пример:

и

Добрый день! Есть отчёт на СКД, с отбором по периоду. Если сформировать отчёт без отбора, то всё окей. Однако если использовать отбор по периоду, то получаю ошибку: Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних несоответствие типов параметр 1». Вот код запроса:

ВЫБРАТЬ РАЗРЕШЕННЫЕ

    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,

    ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,

    ТоварыНаСкладахОстаткиИОбороты.Склад.Магазин КАК Магазин,

    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,

    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,

    ЦеныНоменклатурыСрезПоследних.Цена,

    ЦеныНоменклатурыСрезПоследних.ВидЦены

ИЗ

    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних

        ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

В чём может быть причина появления ошибки?

Опубликовано: 16.02.2018 /

Рубрики: 1С

Разрабатывал я простенький отчет на СКД в 1С:ERP Управление предприятием 2 (2.2.3.138)

Краткое ТЗ такое:

За основу взять типовой отчет «Ведомость товаров на складах»

Добавить возможность выводить в поля отчета следующие показатели:

  • Коэффициент. Вычисляется как отношение количества конечного остатка за период к количеству продаж за соответствуюий период в единицах хранения

  • Цена. Последняя актуальная цена товара в соответствующий период по виду цен = «Розничная»

  • Количество. Количество продаж в единицах хранения (расход в отчете — общий расход со склада, нужны только продажи)

  • Сумма. Выручка от продаж

Задача простейшая,пишу такой запрос (тут часть):

Товары КАК Товары
ПОЛНОЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Товары.Номенклатура = Продажи.Номенклатура
И Товары.Характеристика = Продажи.Характеристика
И Товары.Склад = Продажи.Склад
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
ПО Товары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И Товары.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика

И столкнулся с такой ошибкой:

Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»

Проблема решается не хитрым путем, но решил сохранить ее решение для себя и для вас.

Решение:

Нужно устанавливать параметры для СКД на вкладке «компоновка данных» в конструкторе запроса.

Пример:

и

Ошибка по причине Несоответствие типов в 1С 8.3 связана с передачей параметров в командах и запросах 1С.

Изучив статью, вы:

  • ознакомитесь с порядком исправления ошибки в запросе и командах 1С и узнаете, как исправить;
  • получите два внешних отчета, демонстрирующих ошибочный и правильный коды.

В какой момент выходит ошибка

Как правило, параметры в командах 1С идут в определенной очередности и ссылаются на данные конкретного типа. Ошибка в указании параметра не на том месте или не того типа приводит к появлению сообщения о несоответствии типов:

Исправляется подобная ошибка восстановлением правильной последовательности в строке параметров команды или указанием нужного типа данных Ошибка 1С Несоответствие типов наиболее часто появляется при написании запросов и при некорректном указании параметров команды.

Рассмотрим причины ее возникновения и исправление на конкретном примере.

Ошибка в таблице запроса

При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».

В окне сообщений уже указано место возникновения ошибки: Несоответствие типов Параметр номер «1» в строке Регистр сведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.

Для исправления ошибки необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы указанную строчку.

Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1 С Предприятие:

Из описания видно, что команда СрезПоследних имеет 2 параметра:

  • Период;
  • Отбор.

Если параметр Период не указывается, место в команде остается пустым, а через запятую указывается параметр отбора, в нашем случае: ТипЦен. Исправленная команда выглядит следующим образом: СрезПоследних(, ТипЦен = &ТипЦен ).

После исправления команды запустите отчет в 1 С Бухгалтерия по кнопке Главное меню — Файл — Открыть:

Теперь отчет формируется правильно!

Исправление ошибки в команде 1С

При поиске ссылок на контрагента в отчете 1С появляется ошибка Несоответствие типов (параметр номер 2):

1С сообщает место ошибки — Параметр номер 2 при нажатии кнопки ERROR.

Для ее исправления необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы строчку с командой НайтиПоСсылкам.

Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:

Из описания идно, что команда НайтиПоСсылкам имеет 4 параметра:

  • СписокСсылок;
  • ОбластьПоиска;
  • ВключитьОбъекты;
  • ИсключитьОбъекты.

Параметр ОбластьПоиска имеет тип «массив», а в нашем примере указано число 1: НайтиПоСсылкам(МассивПоиска, 1, , МассивИсключений)Область поиска — необязательный параметр, поэтому исправленная команда может выглядеть следующим образом: НайтиПоСсылкам(МассивПоиска,  ,  , МассивИсключений).

После исправления команды запустите внешний отчет в 1С по кнопке Главное меню — Файл — Открыть:

Теперь команда поиска ссылок на контрагента отрабатывает правильно.

Вот так можно получить ошибку 1С Несоответствие типов в 1С, поэтому контролируйте правильность указания параметров в запросах и командах 1С в Синтаксис-Помощнике

Обслуживание

Заказать консультацию

По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.

Небольшой вопрос по СКД

Я

  

Double_Medved

23.01.13 — 16:31

Подскажите плиз,1с 8.2, УТ11, нужен отчет в СКД небольшой сделать, вот что-то не пойму как сделать СрезПоследних на КонецПериода, То есть выбираю  РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ) КАК ЦеныНоменклатурыСрезПоследних

КонецПериода = &Период.ДатаОкончания, Период — стандартный параметр СКД…, Выдает такое: {(9, 2)}: Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»

<<?>>РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&П3, ) КАК ЦеныНоменклатурыСрезПоследних

И я в шоке почему &ПЗ???? Честное слово, 100 раз проверил, там &КонецПериода, видимо где-то там собака и зарыта… Подскажите, как правильно в СКД сделать срещ последних на дату? В коде-то понятно, Запрос, Потом УстановитьПараметр…

  

Double_Medved

1 — 23.01.13 — 16:32

Может нужно ка-то по-другому указывать параметр? мне нужен конец периода, выбранного в СКД

  

France

2 — 23.01.13 — 16:34

(&П3 — убрать…

  

samozvanec

3 — 23.01.13 — 16:34

он сам параметр создает. на закладке Компоновка укажи свой.

  

Double_Medved

4 — 23.01.13 — 16:35

France, да нету там &ПЗ в тексте запроса! Мистика!

  

Double_Medved

5 — 23.01.13 — 16:35

Samozvanec, сейчас попробую, Спасибо. А все-таки как-то можно использовать стандартный Период?

  

eklmn

6 — 23.01.13 — 16:39

ПЗ это скдэшный параметр

КонецПериода переименуй например в КонецПериодаЫ

  

Double_Medved

7 — 23.01.13 — 16:45

Блин сделал параметр Дата1,

ВЫБРАТЬ

   ЦеныНоменклатурыСрезПоследних.ВидЦены,

   ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура1,

   ЦеныНоменклатурыСрезПоследних.Цена

ИЗ

   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата1, ) КАК ЦеныНоменклатурыСрезПоследних

ГДЕ

   ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены

Пишет :

{(4, 2)}: Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»

<<?>>РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&П, ) КАК ЦеныНоменклатурыСрезПоследних

  

Double_Medved

8 — 23.01.13 — 16:46

Я в ах????е

  

Double_Medved

9 — 23.01.13 — 16:48

Мне просто нужно сделать СрезНаДату, у меня в самописном отчете не в СКД это отрабатывает запросто, а тут…

  

Double_Medved

10 — 23.01.13 — 16:51

Вот такая простая фигня отрабатывает запросто:

Запрос = Новый Запрос;

   Запрос.Текст =

   «Выбрать

   |ЦеныНоменклатуры.Номенклатура,

   |ЦеныНоменклатуры.Цена

   |ИЗ

   |РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНачЗ,) КАК ЦеныНоменклатуры

   |ГДЕ

   |ЦеныНоменклатуры.ВидЦены = &ВидЦеныЗ

   |»

   ;

   Запрос.УстановитьПараметр(«ДатаНачЗ»,ДатаНач);

   Запрос.УстановитьПараметр(«ВидЦеныЗ»,ВидЦены);

   ТЗРН = Новый ТаблицаЗначений;

   ТЗРН = Запрос.Выполнить().Выгрузить();

А в СКД Как? Помогите плиз

  

pessok

11 — 23.01.13 — 16:53

(10) да ты параметру с типом «Дата» суешь стандартный период. Расслабься уже

  

2757028

12 — 23.01.13 — 16:56

(0) В Схеме СКД  на закладке Параметры Период должен быть с типом дата. а ты видно добавил Период с типом СтандартныйПериод. Переименуй свой период на период1 или удали его. а Период строго типизируй типом Дата

  

France

13 — 23.01.13 — 16:59

возьми свою дату в {(&Дата1}… либо послушай народ, и прекрати подсовывать параметр, т.е., вообще ничего не ставь в условия виртуальной таблицы…. в настройках потом просто вручную поставишь нужное значение параметре..

  

Double_Medved

14 — 23.01.13 — 17:21

Блин никак не выходит.. Я уже и в скобки брал и так сделал:

ВЫБРАТЬ

   &Дата1 КАК Дата,

   ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,

   ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,

   ЦеныНоменклатурыСрезПоследних.Цена КАК Цена

{ВЫБРАТЬ

   Дата,

   ВидЦены,

   Номенклатура,

   Цена}

ИЗ

   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних

И все та же ошибка:

{(4, 2)}: Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»

<<?>>РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&П, ) КАК ЦеныНоменклатурыСрезПоследних

Что это за &П вообще у него?

  

pessok

15 — 23.01.13 — 17:22

&П — это сферический в вакууме параметр, не забивай себе им голову. Смотри на тип параметры на одноимееной закладке. у тебя там стоит СтандартныйПериод наверняка, а надо Дата

  

Double_Medved

16 — 23.01.13 — 17:23

pessok, я создал свой параметр с типом Дата, это точно, я смотрел..

  

pessok

17 — 23.01.13 — 17:23

и именно ЭТОТ параметр у тебя стоит параметр виртуальной таблицы?

  

pessok

18 — 23.01.13 — 17:23

*параметром

  

samozvanec

19 — 23.01.13 — 17:25

на закладке Параметры в схеме что у тебя? огласи весь список

  

samozvanec

20 — 23.01.13 — 17:26

телепаты к вечеру подустали

  

Double_Medved

21 — 23.01.13 — 17:27

Херасе заработало, даже не ожидал. Убрал вообще нафиг Период из Параметров и оставил только свою Дата1…. И вот это заработало:

ВЫБРАТЬ

   &Дата1 КАК Дата,

   ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,

   ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,

   ЦеныНоменклатурыСрезПоследних.Цена КАК Цена

{ВЫБРАТЬ

   Дата,

   ВидЦены,

   Номенклатура,

   Цена}

ИЗ

   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних

  

Double_Medved

22 — 23.01.13 — 17:27

Благодарю всех за помощь, особенно приятно что не троллили и не отправляли читать гугл

  

pessok

23 — 23.01.13 — 17:28

(21) чуваааааак.. это было в (3)   :)

  

Double_Medved

24 — 23.01.13 — 17:29

В (3) я создал свой параметр Дата1, и его использовал, но там все еще висел просто в списке параметр Период и что-то там не того…

  

samozvanec

25 — 23.01.13 — 17:37

(24) если бы ты так сделал, запрос выглядел бы вот так:

ВЫБРАТЬ

   &Дата1 КАК Дата,

   ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,

   ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,

   ЦеныНоменклатурыСрезПоследних.Цена КАК Цена

ИЗ

   РегистрСведений.ЦеныНоменклатуры.СрезПоследних({&Дата}, ) КАК ЦеныНоменклатурыСрезПоследних

  

samozvanec

26 — 23.01.13 — 17:38

епта… а че у тебя Дата1 в полях делает? ты куда че хочешь передать-то? задать значение поля, или в параметр?

  

pessok

27 — 23.01.13 — 17:50

(26) вестимо выводить дату остатков еще и в каждую строку отчета…

Содержание:

1.       Несоответствие типов данных

2.       Ошибка внутри таблицы в запросе

3.       Причина ошибки внутри команды

Приветствую, коллеги! В данной статье рассмотрим понятие и описание типа данных и переменных в системе 1С версии 8.3. Также поговорим о распространенной ошибке «Несоответствие типов», изложим инструкцию с по ее устранению. 


1.    Несоответствие типов данных

Тип – это характеристика у значения, которая определяет поведение и свойства, которые имеет данное значение.

В командах внутри системы 1С параметры имеют некую специальную очерёдность, а также все параметры имеют ссылку на данные, которые связаны с каким-либо типом. В случае, когда какой-то из параметров находится в неположенном месте, либо название не соответствует типу, выполняются невозможные действия для конкретного типа – появляется сообщение, в котором говорится о несоответствии типов данных (показано на скриншоте ниже):

Сообщение об ошибке несоответствии типов

Рис. 1 Сообщение об ошибке несоответствии типов

Чаще всего данная неполадка возникает, когда при написании запроса внутри команды не верно указывают параметры. Исправление подобной ошибки производится при помощи изменения типа передаваемого параметра или используемой переменной на правильный тип данных.  

2.    Ошибка внутри таблицы в запросе

Рассмотрим пример: при чтении цен из номенклатуры согласно регистру данных «Цены номенклатуры» с общего внешнего отчёта всплывает ошибка «Неоднозначное поле «ТипЦен.Номенклатура».

Ошибка Неоднозначное поле

Рис. 2 Ошибка Неоднозначное поле

Видим, что в окне с сообщением о неполадке указано место в коде, где возникла ошибка несоответствия типов: «Параметр номер «1», в строчке вида:

«РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.

Чтобы устранить данную ошибку в первую очередь откроем конфигурацию с данным отчётом и найдем внутри кода с формой строчку, которая была приведена выше:

Исправление ошибки несоответствия типов (Параметр номер 1)

Рис. 3 Исправление ошибки несоответствия типов (Параметр номер 1)

При помощи «Синтаксис-Помощника», в меню конфигурации 1С можно сверить, насколько правильно была написана команда:

Исправление ошибки несоответствия типов

Рис. 4 Проверка написания команды с помощью Синтаксис-Помощника

Согласно описанию, в команде «СрезПоследних» находится два параметра: «Отбор» и «Период».

В случае, когда параметр «Период» не был указан, в данной команде будет пустое поле, а после запятой будет написан параметр для отбора. Для нашего примера этим параметром будет «ТипЦен». После правок команда видоизменится так: «СрезПоследних(,ТипЦен = &ТипЦен).

Исправление команды СрезПоследних

Рис. 5 Исправление команды СрезПоследних

После того как команда СрезПоследних была исправлена, стоит снова сформировать отчёт из «Главное меню → Файл → Открыть». 

3.    Причина ошибки внутри команды

Имеем такую ошибку: когда происходит поиск вариантов ссылок на контрагента в отчёте системы 1С, то возникает ошибка «Несоответствие типов (параметр номер «2»), как на скриншоте ниже:

Несоответствие типов

Рис. 6 Несоответствие типов (параметр номер «2»)

В системе 1С указано то место, где произошла неполадка – это недопустимый параметр номер 2, если кликнуть на кнопку «ERROR». Чтобы её исправить нужно запустить отчёт в конфигураторе системы 1С, далее ищем форму строчки, в которой написана команда «НайтиПоСсылкам», внутри модуля.

Команда НайтиПоСсылкам внутри модуля

Рис. 7 Команда НайтиПоСсылкам внутри модуля

Можно проверить верность того, как написана команда при помощи «Синтаксис-Помощника» в панели меню системы 1С, кнопка будет выделена:

Команда НайтиПоСсылкам

Рис. 8 Команда НайтиПоСсылкам в Синтаксис-Помощнике

По описанию следует: в команде «НайтиПоСсылкам» находится такие четыре параметра: СписокСсылок, ИсключитьОбъекты, ВключитьОбъекты и ОбластьПоиска.

В параметре с названием «ОбластьПоиска» будет тип «массив», в примере указана единица. Параметр «ОбластьПоиска» — не является обязательным, так что команда, которую исправили будет иметь следующий новый вид: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).

Тип массив в НайтиПоСсылкам

Рис. 9 Тип массив в НайтиПоСсылкам

Далее запускаем наш отчёт в системе 1С.

После наших действий команда работает исправно и ошибки нет.

НайтиПоСсылкам

Рис. 10 Проверка на наличие ошибок в системе конфигурации 1С


В данной статье было рассмотрено как устранить ошибку несоответствия типов в 1С. На примерах была устранена эта ошибка для запроса и для команды. По данному алгоритму можно всегда устранять данную ошибку.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

bless18
17.05.2010 20:26 Прочитано: 11382

Здравствуйте!
Имеется ТЧ с реквизитами: Задача, ОписаниеЗадачи и Отдел
Необходимо вывести Задачу и ее описание, которые хранятся в регистре сведений
При этом, задачи должны выводиться для того отдела, в котором работает пользователь системы
Пишу запрос:
Код 1C v 8.х

 
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТекущиеЗадачиСрезПоследних.НаименованиеЗадачи,
| ТекущиеЗадачиСрезПоследних.ОписаниеЗадачи,
| ТекущиеЗадачиСрезПоследних.Отдел
|ИЗ
| РегистрСведений.ТекущиеЗадачи.СрезПоследних(&Отдел, ) КАК ТекущиеЗадачиСрезПоследних";
Запрос.УстановитьПараметр("Отдел", ПараметрыСеанса.ТекущийПользователь.Сотрудник.Отдел);
Результат = Запрос.Выполнить();
ТзВрем = Результат.Выгрузить();

Для Каждого СтрокаТекущиеЗадачи Из ТзВрем Цикл
СтрокаОписаниеЗадачи = ЭтотОбъект.ЗадачиРаботаПользователей.Добавить();
СтрокаОписаниеЗадачи.ОписаниеЗадачи = СтрокаТекущиезадачи.ОписаниеЗадачи;
СтрокаОписаниеЗадачи.Задача = СтрокаТекущиеЗадачи.НаименованиеЗадачи;
КонецЦикла;

Выдается такая ошибка:
{Обработка.РаботаПользователей.Форма.Форма(196)}: Ошибка при вызове метода контекста (Выполнить): {(6, 2)}: Ошибка обработки представления «РегистрСведений.ТекущиеЗадачи.СрезПоследних:Несоответствие типов (параметр номер «»1″»)»
<<?>>РегистрСведений.ТекущиеЗадачи.СрезПоследних(&Отдел, ) КАК ТекущиеЗадачиСрезПоследних
Результат = Запрос.Выполнить();
Табличная часть расположена на панели
На всякий случай пришлю код всей процедуры:
Код 1C v 8.х

 
Процедура ПриОткрытии()
ОбработкаОбъект.Пользователь = ПараметрыСеанса.ТекущийПользователь;
ОбработкаОбъект.ПолучательЗадачи = ПараметрыСеанса.ТекущийПользователь.Сотрудник;
ОбработкаОбъект.Отдел = ПараметрыСеанса.ТекущийПользователь.Сотрудник.Отдел;

ЭтотОбъект.Дата=КонецДня(ТекущаяДата());
ЭлементыФормы.Польз.Заголовок = ПараметрыСеанса.ТекущийПользователь;
ЭлементыФормы.Получ.Заголовок = ПараметрыСеанса.ТекущийПользователь.Сотрудник;
ЭлементыФормы.Отд.Заголовок = ПараметрыСеанса.ТекущийПользователь.Сотрудник.Отдел;

Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РаспределениеЗадачиСрезПоследних.ИсполнительЗадачи,
| РаспределениеЗадачиСрезПоследних.НаименованиеЗадачи,
| РаспределениеЗадачиСрезПоследних.Пользователь,
| РаспределениеЗадачиСрезПоследних.Приоритет,
| РаспределениеЗадачиСрезПоследних.ДатаВыполнения,
| РаспределениеЗадачиСрезПоследних.ДатаНачалаВыполнения
|ИЗ
| РегистрСведений.РаспределениеЗадачи.СрезПоследних(&Дата, ) КАК РаспределениеЗадачиСрезПоследних";
Запрос.УстановитьПараметр("Дата", КонецДня(ЭтотОбъект.Дата));
Результат = Запрос.Выполнить();
ТзВрем = Результат.Выгрузить();
ТзВрем.Колонки.Добавить("Номер");
ТзВрем.Колонки.Добавить("ПроцентОставшегосяВремени");
Для Каждого СтрокаРаспределениеЗадачи Из ТзВрем Цикл
СтрокаТабличнойЧасти = ЭтотОбъект.Пользователи.Добавить();
СтрокаТабличнойЧасти.ПользовательСистемы = СтрокаРаспределениеЗадачи.Пользователь;
СтрокаТабличнойЧасти.ТекущаяЗадача = СтрокаРаспределениеЗадачи.НаименованиеЗадачи;
СтрокаТабличнойЧасти.Приоритет = СтрокаРаспределениеЗадачи.Приоритет;
СтрокаТабличнойЧасти.ДатаНачалаВыполнения = СтрокаРаспределениеЗадачи.ДатаНачалаВыполнения;
СтрокаТабличнойЧасти.ДатаВыполненияПоПлану = СтрокаРаспределениеЗадачи.ДатаВыполнения;
СтрокаТабличнойЧасти.ИсполнительЗадачи = СтрокаРаспределениеЗадачи.ИсполнительЗадачи;

ДатаНачала = СтрокаРаспределениеЗадачи.ДатаНачалаВыполнения;
ДатаКонца = СтрокаРаспределениеЗадачи.ДатаВыполнения;

КоличествоДнейНаВыполнение = РазностьДат(ДатаКонца,ДатаНачала);
КоличествоДнейСоДняНачалаВыполнения = РазностьДат(ТекущаяДата(),ДатаНачала);
Если ТекущаяДата()>ДатаКонца тогда
СтрокаРаспределениеЗадачи.ПроцентОставшегосяВремени="100 %";
Иначе
СтрокаРаспределениеЗадачи.ПроцентОставшегосяВремени=Окр(Число(КоличествоДнейСоДняНачалаВыполнения / КоличествоДнейНаВыполнение) * 100, 2);
КонецЕсли;
СтрокаТабличнойЧасти.ПроцентОставшегосяВремени = Строка(СтрокаРаспределениеЗадачи.ПроцентОставшегосяВремени)+ " ";

Если СтрокаТабличнойЧасти.Приоритет = Перечисления.Приоритет.Высокий Тогда
СтрокаТабличнойЧасти.Номер = Число(1);
ИначеЕсли СтрокаТабличнойЧасти.Приоритет = Перечисления.Приоритет.Средний Тогда
СтрокаТабличнойЧасти.Номер = Число(2);
ИначеЕсли СтрокаТабличнойЧасти.Приоритет = Перечисления.Приоритет.Низкий Тогда
СтрокаТабличнойЧасти.Номер = Число(3);
КонецЕсли;
КонецЦикла;
ЭтотОбъект.Пользователи.Сортировать("ДатаВыполненияПоПлану Возр,Номер Возр");
ЭлементыФормы.Польз1.Заголовок = ПараметрыСеанса.ТекущийПользователь;
ЭлементыФормы.Получ1.Заголовок = ПараметрыСеанса.ТекущийПользователь.Сотрудник;
ЭлементыФормы.Отд1.Заголовок = ПараметрыСеанса.ТекущийПользователь.Сотрудник.Отдел;
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТекущиеЗадачиСрезПоследних.НаименованиеЗадачи,
| ТекущиеЗадачиСрезПоследних.ОписаниеЗадачи,
| ТекущиеЗадачиСрезПоследних.Отдел
|ИЗ
| РегистрСведений.ТекущиеЗадачи.СрезПоследних(&Отдел, ) КАК ТекущиеЗадачиСрезПоследних";
Запрос.УстановитьПараметр("Отдел", ПараметрыСеанса.ТекущийПользователь.Сотрудник.Отдел);
Результат = Запрос.Выполнить();
ТзВрем = Результат.Выгрузить();

Для Каждого СтрокаТекущиеЗадачи Из ТзВрем Цикл
СтрокаОписаниеЗадачи = ЭтотОбъект.ЗадачиРаботаПользователей.Добавить();
СтрокаОписаниеЗадачи.ОписаниеЗадачи = СтрокаТекущиезадачи.ОписаниеЗадачи;
СтрокаОписаниеЗадачи.Задача = СтрокаТекущиеЗадачи.НаименованиеЗадачи;
КонецЦикла;
КонецПроцедуры

Подскажите, пожалуйста, как исправить эту ошибку

Подскажите плиз,1с 8.2, УТ11, нужен отчет в СКД небольшой сделать, вот что-то не пойму как сделать СрезПоследних на КонецПериода, То есть выбираю  РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ) КАК ЦеныНоменклатурыСрезПоследних КонецПериода = &Период.ДатаОкончания, Период — стандартный параметр СКД…, Выдает такое: {(9, 2)}: Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)» <<?>>РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&П3, ) КАК ЦеныНоменклатурыСрезПоследних И я в шоке почему &ПЗ???? Честное слово, 100 раз проверил, там &КонецПериода, видимо где-то там собака и зарыта… Подскажите, как правильно в СКД сделать срещ последних на дату? В коде-то понятно, Запрос, Потом УстановитьПараметр…

Может нужно ка-то по-другому указывать параметр? мне нужен конец периода, выбранного в СКД

он сам параметр создает. на закладке Компоновка укажи свой.

France, да нету там &ПЗ в тексте запроса! Мистика!

Samozvanec, сейчас попробую, Спасибо. А все-таки как-то можно использовать стандартный Период?

ПЗ это скдэшный параметр КонецПериода переименуй например в КонецПериодаЫ

Блин сделал параметр Дата1, ВЫБРАТЬ    ЦеныНоменклатурыСрезПоследних.ВидЦены,    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура1,    ЦеныНоменклатурыСрезПоследних.Цена Пишет : {(4, 2)}: Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»

Мне просто нужно сделать СрезНаДату, у меня в самописном отчете не в СКД это отрабатывает запросто, а тут…

Вот такая простая фигня отрабатывает запросто: А в СКД Как? Помогите плиз

да ты параметру с типом «Дата» суешь стандартный период. Расслабься уже

В Схеме СКД  на закладке Параметры Период должен быть с типом дата. а ты видно добавил Период с типом СтандартныйПериод. Переименуй свой период на период1 или удали его. а Период строго типизируй типом Дата

возьми свою дату в {(&Дата1}… либо послушай народ, и прекрати подсовывать параметр, т.е., вообще ничего не ставь в условия виртуальной таблицы…. в настройках потом просто вручную поставишь нужное значение параметре..

Блин никак не выходит.. Я уже и в скобки брал и так сделал: И все та же ошибка: {(4, 2)}: Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)» Что это за &П вообще у него?

&П — это сферический в вакууме параметр, не забивай себе им голову. Смотри на тип параметры на одноимееной закладке. у тебя там стоит СтандартныйПериод наверняка, а надо Дата

pessok, я создал свой параметр с типом Дата, это точно, я смотрел..

и именно ЭТОТ параметр у тебя стоит параметр виртуальной таблицы?

на закладке Параметры в схеме что у тебя? огласи весь список

телепаты к вечеру подустали

Херасе заработало, даже не ожидал. Убрал вообще нафиг Период из Параметров и оставил только свою Дата1…. И вот это заработало: ВЫБРАТЬ

Благодарю всех за помощь, особенно приятно что не троллили и не отправляли читать гугл

чуваааааак.. это было в   :)

В я создал свой параметр Дата1, и его использовал, но там все еще висел просто в списке параметр Период и что-то там не того…

если бы ты так сделал, запрос выглядел бы вот так:

епта… а че у тебя Дата1 в полях делает? ты куда че хочешь передать-то? задать значение поля, или в параметр?

вестимо выводить дату остатков еще и в каждую строку отчета…

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

LexaK, вот так весь мой код выглядит

ВЫБРАТЬ РАЗЛИЧНЫЕ
ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
ПересчетТоваровТовары.Характеристика КАК Характеристика,
ПересчетТоваровТовары.Серия КАК Серия,
ИСТИНА КАК ИспользуетсяОтборПоПересчетуТоваров
ПОМЕСТИТЬ ОтборПоПересчетуТоваров
ИЗ
Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
{ГДЕ
ПересчетТоваровТовары.Ссылка.* КАК ПересчетТоваров}

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
Серия,
ИспользуетсяОтборПоПересчетуТоваров
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
Сегменты.Номенклатура КАК Номенклатура,
Сегменты.Характеристика КАК Характеристика,
ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
Сегменты.Сегмент.* КАК СегментНоменклатуры,
Сегменты.Номенклатура.* КАК Номенклатура,
Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика КАК Характеристика,
ТоварыНаСкладахОстаткиИОбороты.Назначение КАК Назначение,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаХранения,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов КАК ЕдиницаДляОтчетов,
ТоварыНаСкладахОстаткиИОбороты.Серия КАК Серия,
ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
ТоварыНаСкладахОстаткиИОбороты.Помещение КАК Помещение,
ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
КОНЕЦ КАК Регистратор,
ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда,
ТоварыНаСкладахОстаткиИОбороты.ПериодДень КАК ПериодДень,
ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя КАК ПериодНеделя,
ТоварыНаСкладахОстаткиИОбороты.ПериодДекада КАК ПериодДекада,
ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц КАК ПериодМесяц,
ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал КАК ПериодКвартал,
ТоварыНаСкладахОстаткиИОбороты.ПериодГод КАК ПериодГод,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК НачальныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КонечныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК Приход,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК Расход,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КОтгрузкеНачальныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КОтгрузкеКонечныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КОтгрузкеПриход,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаВесНоменклатуры КАК НачальныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КонечныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаВесНоменклатуры КАК ПриходВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаВесНоменклатуры КАК РасходВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК НачальныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КонечныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаОбъемНоменклатуры КАК ПриходОбъем,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаОбъемНоменклатуры КАК РасходОбъем,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеНачальныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеКонечныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеПриходВес,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеНачальныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеКонечныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеПриходОбъем,
ЦеныНоменклатурыПоставщиковСрезПоследних.Цена КАК Цена
{ВЫБРАТЬ
Номенклатура.*,
Характеристика.*,
ЕдиницаХранения.*,
ЕдиницаДляОтчетов.*,
Серия.*,
Склад.*,
Помещение.*,
Регистратор.*,
ПериодСекунда,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодГод,
НачальныйОстаток,
КонечныйОстаток,
Приход,
Расход,
КОтгрузкеНачальныйОстаток,
КОтгрузкеКонечныйОстаток,
КОтгрузкеПриход,
НачальныйОстатокВес,
КонечныйОстатокВес,
ПриходВес,
РасходВес,
НачальныйОстатокОбъем,
КонечныйОстатокОбъем,
ПриходОбъем,
РасходОбъем,
КОтгрузкеНачальныйОстатокВес,
КОтгрузкеКонечныйОстатокВес,
КОтгрузкеПриходВес,
КОтгрузкеНачальныйОстатокОбъем,
КОтгрузкеКонечныйОстатокОбъем,
КОтгрузкеПриходОбъем}
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , {((Номенклатура, Характеристика) В
    (ВЫБРАТЬ
        ОтборПоСегментуНоменклатуры.Номенклатура,
        ОтборПоСегментуНоменклатуры.Характеристика
    ИЗ
        ОтборПоСегментуНоменклатуры
    ГДЕ
        ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), ((Номенклатура, Характеристика, Серия) В
    (ВЫБРАТЬ
        ОтборПоПересчетуТоваров.Номенклатура,
        ОтборПоПересчетуТоваров.Характеристика,
        ОтборПоПересчетуТоваров.Серия
    ИЗ
        ОтборПоПересчетуТоваров
    ГДЕ
        ОтборПоПересчетуТоваров.ИспользуетсяОтборПоПересчетуТоваров = &ИспользуетсяОтборПоПересчетуТоваров))}) КАК ТоварыНаСкладахОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПоследних КАК ЦеныНоменклатурыПоставщиковСрезПоследних
ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура
И ТоварыНаСкладахОстаткиИОбороты.Характеристика = ЦеныНоменклатурыПоставщиковСрезПоследних.Характеристика
{ГДЕ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.*,
ТоварыНаСкладахОстаткиИОбороты.Характеристика.*,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения.*,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.*,
ТоварыНаСкладахОстаткиИОбороты.Серия.*,
ТоварыНаСкладахОстаткиИОбороты.Склад.*,
ТоварыНаСкладахОстаткиИОбороты.Помещение.*,
(ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
КОНЕЦ).* КАК Регистратор,
ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда,
ТоварыНаСкладахОстаткиИОбороты.ПериодДень,
ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя,
ТоварыНаСкладахОстаткиИОбороты.ПериодДекада,
ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц,
ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал,
ТоварыНаСкладахОстаткиИОбороты.ПериодГод,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК НачальныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КонечныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК Приход,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК Расход,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КОтгрузкеНачальныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КОтгрузкеКонечныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КОтгрузкеПриход,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК НачальныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КонечныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаВесНоменклатуры) КАК ПриходВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаВесНоменклатуры) КАК РасходВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК НачальныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КонечныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаОбъемНоменклатуры) КАК ПриходОбъем,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаОбъемНоменклатуры) КАК РасходОбъем,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеНачальныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеКонечныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеПриходВес,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеНачальныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеКонечныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеПриходОбъем}

Два запроса в СКД. Один по ОстаткиИОбороты, второй по Остатки. Соответственно, у каждой из виртуальных таблиц указано (согласно рекомендациям по решению этого глюка) параметры &нПериод, &кПериод и у таблицы остатков &нПериод. Данные параметры имеют тип Дата, а не СтандартныйПериод. В запросах эти параметры указаны принудительно. И один фиг ошибка «Ошибка обработки представления РегистрНакопления.ТоварыНаСкладах.Остатки. Несоответствие типов (Параметр номер «»1″»)», РегистрНакопления.ТоварыНаСкладах.Остатки(П3, Организация В(П4)) КАК ОстаткиТоваровНаСкладах. Как ещё можно решить эту ошибку?

а че за проблема то?? а то я первый раз слышу

Тоже не врубаюсь, в чем проблема. Подозреваю, что фигню какую-то делаешь…

Ну там связано с тем, что &Период, &НачалоПериода и &КонецПериода, это зарезервированные СКД выражения. Которые подставляются по умолчанию в параметры. При указании двух наборов данных в СКД например таблицы ОстаткиИОбороты и таблицы Остатки, СКД пытается в таблицу остатки передать в качестве параметра даты &Период. А он имеет тип «Стандартный период» и дату из него получить не получится. Вот подобная проблема. Только приведенное там решение нефига не помогает (последнее сообщение)

свои параметры периода указывай как параметры компоновки(те, что в скобках) и проблемы не будет

Как раз так и делаю — все равно проблемы. Ну в общем помогло то, что принудительно сделал НачалоПериода и КонецПериода (зарезервированные) доступными пользователю. Так работает.

> тип «Стандартный период» и дату из него получить не получится. ясен пень, у него ведь 2 даты: .ДатаНачала и .ДатаОкончания

1. Вводишь новый параметр  ПериодОтчета —  стандартный период. 2. НачалоПериода в занчениях приравниваешь к &ПериодОтчета.ДатаНачала 2. Аналогично  КонецПериода = &ПериодОтчета.ДатаОкончания 3. Период = тоже &ПериодОтчета.ДатаОкончания 4. Ограничение доступности ставишь вееде кроме ПериодОтчета Все.

Конструктор запроса — Компоновка данных — Слева есть кнопочка с параметрами виртуальных таблиц — там укажи, что в качестве Даты Начала будет &нПериод

Стандартные параметры реально бесят тем, что вылезают когда не надо, даже если указаны явно свои имена параметров виртуальных таблиц.. вот зачем это сделали, криво же..

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Ошибка:

{(18, 20)}: Ошибка обработки представления «РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних:Несоответствие типов (параметр номер «»1″»)»

ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних(&П, ) КАК мг_СоответствиеСтатейЗатратЕдиницамИзмеренияСрезПоследних

«в СКД если хотите использовать свои переменные в качестве периодов виртуальных таблиц старайтесь не использовать имена «Период», «НачалоПериода», «КонецПериода» — их стандартно использует СКД по умолчанию.»

Понравилась статья? Поделить с друзьями:
  • Ошибка обработки представления несоответствие типов левое соединение
  • Ошибка обработки представления неправильно задан период
  • Ошибка обработки правила 014 егиссо
  • Ошибка обработки платежа на стороне банка повторите запрос
  • Ошибка обработки параметров шага псб