Ошибка по причине Несоответствие типов в 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С 8.3 связана с передачей параметров в командах и запросах 1С.
Изучив статью, вы:
- ознакомитесь с порядком исправления ошибки в запросе и командах 1С;
- получите два внешних отчета, демонстрирующих ошибочный и правильный коды.
Содержание
- Несоответствие типов в 1С 8.3
- Ошибка в таблице запроса
- Исправление ошибки в команде 1С
Как правило, параметры в командах 1С идут в определенной очередности и ссылаются на данные конкретного типа. Ошибка в указании параметра не на том месте или не того типа приводит к появлению сообщения о несоответствии типов:
Исправляется подобная ошибка восстановлением правильной последовательности в строке параметров команды или указанием нужного типа данных Ошибка 1С Несоответствие типов наиболее часто появляется при написании запросов и при некорректном указании параметров команды.
Рассмотрим причины ее возникновения и исправление на конкретном примере.
Ошибка в таблице запроса
При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».
В окне сообщений уже указано место возникновения ошибки: Параметр номер «1» в строке Регистр сведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Для исправления ошибки необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы указанную строчку.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания видно, что команда СрезПоследних имеет 2 параметра:
- Период;
- Отбор.
Если параметр Период не указывается, место в команде остается пустым, а через запятую указывается параметр отбора, в нашем случае: ТипЦен. Исправленная команда выглядит следующим образом: СрезПоследних(, ТипЦен = &ТипЦен ).
После исправления команды запустите отчет в 1С по кнопке Главное меню — Файл — Открыть:
Теперь отчет формируется правильно!
Скачать внешний отчет Вывод списка цен номенклатуры
Исправление ошибки в команде 1С
При поиске ссылок на контрагента в отчете 1С появляется ошибка Несоответствие типов (параметр номер 2):
1С сообщает место ошибки — Параметр номер 2 при нажатии кнопки ERROR.
Для ее исправления необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы строчку с командой НайтиПоСсылкам.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания идно, что команда НайтиПоСсылкам имеет 4 параметра:
- СписокСсылок;
- ОбластьПоиска;
- ВключитьОбъекты;
- ИсключитьОбъекты.
Параметр ОбластьПоиска имеет тип «массив», а в нашем примере указано число 1: НайтиПоСсылкам(МассивПоиска, 1, , МассивИсключений). Область поиска — необязательный параметр, поэтому исправленная команда может выглядеть следующим образом: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
После исправления команды запустите внешний отчет в 1С по кнопке Главное меню — Файл — Открыть:
Теперь команда поиска ссылок на контрагента отрабатывает правильно.
Скачать внешний отчет Поиск ссылок на контрагента
Вот так можно получить ошибку 1С Несоответствие типов в 1С, поэтому контролируйте правильность указания параметров в запросах и командах 1С в Синтаксис-Помощнике!
См. также:
- Неоднозначное поле в запросе
- Исправление технических ошибок при работе с 1С:Бухгалтерия: для начинающих и опытных пользователей
- Метод объекта не обнаружен
- Неизвестный идентификатор формы
- Переменная не определена
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы Бухэксперт8, записи поддерживающих эфиров и вы сможете задавать любые вопросы по программе 1С.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Содержание:
1. Несоответствие типов данных
2. Ошибка внутри таблицы в запросе
3. Причина ошибки внутри команды
Приветствую, коллеги! В данной статье рассмотрим понятие и описание типа данных и переменных в системе 1С версии 8.3. Также поговорим о распространенной ошибке «Несоответствие типов», изложим инструкцию с по ее устранению.
1. Несоответствие типов данных
Тип – это характеристика у значения, которая определяет поведение и свойства, которые имеет данное значение.
В командах внутри системы 1С параметры имеют некую специальную очерёдность, а также все параметры имеют ссылку на данные, которые связаны с каким-либо типом. В случае, когда какой-то из параметров находится в неположенном месте, либо название не соответствует типу, выполняются невозможные действия для конкретного типа – появляется сообщение, в котором говорится о несоответствии типов данных (показано на скриншоте ниже):
Рис. 1 Сообщение об ошибке несоответствии типов
Чаще всего данная неполадка возникает, когда при написании запроса внутри команды не верно указывают параметры. Исправление подобной ошибки производится при помощи изменения типа передаваемого параметра или используемой переменной на правильный тип данных.
2. Ошибка внутри таблицы в запросе
Рассмотрим пример: при чтении цен из номенклатуры согласно регистру данных «Цены номенклатуры» с общего внешнего отчёта всплывает ошибка «Неоднозначное поле «ТипЦен.Номенклатура».
Рис. 2 Ошибка Неоднозначное поле
Видим, что в окне с сообщением о неполадке указано место в коде, где возникла ошибка несоответствия типов: «Параметр номер «1», в строчке вида:
«РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Чтобы устранить данную ошибку в первую очередь откроем конфигурацию с данным отчётом и найдем внутри кода с формой строчку, которая была приведена выше:
Рис. 3 Исправление ошибки несоответствия типов (Параметр номер 1)
При помощи «Синтаксис-Помощника», в меню конфигурации 1С можно сверить, насколько правильно была написана команда:
Рис. 4 Проверка написания команды с помощью Синтаксис-Помощника
Согласно описанию, в команде «СрезПоследних» находится два параметра: «Отбор» и «Период».
В случае, когда параметр «Период» не был указан, в данной команде будет пустое поле, а после запятой будет написан параметр для отбора. Для нашего примера этим параметром будет «ТипЦен». После правок команда видоизменится так: «СрезПоследних(,ТипЦен = &ТипЦен).
Рис. 5 Исправление команды СрезПоследних
После того как команда СрезПоследних была исправлена, стоит снова сформировать отчёт из «Главное меню → Файл → Открыть».
3. Причина ошибки внутри команды
Имеем такую ошибку: когда происходит поиск вариантов ссылок на контрагента в отчёте системы 1С, то возникает ошибка «Несоответствие типов (параметр номер «2»), как на скриншоте ниже:
Рис. 6 Несоответствие типов (параметр номер «2»)
В системе 1С указано то место, где произошла неполадка – это недопустимый параметр номер 2, если кликнуть на кнопку «ERROR». Чтобы её исправить нужно запустить отчёт в конфигураторе системы 1С, далее ищем форму строчки, в которой написана команда «НайтиПоСсылкам», внутри модуля.
Рис. 7 Команда НайтиПоСсылкам внутри модуля
Можно проверить верность того, как написана команда при помощи «Синтаксис-Помощника» в панели меню системы 1С, кнопка будет выделена:
Рис. 8 Команда НайтиПоСсылкам в Синтаксис-Помощнике
По описанию следует: в команде «НайтиПоСсылкам» находится такие четыре параметра: СписокСсылок, ИсключитьОбъекты, ВключитьОбъекты и ОбластьПоиска.
В параметре с названием «ОбластьПоиска» будет тип «массив», в примере указана единица. Параметр «ОбластьПоиска» — не является обязательным, так что команда, которую исправили будет иметь следующий новый вид: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
Рис. 9 Тип массив в НайтиПоСсылкам
Далее запускаем наш отчёт в системе 1С.
После наших действий команда работает исправно и ошибки нет.
Рис. 10 Проверка на наличие ошибок в системе конфигурации 1С
В данной статье было рассмотрено как устранить ошибку несоответствия типов в 1С. На примерах была устранена эта ошибка для запроса и для команды. По данному алгоритму можно всегда устранять данную ошибку.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Droning
25.06.18 — 13:02
{ВнешняяОбработка.СчетНаОплатуСПечатьюАльянс.МодульОбъекта(361)}: Ошибка при вызове метода контекста (Заполнить)
ОбластьМакета.Параметры.Заполнить(«АдресОрганизацииШапка»);
по причине:
Несоответствие типов (параметр номер ‘1’)
Добрый день. в чем может быть косяк?
Darych
1 — 25.06.18 — 13:04
в несоответствии типа первого параметра
singlych
2 — 25.06.18 — 13:05
ПараметрыМакетаТабличногоДокумента (SpreadsheetDocumentTemplateParameters)
Заполнить (Fill)
Синтаксис:
Заполнить(<Объект>)
Параметры:
<Объект> (обязательный)
Тип: Произвольный.
Объект, из свойств которого будут заполняться параметры макета табличного документа.
Описание:
Заполняет параметры значениями свойств переданного объекта. Заполняются только те параметры, имена которых совпадают с именами свойств объекта.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:
К=0;
Пока Выборка.Следующий() Цикл
К = К+1;
ОбластьМакета = Макет.ПолучитьОбласть(«Строка»);
ОбластьМакета.Параметры.Заполнить(Выборка);
ОбластьМакета.Параметры.НомерСтроки = К;
ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
Волшебник
3 — 25.06.18 — 13:06
(1) Шаман!
Droning
4 — 25.06.18 — 13:08
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ДанныеПечатиШапкаЭконотел = Новый Структура;
ДанныеПечатиШапкаЭконотел.Вставить(«АдресОрганизациииШапка», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаЭконотел.Вставить(«НазваниеОрганизациииШапка», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизациииШапка);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизациииШапка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ДанныеПечатиШапкаГорлинии = Новый Структура;
ДанныеПечатиШапкаГорлинии.Вставить(АдресОрганизацииШапка, СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаГорлинии.Вставить(НазваниеОрганизацииШапка, СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизацииШапка);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизацииШапка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорлинии);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорЛинии»);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
Droning
5 — 25.06.18 — 13:09
если так, то переменная не определена ни АдресОрганизацииШЩапка ни НазваниеОрганизацииШапка
Darych
6 — 25.06.18 — 13:11
в условие небось не заходит.. там же у тя иначеесли
Droning
7 — 25.06.18 — 13:13
(6) и как быть?
Droning
8 — 25.06.18 — 13:14
у меня 2 шапки, надо при выставлении счета от одной организации высвечивалось лого этой организации , ее адрес и название. для второй соответственно так же
Mankubus
9 — 25.06.18 — 13:14
(5) читал (2)? Нужно передать объект а не просто значение
Иди сразу сделай присваиванием область. Параметры. Парам = значениеПарам
Droning
10 — 25.06.18 — 13:20
(9) читал. как передать объект то? в макете это поле определено как параметр. нужно создать соответствующий реквизит?
catena
11 — 25.06.18 — 13:22
(5)Определи их.
Droning
12 — 25.06.18 — 13:41
// Выводим шапку счета
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет);
СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений);
АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «ЮридическийАдрес»);
НазваниеОРганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «НаименованиеДляПечатныхФорм»);
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ДанныеПечатиШапкаЭконотел = Новый Структура;
ДанныеПечатиШапкаЭконотел.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаЭконотел.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ДанныеПечатиШапкаГорлинии = Новый Структура;
ДанныеПечатиШапкаГорлинии.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаГорлинии.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорлинии);
//АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(
// СведенияОбОрганизации, «НаименованиеДляПечатныхФорм,ЮридическийАдрес»);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорЛинии»);
//ДанныеПечатиШапкаГорЛинии.Вставить(«АдресОрганизации», АдресОрганизации);
//ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорЛинии);
ТабличныйДокумент.Вывести(ОбластьМакета);
Волшебник
13 — 25.06.18 — 13:43
(12) Не надо зашивать конкретные ИНН в программный код
ООО «Эконотел» (ИНН 7715990969, ОГРН 1147746091580), Москва
Droning
14 — 25.06.18 — 13:47
(13) мне сказали сделать так, привязать лого к инн
Droning
15 — 25.06.18 — 13:48
(13) вопрос в том, почему несоответствие типов вылезает, уже после того как я определил переменные
Droning
16 — 25.06.18 — 13:48
{ВнешняяОбработка.СчетНаОплатуСПечатьюАльянс.МодульОбъекта(362)}: Ошибка при вызове метода контекста (Заполнить)
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
по причине:
Несоответствие типов (параметр номер ‘1’)
Волшебник
17 — 25.06.18 — 13:50
(14) Надо завести справочник или регистр сведений Логотипы или добавить реквизит «Логотип» в спр. «Организации».
(16) Научись уже пользоваться отладчиком. Поставь точку останова и посмотри.
Darych
18 — 25.06.18 — 13:53
АдресОрганизации — в топку, как структуру называл?
Droning
19 — 25.06.18 — 13:56
(18) закомментривал строчки ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
если ты это имел ввиду. Ошибок не выдает, однако на печати ни адреса ни названия
Darych
20 — 25.06.18 — 13:57
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел )
Droning
21 — 25.06.18 — 13:58
(20) и?
Darych
22 — 25.06.18 — 13:59
и иди в жопу
Droning
23 — 25.06.18 — 14:02
(22) Исправил в макете имя параметра на ДанныеПечатиШапкаЭконотел. Спасибо за верный посыл)))
фросия
24 — 25.06.18 — 14:03
(22) сработало!
Droning
25 — 25.06.18 — 14:05
(24) теперь впринципе все ответы на форуме можно свести к такому варианту) Животворящее иди в жопу спасет всех ламеров.
Droning
26 — 25.06.18 — 14:07
{ВнешняяОбработка.СчетНаОплатуСПечатьюАльянс.МодульОбъекта(73)}: Ошибка при вызове метода контекста (ВыполнитьПакет)
РезультатЗапроса = Запрос.ВыполнитьПакет();
по причине:
{(46, 17)}: Поле не найдено «СчетНаОплату.ЗаРуководителяПоПриказу»
СчетНаОплату.<<?>>ЗаРуководителяПоПриказу КАК ЗаРуководителяПоПриказу,
Droning
27 — 25.06.18 — 14:13
а такое как решается?
Droning
28 — 25.06.18 — 14:13
{(46, 17)} что значат эти значения?
hhhh
29 — 25.06.18 — 14:15
(26) сначала определись, что такое у тебя СчетНаОплату. ??
фросия
30 — 25.06.18 — 14:16
(28) обычно номер строки на котором спотыкнулся отладчик
Волшебник
31 — 25.06.18 — 14:17
(22) Великий Гуру!
Droning
32 — 25.06.18 — 14:18
(29) решил проблему. Привет, hhhh!
Но почему-то в печати опять таки нет поля ДанныеПечатиШапкаЭконотел. В печати нужная инфа отсутствует.
Ребят, я понимаю, что никому не интересно отвечать на глупые вопросы. Но все же очень прошу помочь(
фросия
33 — 25.06.18 — 14:19
(32) отладчик. используй его!
Droning
34 — 25.06.18 — 14:19
(33) а как его использовать с внешними печатными формами? значения не заполняются
фросия
35 — 25.06.18 — 14:22
(34) открой ВПФ просто как обработку. и отлаживай
Darych
36 — 25.06.18 — 14:23
(35) ща будут вопрос «она не открывается»…
Путевку повторить?
фросия
37 — 25.06.18 — 14:24
(36) подождите, может у него еще действие первой не закончилось
Волшебник
38 — 25.06.18 — 14:24
(36) Великий Гуру не повторяется. Сказанного достаточно. Sapienti sat.
Droning
39 — 25.06.18 — 14:25
(35) отладка пошла.
Droning
40 — 25.06.18 — 14:27
Структура ДанныеПечатиШапкаЭконотел заполнена как надо…
hhhh
41 — 25.06.18 — 14:39
(40) а вы точно уверены что АдресОрганизациииШапка — это то, что надо? три буквы и подряд ??
Droning
42 — 25.06.18 — 14:44
(41) // Выводим шапку счета
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет);
СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений);
АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «ЮридическийАдрес»);
НазваниеОРганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «НаименованиеДляПечатныхФорм»);
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ДанныеПечатиШапкаЭконотел = Новый Структура;
ДанныеПечатиШапкаЭконотел.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаЭконотел.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ДанныеПечатиШапкаГорлинии = Новый Структура;
ДанныеПечатиШапкаГорлинии.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаГорлинии.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорлинии);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
Droning
43 — 25.06.18 — 14:44
в данный момент код выглядит так
фросия
44 — 25.06.18 — 14:53
а макет?
Droning
45 — 25.06.18 — 14:58
фросия
46 — 25.06.18 — 14:58
а где в макете
АдресОрганизации
НазваниеОрганизации
?
фросия
47 — 25.06.18 — 15:01
как у вас параметр в макете называется — тот параметр и заполняйте в программе
тип параметра примитивный: число, строка.
вот интересно, у вас два параметра, вы его как хотели увидеть
АдресНазвание
или НазваниеАдрес?
или Название и с новой строки адрес, сами подумайте как вам программа должна структуру вывести в строку?
Droning
48 — 25.06.18 — 15:09
(47) тогда мне вообще никакая структура не нужна же?
// Выводим шапку счета
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет);
СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений);
АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «ЮридическийАдрес»);
НазваниеОРганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «НаименованиеДляПечатныхФорм»);
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
Droning
49 — 25.06.18 — 15:09
если так, то выдает ошибку по несоответствию типов параметр номер1
Droning
50 — 25.06.18 — 15:34
(47) как очевидно задать тип параметра?
Darych
51 — 25.06.18 — 15:37
ОбластьМакета.ТвойДолбанныйПараметр = ТвоеБлинЗначение
Droning
52 — 25.06.18 — 15:43
(51) ОбластьМакета.ТабличныйДокумент = НазваниеОрганизации;
ОбластьМакета.ТабличныйДокумент = АдресОрганизации;
так?
Darych
53 — 25.06.18 — 15:44
до свиданья
Droning
54 — 25.06.18 — 15:44
ОбластьМакета.НазваниеОрганизации = ТабличныйДокумент;
ОбластьМакета.АдресОрганизации = ТабличныйДокумент;
точнее так?
Darych
55 — 25.06.18 — 15:44
не.. лучче прощай
Малыш Джон
56 — 25.06.18 — 15:48
… и Droning рисует на своем борту очередную звездочку!
Boom! Headshot!
Jackshi 59 / 59 / 6 Регистрация: 16.01.2013 Сообщений: 162 |
||||
1 |
||||
Несоответствие типов14.05.2014, 12:23. Показов 15419. Ответов 5 Метки нет (Все метки)
Доброго времени суток. Помогите решить задачу в Бух 3.0
Докум = Ссылка(<Объект не найден> (170:8cde001e6759045111e3b5045af92b08)) {Форма.Форма.Форма(405)}: Ошибка при вызове метода контекста (УстановитьСсылкуНового) Вроде первый раз не ругается, а вот второй раз….. Почему?
__________________ 0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
14.05.2014, 12:23 |
Ответы с готовыми решениями: Несоответствие типов Несоответствие типов Несоответствие типов Несоответствие типов begin 5 |
SPR1TE89 21 / 21 / 3 Регистрация: 22.04.2014 Сообщений: 112 |
||||
14.05.2014, 12:36 |
2 |
|||
Jackshi, А если так попробовать?
И еще возможно битая ссылка. Поэтому и ругается. 1 |
59 / 59 / 6 Регистрация: 16.01.2013 Сообщений: 162 |
|
14.05.2014, 12:42 [ТС] |
3 |
Работает, Спасибо! А есть возможность избавиться от битой ссылки? 0 |
21 / 21 / 3 Регистрация: 22.04.2014 Сообщений: 112 |
|
14.05.2014, 14:06 |
4 |
Jackshi, Вообще есть, но лучше пока не заморачивайтесь). 0 |
multirum 0 / 0 / 0 Регистрация: 14.09.2020 Сообщений: 6 |
||||
30.11.2020, 14:07 |
5 |
|||
{Обработка.ИзменениеЦеныПоКодуЭлемента.Форма.Форма .Форма(4)}: Ошибка при вызове метода контекста (Выбрать) 0 |
polax 1783 / 1208 / 437 Регистрация: 16.01.2015 Сообщений: 5,322 |
||||
30.11.2020, 18:44 |
6 |
|||
multirum, Есть такая штука СП — синтакс помощник называется. Обращайтесь к нему чаще. СправочникМенеджер.<Имя справочника> (CatalogManager.<Catalog name>)
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
30.11.2020, 18:44 |
Помогаю со студенческими работами здесь Несоответствие типов Несоответствие типов if then else несоответствие типов interface uses Несоответствие типов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 6 |
После обновления конфигурации 1с упрощенка 8 до версии 8.3.10.2580 платформы и 3.0.52.42 конфигурации при создании счета вылезла ошибка: Несоответствие типов (параметр номер ‘1’) в отладчике: {ОбщийМодуль.РегламентныеЗаданияСервер.Модуль}: Ошибка при вызове метода контекста (НайтиПоУникальномуИдентификатору) РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор); по причине: Несоответствие типов (параметр номер ‘1’) На этом мои познания в программировании 1с заканчиваются. Где собака закопана?
У тебя Идентификатор имеет тип НЕ УНИКАЛЬНЫЙИДЕНТИФИКАТОР. А нужно что бы был УникальныйИдентификатор. МенеджерРегламентныхЗаданий (ScheduledJobsManager) НайтиПоУникальномуИдентификатору (FindByUUID) Синтаксис: НайтиПоУникальномуИдентификатору(<Идентификатор>) Параметры: Тип: УникальныйИдентификатор. Идентификатор регламентного задания. Возвращаемое значение: Тип: РегламентноеЗадание; Неопределено. Если задание для заданного идентификатора не найдено, возвращает Неопределено. Описание: Осуществляет поиск регламентного задания по уникальному идентификатору. Получение регламентного задания возможно только для администратора. Доступность: Сервер, толстый клиент, внешнее соединение.
Соответственно, что мне нужно сделать?
Присвоить переменной Идентификатор тип УникальныйИдентификатор.
Так заводская конфигурация и модуль только для чтения.
А ну тогда все..ничего не сделать
Функция ПолучитьРегламентноеЗадание(Знач Идентификатор) Экспорт ВызватьИсключение( НСтр(«ru = ‘Регламентное задание не найдено.
Вот весь текст модуля. Где исправить идентификатор?
выгрузку-загрузку базы делал?
Выгрузку загрузку — не делал. А что такое тии?
тестирование и исправление в конфигураторе
Тааак. А как ты чистил кэш?
Тестирование и исправление запускал. C:Users1AppDataRoaming1C1Cv82 C:Users1AppDataLocal1C1Cv82 Из них грохнул папки с длинными названиями Еще пробовал через ClearCache и тонкий клиент
Выгрузил — загрузил. Все равно так-же.
Пройдись отладчиком, что у тебя в функцию передается? ИМХО, неопределено. И проблема не на самом деле не здесь, а при создании счета.
{ОбщийМодуль.РегламентныеЗаданияСервер.Модуль}: Ошибка при вызове метода контекста (НайтиПоУникальномуИдентификатору) РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор); по причине: Несоответствие типов (параметр номер ‘1’) Это в отладчике
Как посмотреть, что в функцию передается?
Проблема была в расположении информационной базы. Перенес в корень другого диска. Все завелось))))
это значит кэш. про кэш наврал.
Как говАривала Алиса «все чудесатее и чудесатее»)
Не обязательно. Скорее всего на клиенте почистил.
Тэги:
Комментарии доступны только авторизированным пользователям
|
|
|
Правила раздела:
- Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
- Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
- Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.
Высказать своё мнение о модераторах раздела можно здесь: evGenius
Проблема с отбором
, 1с 8.0
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
делаю отбор по значения таким вот образом
ДокументСписок.Отбор.Регион.ВидСравнения = ВидСравнения.Равно; ДокументСписок.Отбор.Регион.Использование = Истина; ДокументСписок.Отбор.Регион.Значение = Пользователь.Регион; теперь я хочу сделать что бы значения были не равно а всписке и делаю так:
МассивРегионов = Новый СписокЗначений; //тут идет запрос и выгрузка в СписЗнач ДокументСписок.Отбор.Регион.ВидСравнения = ВидСравнения.ВСписке; ДокументСписок.Отбор.Регион.Использование = Истина; ДокументСписок.Отбор.Регион.Значение = МассивРегионов; НЕ РАБОТАЕТ!!! Отбор осуществляется в форме списка документа Сообщение отредактировано: alevi — 27.05.08, 07:17 |
GrAnd |
|
Цитата alevi @ 27.05.08, 06:39 ДокументСписок.Отбор.Регион.Значение = МассивРегионов; Какого типа у тебя ДокументСписок.Отбор.Регион.Значение??? Если это есть СписокЗначений то работает все замечательно при условии
ДокументСписок.Отбор.Регион.Значение.ЗагрузитьЗначения(МассивРегионов); |
alevi |
|
Цитата GrAnd @ 27.05.08, 07:16 ДокументСписок.Отбор.Регион.Значение.ЗагрузитьЗначения(МассивРегионов); Ошибка при вызове метода контекста (ЗагрузитьЗначения): Несоответствие типов (параметр номер «1») Цитата GrAnd @ 27.05.08, 07:16 Какого типа у тебя ДокументСписок.Отбор.Регион.Значение; Тип: Спис знач Сообщение отредактировано: alevi — 27.05.08, 07:27
|
GrAnd |
|
Цитата alevi @ 27.05.08, 07:19 Ошибка при вызове метода контекста (ЗагрузитьЗначения): Несоответствие типов (параметр номер «1») В таком случае прогони заполнение через цикл с помощью метода Добавить(..) или измени тип МассивРегионов на Массив
МассивРегионов = Новый Массив; //тут идет запрос и выгрузка в СписЗнач ДокументСписок.Отбор.Регион.ВидСравнения = ВидСравнения.ВСписке; ДокументСписок.Отбор.Регион.Использование = Истина; ДокументСписок.Отбор.Регион.Значение.ЗагрузитьЗначения(МассивРегионов);
Версия кака 8.0 или 8.1 ??? |
alevi |
|
все работает спасибо! первый вариант в тему, просто немножко вручную поправил список значений… с меня пиво |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- 1С: Проблемы и решения
- Следующая тема
[ Script execution time: 0,0306 ] [ 15 queries used ] [ Generated: 30.01.23, 09:56 GMT ]
Содержание:
1. Несоответствие типов данных
2. Ошибка внутри таблицы в запросе
3. Причина ошибки внутри команды
Приветствую, коллеги! В данной статье рассмотрим понятие и описание типа данных и переменных в системе 1С версии 8.3. Также поговорим о распространенной ошибке «Несоответствие типов», изложим инструкцию с по ее устранению.
1. Несоответствие типов данных
Тип – это характеристика у значения, которая определяет поведение и свойства, которые имеет данное значение.
В командах внутри системы 1С параметры имеют некую специальную очерёдность, а также все параметры имеют ссылку на данные, которые связаны с каким-либо типом. В случае, когда какой-то из параметров находится в неположенном месте, либо название не соответствует типу, выполняются невозможные действия для конкретного типа – появляется сообщение, в котором говорится о несоответствии типов данных (показано на скриншоте ниже):
Рис. 1 Сообщение об ошибке несоответствии типов
Чаще всего данная неполадка возникает, когда при написании запроса внутри команды не верно указывают параметры. Исправление подобной ошибки производится при помощи изменения типа передаваемого параметра или используемой переменной на правильный тип данных.
2. Ошибка внутри таблицы в запросе
Рассмотрим пример: при чтении цен из номенклатуры согласно регистру данных «Цены номенклатуры» с общего внешнего отчёта всплывает ошибка «Неоднозначное поле «ТипЦен.Номенклатура».
Рис. 2 Ошибка Неоднозначное поле
Видим, что в окне с сообщением о неполадке указано место в коде, где возникла ошибка несоответствия типов: «Параметр номер «1», в строчке вида:
«РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Чтобы устранить данную ошибку в первую очередь откроем конфигурацию с данным отчётом и найдем внутри кода с формой строчку, которая была приведена выше:
Рис. 3 Исправление ошибки несоответствия типов (Параметр номер 1)
При помощи «Синтаксис-Помощника», в меню конфигурации 1С можно сверить, насколько правильно была написана команда:
Рис. 4 Проверка написания команды с помощью Синтаксис-Помощника
Согласно описанию, в команде «СрезПоследних» находится два параметра: «Отбор» и «Период».
В случае, когда параметр «Период» не был указан, в данной команде будет пустое поле, а после запятой будет написан параметр для отбора. Для нашего примера этим параметром будет «ТипЦен». После правок команда видоизменится так: «СрезПоследних(,ТипЦен = &ТипЦен).
Рис. 5 Исправление команды СрезПоследних
После того как команда СрезПоследних была исправлена, стоит снова сформировать отчёт из «Главное меню → Файл → Открыть».
3. Причина ошибки внутри команды
Имеем такую ошибку: когда происходит поиск вариантов ссылок на контрагента в отчёте системы 1С, то возникает ошибка «Несоответствие типов (параметр номер «2»), как на скриншоте ниже:
Рис. 6 Несоответствие типов (параметр номер «2»)
В системе 1С указано то место, где произошла неполадка – это недопустимый параметр номер 2, если кликнуть на кнопку «ERROR». Чтобы её исправить нужно запустить отчёт в конфигураторе системы 1С, далее ищем форму строчки, в которой написана команда «НайтиПоСсылкам», внутри модуля.
Рис. 7 Команда НайтиПоСсылкам внутри модуля
Можно проверить верность того, как написана команда при помощи «Синтаксис-Помощника» в панели меню системы 1С, кнопка будет выделена:
Рис. 8 Команда НайтиПоСсылкам в Синтаксис-Помощнике
По описанию следует: в команде «НайтиПоСсылкам» находится такие четыре параметра: СписокСсылок, ИсключитьОбъекты, ВключитьОбъекты и ОбластьПоиска.
В параметре с названием «ОбластьПоиска» будет тип «массив», в примере указана единица. Параметр «ОбластьПоиска» — не является обязательным, так что команда, которую исправили будет иметь следующий новый вид: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
Рис. 9 Тип массив в НайтиПоСсылкам
Далее запускаем наш отчёт в системе 1С.
После наших действий команда работает исправно и ошибки нет.
Рис. 10 Проверка на наличие ошибок в системе конфигурации 1С
В данной статье было рассмотрено как устранить ошибку несоответствия типов в 1С. На примерах была устранена эта ошибка для запроса и для команды. По данному алгоритму можно всегда устранять данную ошибку.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Ошибка Несоответствие типов в 1С 8.3 связана с передачей параметров в командах и запросах 1С.
Изучив статью, вы:
- ознакомитесь с порядком исправления ошибки в запросе и командах 1С;
- получите два внешних отчета, демонстрирующих ошибочный и правильный коды.
Содержание
- Несоответствие типов в 1С 8.3
- Ошибка в таблице запроса
- Исправление ошибки в команде 1С
Как правило, параметры в командах 1С идут в определенной очередности и ссылаются на данные конкретного типа. Ошибка в указании параметра не на том месте или не того типа приводит к появлению сообщения о несоответствии типов:
Исправляется подобная ошибка восстановлением правильной последовательности в строке параметров команды или указанием нужного типа данных Ошибка 1С Несоответствие типов наиболее часто появляется при написании запросов и при некорректном указании параметров команды.
Рассмотрим причины ее возникновения и исправление на конкретном примере.
Ошибка в таблице запроса
При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».
В окне сообщений уже указано место возникновения ошибки: Параметр номер «1» в строке Регистр сведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Для исправления ошибки необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы указанную строчку.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания видно, что команда СрезПоследних имеет 2 параметра:
- Период;
- Отбор.
Если параметр Период не указывается, место в команде остается пустым, а через запятую указывается параметр отбора, в нашем случае: ТипЦен. Исправленная команда выглядит следующим образом: СрезПоследних(, ТипЦен = &ТипЦен ).
После исправления команды запустите отчет в 1С по кнопке Главное меню — Файл — Открыть:
Теперь отчет формируется правильно!
Скачать внешний отчет Вывод списка цен номенклатуры
Исправление ошибки в команде 1С
При поиске ссылок на контрагента в отчете 1С появляется ошибка Несоответствие типов (параметр номер 2):
1С сообщает место ошибки — Параметр номер 2 при нажатии кнопки ERROR.
Для ее исправления необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы строчку с командой НайтиПоСсылкам.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания идно, что команда НайтиПоСсылкам имеет 4 параметра:
- СписокСсылок;
- ОбластьПоиска;
- ВключитьОбъекты;
- ИсключитьОбъекты.
Параметр ОбластьПоиска имеет тип «массив», а в нашем примере указано число 1: НайтиПоСсылкам(МассивПоиска, 1, , МассивИсключений). Область поиска — необязательный параметр, поэтому исправленная команда может выглядеть следующим образом: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
После исправления команды запустите внешний отчет в 1С по кнопке Главное меню — Файл — Открыть:
Теперь команда поиска ссылок на контрагента отрабатывает правильно.
Скачать внешний отчет Поиск ссылок на контрагента
Вот так можно получить ошибку 1С Несоответствие типов в 1С, поэтому контролируйте правильность указания параметров в запросах и командах 1С в Синтаксис-Помощнике!
См. также:
- Неоднозначное поле в запросе
- Исправление технических ошибок при работе с 1С:Бухгалтерия: для начинающих и опытных пользователей
- Метод объекта не обнаружен
- Неизвестный идентификатор формы
- Переменная не определена
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы Бухэксперт8, записи поддерживающих эфиров и вы сможете задавать любые вопросы по программе 1С.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
25.06.18 — 13:02
{ВнешняяОбработка.СчетНаОплатуСПечатьюАльянс.МодульОбъекта(361)}: Ошибка при вызове метода контекста (Заполнить)
ОбластьМакета.Параметры.Заполнить(«АдресОрганизацииШапка»);
по причине:
Несоответствие типов (параметр номер ‘1’)
Добрый день. в чем может быть косяк?
1 — 25.06.18 — 13:04
в несоответствии типа первого параметра
2 — 25.06.18 — 13:05
ПараметрыМакетаТабличногоДокумента (SpreadsheetDocumentTemplateParameters)
Заполнить (Fill)
Синтаксис:
Заполнить(<Объект>)
Параметры:
<Объект> (обязательный)
Тип: Произвольный.
Объект, из свойств которого будут заполняться параметры макета табличного документа.
Описание:
Заполняет параметры значениями свойств переданного объекта. Заполняются только те параметры, имена которых совпадают с именами свойств объекта.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:
К=0;
Пока Выборка.Следующий() Цикл
К = К+1;
ОбластьМакета = Макет.ПолучитьОбласть(«Строка»);
ОбластьМакета.Параметры.Заполнить(Выборка);
ОбластьМакета.Параметры.НомерСтроки = К;
ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
3 — 25.06.18 — 13:06
(1) Шаман!
4 — 25.06.18 — 13:08
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ДанныеПечатиШапкаЭконотел = Новый Структура;
ДанныеПечатиШапкаЭконотел.Вставить(«АдресОрганизациииШапка», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаЭконотел.Вставить(«НазваниеОрганизациииШапка», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизациииШапка);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизациииШапка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ДанныеПечатиШапкаГорлинии = Новый Структура;
ДанныеПечатиШапкаГорлинии.Вставить(АдресОрганизацииШапка, СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаГорлинии.Вставить(НазваниеОрганизацииШапка, СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизацииШапка);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизацииШапка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорлинии);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорЛинии»);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
5 — 25.06.18 — 13:09
если так, то переменная не определена ни АдресОрганизацииШЩапка ни НазваниеОрганизацииШапка
6 — 25.06.18 — 13:11
в условие небось не заходит.. там же у тя иначеесли
7 — 25.06.18 — 13:13
(6) и как быть?
8 — 25.06.18 — 13:14
у меня 2 шапки, надо при выставлении счета от одной организации высвечивалось лого этой организации , ее адрес и название. для второй соответственно так же
9 — 25.06.18 — 13:14
(5) читал (2)? Нужно передать объект а не просто значение
Иди сразу сделай присваиванием область. Параметры. Парам = значениеПарам
10 — 25.06.18 — 13:20
(9) читал. как передать объект то? в макете это поле определено как параметр. нужно создать соответствующий реквизит?
11 — 25.06.18 — 13:22
(5)Определи их.
12 — 25.06.18 — 13:41
// Выводим шапку счета
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет);
СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений);
АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «ЮридическийАдрес»);
НазваниеОРганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «НаименованиеДляПечатныхФорм»);
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ДанныеПечатиШапкаЭконотел = Новый Структура;
ДанныеПечатиШапкаЭконотел.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаЭконотел.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ДанныеПечатиШапкаГорлинии = Новый Структура;
ДанныеПечатиШапкаГорлинии.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаГорлинии.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорлинии);
//АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(
// СведенияОбОрганизации, «НаименованиеДляПечатныхФорм,ЮридическийАдрес»);
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорЛинии»);
//ДанныеПечатиШапкаГорЛинии.Вставить(«АдресОрганизации», АдресОрганизации);
//ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорЛинии);
ТабличныйДокумент.Вывести(ОбластьМакета);
13 — 25.06.18 — 13:43
(12) Не надо зашивать конкретные ИНН в программный код
ООО «Эконотел» (ИНН 7715990969, ОГРН 1147746091580), Москва
14 — 25.06.18 — 13:47
(13) мне сказали сделать так, привязать лого к инн
15 — 25.06.18 — 13:48
(13) вопрос в том, почему несоответствие типов вылезает, уже после того как я определил переменные
16 — 25.06.18 — 13:48
{ВнешняяОбработка.СчетНаОплатуСПечатьюАльянс.МодульОбъекта(362)}: Ошибка при вызове метода контекста (Заполнить)
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
по причине:
Несоответствие типов (параметр номер ‘1’)
17 — 25.06.18 — 13:50
(14) Надо завести справочник или регистр сведений Логотипы или добавить реквизит «Логотип» в спр. «Организации».
(16) Научись уже пользоваться отладчиком. Поставь точку останова и посмотри.
18 — 25.06.18 — 13:53
АдресОрганизации — в топку, как структуру называл?
19 — 25.06.18 — 13:56
(18) закомментривал строчки ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
если ты это имел ввиду. Ошибок не выдает, однако на печати ни адреса ни названия
20 — 25.06.18 — 13:57
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел )
21 — 25.06.18 — 13:58
(20) и?
22 — 25.06.18 — 13:59
и иди в жопу
23 — 25.06.18 — 14:02
(22) Исправил в макете имя параметра на ДанныеПечатиШапкаЭконотел. Спасибо за верный посыл)))
24 — 25.06.18 — 14:03
(22) сработало!
25 — 25.06.18 — 14:05
(24) теперь впринципе все ответы на форуме можно свести к такому варианту) Животворящее иди в жопу спасет всех ламеров.
26 — 25.06.18 — 14:07
{ВнешняяОбработка.СчетНаОплатуСПечатьюАльянс.МодульОбъекта(73)}: Ошибка при вызове метода контекста (ВыполнитьПакет)
РезультатЗапроса = Запрос.ВыполнитьПакет();
по причине:
{(46, 17)}: Поле не найдено «СчетНаОплату.ЗаРуководителяПоПриказу»
СчетНаОплату.<<?>>ЗаРуководителяПоПриказу КАК ЗаРуководителяПоПриказу,
27 — 25.06.18 — 14:13
а такое как решается?
28 — 25.06.18 — 14:13
{(46, 17)} что значат эти значения?
29 — 25.06.18 — 14:15
(26) сначала определись, что такое у тебя СчетНаОплату. ??
30 — 25.06.18 — 14:16
(28) обычно номер строки на котором спотыкнулся отладчик
31 — 25.06.18 — 14:17
(22) Великий Гуру!
32 — 25.06.18 — 14:18
(29) решил проблему. Привет, hhhh!
Но почему-то в печати опять таки нет поля ДанныеПечатиШапкаЭконотел. В печати нужная инфа отсутствует.
Ребят, я понимаю, что никому не интересно отвечать на глупые вопросы. Но все же очень прошу помочь(
33 — 25.06.18 — 14:19
(32) отладчик. используй его!
34 — 25.06.18 — 14:19
(33) а как его использовать с внешними печатными формами? значения не заполняются
35 — 25.06.18 — 14:22
(34) открой ВПФ просто как обработку. и отлаживай
36 — 25.06.18 — 14:23
(35) ща будут вопрос «она не открывается»…
Путевку повторить?
37 — 25.06.18 — 14:24
(36) подождите, может у него еще действие первой не закончилось
38 — 25.06.18 — 14:24
(36) Великий Гуру не повторяется. Сказанного достаточно. Sapienti sat.
39 — 25.06.18 — 14:25
(35) отладка пошла.
40 — 25.06.18 — 14:27
Структура ДанныеПечатиШапкаЭконотел заполнена как надо…
41 — 25.06.18 — 14:39
(40) а вы точно уверены что АдресОрганизациииШапка — это то, что надо? три буквы и подряд ??
42 — 25.06.18 — 14:44
(41) // Выводим шапку счета
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет);
СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений);
АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «ЮридическийАдрес»);
НазваниеОРганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «НаименованиеДляПечатныхФорм»);
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ДанныеПечатиШапкаЭконотел = Новый Структура;
ДанныеПечатиШапкаЭконотел.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаЭконотел.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаЭконотел);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ДанныеПечатиШапкаГорлинии = Новый Структура;
ДанныеПечатиШапкаГорлинии.Вставить(«АдресОрганизации», СведенияОПолучателе.ЮридическийАдрес);
ДанныеПечатиШапкаГорлинии.Вставить(«НазваниеОрганизации», СведенияОПолучателе.ПолноеНаименование);
ОбластьМакета.Параметры.Заполнить(ДанныеПечатиШапкаГорлинии);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
43 — 25.06.18 — 14:44
в данный момент код выглядит так
44 — 25.06.18 — 14:53
а макет?
45 — 25.06.18 — 14:58
46 — 25.06.18 — 14:58
а где в макете
АдресОрганизации
НазваниеОрганизации
?
47 — 25.06.18 — 15:01
как у вас параметр в макете называется — тот параметр и заполняйте в программе
тип параметра примитивный: число, строка.
вот интересно, у вас два параметра, вы его как хотели увидеть
АдресНазвание
или НазваниеАдрес?
или Название и с новой строки адрес, сами подумайте как вам программа должна структуру вывести в строку?
48 — 25.06.18 — 15:09
(47) тогда мне вообще никакая структура не нужна же?
// Выводим шапку счета
ВывестиЗаголовокПредупреждение(СведенияОДокументе.Получатель, ТабличныйДокумент, Макет);
СведенияОПолучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДляПолученияСведений);
АдресОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «ЮридическийАдрес»);
НазваниеОРганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПолучателе, «НаименованиеДляПечатныхФорм»);
Если СведенияОПолучателе.ИНН=»7715990969″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаЭконотел»);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли СведенияОПолучателе.ИНН=»7705552109″ Тогда
ОбластьМакета = Макет.ПолучитьОбласть(«ШапкаГорлинии»);
ОбластьМакета.Параметры.Заполнить(НазваниеОрганизации);
ОбластьМакета.Параметры.Заполнить(АдресОрганизации);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
49 — 25.06.18 — 15:09
если так, то выдает ошибку по несоответствию типов параметр номер1
50 — 25.06.18 — 15:34
(47) как очевидно задать тип параметра?
51 — 25.06.18 — 15:37
ОбластьМакета.ТвойДолбанныйПараметр = ТвоеБлинЗначение
52 — 25.06.18 — 15:43
(51) ОбластьМакета.ТабличныйДокумент = НазваниеОрганизации;
ОбластьМакета.ТабличныйДокумент = АдресОрганизации;
так?
53 — 25.06.18 — 15:44
до свиданья
54 — 25.06.18 — 15:44
ОбластьМакета.НазваниеОрганизации = ТабличныйДокумент;
ОбластьМакета.АдресОрганизации = ТабличныйДокумент;
точнее так?
55 — 25.06.18 — 15:44
не.. лучче прощай
Малыш Джон
56 — 25.06.18 — 15:48
… и Droning рисует на своем борту очередную звездочку!
Boom! Headshot!
После обновления конфигурации 1с упрощенка 8 до версии 8.3.10.2580 платформы и 3.0.52.42 конфигурации при создании счета вылезла ошибка: Несоответствие типов (параметр номер ‘1’) в отладчике: {ОбщийМодуль.РегламентныеЗаданияСервер.Модуль}: Ошибка при вызове метода контекста (НайтиПоУникальномуИдентификатору) РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор); по причине: Несоответствие типов (параметр номер ‘1’) На этом мои познания в программировании 1с заканчиваются. Где собака закопана?
У тебя Идентификатор имеет тип НЕ УНИКАЛЬНЫЙИДЕНТИФИКАТОР. А нужно что бы был УникальныйИдентификатор. МенеджерРегламентныхЗаданий (ScheduledJobsManager) НайтиПоУникальномуИдентификатору (FindByUUID) Синтаксис: НайтиПоУникальномуИдентификатору(<Идентификатор>) Параметры: Тип: УникальныйИдентификатор. Идентификатор регламентного задания. Возвращаемое значение: Тип: РегламентноеЗадание; Неопределено. Если задание для заданного идентификатора не найдено, возвращает Неопределено. Описание: Осуществляет поиск регламентного задания по уникальному идентификатору. Получение регламентного задания возможно только для администратора. Доступность: Сервер, толстый клиент, внешнее соединение.
Соответственно, что мне нужно сделать?
Присвоить переменной Идентификатор тип УникальныйИдентификатор.
Так заводская конфигурация и модуль только для чтения.
А ну тогда все..ничего не сделать
Функция ПолучитьРегламентноеЗадание(Знач Идентификатор) Экспорт ВызватьИсключение( НСтр(«ru = ‘Регламентное задание не найдено.
Вот весь текст модуля. Где исправить идентификатор?
выгрузку-загрузку базы делал?
Выгрузку загрузку — не делал. А что такое тии?
тестирование и исправление в конфигураторе
Тааак. А как ты чистил кэш?
Тестирование и исправление запускал. C:Users1AppDataRoaming1C1Cv82 C:Users1AppDataLocal1C1Cv82 Из них грохнул папки с длинными названиями Еще пробовал через ClearCache и тонкий клиент
Выгрузил — загрузил. Все равно так-же.
Пройдись отладчиком, что у тебя в функцию передается? ИМХО, неопределено. И проблема не на самом деле не здесь, а при создании счета.
{ОбщийМодуль.РегламентныеЗаданияСервер.Модуль}: Ошибка при вызове метода контекста (НайтиПоУникальномуИдентификатору) РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор); по причине: Несоответствие типов (параметр номер ‘1’) Это в отладчике
Как посмотреть, что в функцию передается?
Проблема была в расположении информационной базы. Перенес в корень другого диска. Все завелось))))
это значит кэш. про кэш наврал.
Как говАривала Алиса «все чудесатее и чудесатее»)
Не обязательно. Скорее всего на клиенте почистил.
Тэги:
Комментарии доступны только авторизированным пользователям