скомпоноватьрезультат несоответствие типов параметр номер 1
Несоответствие типов (параметр номер ‘1’)
здравствуйте!в отчете пишу:
&НаСервере
Процедура СформироватьНаСервере()
Для Каждого ПараметрДанных Из Настройки.ПараметрыДанных.Элементы Цикл
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных(«КонецПериода») Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = КонецМесяца(Отчет.Период);
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных(«НачалоПериода») Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = НачалоМесяца(Отчет.Период);
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных(«Оклад») Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = Константы.Начисление_Оклад.Получить();
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных(«Организация») Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = Отчет.Организация;
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных(«ГрупповыеЗанятия») Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = Константы.Начисление_ГрупповыеЗанятия.Получить();
Если ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных(«ИндивидуальныеЗанятия») Тогда
ПараметрДанных.Использование = Истина;
ПараметрДанных.Значение = Константы.Начисление_ИндивидуальныеЗанятия.Получить();
выходит ошибка Несоответствие типов (параметр номер ‘1’)
что я делаю не так? спасибо!
Вроде не пятница 13. Ошибка СКД
Коллеги привожу ошибку исполнения СКД, ниже код запроса. По факту параметра ПЗ нигде нет(
Ошибка при исполнении запроса набора данных
по причине:
<(40, 4)>: Ошибка обработки представления «РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»
>РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(&П3, ) КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
В общем други давайте думать вместе. После того как создал новый отчет и вставил в него работающий запрос с вынесением в структуру данных полей всё заработало. Но. в СКД упорно появляется параметр «Период» и тянется он из регистра сведений
РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних. И начинается следующее..вешаю на «Период» стандартный период и параметры НачалоПериода и КонецПериода, после этого начинает появляться вышеописанная ошибка. В параметрах СКД создаю параметр «ПериодОтчета» делаю стандартным периодом и соответственно привязываю НачалоПериода и КонецПериода. Но возникает одно большое НО. Регистр сведений никак не хочет видить параметр КонецПериода который у него указан в виртуальной таблице и запрашивает свой. Если указываю стандартный период равный месяцу, а параметр «Период» = КонецПериода то всё работает. Но спрашивается зачем мне его указывать явно((. В чем трабла?
в параметрах СКД у параметра в выражение написал «&ПериодОтчета.ДатаОкончания» и поставил ограничение на параметр.
Но не понятно почему всё же не видит параметр из виртуальной таблицы
Несоответствие типов СхемаКомпоновкиДанных
Здравствуйте! Нужно изменить стандартный отчет Карточка количественно-суммового учета МЦ. Сохранил его во внешний, добился, чтобы запускалась форма. Но вот при формировании отчета постоянно ошибка. Конфигурация БГУ 2.0, платформа 8.3.8.1675. Управляемое приложение. Третий день бьюсь. Помогите пожалуйста!
Ошибка при вызове метода контекста (Выполнить)
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета, ДанныеРасшифровкиОбъект);
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета, ДанныеРасшифровкиОбъект);
по причине:
Несоответствие типов (параметр номер ‘1’)
В данном методе первый параметр должен иметь тип СхемаКомпоновкиДанных, а получается строка
СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(ПараметрыОтчета.Схема);
Вот вся процедура
Процедура СформироватьОтчет(Знач ПараметрыОтчета, Результат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт
Если ПараметрыОтчета.Свойство(«Схема») тогда
Если ЭтоАдресВременногоХранилища(ПараметрыОтчета.Схема) Тогда
//ОтчетОбъект = РеквизитФормыВЗначение(«Отчет»);
//СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);
СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(ПараметрыОтчета.Схема);
//СхемаКомпоновкиДанных = РеквизитФормыВЗначение(«Объект»).ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);
КонецЕсли;
КонецЕсли;
//Сгенерируем макет компоновки данных при помощи компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета, ДанныеРасшифровкиОбъект);
//МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета);
ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиОбъект, ПараметрыОтчета.УникальныйИдентификатор);
//Создадим и инициализируем процессор вывода результата
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
//Обозначим начало вывода
ПроцессорВывода.НачатьВывод();
Массив = Новый Массив;
//ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
Пока Истина Цикл
//ОбработкаПрерыванияПользователя();
//Получим следующий элемент результата компоновки
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Если ЭлементРезультата.Макет = «Макет3» Тогда
Массив.Добавить(Результат.ВысотаТаблицы);
КонецЕсли;
КонецЕсли;
КонецЦикла;
//вставка разрыва страниц
ЭтоПервый = Истина;
КонечнаяОбласть = Неопределено;
ОбластьСтрок = Неопределено;
Пока Истина Цикл
Если ЭтоПервый Тогда
НайденнаяОбласть = Результат.НайтиТекст(«Карточку заполнил»);
ЭтоПервый = Ложь;
Иначе
НайденнаяОбласть = Результат.НайтиТекст(«Карточку заполнил»,КонечнаяОбласть);
КонецЕсли;
Если НайденнаяОбласть = Неопределено Тогда
Прервать;
КонецЕсли;
КонечнаяОбласть = Результат.НайтиТекст(«Дата»,НайденнаяОбласть);
Если КонечнаяОбласть<>Неопределено Тогда
ОбластьСтрок = Результат.Область(Лев(КонечнаяОбласть.Имя,Найти(КонечнаяОбласть.Имя,»C»)-1));
ОбластьСтрок.КонецСтраницы = Истина;
КонецЕсли;
КонецЦикла;
//убираем последний разрыв страницы
Если НЕ ОбластьСтрок = Неопределено Тогда
ОбластьСтрок.КонецСтраницы = Ложь;
КонецЕсли;
//Исключение
// ИнформацияОбОшибке = ИнформацияОбОшибке();
// Пока ИнформацияОбОшибке.Причина <> Неопределено Цикл
// ИнформацияОбОшибке = ИнформацияОбОшибке.Причина;
// КонецЦикла;
// ТекстСообщения = НСтр(«ru = ‘Отчет не сформирован!'») + Символы.ПС + ИнформацияОбОшибке.Описание;
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
// Отказ = Истина;
//КонецПопытки;
КонецПроцедуры
Буду благодарен за любые идеи и подсказки.