Значение не является значением объектного типа 1с как исправить
Перейти к содержимому

Значение не является значением объектного типа 1с как исправить

  • автор:

Ошибка при обновлении 1С: “Значение не является значением объектного типа”

oshibka-pri-obnovlenii-1s-znachenie-ne-yavlyaetsya-znacheniem-obektnogo-tipa

Рабочие будни

Не удалось выполнить обновление 1С

Недавно обновлял на одном из рабочих компьютеров программу 1С:Предприятие. После запуска программы в процессе обновления возникла ошибка: “Не удалось выполнить обновление. При обновлении версии программы возникла ошибка: Значение не является значением объектного типа (Код).” Перезапуск программы не помог – окно с ошибкой появилось снова:

Решить данную проблему мне помогло встроенное в 1С:Предприятие средство: Тестирование и исправление информационной базы.

где лежит база данных 1с

1. Итак, первым делом закройте программу , и сделайте на всякий случай копию базы данных. Для этого зайдите в папку, в которой хранится база данных, и скопируйте куда-нибудь файл 1Cv8.1CD:

конфигуратор 1С

2. Теперь снова запустите программу 1С:Предприятие. В стартовом окне перейдите в “Конфигуратор”:

Тестирование базы 1с

3. Затем в строке меню зайдите во вкладку “Администрирование” – “Тестирование и исправление”:

4. В открывшемся окне проставьте галочки и маркеры также, как на моем скриншоте, и затем нажмите кнопку “Выполнить”: тестирование и исправление 1С
[adsense1]
5. По окончанию процесса тестирования снизу отобразится информация с результатами данного тестирования: Значение не является значением объектного типа 1СЗакрываем программу . Затем запускаем ее снова. После запуска ошибка: “Не удалось выполнить обновление. Значение не является значением объектного типа” не должна повториться.

Значение не является значением объектного типа 1с как исправить

Вы (или пользователь) работаете в 1С. Вдруг – ошибка. Что делать?

Конечно самое правильное – проанализировать — что за ошибка 1С, ее причины, провести в отладчике 1С часик-другой, чтобы выяснить что к чему.

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

Сообщение об ошибке 1С

Типовой вид сообщения об ошибке 1С– это окно с текстом ошибки 1С и кнопками ОК и Подробнее.

Текст ошибки 1С, отображенный здесь – это пользовательское сообщение, программисту оно часто ни о чем не говорит, так как отображенная ошибка 1С может быть следствием каких-то неправильных действий.

Для исправление ошибок 1С необходимо в этом окне нажать Подробнее, чтобы увидеть программистское сообщение об ошибке 1С. В нем указано:

    , в котором произошла ошибка 1С
  • Функция этого модуля, в котором произошла ошибка 1С
  • Номер строки этого модуля, в котором произошла ошибка 1С.

Также Вы можете нажать на кнопку Конфигуратор, и тогда будет открыт конфигуратор, этот модуль, эта функция на этой строке, после чего Вы можете провести исправление ошибки 1С.

Хитрости понимания ошибок

Как только что было сказано, в тексте ошибки 1С очень часто следствие выполненных ранее неверных действий.

Например, очень распространенный текст ошибки 1С гласит:

Значение не является значением объектного типа (КакоетоИмя)

Что бы это значило.

А это значит следующее:

  • Есть переменная
  • В программе предполагается, что значение переменной – справочник или документ или что то другое подобное – в общем у него есть реквизиты(поля)
  • В программе делается попытка обратиться к полю этого объекта
  • Однако ошибка 1С состоит в том, что по какой-то причине в предыдущих строчках программы эта переменная получила значение, у которого нет никаких реквизитов (полей), например значение «Неопределено».

Исправление ошибок 1С, которые чаще встречаются

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

    Если переменная имеет тип булево (то есть принимает значения Истина и Ложь), то к ней можно обращаться вот так:

Если ИмяПеременной Тогда

Такое написание аналогично:
Если ИмяПеременной = Истина Тогда

В клиент-серверном варианте 1С часть модулей выполняется на сервере. Мало того, некоторые функции одного и того же модуля могут выполняться на сервере или на клиенте.

При этом может возникнуть ошибка 1С, что из функции работающей на сервере идет обращение к функции, которая выполняется на клиенте. В этом случае будет такая ошибка 1С.

