1с ошибка при вызове метода контекста записать несоответствие типов параметр номер 1

Обновлено: 07.07.2024

Вроде первый раз не ругается, а вот второй раз. Почему?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Несоответствие типов
Подскажите пожалуйста мне надо написать программу автоматического формирования кода справочника по.

Несоответствие типов
var s1,s2,s3:string; ss1,ss2,ss3 :set of byte; y:integer; H:char; begin readln(s1); .

А есть возможность избавиться от битой ссылки?

Jackshi, Вообще есть, но лучше пока не заморачивайтесь). multirum, Есть такая штука СП - синтакс помощник называется. Обращайтесь к нему чаще.
СправочникМенеджер.<Имя справочника> (CatalogManager.<Catalog name>)
Выбрать (Select)
Синтаксис:
Выбрать(<Родитель>, <Владелец>, <Отбор>, <Порядок>)
Параметры:
<Родитель> (необязательный)
Тип: СправочникСсылка.<Имя справочника>.
Отбор по родителю. Имеет смысл только для многоуровневых справочников. Если параметр не задан, то отбор по родителю не производится. Чтобы отобрать элементы верхнего уровня, нужно в качестве данного параметра указать пустую ссылку на элемент справочника.
<Владелец> (необязательный)
Тип: СправочникСсылка.<Имя справочника>.
Отбор по владельцу. Имеет смысл только для подчиненных справочников. Если параметр не задан, то отбор по владельцу не производится.
<Отбор> (необязательный)
Тип: Структура.
Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться только поля "Код", "Наименование" и реквизиты справочника, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или в значение "Индексировать с доп. упорядоч.".
Важно! Структура может содержать только один элемент.
Если параметр не указан, то отбор не используется.
<Порядок> (необязательный)
Тип: Строка.
Строка с именем реквизита справочника, определяющая упорядочивание элементов в выборке. Может быть указано "Код", "Наименование" или имя одного из реквизитов примитивного типа (Число, Строка, Дата, Булево), для которого установлен признак "Индексирование" в значение "Индексировать" или в "Индексировать с дополнительным упорядочиванием" в конфигураторе. После имени реквизита через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Если параметр не указан, то порядок определяется основным представлением справочника.
Значение по умолчанию: Пустая строка.
Возвращаемое значение:
Тип: СправочникВыборка.<Имя справочника>.
Описание:
Формирует выборку элементов справочника по заданным условиям.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:

Несоответствие типов
Добрый день, ни как не могу победить несоответствие типов. То есть, есть некая форма с полем.

Несоответствие типов
- в этом файле две базы данных, которые должны синхронизироваться. Главная база с названием &quot;а&quot;.

if then else несоответствие типов
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics.

(44) Сейчас отлаживаю эту процедуру, по нажатию кнопке. Ошибки в ней.

Вот. Все работает. Но иногда идет эта ошибка и все, на таких же данны!

вангую, есть попытка в функции РазложитьСтрокуВМассивПодстрок()

(48) я так и останавливаюсь на строке 2000 с лишним

(51)(52) Да можно многого добавить, но я же смотрю в отладчике, в функцию передаются верные данные, а идет ошибка.

Добавлю конечно проверки.

а ну и тестирование исправление, кэш и прочая фигня
(54) Даже для пустой базы? Я туда ни разу ещё не загрузил эти элементы номенклатуры.
(55) не знаю. у меня правило, если происходит неведомая херня, нужно сначала делать это, а потом только лезть за бубном
(57) ну тогда вперед к админам за снастью если своей нет и вызывать помощника.
Кэш почищу сейчас догрузится.
Стоит галка останавливаться по ошибке.
Ошибка видимо возникает при записи элемента.
Я смотрю что там в нем, вижу проблему в единицах измерения и родителе.
Но из за чего не пойму.
(61) платформенная проверка какая то.
Сделай обменДанными.загрузка = истина.
Потом глазами увидишь
Стоит галка при отладке останавливаться по ошибке. Вот на ней и вылетает.
У тебя ошибка не в найти по наименованию, а некорректная обработка исключения ранее
Или ошибка заполнения обязательных на уровне платформы полей: наименование, владелец (если справочник подчинённый) и тд
(71) У меня же нет попытки исключения?
Да ранее я вижу что в родителе и единицах измерения.
Но туда идут нормальные данные. Буду разбираться.
Видимо энергия ушла.
(72) Единицу измерения обязательно заполнять, выдавать ошибку стоит.
(74) технически это отказ=истина в процедуре ПроверкаЗаполнения, но не исключение

сейчас вот с этим буду бороться что это пока не знаю

(79) наверно в поле группа фигачишь элемент. Такое 1с не прощает.
(83) в общем пройдись по справочнику номенклатуры где-то есть одинаковое наименование у элемента и группы. Или если самому лень, посади за проверку девочку-восьмиклассницу, пусть проштудирует справочник от и до.

(81) Не должно такого быть.

(84) Гружу структуру из другой базы. Я пока не могу записать ни одного элемента. Так как грузится в транзакции.

Мне не лень. Я пытаюсь разобраться. Но такого не могло в принципе быть. Надеюсь докапаться до проблемы.


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

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

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

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


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


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



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

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


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

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


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

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


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

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


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



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

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


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

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


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

См. также:

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Карточка публикации

Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Вы можете задать еще вопросов

Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8

Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявку

Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>

Как не попасть в ловушку, работая с контрагентами из ЕАЭС

[17.11.2021 запись] Практический переход на ФСБУ 6 и ФСБУ 26 в 1С

Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму

Изменения в 2021 году, о которых нужно знать бухгалтеру

[11.10.2021 запись] Учет ОС по-новому: ФСБУ 6/2020, ФСБУ 26/2020, ФСБУ 25/2018

[29.10.2021 запись] Пообъектный учет ОС и подходы к определению и пересмотру СПИ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Читайте также: