Ошибка объект недоступен для изменения

Ø

Я
   Myst

31.10.05 — 10:56

Докум=документы.ПланЗатрат.Выбрать(НачПериод,КонПериод);
Докум.Ссылка.ТабличнаяЧасть1.Очистить();
******Ошибка
/// {Форма.Форма(471)}: Ошибка при вызове метода контекста (Очистить):
/// Объект недоступен для изменения.
/// Докум.Ссылка.ТабличнаяЧасть1.Очистить();
/// по причине:
/// Объект недоступен для изменения.
??? В чем причина почему нельзя очистить табличную часть документа??

   Macleod

1 — 31.10.05 — 11:04

Мож я чё не понимаю, но получить документ не пробовал(а)?

   Att8

2 — 31.10.05 — 11:05

Если «Ссылка» — то только для чтения.

   Myst

3 — 31.10.05 — 11:06

Докум.ТабличнаяЧасть1.Очистить();
результат тот же..

   Mitrich

4 — 31.10.05 — 11:23

(0) Ну. Ты. Блин. Даешь…
«Найдите 10 ошибок»…
документы.ПланЗатрат.Выбрать(НачПериод,КонПериод) — ты получил Выборку документов.
Докум.Следующий() — даст Ссылку на документ.
И только потом Докум.ПолучитьОбъект() — получишь объект

   Att8

5 — 31.10.05 — 11:25

ОбъектДокумента = Документ.ПолучитьОбъект();
ОбъектДокумента.Товары.Очистить();

   coma

6 — 31.10.05 — 11:26

(5) Точно так.

  

Myst

7 — 31.10.05 — 11:31

спасибо

Настраиваю план обмена между БП и Док, с использованием стандартных правил между Бухгалтерией и Документоборотом. Переношу справочники Контрагенты и Конт. лица. Там есть алгоритм для переноса контактной информации.. Так вот при загрузке данных в Документооборот выдает ошибку: Ошибка обращения к табличной части объекта. Табличная часть объекта не может быть изменена.    Объект                 =  СОТРУДНИКИ    ОписаниеОшибки         =  Ошибка при вызове метода контекста (Очистить): Объект недоступен для изменения.    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(5805)    Текст                  =  Имя табличной части: КонтактнаяИнформация отсюда СОТРУДНИКИ это группа а не элемент..Я так понимаю он пытается обратится к табличной части группы но т.к ее попросту нету и заканивает ошибкой или почему так? дописываю в алгоритм переноса контакт. информации уже это: КоллекцияОбъектов.Колонки.Добавить(«Вид»); ….такое ощущение как будьто условие не срабатывает. Помогите пожалуйста решить эту задачу, замучался с ними ужасно:(

Если перенос только этих 2 справочников — можешь и сам написать правила — почитай здесь (конвертация с нуля)

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

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

нужно отказаться от выгрузки таб. части если объект ЭтоГруппа. А у тебя в ПКГС +code Если НЕ Источник.Ссылка.ЭтоГруппа Тогда +code все равно передают в приемник, что таб. часть у СОТРУДНИКИ есть, только она пустая.

SuperMario а как это сделать в конвертации??

или где это сделать? не дописывать же мне код в обработку КонвертацияОбъектовИнформационныхБаз

В ПКГС в обработчик ПередВыгрузкой Отказ = Источник.ЭтоГруппа;

добавил теперь план обмена ругается на это: Ошибка в обработчике события ПередВыгрузкойОбъекта    ПВД                    =  Контрагенты    Объект                 =  Торговый дом «Комплексный»  (Справочник объект: Контрагенты)    Обработчик             =  ПередВыгрузкойОбъектаВыборки    ОписаниеОшибки         =  Метод объекта не обнаружен (ЭтоГруппа) Т_Т

Так у тебя и выборка идет по произвольному алгоритму. Смотри в ПВД Контрагенты. Наверняка запрос. Добавь признак группы.

и ошибка в ПВД и не того ПКо, который в описан. Ничего не понял. Куда вставил отказ от выгрузки? Нужно для ПКО Корреспонденты в ПередВыгрузкой ПКГС

соррь.в пвд видать лишнее было написано,удалил оттуда. посмотрите пожалуйста. вот сюда нада? поставил туда, при загрузке в ДО, все равно ошибка( Ошибка обращения к табличной части объекта. Табличная часть объекта не может быть изменена.    Объект                 =  СОТРУДНИКИ    ОписаниеОшибки         =  Ошибка при вызове метода контекста (Очистить): Объект недоступен для изменения.    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(5805)    Текст                  =  Имя табличной части: ДополнительныеРеквизиты    КСообщенияОбОшибках    =  83

ну и что не понятно? Теперь ругается на таб. часть Дополнительные документы. А ты поставил только для таб. части Контактной информации ;)

сорь. попутал  с ДополнительныеРеквизиты

А какие у тебя реквизиты поиска стоят для этого ПКО? Не получилось ли так, что в источнике «СОТРУДНИКИ» — это элемент справочника, а в приемнике это группа? Поиск по свойству «ЭтоГруппа» стоит?

дадада, Поиск по ИНН и по ЭтоГруппа. Т.е убрать его? в стандартных правилах так стояло я решил не трогать.

НЕт. Поиск по Этогруппа нужен обязательно. Иначе косанет. Тогда отказ от выгрузки ДополнительныеРеквизиты для групп должен решить проблему.

добавил отказ для ДополнительныеРеквизиты: Ошибка обращения к табличной части объекта. Табличная часть объекта не может быть изменена.    Объект                 =  СОТРУДНИКИ    ОписаниеОшибки         =  Ошибка при вызове метода контекста (Очистить): Объект недоступен для изменения.    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(5805)    Текст                  =  Имя табличной части: КонтактнаяИнформация    КСообщенияОбОшибках    =  83

в xml файле записи: вопрос правильно ли алгоритм для выгрузки стоит в процедуре ПередОбработкойВыгрузки ? в стандартных правилах так. мб в этом дело??

может отказ перед ПередОбработкойВыгрузки запихнуть??

вродь получилось=)) спасиба  SuperMario, поставил отказ перед обработкой.. Перед обработкой Условия возникновения события Событие выполняется перед обработкой группы свойств, например, перед выгрузкой табличной части. Возможен отказ от выгрузки. Можно определить произвольную коллекцию, являющуюся источником данных.

Тэги: 1С 8

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

Для начинающих разработчиков 1С 8.3 трудно понять, почему же они так часто получают ошибку — Поле объекта недоступно для записи 1С (РабочаяДата, Код, Таблица, Номер, Дата и т.д.)
. Разберемся, почему эта ошибка может появятся, и как с ней бороться.

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

Если ошибка возникла после обновления конфигурации 1С 8.2 или 8.3
, скорее всего, Вам необходимо до последней
актуальной версии.

Получите 267 видеоуроков по 1С бесплатно:

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

Меняй объект, а не ссылку

Хит-парад причин появления этой ошибки возглавляет попытка присвоения ссылке элемента новых атрибутов. Делают это обычно примерно так:

Петров =
Справочники.
ФизическиеЛица.
НайтиПоНаименованию(«Петров Иван»
)
;

Петров.
НомерПаспорта =
«2156363»
;

И вот на этом моменте новичок получает ошибку — Поле объекта недоступно для записи 1С.

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

Правильное решение задачи:

ПетровСсылка =
Справочники.
ФизическиеЛица.
НайтиПоНаименованию(«Петров Иван»
)
;

ПетровОбъект =
ПетровСсылка.
ПолучитьОбъект()
;

ПетровОбъект.
НомерПаспорта =
«2156363»
;

ПетровОбъект.
Записать()
;

Попытка изменить системные поля

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

  • номер строки табличной части;
  • использование ТекущаяСтрока, вместо ТекущиеДанные;
  • и так далее.

———

Nokia N91-1
определённых обстоятельствах
однократное
длительное
Музыкальный проигрыватель


«.

А

1020e4fe.cre

P.S. Решил написать про решение данной проблемы именно здесь, а не в комментах к файлам, дабы данное решение нигде не затерялось и ушло в копилку знаний

DimonVideo
DimonVideo

2010-02-28T11:02:49Z
2010-02-28T11:02:49Z

Объект недоступен. Восстановлена стд. функция клавиши


———

Вот уже 2-ой раз за всё время использования старого доброго Nokia N91-1
столкнулся с этой, казалось бы, небольшой, но, тем не менее, очень неприятной проблемой — при определённых обстоятельствах
телефон отказывается реагировать на однократное
нажатие MM-клавиши (MultiMedia), в то время как длительное
нажатие — приводит к запуску Visual Radio. И лишь в целевом приложении (Музыкальный проигрыватель

) смартфон хоть как-то откликался: «Объект недоступен. Восстановлена стд. функция клавиши.

«.

А определёнными обстоятельствами служили
: в первый раз — полудохлая зарядка, которая то заряжала телефон, то нет, а во второй раз — точно такого же состояния, что и зарядка, mini-usb кабель. Причём, что интересно, помимо того, что MM-клавиша переставала выполнять свою функцию, дык и на винчестере устройства появлялись фантом-файлы:

Внимание! У вас нет прав, для просмотра скрытого текста.

И если с решением последнего проблем не возникало, а вот с первым вопросом было не всё так просто — . А решать вопрос хард-ресетом телефона, как я это сделал в 1-ый раз от отчаяния , не очень-то и хотелось — не будешь же каждый раз этим безобразием заниматься:D

Вот и пришлось искать альтернативные пути. Для начала попробовал воспользоваться программой для переназначения клавиш, но нужного в ней не нашёл. Решил попробовать так, как советует автор — опять промах, Anykey.exe не собирался делать того, что я от него ждал В итоге пришёл к этому — , предварительно, естественно, разблокировав смартфон. Но и это не дало желаемого результата — ну ещё бы, если пытаюсь заставить телефон делать то, что у него и так уже прописано, нового ничего ведь не добавляю (мне же не нужны какие-либо посторонние программы на MM, нужен именно Муз. проигрыватель). Но вот здесь — C:/private/10202be9/persists/
— нашёл очень интересный файлик под названием 1020e4fe.cre

. И сыграло во мне любопытство — предварительно забэкапив его, так, на всякий случай , удалил с диска. И… О чудо! Не пришлось даже перезагружать телефон, как он откликнулся на однократное нажатие мультимедийной клавиши и показал заветный Музыкальный проигрыватель. На этом мои мучения были закончены и, получив удовлетворение от результата, не взирая на кучу потраченного свободного времени, я отправился делиться маленькой, но приятной находкой именно сюда

Вот ведь бывает же Очень надеюсь, что кому-то данная маленькая, но крайне полезная заметонька поможет, и не придётся камраду лишний раз хардрезетить свой девайс;)

P.S. Решил написать про решение данной проблемы именно здесь, а не в комментах к файлам, дабы данное решение нигде не затерялось и ушло в копилку знаний «>

Наверняка многие из вас сталкивались с ошибкой Сбой загрузки программы. Программу <Имя программы> не удалось загрузить в настоящий момент
. Эта ошибка происходит или во время установки приложения из App Store или во время его обновления .

Причём ошибка характеризуется тем, что непонятно по каким алгоритмам она возникает. Например, я могу обновлять 50 программ, 47 обновятся нормально, а три покажут это сообщение.

Причина:
в большинстве случаев данное сообщение означает какие-то проблемы с интернетом или магазином App Store.

Что делать?

Действие 1. Самое очевидное

Попробуйте нажать кнопку “Ещё раз”. Есть вероятность, что приложение всё-таки загрузится.

Действие 2

Нажмите кнопку Готово
. Приложение перестанет грузиться. Зайдите в App Store в раздел Обновления
. И нажмите на кнопку Обновить
возле проблемного приложения.

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

Действие 3

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

Действие 4

Действие 5

Ещё, как хороший вариант, можно считать перелогинивание в App Store. В разделе Подборка листайте в самый низ. В левом нижнем углу тыкайте по кнопке с вашим аккаунтом. Нажмите “Выйти” (или Sign Out). Дальше снова жмите по кнопке в левом нижнем углу. В появившемся окне вводите свой Apple ID и пароль.

Действие 6

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

Итог:

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

Во время пользования приложением пользователь часто сталкивается с «вежливым» окошком, предупреждающим о возникновении той или иной ошибки. Порождаются такие ошибки и во время попыток открыть какую-нибудь фотографию или отослать ее другу. Одной из таких ошибок является сообщение: «Этот элемент фото больше недоступен Viber». Что стоит за этим сообщением?

Этот элемент фото больше недоступен в Viber: что это?

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

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

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

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

Этот элемент фото больше недоступен в Viber: возможные решения

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

Для решения вопроса с ошибкой по ситуации с отправкой фотографий при загрузке, очевидно, понадобится выполнить всего лишь несколько шагов:

  • Дождаться полной загрузки фото из сети Интернет.
  • Перейти в папку загрузок на мобильном устройстве.
  • Перекопировать загруженные изображения в папку, где хранятся пользовательские изображения Вибера. Так мы позволим Виберу получить доступ к этим изображениям.
  • Отправить искомые фото другу.

В другой ситуации решением стало бы создание бекапа данных Вибера: контактов, файлов, с которыми работает это приложение, включая и фотографии. Бекап создается на случай непредвиденных ситуаций, как это случилось с пользователем, который запустил Clean Master и нечаянно удалил файлы, с которыми работал Вайбер. Осторожное обращение с программой позволит не допускать появления ошибок вида «Этот элемент фото больше недоступен Viber».

В декабре 2012 года произошло событие, которого многие пользователи устройств Apple в России и странах СНГ ждали с нетерпением — . Однако, законопослушные жители России уже успели создать себе американские аккаунты, что позволяло покупать музыку и другой контент, недоступный в российском App Store.

Данный аккаунт требовал обязательной привязки одноразовых виртуальных банковских карт или покупки подарочных сертификатов, так как в US iTunes Store карты Российских банков попросту не поддерживались.

С приходом полноценного iTunes Store в Россию необходимость в американской учетной записи отпадает сама собой. Данная инструкции поможет Вам сменить страну действующего Apple ID.

Помимо очевидных плюсов, таких как и поддержка отечественных банковских карт, смена аккаунта имеет и негативные стороны:

1.
Необходимо будет потратить все деньги на счету и отказаться от подписки iTunes Match.

2.
При смене страны-магазина Вы потеряете возможность автоматически обновлять, купленный в US Store контент. То есть можно будет зайти на страницу приложения и нажать кнопку обновить, но в разделе обновлений появляться программы не будут.

3.
Вы не сможете загрузить на свое устройство контент (игры, программы и т.д.), который отсутствует в Российском iTunes Store.

4.
При переходе в Российский магазин необходимо будет ввести данные банковской карты, действующей на территории России. В крайнем случае подойдут .

Теперь непосредственно переходим к самой инструкции:

«Обнуление» аккаунта

Если на Вашем счету осталась сумма, кратная 99 центам, то можно просто купить приложения. Если же сумма меньше 99 центов, то придется написать письмо в поддержку Apple.

Для этого необходимо запустить iTunes на компьютере и выбрать справа пункт «Support»
.

Затем в открывшемся окне снова нажать на кнопку «Support»
. После этого в браузере откроется страничка Apple, где в меню слева необходимо выбрать самый нижний пункт — «Contact Support»
. Далее нажать на ссылку «Contact iTunes Store support»
.

На открывшейся страничке выбрать пункт «Account Management»
, отметить поле «The topic is not listed»
и в поле ниже ввести тему запроса: списание остатка на счету или отказ от подписки iTunes Match. После нажатия на клавишу Enter будет произведен поиск решений и после этого появится кнопка Email, на которую и необходимо будет нажать.

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

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

Примерно через день на почту придет сообщение с уведомлением о списании средств с аккаунта. После этого можно приступить к смене страны в магазине.

Отказ от подписки на сервис iTunes Match

Если на Ваш американский Apple ID была оформлена подписка на сервис iTunes Match, то заранее необходимо загрузить всю медиатеку на компьютер из iCloud и выполнить все действия так же как и при списании средств. Но в качестве темы указать: «disable iTunes Match subscribition”. После этого с Вами свяжется сотрудник поддержки и уведомит Вас о том, что Ваш контент будет недоступен после отмены подписки, и предложит Вам возмещение оставшихся месяцев пользования сервисом. Необходимо ответить на этот e-mail, что Вы скачали все свои песни и хотите получить компенсацию.

Примерный текст: «Hello. I’m sure I want to cancel my iTunes Match subscribition and I want to receive partial refund».

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

Смена страны в iTunes Store

Нажимаем на Apple ID слева и в выпадающем меню выбираем пункт «Account»
.

На этой страничке ищем пункт «Change Country or Region”
.

Выбираем в списке «Russia»
и нажимаем кнопку «Change»
, затем «Continue»
, затем соглашаемся с правилами iTunes Store и нажимаем кнопку “Принять”
. После этого необходимо ввести Вашу платежную информацию. После этого можно спокойно пользоваться Русским магазином приложений и музыки от Apple. Для того, что бы загрузить уже купленную в US Store программу, на странице с описанием программы надо нажать кнопку «Купить», при этом система сообщит Вам, что обновление бесплатно, так как у Вас уже имеется предыдущая версия этого объекта. При этом данная программа не будет отображаться в истории покупок, следовательно и обновления автоматически появляться не будут.

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

Исправляем ситуацию

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

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


	 Запрос = Новый Запрос;
	 Запрос.Текст =
	         "ВЫБРАТЬ
	          |        Номенклатура.Ссылка КАК Ссылка,
	          |        Номенклатура.ВерсияДанных КАК ВерсияДанных,
	          |        Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	          |        Номенклатура.Родитель КАК Родитель,
	          |        Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	          |        Номенклатура.Код КАК Код,
	          |        Номенклатура.Наименование КАК Наименование,
	          |        Номенклатура.Артикул КАК Артикул,
	          |        Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	          |        Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	          |        Номенклатура.Предопределенный КАК Предопределенный,
	          |        Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	          |ИЗ
	          |        Справочник.Номенклатура КАК Номенклатура
	          |ГДЕ
	          |         ";
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 КонецЦикла;

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

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

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


	 Запрос = Новый Запрос;
	            Запрос.Текст =
	                       "ВЫБРАТЬ
	                        |          Номенклатура.Ссылка КАК Ссылка,
	                        |          Номенклатура.ВерсияДанных КАК ВерсияДанных,
	                        |          Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	                        |          Номенклатура.Родитель КАК Родитель,
	                        |          Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	                        |          Номенклатура.Код КАК Код,
	                        |          Номенклатура.Наименование КАК Наименование,
	                        |          Номенклатура.Артикул КАК Артикул,
	                        |          Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	                        |          Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	                        |          Номенклатура.Предопределенный КАК Предопределенный,
	                        |          Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	                        |ИЗ
	                        |          Справочник.Номенклатура КАК Номенклатура
	                        |ГДЕ
	                        |          НЕ Номенклатура.ЭтоГруппа ";
	 НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
	 КонецЦикла;

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

Рис.3 Синтакс-помощник

Рис.3 Синтакс-помощник

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

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

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

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

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

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    !
    Правила раздела:

    • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
    • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
    • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

    Высказать своё мнение о модераторах раздела можно здесь: evGenius

    >
    1С 8.1 Добавление записи в табличную часть справочника

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему



    Сообщ.
    #1

    ,
    05.10.09, 10:55

      Senior Member

      ****

      Рейтинг (т): 0

      Как сделать сабж?


      evGenius



      Сообщ.
      #2

      ,
      05.10.09, 11:46

        ExpandedWrap disabled

          НоваяСтрокаТабЧасти = ЭлементСправочника.НазваниеТабличнойЧасти.Добавить();


        hawk1



        Сообщ.
        #3

        ,
        05.10.09, 12:28

          Senior Member

          ****

          Рейтинг (т): 0

          {Документ.ПриходнаяНакладная.Форма.ФормаДокумента(18)}: Ошибка при вызове метода контекста (Добавить): Объект недоступен для изменения.
          НоваяСтрока = СпрСкладыТаблЧасть.Добавить();
          по причине:
          Объект недоступен для изменения.


          Outlander



          Сообщ.
          #4

          ,
          05.10.09, 13:00

            что такое СпрСкладыТаблЧасть?


            hawk1



            Сообщ.
            #5

            ,
            05.10.09, 13:50

              Senior Member

              ****

              Рейтинг (т): 0

              ExpandedWrap disabled

                СпрСкладыТаблЧасть = Справочники.Склады.НайтиПоНаименованию(Склад).НаличиеМатериалов;


              evGenius



              Сообщ.
              #6

              ,
              06.10.09, 05:27

                ExpandedWrap disabled

                  СпрСкладыТаблЧасть = Справочники.Склады.НайтиПоНаименованию(Склад).ПолучитьОбъект().НаличиеМатериалов;


                hawk1



                Сообщ.
                #7

                ,
                06.10.09, 09:41

                  Senior Member

                  ****

                  Рейтинг (т): 0

                  ExpandedWrap disabled

                        СпрСкладыТаблЧасть = Справочники.Склады.НайтиПоНаименованию(Склад).ПолучитьОбъект().НаличиеМатериалов;

                        Для каждого СтрТаблЧасти Из ПереченьМатериалов Цикл

                            НайденнаяСтрока = СпрСкладыТаблЧасть.Найти(СтрТаблЧасти.Материал,»Материал»);

                            Если НайденнаяСтрока = Неопределено Тогда

                                НоваяСтрока = СпрСкладыТаблЧасть.Вставить(1);

                                НоваяСтрока.Количество = СтрТаблЧасти.Количество;

                                НоваяСтрока.Материал = СтрТаблЧасти.Материал;

                            Иначе

                                НайденнаяСтрока.Количество = НайденнаяСтрока.Количество + СтрТаблЧасти.Количество;

                            КонецЕсли;

                        КонецЦикла;

                  Но ниче не добавляется.


                  evGenius



                  Сообщ.
                  #8

                  ,
                  06.10.09, 11:08

                    А записывать кто будет элемент справочника?


                    hawk1



                    Сообщ.
                    #9

                    ,
                    06.10.09, 12:09

                      Senior Member

                      ****

                      Рейтинг (т): 0

                      ExpandedWrap disabled

                            Справочники.Склады.НайтиПоНаименованию(Склад).ПолучитьОбъект().Записать();

                      Так?


                      Outlander



                      Сообщ.
                      #10

                      ,
                      06.10.09, 12:15

                        не совсем так ты получишь новую версию объекта ;)


                        hawk1



                        Сообщ.
                        #11

                        ,
                        06.10.09, 12:36

                          Senior Member

                          ****

                          Рейтинг (т): 0

                          Как же?


                          Outlander



                          Сообщ.
                          #12

                          ,
                          06.10.09, 13:35

                            ExpandedWrap disabled

                              СпрСклад = Справочники.Склады.НайтиПоНаименованию(Склад).ПолучитьОбъект();

                              СпрСкладыТаблЧасть = СпрСклад.НаличиеМатериалов;

                              ….

                              СпрСклад.Записать();


                            evGenius



                            Сообщ.
                            #13

                            ,
                            07.10.09, 04:08

                              Мндаааа… Книжки — наше всё.

                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                              0 пользователей:

                              • Предыдущая тема
                              • 1С: Проблемы и решения
                              • Следующая тема

                              Рейтинг@Mail.ru

                              [ Script execution time: 0,1207 ]   [ 15 queries used ]   [ Generated: 6.06.23, 01:16 GMT ]  

                              Войти или зарегистрироваться

                              [РЕШЕНО] Объект недоступен для изменения.

                              Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем alboldinov, 7 ноя 2014.




                              0/5,
                              Голосов: 0
                              1. TopicStarter Overlay

                                alboldinov

                                Offline

                                alboldinov
                                Опытный в 1С

                                Регистрация:
                                8 сен 2014
                                Сообщения:
                                195
                                Симпатии:
                                0
                                Баллы:
                                26

                                Код:
                                Выборка=Справочники.Контрагенты.НайтиПоКоду(код);
                                              ПОбъект = Выборка.ПолучитьОбъект();
                                           стр=ПОбъект.КонтактнаяИнформация.Добавить();
                                

                                При попытке добавить в табличную часть значение выдает сообщение «Объект недоступен для изменения»


                                alboldinov,
                                7 ноя 2014
                                #1

                              2. nomad_irk

                                Online

                                nomad_irk
                                Гуру в 1С

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

                                А КонтактнаяИнформация какой тип имеет?


                                nomad_irk,
                                7 ноя 2014
                                #2
                              3. TopicStarter Overlay

                                alboldinov

                                Offline

                                alboldinov
                                Опытный в 1С

                                Регистрация:
                                8 сен 2014
                                Сообщения:
                                195
                                Симпатии:
                                0
                                Баллы:
                                26

                                Табличная часть


                                alboldinov,
                                7 ноя 2014
                                #3

                              4. nomad_irk

                                Online

                                nomad_irk
                                Гуру в 1С

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

                                Хорошо. Контрагент точно найден и получен не пустой Объект?


                                nomad_irk,
                                7 ноя 2014
                                #4
                              5. TopicStarter Overlay

                                alboldinov

                                Offline

                                alboldinov
                                Опытный в 1С

                                Регистрация:
                                8 сен 2014
                                Сообщения:
                                195
                                Симпатии:
                                0
                                Баллы:
                                26

                                Точно. не пустой


                                alboldinov,
                                7 ноя 2014
                                #5

                              6. nomad_irk

                                Online

                                nomad_irk
                                Гуру в 1С

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

                                Хорошо. Приложите скриншот объекта метаданных Справочник.Контрагенты так, чтобы были видны его табличные части.


                                nomad_irk,
                                7 ноя 2014
                                #6
                              7. TopicStarter Overlay

                                alboldinov

                                Offline

                                alboldinov
                                Опытный в 1С

                                Регистрация:
                                8 сен 2014
                                Сообщения:
                                195
                                Симпатии:
                                0
                                Баллы:
                                26

                                Хотя спасибо, натулкнули на мысль сейчас проверю

                                — Объединение сообщений, 7 ноя 2014

                                объект оказался группой. Спасибо


                                alboldinov,
                                7 ноя 2014
                                #7
                              (Вы должны войти или зарегистрироваться, чтобы ответить.)
                              Показать игнорируемое содержимое
                              Похожие темы

                              1. Pilokarpios

                                8.х
                                Объекты: Недоступен на сервере 1С:Предприятие.

                                Pilokarpios,
                                3 июн 2007
                                , в разделе: Конфигурирование на платформе «1С:Предприятие 8»
                                Ответов:
                                2
                                Просмотров:
                                1.899
                                Эмин
                                6 июн 2007

                              2. Slon747

                                8.х
                                Объект сервера 1С:Предприятие недоступен (800706BA)

                                Slon747,
                                12 фев 2008
                                , в разделе: Установка платформы «1С:Предприятие 8»
                                Ответов:
                                4
                                Просмотров:
                                2.246
                                Slon747
                                20 фев 2008

                              3. dj_lexa

                                8.х
                                Объект сервера 1С:Предприятия недоступен (80070534)

                                dj_lexa,
                                19 дек 2008
                                , в разделе: Установка платформы «1С:Предприятие 8»
                                Ответов:
                                3
                                Просмотров:
                                1.161
                                dj_lexa
                                22 дек 2008

                              4. alboldinov

                                [РЕШЕНО]
                                Недоступен товар для документа

                                alboldinov,
                                8 ноя 2014
                                , в разделе: Конфигурирование на платформе «1С:Предприятие 8»
                                Ответов:
                                25
                                Просмотров:
                                1.584
                                alboldinov
                                9 ноя 2014

                              Загрузка…
                              Ваше имя или e-mail:
                              У Вас уже есть учётная запись?
                              • Нет, зарегистрироваться сейчас.
                              • Да, мой пароль:
                              • Забыли пароль?

                              Запомнить меня


                              1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

                              Поиск

                              • Искать только в заголовках
                              Сообщения пользователя:

                              Имена участников (разделяйте запятой).

                              Новее чем:
                              • Искать только в этой теме
                              • Искать только в этом разделе
                                • Отображать результаты в виде тем

                              Быстрый поиск

                              • Последние сообщения

                              Больше…

                              Рекомендовать в новости

                              Объект недоступен для изменения.

                              0

                              21.03.2018 — 14:42


                              Кто нибудь сталкивался стакой проблемой, в форме списка есть кнопка «уничтожить данные».

                              код ее такой:
                              ТекСсылка = ЭтотОбъект.ТекущийЭлемент.ТекущаяСтрока;
                              ТекОбъект = ТекСсылка.ПолучитьОбъект();

                              НачатьТранзакцию();
                              Попытка
                              Если НЕ ТекОбъект.ЭтоГруппа Тогда
                              ТекОбъект.ИсторияВерсий.Очистить();
                              ТекОбъект.Доступы.Очистить();
                              ТекОбъект.Записать();
                              КонецЕсли;
                              //ТекОбъект.Удалить();

                              ЗафиксироватьТранзакцию();
                              Исключение
                              ОтменитьТранзакцию();
                              Возврат ОписаниеОшибки();
                              КонецПопытки;

                              Так вот ТекОбъект.ИсторияВерсий.Очистить(); отлично удаляет, а доходит до ТекОбъект.Доступы.Очистить(); падает с ошибкой «Объект недоступен для изменения.»

                              ТекОбъект — отладчиком реально Объект, и ТЧ такие в нем есть.

                              1

                              21.03.2018 — 16:11

                              табличные части — доступы — использование — для группы? ))

                              2

                              22.03.2018 — 08:40

                              (1) тьфу ты, спасибо.
                              Было для групп и элементов, какая то сволочь поставила для групп ;)

                              Понравилась статья? Поделить с друзьями:
                            • Ошибка объект не поддерживает свойство или метод values
                            • Ошибка одного дня
                            • Ошибка объект не поддерживает свойство или метод includes
                            • Ошибка одни вопросы
                            • Ошибка объект или свойство не найдено 0x80092004