Тип не определен как вывести

Странные ошибки «Тип не определен (ВыборкаИзРезультатаЗапроса)» при выгрузке данных

Кто-нибудь сталкивался с подобным явлением, который описан ниже?

Состав преступления:
Есть база-приёмник, база-источник, базы как базы, клиент-серверные. Обе базы территориально разнесены, но с одинаковой платформой. Сейчас уже 8.3.6.2299, но подобная беда была и на прошлых версиях.

В базе-приемние настроено рег.задание по загрузке данных из базы-источника, посредством типовой обработки «Универсальный обмен данными в формате XML» по правилам обмена:

1. Соответственно, на стороне сервера происходит COM-подключение к базе-источника.

Суть проблемы : Время от времени, то появляясь, то исчезая, с разной периодичностью (неделю ошибок не будет, потом за день несколько, потом каждый день по разу, потом раз в неделю или снова пропадёт на пару дней) появляется очень странная ошибка:

При чём, то ругается на строку 10012 – ВыборкаИзРезультатаЗапроса, то на строку 10020 — Запрос, то на строку 10016 — РезультатЗапроса. См. рисунок – номера: 3, 5 и 7 соответственно.

Мол, платформа сообщает мне, что она не знает такие типы данных! Такое возможно, если обращаться к таким типам, где такие типы не доступны, например, на стороне клиента. Но тут клиентом и не пахнет: в базе-приемнике это фоновое задание на стороне сервера, там же производится com-соединение (во внешнем соединении эти типы также доступны), на стороне сервера базы-источника создаётся внешняя обработка, ошибка возникает в модуле объекта внешней обработки.

Читайте также:  Как вывести мокроту у новорожденного ребенка

Источник

Мистическая ошибка: Тип не определен (МенеджерВременныхТаблиц)

Проблема следующая. У клиента, в самописной конфигурации (на SQL), в модуле ПользователиСлужебный (типовой модуль, настройки: выполнение на сервере, внешнее соединение) происходит ошибка:

Тип не определен (МенеджерВременныхТаблиц)
Запрос.МенеджерВременныхТаблиц = Новый >МенеджерВременныхТаблиц;

Я не имею возможности подключиться к нему удаленно, но он послал мне .dt-файл, я развернул на SQL — и у меня всё работает нормально.

Куда копать? Уж какой-какой, а такой ошибки я не ожидал.

(2) Xershi, у него: 8.3.7.1917

Я у себя запускаю на такой же (на толстом, тонком клиенте) и все идет нормально.

(8) Xershi, в смысле, код хотите посмотреть?

Тут интересно: сам метод — «Процедура ОбновитьРолиВнешнихПользователей(Знач МассивВнешнихПользователей = Неопределено) Экспорт»

В процедуре код привожу с самого начала:

В строке «Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;» происходит ошибка.

При этом, процедура относится к Внешним пользователям. А константа «Использовать внешних пользователей» — Ложь.

МенеджерВременныхТаблиц (TempTablesManager)
Методы:

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

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;

Запрос.Выполнить();
Запрос.Текст=»ВЫБРАТЬ * из ВременнаяОсновная»;
ТзПередано=Запрос.Выполнить().Выгрузить();

Источник

Как проверить тип значения документа, справочника?

Во-первых, во встроенном языке 1С:Предприятия 8 для работы с одним прикладным объектом реализовано несколько типов. Например, задачи, которые в 1С:Предприятии 7.7 решал тип «Документ» решаются теперь несколькими типами. Они разделены по своему назначению. Тип «ДокументСсылка» используется для хранения ссылок на объект базы данных в реквизитах других объектов. Тип «ДокументОбъект» используется для записи и удаления отдельных документов. Тип «ДокументВыборка» используется для перебора документов, хранящихся в базе данных. Существуют и другие типы данных, предназначенные для работы с документом. При написании модулей используются те типы, которые необходимы для решения конкретных задач.

Во-вторых, в 1С:Предприятии 8 нет двух понятий — «Тип» и «Вид». Для каждого объекта метаданных имеется свой набор типов используемых во встроенном языке для работы с описываемым им прикладным объектом. То есть при использовании конфигурации не будет существовать такого типа как «ДокументСсылка», а будут существовать конкретные типы, например, «ДокументСсылка.Счет», «ДокументОбъект.Счет», «ДокументСсылка.Накладная», и т.д.

Кроме того, в 1С:Предприятии 8 для манипулирования типами используются не их строковые наименования, а специальный тип «Тип». Значение типа Тип может быть получено функцией Тип(), получающей в качестве параметра имя типа.

Чтобы проверить тип значения переменной нужно определить ее тип функцией ТипЗнч() и использовать функцию Тип() для получения типа по имени.

Если ТипЗнч(Основание) = Тип(«ДокументСсылка.ПриходнаяНакладная») Тогда

Источник

Определяемые типы в 1С 8.3

Работа с определяемыми типами

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

При создании определяемого типа нужно указать его имя и тип. Можно указать составной тип данных:

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

Теперь данный определяемый тип можно указывать как тип для реквизитов объектов:

Если в дальнейшем нужно будет изменить тип реквизита Ответственный, то достаточно будет добавить новый тип в состав определяемого типа. Тип реквизитов, где был выбран определяемый тип будет изменен автоматически.

Также через определяемый тип можно определять квалификаторы примитивных типов. Например, создать определяемый тип Артикул типа строка и указать для него длину 30.

Если в качестве типа для реквизитов выбирать данный определяемый тип, то гарантируется, что длина везде будет 30 символов.

У определяемого типа есть некоторые ограничения:

  • его нельзя использовать как тип значения в плане видов характеристик
  • он не может входить в составной тип данных
  • не может входить в состав другого определяемого типа
  • доступен только начиная с версии платформы 8.3.3

Определяемый тип программно

Чтобы программно указать тип свойства как определяемый тип можно просто создать Описание типов и перечислить все те типы, которые указаны для определяемого типа. Но можно получить готовое описание типов через метаданные:

Источник

Тема: Ошибка «тип не определен»

Опции темы
Поиск по теме

Ошибка «тип не определен»

Здравствуйте. Случилось следующее (каким образом не знаю) открываю 1С а там сразу три ошибки следующего содержания.

<ОбщийМодуль.УниверсальныеМеханизмы.Модуль(296,17) >: Тип не определен (ДиалогВыбораФайла)
Диалог = Новый >ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Выб орКаталога);

<ОбщийМодуль.УниверсальныеМеханизмы.Модуль(321,17) >: Тип не определен (ДиалогВыбораФайла)
Диалог = Новый >ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Отк рытие);

<ОбщийМодуль.УниверсальныеМеханизмы.Модуль(344,31) >: Тип не определен (ДиалогВыбораФайла)
ДиалогОткрытияФайла = Новый >ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Отк рытие);

Как исправить эти ошибки!? Почему они вдруг возникли!?

что делали с программой или компьютером до возникновения ошибки?

как вариант платформу обновить.

Этой информацией к сожалению не владею. А вообще есть подозрения, что проводили чистку вирусов и заодно удалилось что-то.

Да, конфигуратор открывается.

<ОбщийМодуль.УниверсальныеМеханизмы.Модуль(321,17) >: Тип не определен (ДиалогВыбораФайла)
Диалог = Новый >ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Отк рытие);

<ОбщийМодуль.УниверсальныеМеханизмы.Модуль(344,31) >: Тип не определен (ДиалогВыбораФайла)
ДиалогОткрытияФайла = Новый >ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Отк рытие);

Как исправить эти ошибки!?

Если Вы имеете хотя бы небольшой опыт работы с конфигуратором, то можете самостоятельно исправить ошибку; в противном случае обратитесь к специалисту.

Если самостоятельно.
Сначала убедитесь, что действительно искажен программный код, как это указано в сообщении.
Откройте конфигуратор и затем попытайтесь открыть Предприятие и на форме с сообщением об ошибке нажать «Перейти в конфигуратор» — откроется нужный модуль и нужная процедура.

Если действительно код искажен, то можно приступить к исправлению, но для этого нужно временно снять конфигурацию с поддержки.

Следует заменить в указанных строках:
— РежимДиалогаВыбораФайла.В ыб орКаталога на РежимДиалогаВыбораФайла.ВыборКаталога
— РежимДиалогаВыбораФайла.О тк рытие на РежимДиалогаВыбораФайла.Открытие
— РежимДиалогаВыбораФайла.О тк рытие на РежимДиалогаВыбораФайла.Открытие

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

Порядок снятия и восстановления поддержки легко найти в Интернете.

Последний раз редактировалось pavl_vs; 12.06.2016 в 23:01 .

Источник

Оцените статью