Аналогично предыдущей ошибке 1С. Если в программе прописано обращение к функции, которая находится в общем модуле, то это выглядит так:
ИмяМодуля.ИмяФункции();

Если при этом в свойствах модуля установлено, что он выполняется на клиенте, а мы обращаемся из тех строчек программы, которые выполняются на сервере – то будет ошибка 1С
«Переменная не обнаружено – ИмяМодуля»

Под словом «метод» понимается функция/процедура в модуле этого объекта.

Это значит в тексте запроса ошибка 1С. Текст запроса определяется в программе обычно раньше (то есть выше), чем выполняется. Поищите текст запроса в этом модуле (глазами выше или по поиску слова «ВЫБРАТЬ»).

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

Попробуйте начать с настроек, сильно упростив их. Проверьте, что в выбранных полях и условном форматировании — в списке нет полей, отмеченных крестиком.

Стандартные действия для решения ошибок 1С

Такие ошибки чаще всего возникают при некорректной работе базы 1С.

Для решения может помочь одно из следующих действий:

    .
  • Проверьте права пользователя в 1С.
  • Проверьте, включено ли использование внешнего модуля. Если да, создайте резервную копию информационной базы, после чего отключите внешний модуль.

Внешний модуль в управляемых конфигурациях (БП 3.0, ЗУП 3.1 и др.) находится в прочих настройках обмена. Если отметка проставлена — снимите её, после чего перезапустите 1С.

Внешний модуль в неуправляемых конфигурациях (БП 2.0, ЗУП 2.5, УПП 1.3 и др.) находится по пути Отчеты → Регламентированные отчеты → Настройки → Для настройки параметров документооборота нажмите здесь (внизу). Отметьте пункт Использовать встроенный модуль документооборота, после чего перезапустите 1С.

  • Сделайте диагностику 1С-отчетности, отправьте отчет по диагностике и сообщите номер обращения специалисту технической поддержки 1С-Отчетность.
  • Запустите Конфигуратор 1С. Выберите пункт Отладка → Начать отладку.
  • Удостоверьтесь, что конфигурация находится на полной поддержке 1С, т.е. в нее не были внесены изменения и она соответствует конфигурации поставщика.

Запустите Конфигуратор 1С. Если конфигурация закрыта, то необходимо ее открыть: Конфигурация → Открыть конфигурацию. Слева в меню напротив названия конфигурации должен быть значок замка – объект поставщика не редактируется.

  • Попробуйте запустить 1С в тонком клиенте, для этого после нажатия на ярлык 1С выберите базу, затем нажмите Изменить → Далее → Основной режим запуска: выберите пункт Тонкий клиент → Готово. Запустите 1С. . Рекомендуем обратиться к системному администратору для выполнения данных действий.
  • Проверьте кодировку в операционной системе Windows по инструкции смена кодировки. Рекомендуем обратиться к системному администратору для выполнения данных действий.

В случае системного языкового пакета, отличного от русского, программа 1С не может работать с внешней компонентой для отображения сертификатов. Для решения этой ситуации можно изменить параметры в системном реестре. Рекомендуем обратиться к системному администратору для выполнения данных действий.

В чём причина ошибки «Значение не является значением объектного типа (Продукция)»?

1С:Предприятие 8.3 (8.3.11.2867), УПП 1.3 (1.3.116.2), обычное приложение, клиент-сервер.
Перенесли базу на другую платформу 1С той же версии и в момент проведения документа Требование-накладная начала вываливаться ошибка:
5cda784d137af451994383.png
Как я понимаю, ошибка вываливается в момент обращения к первой строке табличной части Продукция:

Данный код находится в общем модуле, который назначен обработчиком события Обработка проведения для документа Требование-накладная.
Как это можно исправить?

  • Вопрос задан более трёх лет назад
  • 14756 просмотров

Средний 3 комментария

  • Facebook
  • Вконтакте
  • Twitter

nki

nki

Варианты ошибки в данной точке:
1) Поле ДокументОснование не заполнено — исправить проверкой значения.
2) Поле ДокументОснование заполнено, но таким типом документа, у которого нет табличной части Продукция — исправить проверкой типа основания
3) У основания есть табличная часть Продукция, но там нет значений — прежде чем обращаться к строкам нужно поставить проверку их наличия.

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

Кстати, тут может еще быть проблема при обращении к свойству Печать, если Номенклатура — это сложный тип, а не просто ссылка на справочник.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *