1с ошибка обработки представления несоответствие типов параметр номер 1
<(18, 20)>: Ошибка обработки представления "РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних:Несоответствие типов (параметр номер ""1"")" ЛЕВОЕ СОЕДИНЕНИЕ >РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних(&П, ) КАК мг_СоответствиеСтатейЗатратЕдиницамИзмеренияСрезПоследних в запросе: ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних(&ДатаОкончания, ) ПараметрОкончания устанавливаю дату.
В запросе, который выполняется - &П. В запросе, который написан - &ДатаОкончания. ТС устанавливает "ПараметрОкончания". Наведи порядок для начала промеж себя.
убрал выражение из даты окончания - та же самая ошибка, почему-то параметр неверно устанавливается, что за П?
и это не только в этом запросе, и в других запросах, где есть СрезПоследних, почему-то вылазиет эта П, вместо установленного параметра.
В параметрах виртуальной таблицы поле Период оставил пустым, и перенес это условие в поле Условие, та же ошибка. Ведь в СрезПоследних первый параметр не обязателен, почему ругается? <(18, 20)>: Ошибка обработки представления "РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних:Несоответствие типов (параметр номер ""1"")" ЛЕВОЕ СОЕДИНЕНИЕ >РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних(&П, Период = &ДатаОкончания) КАК мг_СоответствиеСтатейЗатратЕдиницамИзмеренияСрезПоследних
РегистрСведенийМенеджер.<Имя регистра сведений>.СрезПоследних (InformationRegisterManager.<Имя регистра сведений>.SliceLast) РегистрСведенийМенеджер. <Имя регистра сведений>(InformationRegisterManager.<Имя регистра сведений>) СрезПоследних (SliceLast) Синтаксис: СрезПоследних(, ) Параметры: (необязательный)Имя>
в запросе: ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних(, Период = &ДатаОкончания) КАК мг_СоответствиеСтатейЗатратЕдиницамИзмеренияСрезПоследних
Хелп! РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения периодичность - В пределах месяца, режим записи - независимый. Не задаю никаких параметров, а он ругается. Почему? Запрос: ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних КАК мг_СоответствиеСтатейЗатратЕдиницамИзмеренияСрезПоследних Ошибка: <(18, 20)>: Ошибка обработки представления "РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних:Несоответствие типов (параметр номер ""1"")" ЛЕВОЕ СОЕДИНЕНИЕ >РегистрСведений.мг_СоответствиеСтатейЗатратЕдиницамИзмерения.СрезПоследних(&П, ) КАК мг_СоответствиеСтатейЗатратЕдиницамИзмеренияСрезПоследних
Ошибка при исполнении запроса набора данных
по причине:
<(40, 4)>: Ошибка обработки представления "РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер ""1"")"
>РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(&П3, ) КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
(1) anterehin, в конструкторе заходи в запрос, там таблицы с твоим регистром и вот там есть кнопка с этим параметром!
(2) Xershi, Если выделить регистр Сведений РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних и нажать в конструкторе Параметры виртуальной таблицы , то там как и ожидалось стоит параметр КонецПериода
(3) anterehin, так в запросе у вас так и написано, а текст ошибки с кодом не соотносится.
Пересохрани отчет, почисти кэш и проверь!
(6) anterehin, когда определяешь структуру вывода данных, там есть поле авто, попробуй указать только конкретные поля!
(7) Xershi, Авто убранно так как структура вывода нарисована с группами. но опять же какое отношение это имеет к параметрам?( Ушёл травиться никотином.. полтора часа сижу и не въеду
(9) anterehin, создай новый отчет с нуля с таким же запросом и проверь может глюк в настройках все-таки.
(10) Xershi, хм. закинул. не стал делать стандартный период.. не страл делать структуру вывода с группами, просто накидал поля.. работает.. сейчас буду затачивать как нужно и смотреть. вылезит ли и если да то на каком месте
(11) anterehin, СКД такая фишка, что кажется должно все пахать, а оно берет данные которые не учел. Поэтому если четко не знаешь что и откуда, метод тыка выручит))
закинул. не стал делать стандартный период.. не страл делать структуру вывода с группами, просто накидал поля.. работает.. сейчас буду затачивать как нужно и смотреть. вылезит ли и если
аналогичное со стандартным периодом вылезло. До определенного момента причем работало, но после усложнения запроса стал вываливаться в ошибку представления. (добавил ЕЩЕ одну временную таблицу). Не знаю.. может в том, что в одних таблицах период начало и конец, а в новой - регистр остатки срез последних.
В общем други давайте думать вместе. После того как создал новый отчет и вставил в него работающий запрос с вынесением в структуру данных полей всё заработало. Но. в СКД упорно появляется параметр "Период" и тянется он из регистра сведений
РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних. И начинается следующее..вешаю на "Период" стандартный период и параметры НачалоПериода и КонецПериода, после этого начинает появляться вышеописанная ошибка. В параметрах СКД создаю параметр "ПериодОтчета" делаю стандартным периодом и соответственно привязываю НачалоПериода и КонецПериода. Но возникает одно большое НО. Регистр сведений никак не хочет видить параметр КонецПериода который у него указан в виртуальной таблице и запрашивает свой. Если указываю стандартный период равный месяцу, а параметр "Период" = КонецПериода то всё работает. Но спрашивается зачем мне его указывать явно((. В чем трабла?
в параметрах СКД у параметра в выражение написал "&ПериодОтчета.ДатаОкончания" и поставил ограничение на параметр.
Но не понятно почему всё же не видит параметр из виртуальной таблицы
(14) Dmitry_Shelchkov, Переименовать в запросе?
Переименовал , теперь в СКД 3 параметра: НачалоОтчета,КонецОтчета, ПериодОтчета))
В общем как показал гуглёжь мои метод один из правильных.
НачалоПериода и КонецПериода появляются при использование оборотных регистров
Период при использование регистра остатков.
В параметрах Период ограничивается и в выражение приравнивается либо к НачалоПериода либо КонецПериода в зависимости от того какой срез нужен
Переименовать в запросе.
В оборотном регистре, если явно не указан параметр, то появляются скдэшные "НачалоПериода" и "КонецПериода", поэтому нежелательно использовать параметры с таким именем в запросах - могут конфликтовать. В итоге в параметрах должны появиться и наши параметры и эти, добавляем стандартный период, на все параметры вешаем Период.ДатаОкончания и Период.ДатаНачала и все работает))
Долгая медитация и расследования привели к следующему результату.
Если коротко: Параметры для СКД устанавливать на вкладке "компоновка данных" в конструкторе запроса.
И длинно:
В конструкторе запроса на вкладке "таблицы и поля" параметру виртуальной таблицы *СрезПоследних "Период" задаем имя "&Период1". Имеются другие виртуальные таблицы с параметрами "НачалоПериода" и "КонецПериода". СКД создает параметры: "НачалоПериода" тип "дата", "КонецПериода" тип "дата" и "Период1" тип "дата" Параметр "Период" тип "СтандартныйПериод" создадим для удобства повесив Период.ДатаОкончания и Период.ДатаНачала на соответствующие параметры. При выполнении выдает ошибку примерно следующего толка: "Ошибка обработки представления "РегистрСведений.*.СрезПоследних:Несоответствие типов (Параметр номер ""1"")"ЛЕВОЕ СОЕДИНЕНИЕ >РегистрСведений.*.СрезПоследних(&П3, )"
Что за параметр П3 (пэ три)?! И именно в этот момент стоить обратить внимание вкладку "компоновка данных" в конструкторе запроса. И на ней мы обнаружим, что у параметров виртуальной таблицы нет установленных нами значений! Задаём имя параметру "период" - "&ПериодКД". Теперь на вкладке "Параметры" в СКД появится параметр ПериодКД (с типом "дата") и повесив на него Период.ДатаОкончания убедимся что все работает.
В тексте запроса это выглядит так: . РегистрСведений.*.СрезПоследних(&Период1 , ) КАК .
Anatolia; Enot; user688921_moldpavel; MarMargo; EpiSH; DIOmisus; thornhiven; Veric; Iva_Irina_Iva; shevchen88; zaycevav1977; ejijoka; user_pdd; mnitsi; &rew; user1402183; Tutr; Julia7150; kulak1974; criptid; serverstar; link_l; maksimus753; user712426; sizeoff; _Dmitry_; Invodev; TManukovskaya; NittenRenegade; Maruska77; vikochkagridina; merabn; Den_D; user785234; Andrekaa; vtolstenev; salikoff; akalugin; user1040665; jimli; BurlakovIvan; Mahon83; blackjack666; Draconus; user659124_s.kostina; aupovy; Salavat; Pigzilla; user1058210; newborn; fixin; nixen88; MaxxiMiliSan; Xel'naga; WasiliyMay; Slypower; ivanek; Jackch; Mehozavr; Andy_NTG; alenka1c; Meson; V_Izzy; dvadva; simy4; Somaha; Sergey_Borisovi4; delsoft; SmArtist; smokevg; AleksKol; Vida; user1044069; lsnr; spenser123; user811769; YellowAndBlue; compaud; V_Ladeska; k992007; ilya4; Inzoo; Georot; mlv84; cobern; Ovkay; terran_1C; user1003854; tarassov; корум; Gadzhalik; VasilyErmak; MulderCelica; _Farsh_; Ctrl P; levante90; mkosirev; BladeWorld; AnyaIT; Amfick; Bovori; DarkUser; vist666; Dicc; scanner1980; oleg55555; GOshaSaveiko; pihy; АнатолийАндреевич; alalsl; bluntschi; Misanets; suepifanov; Elena_Q; Georgik; bobah_; Lunulariss; + 117 – Ответить
Исправляется подобная ошибка восстановлением правильной последовательности в строке параметров команды или указанием нужного типа данных Ошибка 1С Несоответствие типов наиболее часто появляется при написании запросов и при некорректном указании параметров команды.
Рассмотрим причины ее возникновения и исправление на конкретном примере.
Ошибка в таблице запроса
При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».
Для исправления ошибки необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы указанную строчку.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания видно, что команда СрезПоследних имеет 2 параметра:
Если параметр Период не указывается, место в команде остается пустым, а через запятую указывается параметр отбора, в нашем случае: ТипЦен. Исправленная команда выглядит следующим образом: СрезПоследних(, ТипЦен = &ТипЦен ).
После исправления команды запустите отчет в 1С по кнопке Главное меню — Файл — Открыть :
Теперь отчет формируется правильно!
Исправление ошибки в команде 1С
При поиске ссылок на контрагента в отчете 1С появляется ошибка Несоответствие типов (параметр номер 2) :
1С сообщает место ошибки — Параметр номер 2 при нажатии кнопки ERROR .
Для ее исправления необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы строчку с командой НайтиПоСсылкам .
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания идно, что команда НайтиПоСсылкам имеет 4 параметра:
Параметр ОбластьПоиска имеет тип «массив», а в нашем примере указано число 1: НайтиПоСсылкам(МассивПоиска, 1, , МассивИсключений). Область поиска — необязательный параметр, поэтому исправленная команда может выглядеть следующим образом: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
После исправления команды запустите внешний отчет в 1С по кнопке Главное меню — Файл — Открыть :
Теперь команда поиска ссылок на контрагента отрабатывает правильно.
Вот так можно получить ошибку 1С Несоответствие типов в 1С, поэтому контролируйте правильность указания параметров в запросах и командах 1С в Синтаксис-Помощнике !
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Приветствую, коллеги! В данной статье рассмотрим понятие и описание типа данных и переменных в системе 1С версии 8.3. Также поговорим о распространенной ошибке «Несоответствие типов», изложим инструкцию с по ее устранению.
1. Несоответствие типов данных
Тип – это характеристика у значения, которая определяет поведение и свойства, которые имеет данное значение.
Чаще всего данная неполадка возникает, когда при написании запроса внутри команды не верно указывают параметры. Исправление подобной ошибки производится при помощи изменения типа передаваемого параметра или используемой переменной на правильный тип данных.
2. Ошибка внутри таблицы в запросе
Рассмотрим пример: при чтении цен из номенклатуры согласно регистру данных «Цены номенклатуры» с общего внешнего отчёта всплывает ошибка «Неоднозначное поле «ТипЦен.Номенклатура».
Рис. 2 Ошибка Неоднозначное поле
«РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Чтобы устранить данную ошибку в первую очередь откроем конфигурацию с данным отчётом и найдем внутри кода с формой строчку, которая была приведена выше:
Рис. 3 Исправление ошибки несоответствия типов (Параметр номер 1)
При помощи «Синтаксис-Помощника», в меню конфигурации 1С можно сверить, насколько правильно была написана команда:
Рис. 4 Проверка написания команды с помощью Синтаксис-Помощника
Согласно описанию, в команде «СрезПоследних» находится два параметра: «Отбор» и «Период».
В случае, когда параметр «Период» не был указан, в данной команде будет пустое поле, а после запятой будет написан параметр для отбора. Для нашего примера этим параметром будет «ТипЦен». После правок команда видоизменится так: «СрезПоследних(,ТипЦен = &ТипЦен).
Рис. 5 Исправление команды СрезПоследних
После того как команда СрезПоследних была исправлена, стоит снова сформировать отчёт из «Главное меню → Файл → Открыть».
3. Причина ошибки внутри команды
Имеем такую ошибку: когда происходит поиск вариантов ссылок на контрагента в отчёте системы 1С, то возникает ошибка «Несоответствие типов (параметр номер «2»), как на скриншоте ниже:
Рис. 6 Несоответствие типов (параметр номер «2»)
Рис. 7 Команда НайтиПоСсылкам внутри модуля
Можно проверить верность того, как написана команда при помощи «Синтаксис-Помощника» в панели меню системы 1С, кнопка будет выделена:
Рис. 8 Команда НайтиПоСсылкам в Синтаксис-Помощнике
По описанию следует: в команде «НайтиПоСсылкам» находится такие четыре параметра: СписокСсылок, ИсключитьОбъекты, ВключитьОбъекты и ОбластьПоиска.
В параметре с названием «ОбластьПоиска» будет тип «массив», в примере указана единица. Параметр «ОбластьПоиска» - не является обязательным, так что команда, которую исправили будет иметь следующий новый вид: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
Рис. 9 Тип массив в НайтиПоСсылкам
Далее запускаем наш отчёт в системе 1С.
После наших действий команда работает исправно и ошибки нет.
Рис. 10 Проверка на наличие ошибок в системе конфигурации 1С
В данной статье было рассмотрено как устранить ошибку несоответствия типов в 1С. На примерах была устранена эта ошибка для запроса и для команды. По данному алгоритму можно всегда устранять данную ошибку.
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
Приветствую, коллеги! В данной статье рассмотрим понятие и описание типа данных и переменных в системе 1С версии 8.3. Также поговорим о распространенной ошибке «Несоответствие типов», изложим инструкцию с по ее устранению.
1. Несоответствие типов данных
Тип – это характеристика у значения, которая определяет поведение и свойства, которые имеет данное значение.
Чаще всего данная неполадка возникает, когда при написании запроса внутри команды не верно указывают параметры. Исправление подобной ошибки производится при помощи изменения типа передаваемого параметра или используемой переменной на правильный тип данных.
2. Ошибка внутри таблицы в запросе
Рассмотрим пример: при чтении цен из номенклатуры согласно регистру данных «Цены номенклатуры» с общего внешнего отчёта всплывает ошибка «Неоднозначное поле «ТипЦен.Номенклатура».
Рис. 2 Ошибка Неоднозначное поле
«РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Чтобы устранить данную ошибку в первую очередь откроем конфигурацию с данным отчётом и найдем внутри кода с формой строчку, которая была приведена выше:
Рис. 3 Исправление ошибки несоответствия типов (Параметр номер 1)
При помощи «Синтаксис-Помощника», в меню конфигурации 1С можно сверить, насколько правильно была написана команда:
Рис. 4 Проверка написания команды с помощью Синтаксис-Помощника
Согласно описанию, в команде «СрезПоследних» находится два параметра: «Отбор» и «Период».
В случае, когда параметр «Период» не был указан, в данной команде будет пустое поле, а после запятой будет написан параметр для отбора. Для нашего примера этим параметром будет «ТипЦен». После правок команда видоизменится так: «СрезПоследних(,ТипЦен = &ТипЦен).
Рис. 5 Исправление команды СрезПоследних
После того как команда СрезПоследних была исправлена, стоит снова сформировать отчёт из «Главное меню → Файл → Открыть».
3. Причина ошибки внутри команды
Имеем такую ошибку: когда происходит поиск вариантов ссылок на контрагента в отчёте системы 1С, то возникает ошибка «Несоответствие типов (параметр номер «2»), как на скриншоте ниже:
Рис. 6 Несоответствие типов (параметр номер «2»)
Рис. 7 Команда НайтиПоСсылкам внутри модуля
Можно проверить верность того, как написана команда при помощи «Синтаксис-Помощника» в панели меню системы 1С, кнопка будет выделена:
Рис. 8 Команда НайтиПоСсылкам в Синтаксис-Помощнике
По описанию следует: в команде «НайтиПоСсылкам» находится такие четыре параметра: СписокСсылок, ИсключитьОбъекты, ВключитьОбъекты и ОбластьПоиска.
В параметре с названием «ОбластьПоиска» будет тип «массив», в примере указана единица. Параметр «ОбластьПоиска» - не является обязательным, так что команда, которую исправили будет иметь следующий новый вид: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
Рис. 9 Тип массив в НайтиПоСсылкам
Далее запускаем наш отчёт в системе 1С.
После наших действий команда работает исправно и ошибки нет.
Рис. 10 Проверка на наличие ошибок в системе конфигурации 1С
В данной статье было рассмотрено как устранить ошибку несоответствия типов в 1С. На примерах была устранена эта ошибка для запроса и для команды. По данному алгоритму можно всегда устранять данную ошибку.
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
Читайте также: