- Странные ошибки «Тип не определен (ВыборкаИзРезультатаЗапроса)» при выгрузке данных
- Мистическая ошибка: Тип не определен (МенеджерВременныхТаблиц)
- Как проверить тип значения документа, справочника?
- Определяемые типы в 1С 8.3
- Работа с определяемыми типами
- Определяемый тип программно
- Тема: Ошибка «тип не определен»
- Ошибка «тип не определен»
Странные ошибки «Тип не определен (ВыборкаИзРезультатаЗапроса)» при выгрузке данных
Кто-нибудь сталкивался с подобным явлением, который описан ниже?
Состав преступления:
Есть база-приёмник, база-источник, базы как базы, клиент-серверные. Обе базы территориально разнесены, но с одинаковой платформой. Сейчас уже 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 .
Источник