Значення не є значенням об'єктного типу

Ви (або користувач) працюєте у 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С
    «Змінна не виявлено – Ім'яМодуля»

    Необхідно аналогічно увімкнути виконання цього модуля на сервері.

  • "Властивість Ххх у об'єкта не виявлено"

    Під словом "Властивість" розуміється поле цього об'єкта (реквізит). Необхідно:
    o Визначити, що це за об'єкт
    o Якщо це – довідник, документ – необхідно подивитися, чи справді реквізит так називається
    o Якщо це або – переглянути реквізити форми з такою назвою.

  • "Метод Ххх у об'єкта не виявлений"

    Під словом "метод" розуміється функція/процедура в модулі цього об'єкта.

    Необхідно:
    o Визначити, що це за об'єкт
    o Знайти його модуль (модуль об'єкта якщо це об'єкт 1С, модуль форми, якщо це форма)
    o Перевірити наявність функції з такою назвою.

  • "Помилка 1С при виконанні запиту"

    Це означає у тексті запиту помилка 1С. Текст запиту визначається у програмі зазвичай раніше (тобто вище), ніж виконується. Пошукайте текст запиту в цьому модулі (очима вище або з пошуку слова «ВИБРАТИ»).

    Спробуйте проаналізувати текст запиту або правою кнопкою на тексті запиту спробувати відкрити конструктор запиту, щоб отримати підказку.

  • "Помилка 1С компонування" - при виконанні звіту

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

    Спробуйте почати з налаштувань, спростивши їх. Перевірте, що у вибраних полях та умовному форматуванні – у списку немає полів, позначених хрестиком.

    Якщо не допоможе – спробуйте перейти до тексту запиту та використати конструктор запиту, щоб отримати підказку.

Нещодавно оновлював на одному з робочих комп'ютерів програму 1с Підприємство. Після запуску програми в процесі оновлення виникла помилка: “Не вдалося виконати оновлення. При оновленні версії програми виникла помилка: Значення не є значенням об'єктного типу (Код).” Перезапуск програми не допоміг – вікно з помилкою з'явилося знову:

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

1. Отже, насамперед закрийте програму , і зробіть про всяк випадок копію бази даних. Для цього зайдіть в папку, в якій зберігається база даних, і скопіюйте будь-куди файл 1Cv8.1CD:

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

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

4. У вікні проставте галочки і маркери так само, як на моєму скріншоті, а потім натисніть кнопку “Виконати”:

5. Після закінчення процесу тестування знизу відобразиться інформація з результатами цього тестування:
Закриваємо програму . Потім запускаємо її знову. Після запуску помилка: “ Не вдалося виконати оновлення. Значення не є значенням об'єктного типу” не має повторитися.

Помилка "Значення не є значенням об'єктного типу (Іноземна Організація)" у 1С:Бухгалтерії 8.2 (редакція 2.0)

2015-07-13T13:28:05+00:00

Така помилка може виникнути у будь-якому документі, який використовує як один із реквізитів "Документ розрахунків з контрагентом (ручний облік)".

Часто ця помилка ("Значення не є значенням об'єктного типу (Іноземна Організація)") з'являється в документі "Рахунок-фактура виданий" при спробі вивести її на друк. У цьому випадку причиною є те, що хоча в документі поле "Документ-основа рахунка-фактури" зазначено, програма думає, що він порожній.

Варіантів вирішення цієї проблеми два:

  • Можливо найпростіший: видалити цей документ із бази та ввести його заново. Тільки вводьте не копіюванням готового документа, а забивайте документ з чистого аркуша.
  • Другий варіант для більш просунутих користувачів: через меню "Сервіс"-"Групова обробка довідників та документів" змінити реквізит "Документ-основа для виписування рахунку-фактури" на те, що вже й так обрано в документі.
З повагою, (викладач та розробник).

Помилка: "Значення не є значенням об'єктного типу (ПравеЗначення)" у 1С:Бухгалтерія 8.3 (редакція 3.0.31.9)

2018-10-25T11:51:27+00:00

Після оновлення на останній реліз (3.0.31.9) 1С:Бухгалтерії 8.3 частина користувачів перестав відкриватися список платіжних доручень. Вискакує помилка: "Значення не є значенням об'єктного типу (ПравеЗначення)".

Це помилка розробників фірми 1С і в одному з наступних оновлень вони його виправлять.

Але на носі 31 березня і до платіжних доручень дістатися хочеться вже сьогодні. Як це зробити? Поки що знаю тільки один спосіб:

  • Зайти до розділу Адміністрація.
  • Відкрити на панелі дій Налаштування користувачів.
  • Повністю очистити налаштування користувача.

М'якшого способу поки не знаю, але працюю в цьому напрямку.

Можливо краще спочатку спробувати очистити не всі налаштування, а очистити налаштування лише елемента "Платіжні доручення" в налаштуваннях зовнішнього вигляду.

З повагою, (викладач та розробник).