Выдает ошибку не выбраны с

Загружаю контрагентов в справочник Контрагенты из внешнего файла Эксель. Выдает ошибку: {Форма.Форма}: Ошибка при вызове метода контекста (ПолучитьОбъект): Элемент не выбран! Вот мой текст:

А какой должен быть объект у пустой ссылки?

Объект у пустой ссылки получить нельзя..

а что хотим получить если ссылка пустая ?

Он наверно в условии НЕ забыла поставить — Если НЕ СсылкаКА.Пустая Тогда и по невнимательности не замечает этого

— А какой должен быть объект у пустой ссылки? — Объект у пустой ссылки получить нельзя.. — А какой должен быть объект у пустой ссылки? — Объект у пустой ссылки получить нельзя.. — а что хотим получить если ссылка пустая ?

хотя судя по комментариям …

Вы меня совсем запутали! В базе ИНН не заполнено, в файле этот ИНН — есть. Мне надо из файла загрузить ИНН в базу. Для этого я пишу условие в : Если СсылкаКА.Пустая Тогда      //не нашли ИНН Но выдает ошибку в . И еще вопрос, надо учесть три возможных случая: 1. ИНН в базе = ИННвФфайле (тогда пропустить) 2. ИНН в базе <>ИННвФайле  (тогда на выбор пользователю: перезаписать или пропустить) 3. ИНН в базе пусто (тоже на выбор пользователю).

Не нашли с таким ИНН — создай новый или пропусти, задав вопрос пользователю! Не в пустой же ссылке объект искать… п.2. особенно мощно. Каждого контрагента из справочника, у которого ИНН не совпадает с ИНН из файла надо перезаписать, изменив ему ИНН! Чтоб у всех один и тот же был. И наименование не забудьте у всех одно поставить. С ума сойти…

Спасибо, тёзка ;) !!! У меня все это крутится в цикле, поэтому ИНН у всех не поменяется ))

В вы пишите: Не нашли с таким ИНН — создай новый или пропусти, задав вопрос пользователю! Я так и делаю в , задаю вопрос пользователю: если он отвечает Да, то ИНН в базе должен перезаписаться ИНН из файла. Но у меня выходит ошибка в !!!

Вместо того, чтобы получать объект из пустой ссылки — надо создать новый.

+ Либо ищи по другому признаку нужный, а не по ИНН.

Я представляю справочник контрагентов хотя бы на 100 элементов. И в файле строк 50. Сидит пользователь за компом и ему вопрос «Найден контрагент с ИНН 123456789, перезаписать ему ИНН на 543765? Да, Нет?» И так в цикле 100*50=5000 раз. Дерзайте, Лера! Останется опять одна Шапокляк на форуме. Ну так создай! СПКА=Справочники.Контрагенты.СоздатьЭлемент; а потом ему присваивай че надо! СПКА.ИНН=….

в каком месте Вы создаете новый?

НОВЫЕ ЭЛЕМЕНТЫ СОЗДАВАТЬ в справочнике — НЕ НАДО! Надо у существующих контрагентов, у кого ИНН — пустые, заполнить их значениями из файла.

ты всё прододжаешь жечь напалмом. Сколько ты уже этих несчастных контрагентов грузишь из Ёкселя? :)) Головного научилась выставлять?

Капец справочнику контрагенты (((

Ну так как ты сопоставляешь того контрагента, что в Excel и того, что в справочнике?

попробуйте переписать код еще раз

И 3 года стажа. Умереть — не встать…

Логика — жесть!!! 1. Ищешь контрагента по ИНН 2. Если не находишь пытаешься записать значение. Куда?!!! (пультик пультик, включи телевизор :)))

Вот она уже 3 года и пытается этих контрагентов выгрузить. С невосполнимыми потерями для психики :)

уже-б писал весь код, без недомолвок… :))

Может ну его, этот 1С? В жизни столько вещей интересных, нафиг за компом сидеть?

неужели на инфостарте нет ничего подобного?

Старуха Шапокляк != Шапокляк ;)

Это разные Шапокляки! АААА!!! Тысячи их! ВНЕЗАПНО!

загрузки из екселя, как бы.

БЛИН! Меня-то за что? Я просто молодая красивая Шапокляк :) И на форуме пораньше немного зарегилась.

>>>>Я просто молодая красивая Шапокляк Мы не видели фото!

гы — бабка внучку экзаменует?

не понял, в риторический вопрос.

Да я ж помощи-то не прошу, а так бы опубликовала :)

Только без наездов, пожалуйста.

Да вас тут скоро вся семья Шапокляков соберется…

Вдуй там бабке, чтоб 1с не занималась.

о блин все семейство похоже прется ). Все живые с генеалогического (или гинеклологичекого) древа шапокляков.

Юмористы, блин, из кулинарного техникума :)

уже послал ужин готовить. Совсем расшалилась.

Ты там сначала на крысе, что ли, ужин испытай, а то если она еще и готовит как программирует… Короче, береги себя, дедуля.

готовит хорошо, когда не программирует.

напоминает семейку Квери Аналайзера :))

Ну тогда ладно, не совсем никчемная бабуся.

Шаgокляков развелось аки Гениев 1С на дубовом :D

некоторые прямо сейчас народились.

Тэги:

Комментарии доступны только авторизированным пользователям

Ошибка при вызове метода контекста (ПринадлежитЭлементу)

Я
   1ctube

05.05.22 — 07:46

Доброго времени суток. Не могу зайти в документ, пишет Ошибка при вызове метода контекста (ПринадлежитЭлементу) по причине «Элемент не выбран».

Права полные. С чем может быть связано?

   Ryzeman

1 — 05.05.22 — 07:52

С ошибкой программиста который дорабатывал конфу.

   1ctube

2 — 05.05.22 — 07:54

(1) а как исправить? в журнале пишет «Ошибка инициализации модуля: Документ.СвоиДокумент.МодульОбъекта».

  

Ryzeman

3 — 05.05.22 — 08:01

Для начала надо понимать что за изменения вносились, что это за конфа, откуда эта ошибка взялась — вполне возможно это обновление типовой в которой переименовали какой-нибудь объект. Причина может быть в чём угодно и для этого как минимум надо знать все эти вещи + всё-таки полный текст ошибки — на какой строчке отваливается, а не её заголовок.

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Показывать по
10
20
40
сообщений

Новая тема

Ответить

МАнастасия

Дата регистрации: 19.03.2011
Сообщений: 17

Не формируется закладка проводки документа «Отражение зарплаты в реглам.учете» за декабрь(!за ноябрь все нормально). Вылетает на ошибку: <br> <br>{Документ.ОтражениеЗарплатыВРеглУчете.МодульОбъекта(30531)}: Ошибка при вызове метода контекста (ПринадлежитЭлементу)<br> Если (СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда или СчетКт = ПланыСчетов.Хозрасчетный.РасчетыПоВыплатеДоходов)<br>по причине:<br>Элемент не выбран<br>Основные и дополнительные начисления проставляет.<br>Помогите пожалуйста, не можем найти ошибку.

Дина

Дата регистрации: 21.05.2010
Сообщений: 2981

Поищите на заполненных закладках: отсортируйте по полю Счет Дт — нет ли записи с чем-то неправильным, н-р, 000.

Показывать по
10
20
40
сообщений

Загружаю контрагентов в справочник Контрагенты из внешнего файла Эксель. Выдает ошибку: {Форма.Форма}: Ошибка при вызове метода контекста (ПолучитьОбъект): Элемент не выбран! Вот мой текст:

А какой должен быть объект у пустой ссылки?

Объект у пустой ссылки получить нельзя..

а что хотим получить если ссылка пустая ?

Он наверно в условии НЕ забыла поставить — Если НЕ СсылкаКА.Пустая Тогда и по невнимательности не замечает этого

— А какой должен быть объект у пустой ссылки? — Объект у пустой ссылки получить нельзя.. — А какой должен быть объект у пустой ссылки? — Объект у пустой ссылки получить нельзя.. — а что хотим получить если ссылка пустая ?

хотя судя по комментариям …

Вы меня совсем запутали! В базе ИНН не заполнено, в файле этот ИНН — есть. Мне надо из файла загрузить ИНН в базу. Для этого я пишу условие в : Если СсылкаКА.Пустая Тогда      //не нашли ИНН Но выдает ошибку в . И еще вопрос, надо учесть три возможных случая: 1. ИНН в базе = ИННвФфайле (тогда пропустить) 2. ИНН в базе <>ИННвФайле  (тогда на выбор пользователю: перезаписать или пропустить) 3. ИНН в базе пусто (тоже на выбор пользователю).

Не нашли с таким ИНН — создай новый или пропусти, задав вопрос пользователю! Не в пустой же ссылке объект искать… п.2. особенно мощно. Каждого контрагента из справочника, у которого ИНН не совпадает с ИНН из файла надо перезаписать, изменив ему ИНН! Чтоб у всех один и тот же был. И наименование не забудьте у всех одно поставить. С ума сойти…

Спасибо, тёзка ;) !!! У меня все это крутится в цикле, поэтому ИНН у всех не поменяется ))

В вы пишите: Не нашли с таким ИНН — создай новый или пропусти, задав вопрос пользователю! Я так и делаю в , задаю вопрос пользователю: если он отвечает Да, то ИНН в базе должен перезаписаться ИНН из файла. Но у меня выходит ошибка в !!!

Вместо того, чтобы получать объект из пустой ссылки — надо создать новый.

+ Либо ищи по другому признаку нужный, а не по ИНН.

Я представляю справочник контрагентов хотя бы на 100 элементов. И в файле строк 50. Сидит пользователь за компом и ему вопрос «Найден контрагент с ИНН 123456789, перезаписать ему ИНН на 543765? Да, Нет?» И так в цикле 100*50=5000 раз. Дерзайте, Лера! Останется опять одна Шапокляк на форуме. Ну так создай! СПКА=Справочники.Контрагенты.СоздатьЭлемент; а потом ему присваивай че надо! СПКА.ИНН=….

в каком месте Вы создаете новый?

НОВЫЕ ЭЛЕМЕНТЫ СОЗДАВАТЬ в справочнике — НЕ НАДО! Надо у существующих контрагентов, у кого ИНН — пустые, заполнить их значениями из файла.

ты всё прододжаешь жечь напалмом. Сколько ты уже этих несчастных контрагентов грузишь из Ёкселя? :)) Головного научилась выставлять?

Капец справочнику контрагенты (((

Ну так как ты сопоставляешь того контрагента, что в Excel и того, что в справочнике?

попробуйте переписать код еще раз

И 3 года стажа. Умереть — не встать…

Логика — жесть!!! 1. Ищешь контрагента по ИНН 2. Если не находишь пытаешься записать значение. Куда?!!! (пультик пультик, включи телевизор :)))

Вот она уже 3 года и пытается этих контрагентов выгрузить. С невосполнимыми потерями для психики :)

уже-б писал весь код, без недомолвок… :))

Может ну его, этот 1С? В жизни столько вещей интересных, нафиг за компом сидеть?

неужели на инфостарте нет ничего подобного?

Старуха Шапокляк != Шапокляк ;)

Это разные Шапокляки! АААА!!! Тысячи их! ВНЕЗАПНО!

загрузки из екселя, как бы.

БЛИН! Меня-то за что? Я просто молодая красивая Шапокляк :) И на форуме пораньше немного зарегилась.

>>>>Я просто молодая красивая Шапокляк Мы не видели фото!

гы — бабка внучку экзаменует?

не понял, в риторический вопрос.

Да я ж помощи-то не прошу, а так бы опубликовала :)

Только без наездов, пожалуйста.

Да вас тут скоро вся семья Шапокляков соберется…

Вдуй там бабке, чтоб 1с не занималась.

о блин все семейство похоже прется ). Все живые с генеалогического (или гинеклологичекого) древа шапокляков.

Юмористы, блин, из кулинарного техникума :)

уже послал ужин готовить. Совсем расшалилась.

Ты там сначала на крысе, что ли, ужин испытай, а то если она еще и готовит как программирует… Короче, береги себя, дедуля.

готовит хорошо, когда не программирует.

напоминает семейку Квери Аналайзера :))

Ну тогда ладно, не совсем никчемная бабуся.

Шаgокляков развелось аки Гениев 1С на дубовом :D

некоторые прямо сейчас народились.

Тэги:

Комментарии доступны только авторизированным пользователям

  1. Случился скачок напряжения и комп с базой 1с вырубился. После включения база 1с выдала ошибки СУБД. Вылечили утилитой chdbfl.exe. Но при попытке выгрузить базу на сайт, при формировании xml файлов сразу вываливается ошибка вида

    {Обработка.ОбменССайтом.МодульОбъекта(1169)}: Ошибка при вызове метода контекста (ПринадлежитЭлементу)
    Если Группа.Значение.ПринадлежитЭлементу(Элемент) Тогда
    по причине:
    Элемент не выбран!.

    Подскажите, пожалуйста, как вылечить.

  2. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    556
    Баллы:
    204

    Кэш попробуйте очистить, ТИИ в конфигураторе

  3. Спасибо, попробую

    — Объединение сообщений, 19 сен 2016

    Простите незнающего, но в Конфигураторе Администрирование-Тестирование и исправление ничего про очистку кеша нету.

    Последнее редактирование: 19 сен 2016

  4. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    556
    Баллы:
    204

    Так там и не должно быть, я предложил вам два совершенно разных действия :)

  5. Ясно, спасибо

    — Объединение сообщений, 19 сен 2016

    Может подскажете, после сбоя пропало несколько групп номенклатуры. Бэкап сильно устарел. Можно как-нибудь восстановить?

  6. Offline

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.518
    Симпатии:
    985
    Баллы:
    204

    Нельзя. Бэкап нужно делать чаще и поставить ИБП.

  7. Так в том-то и дело что ИБП стоит. Свет моргнул, компы без ИБП этого не заметили, а комп с базой и ИБП вырубился.

  8. Offline

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.518
    Симпатии:
    985
    Баллы:
    204

    Значит нужно разобраться с ИБП, возможно заменить полностью/АКБ в нем.

  9. Теперь-то ясное дело что с ним надо что-то делать, раньше комп с ИБП выдерживали.

  10. Offline

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.518
    Симпатии:
    985
    Баллы:
    204

    Вы еще радуйтесь, что БД легко отделалась…..могло бы быть все горадо хуже….

Обновлено: 08.06.2023

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

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

Чтобы научиться быстро исправлять ошибки в 1С необходимо изначально их проанализировать. Часто во всплывающем окне написана суть некорректного поведения, что помогает решить проблему.

Причины появления ошибки в 1С

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

Одна из самых частых причин нарушение работы связанна с компьютером, на который установлена база данных 1С. Рабочая область может автоматически закрываться из-за нехватки оперативной памяти на сервере. Все возникающие неисправности должны быстро устраняться. В противном случае есть вероятность потери данных.

Часто возникающие ошибки 1С

Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:

  1. Недостаточно памяти.
  2. Ошибка доступа.
  3. Ошибка формата потока.
  4. Ошибка СУБД: Файл базы данных поврежден.
  5. Неправильное отображение блоков формы.
  6. Внутренняя ошибка компоненты dbeng.
  7. Dump при запуске.
  8. Неверный формат хранилища.
  9. Ничего не работает.

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

Недостаточно памяти

Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.

Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.

Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.

Ошибка доступа

Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.

Ошибка формата потока

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

Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:UsersUsernameAppDataLocal1C или C:UsersUsernameAppDataRoaming1C. Для Windows ХР другой путь – Local SettingsApplication Data1C. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.

Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.

Ошибка СУБД: Файл базы данных поврежден

Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:

  • Запуск утилиты chdbfl.exe. Эта программа предназначена для того, чтобы проверять целостность базы данных при совместном ее использовании с информационной базой. Данный метод хорош тем, что дает возможность решать сбои даже в тех ситуациях, когда конфигуратор запустить невозможно. Сначала выполняется резервное копирование информации. В папке, где установлен 1С (директория bin) находится файл chdbfl.exe. Он запускается, в окне прописывает путь к файлу базы данных и ставится галочка, чтобы провести исправление ошибок. Нажимается кнопка «Выполнить». После завершения процесса все должно заработать. Если нет – используется конфигуратор.
  • Через конфигуратор. Нужное окно вызывается после нажатия «Администрирование – Тестирование и исправление». На экране появляется форма, где выставляются галочки на следующе строчки: «Реиндексация таблиц…», «Проверка логической целостности…», «Проверка ссылочной…», «Реструктуризация таблиц…», «Тестирование и исправление» и 2 раза «Создать объекты». Нажимается кнопка «Выполнить». После завершения процедуры сбой устраняется.

Неправильное отображение блоков формы

Такая неисправность возникает от разных факторов. Чтобы привести программу к нормальной работоспособности, пользователю необходимо последовательно выполнить несколько команд. После проведения каждой проверяется устранение сбоя:

Если приведенные методы не помогают, рационально будет провести обновление платформы.

Внутренняя ошибка компоненты dbeng

Dump при запуске

Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».

На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.

Неверный формат хранилища

Ничего не работает

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

  • чистится кэш;
  • открывается файл chdbfl.exe из папки установки приложения и выполняется исправление;
  • выполняется запуск «Конфигуратора» для тестирования и исправления сбоев;
  • обновление «1С».

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

Любое программное обеспечение время от времени может выдавать различные сбои. Не исключено, что при работе с программными продуктами линейки «1С:Предприятие 8.3» вы можете столкнуться с ошибками.

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

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

Рассмотрим распространенные ошибки при работе с «1С» 8.3:

  • Ошибка доступа
  • Неверный формат хранилища
  • С одного ПК заходит, с другого нет
  • Внутренняя ошибка «1С» компоненты dbeng
  • Неправильное отображение блоков формы
  • База открывается в конфигураторе, не получается зайти в пользовательский режим
  • При определенном действии система переключается на код в конфигуратор
  • Система работает только при входе с определенного пользователя
  • Ошибка «1С», связанная с таблицами SQL

Обращаем ваше внимание!Обращаем ваше внимание!

Перед любыми действиями с базой мы рекомендуем сделать архивную копию. Если база не открывается в режиме «Конфигуратор», скопируйте папку с базой и выполняйте все операции на копии.

При этом, конечно же, релиз вашей программы должен быть актуальным. Некоторые ошибки легко устраняются сразу после установки обновления программы.

Ошибка доступа

Подобная ошибка «1С» может возникнуть, если у вашей учетной записи недостаточно прав для доступа к определенному действию, которое доступно только ограниченному числу пользователей. Чтобы решить эту проблему, достаточно зайти в режим конфигуратора и изменить роль выбранного профиля во вкладке «Администрирование – Пользователи».

Неверный формат хранилища

С одного ПК заходит, с другого нет.

Для решения этой проблемы попробуйте выполнить следующие действия:

  • для начала проверьте в «Проводнике» – видит ли он базу. Возможно, к папке с базой не предоставлен общий доступ;
  • попробуйте очистить кэш. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше папка находится по адресу: C:UsersUsernameAppDataLocal1C. Для Windows ХP: Local SettingsApplication Data1C ;
  • зайти под другим пользователем. Можно использовать любой доступный профиль (лучше всего администратора).

Внутренняя ошибка «1С» компоненты dbeng

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

Неправильное отображение блоков формы

Такая ошибка «1С» может быть следствием разных факторов. Чтобы вернуть программу к работоспособности, попробуйте последовательно выполнить несколько команд:

  • очистить кэш. Для этого необходимо перейти в папку, где хранятся временные файлы (путь к папке описан в пункте 3). Зачастую такая процедура помогает вернуть работоспособность программы «1С»;
  • войти под другим пользователем. Можно использовать любой доступный профиль (лучше всего администратора);
  • зайти в базу данных с другого ПК. Это действие позволит исключить ошибку, связанную с работой системы на определенном оборудовании.

База открывается в конфигураторе, не получается зайти в пользовательский режим

При определенном действии система переключается на код в конфигуратор

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

Система работает только при входе с определенного пользователя

Для устранения неполадки попробуйте настроить права пользователя. Для этого потребуется зайти в режим конфигуратора и изменить роль выбранного профиля во вкладке «Администрирование – Пользователи». Затем не забудьте почистить кэш.

Ошибка «1С», связанная с таблицами SQL

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

Не стоит паниковать – достаточно позвонить в нашу компанию. Специалисты «1С-Архитектора бизнеса» всегда готовы помочь вам в решении любых вопросов по работе с программами «1С».

Подведем итоги

Ошибка в «1С» может произойти по самым разным причинам. В этой статье мы не смогли бы описать все возможные ошибки, но постарались рассмотреть наиболее типичные и распространенные среди пользователей.

Если вашу проблему не удалось решить, обращайтесь к нашим специалистам – мы проконсультируем по стоимости услуг и постараемся оперативно помочь в любой ситуации.

Формат «вопрос — ответ» касательно настроек и технического сопровождения программ 1С:Предприятие.

1. Что делать, если возникает ошибка сценария при запуске обновления 1С?

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

С вопросом «Вы хотите продолжить выполнение сценариев на этой странице?». При этом процесс останавливается, а на экране «висит» картинка, что якобы он выполняется. Но дальше ничего не происходит.

Условия: 1С УНФ, файловый вариант, тонкий клиент, Windows Server 2019.

Возможный выход: запуск приложения 1С (1cestart) с Рабочего стола от имени администратора. Чтобы обновление выполнилось с полными правами для записи изменений и доступа без ограничений.

Если у вас возникает похожая ошибка — проверьте запуск программы с повышением прав пользователя в системе.

2. При нажатии меню «Загрузить адресный классификатор» возникает ошибка «К сожалению, возникла непредвиденная ситуация». Платформа 8.3.17.2256, база ЗУП 3.1.14.525. Что делать в таком случае?

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

  • Нужен доступ к загружаемому файлу version.zip с сервера 1С, тогда все работает. Без доступа — сохраняется ответ, что адрес не доступен, а программа думает, что это zip-архив. В этом и есть ошибка.
  • Если ошибка не уходит, обновите платформу на более высокую версию и повторите операцию. Например, 8.3.18.1563.

Ищите узкое место на копии вашей информационной базы. И так, типовые проверки:

  • проверка физической целостности файла ИБ с помощью chdbfl;
  • выполните тестирование и исправление (ТиИ) через Конфигуратор;
  • может влиять способ подключения (из-за качества сетевого подключения и скорости обмена данными), например, если вы открываете 1С по локальной сети/Wi-Fi — в этом случае проверьте работу на локальном ПК;
  • очистите и обновите индекс полнотекстового поиска;
  • скопируйте базу на другой диск/компьютера, торможения могут быть из-за конфигурации/диска/файла подкачки основного ПК, на котором находится ИБ.

Вам необходимо закрыть смену на ККТ. Как это сделать:

■ Закройте 1С и остановите службу ComProxyWindows.

■ Через «Управление — Диспетчер устройств — Порты (COM и LPT)» запишите или запомните номер COM-порта, на котором работает онлайн-касса.

■ Загрузите приложение Fito — сервисная утилита для касс с фискальным накопителем (актуальная версия 2.3.13 на данный момент);

■ Откройте Fito, укажите порт связи в настройках подключения (п. 2) и выберите «Тестирование — Печать отчетов — Печать Z-отчета (отчета о закрытии смены) — Выполнить».

■ Запустите службу ComProxyWindows. Войдите 1С и повторите операцию. Смена должна открыться корректно.

Дримкас не рекомендует выполнять аварийное закрытие смены, так как оно может привести к блокировке работы ККТ.

5. Обновил платформу (сервера и клиента), но почему-то не хочет работать. При запуске 1cv8c вообще не дает зайти — неактивные кнопки. Проблемы только с веб. Подскажите, что не так?

После обновления 1С проверьте настройки веб-сервера:

  • IIS — скорректируйте сопоставление обработчиков к библиотеке wsisapi вашей новой платформы (1C Web-service Extension) и перезагрузите веб-сервер;
  • Apache — пропишите в конфигурации правильный путь к файлу нужной версии и перезапустите службу для применения изменений.

6. Подскажите, можно ли публиковать на одном веб-сервере Apache информационные базы с двух разных платформ?

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

Подобное можно настроить на IIS через разнесение публикаций на разные пулы приложений. См. пункт V статьи « Публикация баз 1С на веб-сервере IIS и возможные ошибки ».

7. Как действовать, если возникает «Ошибка при вызове конструктора (COMObject): Недопустимая строка с указанием класса»?

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

На что обратить внимание:

■ Зарегистрируйте библиотеку comcntr вручную. При выполнении операции или открытия командной строки используйте запуск от имени администратора (полные права).

regsvr32 “C:Program Files (x86)1cv88.3.xx.xxxxbincomcntr.dll”

, где 8.3.xx.xxxx — версия целевой технологической платформы. Путь к каталогу «Program Files» зависит от разрядности вашей ОС и клиента 1С.

Возможно, потребуется удалить или отменить регистрацию старой версии, которая была ранее активна (запуск regsvr32 с ключом «/u» — отмена регистрации через DllUnregisterServer).

■ Проверьте соответствие разрядности библиотеки и клиента 1С, который вызывает com-коннектор.

■ Проверьте настройки в «Администрирование — Службы компонентов — Приложения COM+ — V83COMConnector» с помощью оснастки comexp. Подробная регистрация коннектора вручную — смотрите в статье .

Бывает, что программа установки не может автоматически зарегистрировать новую DLL, поэтому приходится делать регистрацию comcntr из каталога bin установленной версии вручную.

8. Автоматически закрывается 1С на операции отправки и получения документов ЭДО. Что делать?

Условия: тонкий клиент 1С на сервере терминалов (RDP-сеанс). Клиент-серверный вариант.

• Источник: Application Error
• Уровень: Ошибка
• Имя сбойного приложения: 1cv8c, версия: 8.3.17.2127
• Имя сбойного модуля: ntdll, версия: 10.0.17763.2061

Ошибка «скользкая», быстрых и точных вариантов решения, увы, нет. Только разными проверками.

Общие варианты действий:

  • Проверка целостности библиотеки
    sfc /VERIFYFILE=C:WindowsSystem32ntdll.dll
  • Очистка кэша.
  • Проверить на новом профиле пользователя. Войти на терминал новым аккаунтом, из-под него уже запустить операцию в 1С.
  • Выставить для приложения режим совместимости с более низкой версией ОС. Выполнить запуск от имени администратора (разово, для теста).
  • Отключить UAC (не рекомендуется, но желательно проверить).
  • Временно отключить службу PcaSvc (Служба помощника по совместимости программ).
  • Переустановка платформы. Дополнительно проверить диск на ошибки.
  • Включить ТЖ и анализировать log-файлы.

Если были обновления Windows к дате, когда начались падения 1С (appcrash) — удалить эти обновления (по возможности).

Также эта ошибка может быть связана с антивирусным ПО/КриптоПро. Рекомендуется их временно отключить/переустановить. Но начать проверки следует с очистки кэша и тестовой учетной записи.

9. Ошибка формата потока как при запуске в режиме 1С:Предприятия, так и при входе в Конфигуратор. Как быть?

Одна из популярных причин возникновения ошибки — «битый» кэш. Но стандартные подходы по очистке кэша и проверке базы с помощью утилиты chdbfl — иногда не помогают.

Возможные способы решения:

  • Очистка кэша.
  • Проверка целостности (chdbfl).
  • Тестирование и исправление — ТиИ (в режиме Конфигуратора).
  • Выгрузка и загрузка базы в формате *.dt (через Конфигуратор).
  • Выгрузить и загрузить данные XML.
  • Открыть базу с другого расположения (диска/ПК).
  • Прочие способы (почистить временные файлы ПК, проверить жёсткий диск на битые сектора, отключить антивирус или выполнить сканирование).

Это не полный список — основные моменты. Немного подробнее — в статье . Также проверьте вход на более высокой версии платформы — возможно, дело в ней.

Вас также может заинтересовать:

⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.

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

Типичные ошибки можно разделить на следующий категории:

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

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

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

Ошибка: База не открывается

Варианты решения:

  1. Обновить платформу;
  2. Очистить временные (cash) файлы: удалить информационную базу из списка и подключить её же заново;
  3. Войти в информационную базу под другой учётной записью;
  4. Тестирование физической целостности базы с помощью утилиты «chdbfl» (находится по пути C:Program Files (x86)1cv88.x.x.xxxbinchdbfl.exe), в случае базы SQL, — тестирование средствами SQL.

Ошибка: Ничего не работает, причина не понятна

Варианты решения:

  1. Обновить платформу;
  2. Очистить временные (cash) файлы;
  3. Войти в информационную базу под другой учётной записью (войти под записью администратора);
  4. Войти в информационную базу с другого компьютера — это исключит неисправность текущего;
  5. Поискать причины сбоя в журнале регистрации.

Ошибка: Dump базы при запуске

Варианты решения:

  1. Отключить аппаратное ускорение видеокарты средствами операционной системы Windows, перезагрузить системы.

Ошибка: База открывается в конфигураторе, но не в пользовательском режиме

Варианты решения:

  1. Обновить платформу;
  2. Очистить временные (cash) файлы;
  3. Войти в информационную базу под другой учётной записью (войти под записью администратора);
  4. Войти в информационную базу с другого компьютера — это исключит неисправность текущего;
  5. Тестирование физической целостности базы с помощью утилиты «chdbfl» (находится по пути C:Program Files (x86)1cv88.x.x.xxxbinchdbfl.exe), в случае базы SQL, — тестирование средствами SQL;
  6. Сделать тестирование и исправление информационной базы средствами конфигуратора;
  7. Выгрузить данные в *.dt и загрузить в новую информационную базу.

Ошибка: Программа 1С произвольно открывает код конфигуратора

Варианты решения:

  1. Обновить платформу;
  2. Очистить временные (cash) файлы;
  3. Проверить код в отладчике.

Чаще всего такая ошибка возникает из-за ошибок и изменённом коде конфигурации.

Ошибка: Программа 1С для разных пользователей работает по разному

Варианты решения:

  1. Обновить платформу;
  2. Очистить временные (cash) файлы;
  3. Настроить права групп;
  4. Настроить права пользователям.

Ошибка: Неправильное отображение блоков формы

Варианты решения:

  1. Обновить платформу;
  2. Очистить временные (cash) файлы;
  3. Войти в информационную базу под другой учётной записью (войти под записью администратора);
  4. Войти в информационную базу с другого компьютера — это исключит неисправность текущего.

Ошибка: Программа не работает на конкретном компьютере, при этом на всех остальных компьютерах сети работает

Варианты решения:

  1. Проверить сетевые права данного компьютера (средствами операционной системы средствами Windows);
  2. Обновить платформу. Также проверить соответствие версий релизов конфигураций и платформ в пределах сети;
  3. Очистить временные (cash) файлы;
  4. Войти в информационную базу под другой учётной записью (войти под записью администратора).

Ошибка: Недостаточно памяти

Варианты решения:

  1. Обновить платформу;
  2. Очистить временные (cash) файлы;
  3. Войти в информационную базу под другой учётной записью (войти под записью администратора);
  4. Войти в информационную базу с другого компьютера — это исключит неисправность текущего;
  5. Оптимизировать проблемные запросы;
  6. Аппаратно увеличить объём памяти;
  7. Увеличить размер файла подкачки;
  8. Выполните команду управления выделенной памятью через командную строку Windows, где 3072 — размер желаемой адресной памяти.

Ошибка: Ошибка СУБД, внутренняя ошибка компоненты dbeng8

Варианты решения:

  1. Обновите платформу на всех компьютерах сети;
  2. Тестирование физической целостности базы с помощью утилиты «chdbfl» (находится по пути C:Program Files (x86)1cv88.x.x.xxxbinchdbfl.exe), в случае базы SQL, — тестирование средствами SQL;
  3. Выгрузить данные в *.dt и загрузить в новую информационную базу.

Данная ошибка чаще всего возникает для сетей без сервера 1С и связана с различием кода разных версий платформы на разных точках доступа.

Мы привели, разумеется, не все ошибки с которыми может столкнуться пользователь 1С, но самые часты. Для данных решений не требуется каких-то обширных знаний в области 1С-программирования, но они требуют времени, терпения и внимательности. Опытные пользователи с лёгкостью устраняют такие ошибки самостоятельно, им достаточно только разобраться с причиной их возникновения. Остальным пользователям мы рекомендуем обратиться к техническим специалистам МАРС Телеком.


Онлайн-консультация, доставка до квартиры, аренда всего 499 рублей в сутки!



www.microstore.su

Читайте также:

      

  • Как выйти из гильдии в вайм ворде
  •   

  • Как отключить raid в bios
  •   

  • Системы для автоматизации разработки новых программ на языке программирования это
  •   

  • Как отключить отслеживание в браузере яндекс на айфоне
  •   

  • Программа kugoo для андроид

Ой! Данный функционал ещё в разработке

Текст ошибки может звучать по-разному, например:

  • Поле объекта не обнаружено (ХХХХХХ);
  • Значение не является значением объектного типа (ХХХХХХ);
  • Метод объекта не обнаружен (ХХХХХХ);
  • Во время сохранения файла возникла ошибка.

Такие ошибки чаще всего возникают при некорректной работе базы 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С не может работать с внешней компонентой для отображения сертификатов. Для решения этой ситуации можно изменить параметры в системном реестре. Рекомендуем обратиться к системному администратору для выполнения данных действий.

Номер статьи: 129674145
Обновлено: 29.03.2023 12:55+0000

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

Содержание

Поле объекта не обнаружено

1С ошибка Поле объекта не обнаружено

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

Мы же будем оперировать фактами. В конце статьи прилагается внешняя обработка, в которой воспроизведена данная ошибка.

Такое сообщение платформа выдает, когда пытается обратиться к свойству объекта языка, которого у данного объекта нет. Не важно, что это за объект – документ, справочник, таблица значений , или сообщение пользователю.

  • Удалили табличную часть, к которой обращаемся в коде?
  • Переименовали реквизит, а в коде не исправили?
  • Заменили значение со ссылки на неопределено?

Вуаля – платформа выдаст ошибку “Поле объекта не обнаружено”!

Как исправить? Исходя из природы ошибки – переименовать реквизит на нужное имя, отредактировать код, или использовать правильные обращения к стандартным свойствам объекта.

Например, у объекта “СообщениеПользователю” нет свойства “Таблица”, и следующий код приведет к ошибке:

Сообщение = Новый СообщениеПользователю;
Сообщение.Таблица = “Ошибка”;

Индекс находится за границами массива

1С ошибка Индекс находится за пределами массива

Что означает такое сообщение системы? Как правило, с данной ошибкой разработчик сталкивается при некорректной работе с коллекциями. Самые частые случаи появления ошибки “Индекс находится за границами массива”.

  • Использование при обходе коллекции количества элементов вместо индекса. Индексы начинаются с нуля, а количество элементов – с единицы. Поэтому следующий код гарантированно приведет к ошибке: Массив[Массив.Количество()]
  • Последствия удаления элементов из коллекции, очистки коллекции или замены коллекции на пустую
  • Ошибочное увеличение счетчика в цикле “Для”

 Как исправить? Для удаления элементов из коллекции по условию – использовать обратный цикл. Добавлять условие на соответствие счетчика цикла и индекса массива. Не увеличивать счетчик внутри кода цикла Для … Цикл … КонецЦикла

Обращение к процедуре как к функции

ОШибка

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

Данная ошибка имеет две вариации – если используется стандартная процедура из методов какого-нибудь объекта, то фраза будет звучать “Обращение к процедуре объекта как к функции”. Если же использовать процедуру, объявленную в коде, то текст ошибки будет “Обращение к процедуре как к функции”.
При этом ошибка использования процедуры объекта является ошибкой времени выполнения – т.е. на этапе сохранения и проверки конфигурации платформа эту ошибку не обнаружит.

А вот неправильное использование процедуры синтаксическая проверка (Ctrl + F7) успешно обнаруживает, и не даст сохранить конфигурацию или внешнюю обработку/отчет, пока ошибка не будет устранена.

Рассмотрим два примера:

1. Воспроизведем ошибку “Обращение к процедуре как к функции”. При этом платформа не даст сохранить изменения, т.к. не проходит синтакс-контроль.

2. Воспроизведем ошибку “Обращение к процедуре объекта как к функции”. Здесь мы неверно используем метод объекта массива “Добавить”, который является процедурой.

Как исправить? Ошибка тривиальная, и исправление тоже. Чаще всего, достаточно внимательно прочитать описание методов объекта во встроенной справке или синтакс-помощнике. Если метод является процедурой, то значений он возвращать не может. Следовательно, нужно модифицировать код так, чтобы такого ошибочного вызова не было.
Если же используется процедура, объявленная в коде, возможно, есть необходимость изменить ее на функцию, либо также скорректировать код, который эту процедуру использует.

Процедура не может возвращать значение

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

В процедуре можно написать ключевое слово “Возврат” без параметров. Это будет означать выход из процедуры.

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

Процедура ПроцедураНеМожетВозвращатьЗначение(Команда)
Возврат "Ошибка";
КонецПроцедуры

Как исправить? Платформа сама подсказывает, в каком месте кода ошибка. Нужно изменить текст модуля – либо удалить параметр у ключевого слова Возврат, либо убрать его вовсе, либо изменить процедуру на функцию – зависит от того, какая логика у вашей процедуры, и как вы предполагаете ее использовать.

Переменная не определена

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

  • Опечатка в имени переменной
  • Обращение к переменной, которая нигде в области видимости не объявлена (неявной инициализацией с присвоением значения, явным образом с использованием ключевого слова “Перем”, или передана в качестве параметра)
  • Написание на клиенте серверного кода. Например, обращение к менеджеру справочников “Справочники”, и т.п. Клиентская часть приложения “не видит ” серверные объекты языка
  • Также ошибка может появиться, если ранее код использовался в режиме толстого клиента, но после был запущен в тонком клиенте.

Как исправить?

Внимательно следить за правильностью набранного кода, своевременно объявлять переменные или передавать их в качестве параметров. Писать серверный код только в серверных модулях, а также использовать соответствующие инструкции препроцессора, например “&НаСервере”.

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

Ошибка “Значение не является значением объектного типа” может возникнуть при неверном обращении к объекту языка. Объектный тип – это такие объекты языка, которые содержат в себе другие объекты – свойства, реквизиты и т.п. Эти свойства доступны через точку, например “Объект.СвойствоЭтогоОбъекта”

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

Разберем более сложный пример:

&НаСервере
Процедура ЗначениеНеЯвляетсяЗначениемОбъектногоТипаНаСервере(Справочники = Ложь)
Сообщить(Справочники.Сотрудники.ПустаяСсылка());
КонецПроцедуры

Ошибка может быть “плавающей”. Если вместо параметра по умолчанию “Справочники = Ложь” будет передан менеджер справочников, то ошибки возникать не будет. А если вызвать процедуру без параметров, то будет использоваться параметр по умолчанию с типом Булево, что и приведет к ошибке.

Чаще всего чтобы исправить ошибку, нужно в отладчике посмотреть, какой тип значения используется. Можно внести изменения в код, чтобы обеспечить корректное поведение (например, в запросе вместо наименования товара выбрать ссылку, и в коде через точку уже обращаться к свойствам ссылки, а не текстового наименования). А можно добавить проверку на нужный тип значения. Т.е. – если значение того типа, который мы ожидаем – выполняем код. Иначе – не выполняем.

Ошибка при вызове метода контекста

Ошибка при вызове метода контекста

Обнаружены ошибки в 1С Синтаксическая ошибка

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

Если эти условия не соблюдать, платформа в зависимости от версии может выдавать сообщения вида “Ошибка при вызове метода контекста”, и далее будут следовать более подробные сведения об ошибке – стек вызовов, приведших к ошибке, номер строки и позиции в строке, где произошла ошибка.

Чаще всего ошибка при вызове метода контекста встречается в следующих методах:

  1. Записать
  2. Прочитать
  3. Выполнить
  4. Создать
  5. ПроверитьВывод

Разберем эту ошибку на примере метода Выполнить объекта Запрос:

Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 1 ГДЕ ИСТИНА И");
Запрос.Выполнить();

В тексте запроса допущена ошибка –  после первого условия “ГДЕ ИСТИНА” указан оператор И, но после него нет еще одного условия. В результате при попытке выполнения запроса, платформа вернет ошибку.

Для исправления ошибки зачастую достаточно внимательно использовать методы, при необходимости уточнять порядок, количество и тип параметров – это можно сделать в справке или синтакс-помощнике (встать курсором на имя метода в коде, и нажать сочетание клавиш Ctrl+F1). В случае запроса – нужно передавать синтаксически корректный текст запроса; в случае проверки вывода на печать – в системе должен быть установлен принтер; в случае подключения к почте – должны быть корректно указаны логин и пароль, и т.п.

Тип не может быть выбран в запросе в 1С 8.3 (8.2)

Ошибка Тип не может быть выбран в запросе

С такой ошибкой начинающие разработчики (да и не только начинающие 😉 ) сталкиваются чаще всего, при чтении запросом данных из таблиц значений, либо из регистров сведений. Все дело в том, что запросы поддерживают далеко не все типы значений. Так, например, нельзя запросом выбрать тип Картинка, ХранилищеЗначений, Шрифт, и многие другие типы, которые не относятся к примитивным или ссылочным типам значений.

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

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

Неверно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент");

Верно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));

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

Использование в 1С модальных окон в данном режиме запрещено

Ошибка Использование в 1С модальных окон в данном режиме запрещено​

Платформа будет выдавать такое сообщение, если в коде используются методы, приводящие к открытию модальных окон. Модальные окна – это окна, которые при открытии блокируют весь остальной интерфейс. В 1С есть несколько модальных методов – например – “Вопрос”, “ОткрытьЗначение”, “Предупреждение”. Кроме того, в коде может использоваться модальный синтаксис открытия форм: “ОткрытьМодально()”

Если в свойствах конфигурации выбран режим использования модальности “Не использовать”, то выполнение модальных методов будет приводить к этой ошибке “Использование в 1С модальных окон в данном режиме запрещено”.

Для устранения ошибки можно пойти несколькими путями. Как водится, один – быстрый, другой – правильный 🙂

Быстрый способ – переключить режим использования модальности в положение “Использовать”.

Более правильный способ – использовать в коде немодальные вызовы методов. Например, у метода “Вопрос” есть немодальный аналог  – “ПоказатьВопрос”, у метода “Предупреждение” – “ПоказатьПредупреждение”, и т.п. Чаще всего об этих методах дополнительно указано в синтакс-помощнике и справке.

Кроме того, в последних версиях платформы появились асинхронные методы – “ВопросАсинх”, “ПредупреждениеАсинх” и др. Появление этих методов позволяет писать более простой и понятный асинхронный код, и направлено в первую очередь, на более полноценную поддержку браузерами и работу в веб-клиенте.

1С 8.3 и 8.2: Запись с такими ключевыми полями существует!

Данная ошибка появляется при некорректной записи в регистр сведений. Чаще всего с этой ошибкой сталкиваются начинающие разработчики, не до конца понимающие механизмы работы с ключевыми полями (измерениями).

Суть ошибки следующая – регистр сведений позволяет записать запись (строку таблицы) с уникальным набором ключевых полей – а для периодических регистров также и поля Период. Если следующая запись полностью повторяет значение ключевых полей, но осуществляется методом Записать с параметром Замещать = Истина, то запись в таблице регистра просто заменится на идентичную.

Однако если поместить две абсолютно одинаковые записи в набор записей, и попытаться его записать – платформа выдаст ошибку. Еще один распространенный случай, когда 1С сообщает “Запись с такими ключевыми полями существует” – это запись в периодический регистр сведений с периодичностью от “День” и выше, подчиненный регистратору.

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

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

Поле объекта недоступно для записи в 1С

Ошибка Поле объекта недоступно для записи в 1С​

Чаще всего начинающие программисты 1С сталкиваются с этой ошибкой в двух ситуациях.

Первый случай – это попытка редактирования системных полей, недоступных для записи. Например, в модуле формы сама форма будет содержаться в объекте ЭтаФорма. И попытка присвоить этому реквизиту любое значение приведет к ошибке “Поле объекта недоступно для записи”.

Второй случай – и с ним новички как раз допускают больше всего ошибок – это попытка редактирования полей ссылки, а не самого объекта. Чаще всего код выглядит примерно так:

Элемент = Справочники.Сотрудники.НайтиПоКоду("12345");
Элемент.Наименование = "Новое наименование";

 

Исполнение данного кода приведет к ошибке, т.к. поля ссылки доступны только для чтения, а метод НайтиПоКоду вернет именно ссылку. Чтобы можно было внести изменения, следует из ссылки получить сам объект – используя соответствующий метод ПолучитьОбъект().

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

Ссылка на обработку

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

Заключение

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

Возможно, вам также будет интересно:

  • Выдает ошибку на фиат альбеа
  • Выдает ошибку на телефоне android process acore
  • Выдает ошибку на стиральной машине самсунг he1
  • Выдает ошибку на принтере при сканер
  • Выдает ошибку на мос ру

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии