1с метод объекта не обнаружен saveas

Обновлено: 04.07.2024

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

1. Некорректное обновление

Чаще всего ошибка «Метод объекта не обнаружен» возникает при обновлении на сервере без очистки кэша на клиентах. Т.е. клиентская часть считает, что база не обновлена. В таких случаях, как-бы банально это не звучало, достаточно почистить кэш клиента. На просторах интернета можно найти много описаний как это делать. Некоторые специалисты предпочитают пользоваться скриптами (bat файлами). Приведу один из них:

:: 1С 8.2 для Windows 7

If Exist %USERPROFILE%\AppData\Roaming\1C\1Cv82 (

ECHO 8.2 - Удаляем файлы временных файлов 1С в Windows 7

Del /F /Q %USERPROFILE%\AppData\Roaming\1C\1Cv82\*.*

Del /F /Q %USERPROFILE%\AppData\Local\1C\1Cv82\*.*

ECHO 8.2 - Удаляем каталоги временных файлов 1С в Windows 7

for /d %%i in ("%USERPROFILE%\AppData\Roaming\1C\1Cv82\*") do rmdir /s /q "%%i"

for /d %%i in ("%USERPROFILE%\AppData\Local\1C\1Cv82\*") do rmdir /s /q "%%i"

:: 1С 8.3 для Windows 7

If Exist %USERPROFILE%\AppData\Roaming\1C\1Cv8 (

ECHO 8.3 - Удаляем файлы временных файлов 1С в Windows 7

Del /F /Q %USERPROFILE%\AppData\Roaming\1C\1Cv8\*.*

Del /F /Q %USERPROFILE%\AppData\Local\1C\1Cv8\*.*

ECHO 8.3 - Удаляем каталоги временных файлов 1С в Windows 7

for /d %%i in ("%USERPROFILE%\AppData\Roaming\1C\1Cv8\*") do rmdir /s /q "%%i"

for /d %%i in ("%USERPROFILE%\AppData\Local\1C\1Cv8\*") do rmdir /s /q "%%i"

:: 1С 8.2 для Windows XP

If Exist %USERPROFILE%\Local Settings\Application Data\1C\1Cv82 (

ECHO 8.2 - Удаляем файлы временных файлов 1С в Windows XP

Del /F /Q %USERPROFILE%\Local Settings\Application Data\1C\1Cv82\*.*

Del /F /Q %USERPROFILE%\Application Data\1C\1Cv82\*.*

ECHO 8.2 - Удаляем каталоги временных файлов 1С в Windows XP

for /d %%i in ("%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\*") do rmdir /s /q "%%i"

for /d %%i in ("%USERPROFILE%\Application Data\1C\1Cv82\*") do rmdir /s /q "%%i"

:: 1С 8.3 для Windows XP

If Exist %USERPROFILE%\Local Settings\Application Data\1C\1Cv8 (

ECHO 8.3 - Удаляем файлы временных файлов 1С в Windows XP

Del /F /Q %USERPROFILE%\Local Settings\Application Data\1C\1Cv8\*.*

Del /F /Q %USERPROFILE%\Application Data\1C\1Cv8\*.*

ECHO 8.3 - Удаляем каталоги временных файлов 1С в Windows XP

for /d %%i in ("%USERPROFILE%\Local Settings\Application Data\1C\1Cv8\*") do rmdir /s /q "%%i"

for /d %%i in ("%USERPROFILE%\Application Data\1C\1Cv8\*") do rmdir /s /q "%%i"

ECHO Кеш очищен!

Еще одной причиной, по которой может возникать ошибка «Метод объекта не обнаружен», является незавершенное, по какой-либо причине (сбой питания, сбой в системе, обрыв связи), обновление. В таких случаях необходимо восстановить базу из бэкапа и произвести обновление вновь.

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

2. Некорректно написанный код

Иногда, очень редко, бывает, что разработчик пишет код и, не тестируя, загружает его в рабочую базу. Из-за чего может возникать ошибка «Метод объекта не обнаружен» в таких случаях:

А) Не создан объект, к которому идет обращение. Например, реквизит «Поступление» имеет тип ссылка и пытается вызвать метод:


Метод объекта не обнаружен
Создал форму в которой выбирается документ(любой) из базы данных и Параметр произвольного типа. При.

Метод объекта не обнаружен (НайтиПоНаименованию)
Здравствуйте! Я Создал обработку Импорт аттракционов, в модуле прописал код: &НаКлиенте.

Метод объекта не обнаружен (Печать)
Здраствуйте. Проблема. Создаю внешний печатный отчет расходного кассового ордера. Смысл.

Метод объекта не обнаружен (напечатать строку)
Здравствуйте. При печатании чека вылазит ошибка: Помогите пожалуйста, уже целый день сижу, не.

Что бы получить ответ на вопрос нужно как минимум:
Указать версию платформы;
Указать название и версию конфигурацию;
Описать проблему;
Привести проблемный код.

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

Платформа 8.2
Зарплата и кадры 1.0
Вчера при формировании отчета по списку сотрудников стала выскакивать вот такая ошибка

Платформа 8.2.17.143
ЗиК 1.0.62.1

При формировании отчета по списку сотрудников:

<Отчет.СпискиРаботниковОрганизаций.Форма.ФормаОтчета.Форма(1 52)>: Метод объекта не обнаружен (ОбновитьТаблицуДоступныхНастроекПользователю)
ТиповыеОтчеты.ОбновитьТаблицуДоступныхНастроекПользователю(Э тотОбъект);

Добавлено через 58 секунд
сам модуль-то есть хоть? Поди, типовой отчет запустили, а оснастки для него нету

Интересно, ЗИК на 8 - это кто-то постарался с 77 перевести? Он, наверное, в дурдом попал потом

Интересно, ЗИК на 8 - это кто-то постарался с 77 перевести? На головном компе все работает, под любым пользователем!
на клиентском компе стояла платформа более старая чем на головном, обновил до той же версии, результата нет

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

Добавлено через 1 минуту

1. Удалить базу из списка и снова добавить.
2. Запуск с ключом /ClearCache
3. В файле ibases.v8i посмотреть id вашей базы, дать в винде по нему поиск и снести 2 найденных каталога (там вместе, правда, с настройками грохнет, если память ни с кем не изменяет). 1. Удалить базу из списка и снова добавить.
2. Запуск с ключом /ClearCache
3. В файле ibases.v8i посмотреть id вашей базы, дать в винде по нему поиск и снести 2 найденных каталога (там вместе, правда, с настройками грохнет, если память ни с кем не изменяет). Погуглил, почистил, СПАСИБО!)Все как новенькое, работает

Получить ТЧ документа. Метод объекта не обнаружен (ПолучитьОбъект)
Здравствуйте! Пишу обработку. Есть табличная часть &quot;ТЧ_СписокДокументов&quot; с одним реквизитом.

Метод контекста не обнаружен
&quot;метод контекста не обнаружен&quot; выдаёт при фызове из модуля формы процекдуры в общем модуле.

Метод объекта не обнаружен (getSheets)
Доброго времени суток. Существует внешняя обработка по загрузке данных из openoffice, при.


Метод объекта не обнаружен (печать)
Обучаюсь 1С. Делал по примеру. В итоге на момент вызова печатной формы выдает ошибку: &quot;метод.

Права есть. Если просто открыть екселем, изменить и сохранить как - все прокатывает, а через 1С сохранить не получается.

Создается файлик, но ячейки пустые. Формат вроде нужный - .xls

если это делается на сервере, то права надо смотреть у пользователя под кем работает служба сервера приложений

При этом методе Метод объекта не обнаружен (SaveAs) ТекущийДокЕксель.SaveAs(КаталогДанных + "" + ТекИмя);

Ну кароч ты книгу должен сохранять. Покажи что присваиваешь текущийдокэксель

До меня делалось: Код функции, которая возвращает ТекущийДок

<Форма.Форма.Форма>: Ошибка при вызове метода контекста (SaveAs) ТекущийДокЕксель.ActiveWorkbook.SaveAs(КаталогДанных + "" + ТекИмя); по причине: Произошла исключительная ситуация (Microsoft Excel): Метод SaveAs из класса Workbook завершен неверно

я в показал какая ошибка выпадает при ТекущийДокЕксель.ActiveWorkbook

Если файл существует попробуй опять save. Для saveas можно вторым параметром задать формат файла еще

Попробовал передать формат <Форма.Форма.Форма>: Ошибка при вызове метода контекста (SaveAs) ТекущийДокЕксель.ActiveWorkbook.SaveAs(КаталогДанных + "" + ТекИмя, ".xls"); по причине: Произошла исключительная ситуация (Microsoft Excel): Метод SaveAs из класса Workbook завершен неверно

Создал. Ура! Осталось протестировать откроет ли 2003 офис

Тогда ладно. Файлики создаются. Есть ещё вопрос. Обработина, сделанная по образу и подобию

Отдельный момент. Я может ошибаюсь: по коду если все удачно сохранилось, то объект excel не удаляется.

Ошибка такая: Ошибка при вызове метода контекста (Windows) по причине: Произошла исключительная ситуация (0x8002000b)

Ну если я все правильно понимаю, то 10 раз запустите свой код, не выходя из 1с, и в процессах будет висеть 10 excel-ей.

У меня просто открывается ексель как приложение, а окна документа не видно. Серый экран.

Я пытаюсь сохранить книгу excel (с поддержкой макросов) в виде csv-файла через этот макрос, перезаписывая старый (ниже у меня было изменение имени папки и листа, но это, похоже, не проблема!):

I погуглил его, и, по-видимому, это происходит много с людьми, и некоторые из решений, которые я пробовал, были:

  • указание того, что каталог является строкой
  • избегайте любого специального символа в имени файла или папки (см. здесь)
  • копировать вставьте лист как значение перед сохранением его как .csv (см. здесь)
  • указание FileFormat с помощью .номер кода csv (см. здесь)
  • отключение/повторное включение некоторых предупреждений
  • добавление других полей в ActiveWorkbook.Сохранить как строку, касающиеся паролей, создания резервных копий etcetc

тем не менее, он может работать правильно до 50-60 раз подряд, а затем в какой-то момент снова терпеть неудачу в строке.

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

заранее спасибо за ваше время.

EDIT: решено благодаря предложению Degustaf. Я внес только два изменения в предложенный Degustaf код:

  • ThisWorkbook.Листы вместо CurrentWorkbook.Листы
  • FileFormat:=6 вместо FileFormat:=xlCSV (по-видимому, более надежный для разных версий excel)

Я вообще считаю что ActiveWorkbook проблема в этих случаях. Под этим я подразумеваю, что каким-то образом у вас нет этой книги (или любой другой), и Excel не знает, что делать. К сожалению, с copy ничего не возвращает (скопированный рабочий лист был бы хорошим), это стандартный способ подхода к этой проблеме.

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

или есть еще лучший подход в такой ситуации: WorkSheet поддерживает SaveAs метод. Нет необходимости копировать.

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

Это год назад, но я добавлю кое-что для будущих читателей

вы не найдете много документации в справке Excel для ошибки времени выполнения 1004, поскольку Microsoft не считает ее ошибкой Excel.

факт что это прерывистый недостаток, и он исправлен путем сохранять с полным путем и имя файла говорит мне, что ваш макрос может пытаться сохранить.xlsb-файл в каталог autorecover после автоматического восстановления файла.

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

вы можете проверить путь и имя файла с:- Функцию MsgBox Файл Thisworkbook.Полное имя

C:\Users\Mike\AppData\Roaming\Microsoft\Excel\DIARY (Версия 1).xlxb

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

Теперь у меня есть привычка вручную сохранять файл с его правильным путем и именем файла как само собой разумеющееся после любого действия автосохранения, поскольку это занимает секунды, и я нахожу его быстрее (если это не ежедневное явление). Таким образом, макросы не столкнутся с этой ошибкой, которую вы запустите. Помните, что в то время как моя привычка вручную экономить.файлы xlxb для .файлы xlsm сразу после восстановления не помогут новичку, которому вы даете лист.

примечание по гиперссылкам

после этой ошибки: если у вас есть гиперссылки на листе, созданных с Ctrl + k по всей вероятности, у вас будет что-то вроде "AppData\Roaming\Microsoft\", "\AppData\Roaming\", "../../ AppData / роуминг/ "или". \Мои документы\Мои документы\ " в нескольких гиперссылках после восстановления файла. Вы можете избежать их путем прикрепление гиперссылок к текстовому полю или их генерация с помощью функции гиперссылки.

идентификация и ремонт их немного сложнее

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

Excel не предоставляет средства в меню "перейти к специальному" для поиска гиперссылок, созданных с помощью Ctrl + k .

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

где Link2Text является UDF

функция Link2Text (rng как диапазон) как строка - Не отключайтесь. "Находит гиперссылки, содержащие "роуминг" в столбце Z.

мой VBA для исправления ошибок выглядит следующим образом

' Выберите правильный лист Листы ("дневник").Выберите

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

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

следующие ярлыки будут резервное копирование рабочего листа в секундах: Ctrl + O , [выделите имя файла], Ctrl + C , Ctrl + V , [ X]. Регулярные резервные копии позволяют сразу перейти к последней резервной копии без необходимости восстановления из файла резервной копии прошлой ночи, особенно если вам нужно сделать запрос другого человека, чтобы сделать это.

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