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

прошу помощи по СКД и периоду

Я
   Fragster

26.07.10 — 16:24

делаю как в Хрусталевой: параметр период ставлю в «стандартный период»,

2 параметра НачалоПеирода и КонецПериода с соответствующими выражениями: &период.ДатаНачала и &период.ДатаОкончания… При формировании отчета ошибка:

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

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

читал http://www.forum.mista.ru/topic.php?id=411467 , не понял :(

как сделать, чтобы период правильно использовался?

   YF

1 — 26.07.10 — 16:27

(0) А без точки пробовал?

Делаешь 2 параметра периодНач и ПериодКон, они не доступны для изменения, а параметр параметрПериод делаешь стандартным периодом и доступным для изменения.

В свойствах периодНач и периодКон устанавливаешь, чтобы они принимали значения начала и конца параметрПериод.

В запросе используешь: периодНач и периодКон

   IronDemon

2 — 26.07.10 — 16:27

Потому что Остатки использует «свой» Период.

   Fragster

3 — 26.07.10 — 16:29

а что делать? у меня там остатки, срез последних да еще и движения обрабатываются в запросе…

   YF

4 — 26.07.10 — 16:29

   Fragster

5 — 26.07.10 — 16:34

(1)(4) http://s004.radikal.ru/i205/1007/6f/3da989298606.png так и сделано…
кусок текста запроса:

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

СГРУППИРОВАТЬ ПО
   ТоварыНаСкладах.Номенклатура,
   ТоварыНаСкладах.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
   ТоварыНаСкладахОстатки.Склад КАК Склад,
   ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
ПОМЕСТИТЬ Остатки
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(&КонецПериода, ) КАК ТоварыНаСкладахОстатки
;

   YF

6 — 26.07.10 — 16:39

А если использовать более экзотические имена, вдруг КонецПериода какое-нидь зарезервированное …

   Fragster

7 — 26.07.10 — 16:42

(6) сначала было начДата и конДата — его это не спасало, подумал, что если как у хрусталевой 1 к 1 сделать — может взлетит

   Fragster

8 — 26.07.10 — 16:42

страница 391

   YF

9 — 26.07.10 — 16:42

(7, 8) Не, тогда нету пока умных мыслей в этом направлении. Зато ветку поднял :-)

   Fragster

10 — 26.07.10 — 16:44

блин, посмотрел на (6), подумал, а вдруг? переименовал Период в ПериодОтчета — заработало…

   YF

11 — 26.07.10 — 16:46

Не зря я все параметры запроса называю параметрИмяПараметра

  

Asmody

12 — 26.07.10 — 16:56

(10) сам нарывался на такое. только после того, как у добавленного мной параметра Период постоянно слетал тип значения, до меня доперло, что «Период» типа «зарезервированное» имя. ПериодОтчета — самое оно

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

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

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

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

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

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

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

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

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

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

Тэги: 1С 8

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

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

Рубрики: 1С

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение:

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

Пример:

и

  

OpKc

16.01.12 — 05:49

Доброго времени суток!

Бен, это Данила! Бен, ай нид хелп!

сабж. Извращаюсь с конфигурированием отчёта на СКД, получаю такую ошибку. В теории (и на практике), откуда ноги могут расти?

  

romashov

1 — 16.01.12 — 05:51

у параметра который задает границу отбора левый тип значит

  

OpKc

2 — 16.01.12 — 06:04

Так вот вроде бы не левый… У меня есть в отборе параметр Период (тип — Стандартный период), и вот этот параметр номер 1 я получаю таким образом: «&Период.ДатаНачала». Подглядел в типовой.

  

OpKc

3 — 16.01.12 — 06:07

Где вообще можно почитать о том, как СКД «кушает» параметры? Может, дело в какой-то скрытой их конвертации…

  

OpKc

4 — 16.01.12 — 06:36

При выполнении запроса в консоли ошибки не получаю…

  

Escander

5 — 16.01.12 — 06:54

В форме настройки СКД на закладке параметры создали новый параметр типа «СтандартныйПериод»?

На этой-же закладке указали что параметр из запроса «ДатаНачала» = Параметр1.ДатаНачала ?

  

OpKc

6 — 16.01.12 — 07:08

(5) Да, так. Пробовал без параметра типа «СтандартныйПериод», просто два параметра с типом Дата, тоже выдаёт эту ошибку.

  

Escander

7 — 16.01.12 — 07:11

(6) текст запроса в студию!

  

OpKc

8 — 16.01.12 — 07:34

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

  

OpKc

9 — 16.01.12 — 07:34

ВЫБРАТЬ РАЗЛИЧНЫЕ

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

   NULL КАК КоличествоНачальныйОстаток,

   NULL КАК КоличествоКонечныйОстаток,

   ПартииТоваровКомпанииОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход,

   ПартииТоваровКомпанииОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,

   NULL КАК СтоимостьНачальныйОстаток,

   NULL КАК СтоимостьКонечныйОстаток,

   ПартииТоваровКомпанииОстаткиИОбороты.СтоимостьПриход КАК СтоимостьПриход,

   ПартииТоваровКомпанииОстаткиИОбороты.СтоимостьРасход КАК СтоимостьРасход,

   ВЫБОР

       КОГДА ПартииТоваровКомпанииОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО

           ТОГДА NULL

       ИНАЧЕ ПартииТоваровКомпанииОстаткиИОбороты.Регистратор

   КОНЕЦ КАК Регистратор,

   ПартииТоваровКомпанииОстаткиИОбороты.ДокументПоставки.Контрагент КАК Контрагент,

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

   ПартииТоваровКомпанииОстаткиИОбороты.СкладКомпании

ИЗ

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

ГДЕ

   (НЕ ПартииТоваровКомпанииОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров) И

   (НЕ ПартииТоваровКомпанииОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО)

ОБЪЕДИНИТЬ ВСЕ

   

ВЫБРАТЬ РАЗЛИЧНЫЕ

   ПартииТоваровКомпанииОстаткиНач.Номенклатура КАК Номенклатура,

   ПартииТоваровКомпанииОстаткиНач.КоличествоОстаток КАК КоличествоНачальныйОстаток,

   NULL КАК КоличествоКонечныйОстаток,

   NULL КАК КоличествоПриход,

   NULL КАК КоличествоРасход,

   ПартииТоваровКомпанииОстаткиНач.СтоимостьОстаток КАК СтоимостьНачальныйОстаток,

   NULL КАК СтоимостьКонечныйОстаток,

   NULL КАК СтоимостьПриход,

   NULL КАК СтоимостьРасход,

   NULL КАК Регистратор,

   ПартииТоваровКомпанииОстаткиНач.ДокументПоставки.Контрагент КАК Контрагент,

   ПартииТоваровКомпанииОстаткиНач.Номенклатура.Артикул КАК Артикул,

   ПартииТоваровКомпанииОстаткиНач.СкладКомпании

ИЗ

   РегистрНакопления.ПартииТоваровКомпании.Остатки(&НачалоПериода, ) КАК ПартииТоваровКомпанииОстаткиНач

   
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ РАЗЛИЧНЫЕ

   ПартииТоваровКомпанииОстаткиКон.Номенклатура КАК Номенклатура,

   NULL КАК КоличествоНачальныйОстаток,

   ПартииТоваровКомпанииОстаткиКон.КоличествоОстаток КАК КоличествоКонечныйОстаток,

   NULL КАК КоличествоПриход,

   NULL КАК КоличествоРасход,

   NULL КАК СтоимостьНачальныйОстаток,

   ПартииТоваровКомпанииОстаткиКон.СтоимостьОстаток КАК СтоимостьКонечныйОстаток,

   NULL КАК СтоимостьПриход,

   NULL КАК СтоимостьРасход,

   NULL КАК Регистратор,

   ПартииТоваровКомпанииОстаткиКон.ДокументПоставки.Контрагент КАК Контрагент,

   ПартииТоваровКомпанииОстаткиКон.Номенклатура.Артикул КАК Артикул,

   ПартииТоваровКомпанииОстаткиКон.СкладКомпании

ИЗ

   РегистрНакопления.ПартииТоваровКомпании.Остатки(&КонецПериода, ) КАК ПартииТоваровКомпанииОстаткиКон

  

Escander

10 — 16.01.12 — 08:07

и на закладке «параметры» типа такого:

Имя                  Тип          Выражение

Параметр1     СтандартныйПериод

НачалоПериода    Дата             Параметр1.ДатаНачала

КонецПериода     Дата             Параметр1.ДатаОкончания

так?

  

OpKc

11 — 16.01.12 — 08:10

(10) Да.

Скажите, доктор, мой мозг не в порядке или я лыжи не смазал?

  

Escander

12 — 16.01.12 — 08:37

(11) я не доктор, я из похоронной конторы…

а релиз не какой ээксперементальный?

  

OpKc

13 — 16.01.12 — 08:40

(12) Оп-па. А вот про это я не подумал. Сейчас погоняю на других версиях.

  

OpKc

14 — 16.01.12 — 08:47

(12) проверил на 8.2.14.519 и 8.1.14.72, ошибка и там и там.

  

Escander

15 — 16.01.12 — 08:55

(14) ну хз, вроде так-то всё правильно….

  

Defender aka LINN

16 — 16.01.12 — 09:18

ИЗ

   РегистрНакопления.ПартииТоваровКомпании.ОстаткиИОбороты({&НачалоПериода}, {&КонецПериода}, Авто, , )

  

OpKc

17 — 16.01.12 — 09:32

(16) а это как повлияет?

Кстати, ругается на второй запрос, где получаю ПартииТоваровКомпанииОстаткиНач.

  

Defender aka LINN

18 — 16.01.12 — 09:41

(17) Кэп говорит, что там тоже.

Ну и про галку «Автозаполнение» я уже говорил ведь, да?

  

OpKc

19 — 16.01.12 — 09:42

(18) А вот про галку можно помедленнее, я запишу?

  

Defender aka LINN

20 — 16.01.12 — 09:48

(19) Ее надо снять. И никогда (ну, кроме самых примитивных отчетов) не ставить, все поля и отборы задавать самому через {}. Тогда будет радость, счастье и правильно работающие отчеты.

  

OpKc

21 — 16.01.12 — 09:51

(16) Скобки помогли. Только не совсем понял, почему.

(20) Галку снимать не стал, приберегу сей туз на будущее.

Спасибо за помощь! Буду осваивать СКД дальше.

  

Defender aka LINN

22 — 16.01.12 — 09:54

(21) Элементарно, Ватсон. Период задан не был. А параметры были указаны как обязательные.

  

OpKc

23 — 16.01.12 — 10:02

(22) Сэр, так парадокс в том, что при заданном периоде выскакивала эта ошибка.

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

Рубрики: 1С

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение:

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

Пример:

и

а проверить, прежде чем спрашивать?

Похоже. Кроме последней строкию

+ Хотя не. Не похоже. Это запрос к текущей базе.

Да уже есть какие-то ошибки! Не знаю, вообще — работоспособная ли идея, или выгрузить данные по 76.АВ в файл, а уже оттуда загружать… А как тогда?

Из 7 в 8 у меня получилось через Оле!

Запрос = БАзаОле.NewObject(«Запрос»)

{Форма.Форма}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация: {(7, 2)}: Ошибка обработки представления «РегистрБухгалтерии.Хозрасчетный.Остатки:Несоответствие типов (параметр номер «»1″»)» <<?>>РегистрБухгалтерии.Хозрасчетный.Остатки( по причине: Произошла исключительная ситуация: {(7, 2)}: Ошибка обработки представления «РегистрБухгалтерии.Хозрасчетный.Остатки:Несоответствие типов (параметр номер «»1″»)» <<?>>РегистрБухгалтерии.Хозрасчетный.Остатки( Вот какая ругань! После исправления .

правильно ведь ругается …

Граница = БАзаОле.NewObject(«Граница»,(ДатаЗагрузки, БАзаОле.ВидГраницы.Включая)

Давай твой вариант! Сравню!

А чего сравнивать? Количество открывающих скобок должно равняться количеству закрывающих.

{Форма.Форма}: Ошибка при вызове метода контекста (Выбрать): Произошла исключительная ситуация: Несоответствие типов (параметр номер ‘1’)    ОбходПоСубконто1 = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

А! Ну это я поправила. Я написала перед запросом —

БАзаОле.ОбходРезультатаЗапроса.ПоГруппировкам

Дело осталось за малым! ОбходПоСубконто1.Субконто1 — null, говорит. Как теперь результат-то выловить?

Добры люди! Ну чуть-чуть осталось!

Как мне теперь само субконто1-то вытащить?

Суп сварила, семью накормила, помогите же кто-нибудь!

А сумму я где возьму? Или и сумму и субконто в итоги?

Получилось! Спасибо! Расскажите мне теорию коротенечко — когда нужны группировки, а когда — нет.

Уж не надо ли тогда запрос обходить 4 раза, если у меня —

Группировки тут не нужны, т.к. запрос к виртуальной таблице, она сама группируется. Зачем 4? Попробуй подумать. Лень все объяснять….    |СуммаОстатокКт»; Неправильно это …  ИТОГИ ПО Субконто1 означает, что будут суммированы все остатки по этому субконто только надо еще

Форма.Форма}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация: {(2, 2)}: Поле не входит в группу «ХозрасчетныйОстатки.Субконто1» Там в 2 поля называются одинаково, я исправила

Написала слово-в-слово! {Форма.Форма}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация: {(2, 1)}: Поле не входит в группу «ХозрасчетныйОстатки.Субконто1» <<?>>ХозрасчетныйОстатки.Субконто1 КАК Субконто1,

В семерке мелочь поправила, в БП — движения к счету пририсовала, еще одну не типовую — обновила. Осталось последнее на сегодня!

Да — не так все)) «ВЫБРАТЬ Ну это на память. Конструктором просто делай.

Я уже созрела почитать что-нибудь на эту тему. Где попроще? Сложного всё равно делать не буду! Не даются мне запросы с детства!

Уря-яяя! Спасибо! Заработало!

Зачем же так через жопу вырывать гланды, когда есть прямой доступ через рот???

Тебе шашечки, а мне — ехать!

Дак ездю уже давно, вот и не могу понять, зачем такие шашечки

Давай лучше овет очередной! Оказывается, там (на 76.АВ) субконто2 — отнюдь не СФ, как я предполагала! А «поступление на расч. счет». Как оттуда теперь СФ выловить? В 7 было бы — Опер=БухИт.Документ, а в 8 как?

АКУЕТЬ и для этого понадобился целый день, причем веть как кодер сразу в конфигуратор полезли. в этом году какая то «интересная весна» 25 ЧАЭС, Факусима плять всех что ли повредило радиацией???

Сказал бы лучше, как теперь документ отловить! А в регистре по НДС, хочу сказать, этих данных нет! Они криво когда-то загрузились из 7, или руками бух. завел на счета, не знаю точно, но при перегрузке из 1.6 в 2.0 половина остатков не перенеслась.

по какому принципу определили что не пернеслось?

А я заново всё перенесу, а перенесенное автоматически — уберу.

Тэги:

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

Несоответствие типов 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С в Синтаксис-Помощнике

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

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

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

Содержание:

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С. На примерах была устранена эта ошибка для запроса и для команды. По данному алгоритму можно всегда устранять данную ошибку.

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

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

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Liberty

Дата регистрации: 27.02.2009
Сообщений: 448

«{Обработка.БухгалтерскиеИтоги(793)}: Ошибка при вызове метода контекста (Выполнить): {(13, 2)}: Ошибка обработки представления «РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты:Использование итогов выключено»<br><<?>>РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, ПЕРИОД, , , &ВидыСубконто, Организация = (&Организация))<br> мРезультатЗапросаОстаткиИОбороты = Запрос.Выполнить();<br>по причине:<br>{(13, 2)}: Ошибка обработки представления «РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты:Использование итогов выключено»<br><<?>>РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, ПЕРИОД, , , &ВидыСубконто, Организация = (&Организация))<br><br>Появляется вот такая ошибка, когда пытаюсь сформировать приложение к балансу (форма 5). Подскажите, пожалуйста, где копать?»

Vovan1975

Дата регистрации: 25.01.2010
Сообщений: 125

«Дело в том что у Вас в настоящий момент для регистра бухгалтерии «Хозрасчетный» отключены итоги. Этот режим используется в случае, например, загрузки данных. В случае, если для какого-либо регистра установлен такой режим, тогда становятся недоступны виртуальные таблицы этого регистра, которые и используются при формировании различных отчетов(в частности — конкретно Вашего отчета). Неверняка у Вас не только это приложение к балансу не хочет делаться но и например, ОСВ тоже не будет формироваться.<br>Это лечится при помощи обработки в которой надо выполнить код: РегистрБухгалтерии.Хозрасчетный.УстановитьИспользованиеИтогов(Истина);<br><br>Эту процедуру легко проделает программист, но как это проделать пользователю, я не знаю. «

creative

Дата регистрации: 24.07.2007
Сообщений: 787

> Эту процедуру легко проделает программист, но как это проделать пользователю, я не знаю. <br><br>Взять с ИТС обработку «ВыгрузкаЗагрузкаДанныхXML» и на закладке «Загрузка» нажать кнопку «Включить итоги» :)

Liberty

Дата регистрации: 27.02.2009
Сообщений: 448

Спасибо большое за подсказку!<br>Я начинающий программист, с такой ситуацией столкнулась впервые. А вы не могли бы рассказать почему она возникла? Просто обновляю конфу как обычно, а тут такая ошибка. Может я что-то упустила? После каждого ж обновления не надо запускать обработку?

Vovan1975

Дата регистрации: 25.01.2010
Сообщений: 125

Этот режим используется для ускорения записи в регистр большого количества наборов записей. А возникла такая ошибка у Вас скорее всего потому что в какой либо обработке(ну например в той-же «ВыгрузкеЗагрузке…») произошла ошибка и обработка завершилась не включив использование итогов. Так что посмотрите какие обработки завершались с ошибкой, в какой-то из них и порылась та собака.

Liberty

Дата регистрации: 27.02.2009
Сообщений: 448

Эту обработку и использовала и действительно было аварийное завершение. Спасибо большое!!!

Tanya

Дата регистрации: 03.12.2001
Сообщений: 8412

Та как вы программист, то поищите на этом сайте. Приводили пример как включить итоги.<br>Там всего пару строк.

Показывать по
10
20
40
сообщений

Несоответствие типов 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С в Синтаксис-Помощнике

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

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

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

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