Поле объекта недоступно для записи. На сервере. #759169


#0 by tabarigen
Пытаюсь для всей номенклатуры заполнить Наименование для печати на основании его Наименования. Написал простую обработку. При выполении обработки выдается ошибка: {Форма.Форма.Форма}: Поле объекта недоступно для записи (НаименованиеПолное) Где напортачил ребята?
#1 by ale-sarin
ПолучитьОбъект
#2 by Nuobu
+ Записать;
#3 by ale-sarin
+1
#4 by VikingKosmo
и наименование получай в том же запросе, что и ссылку, а не через точу
#5 by tabarigen
Сделал так, выдается ошибка. Вероятно из за того что номенклатуры много около 16к
#6 by tabarigen
сейчас попробую
#7 by VikingKosmo
ошибку предлагаешь угадать?
#8 by tabarigen
Нет можно и просмотреть {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Записать)         НоменклатураОбъект.Записать; по причине: Ошибка при выполнении обработчика - 'ПриЗаписи' по причине: {ПланОбмена.УТР_РМК.МодульМенеджера(1410)}: Ошибка при вызове метода контекста (ЗарегистрироватьИзменения)         ПланыОбмена.ЗарегистрироватьИзменения(л_Узлы,Источник.Ссылка); по причине: Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу '_REFERENCECHNGR4016' по причине: Не удалось заблокировать таблицу '_REFERENCECHNGR4016'
#9 by tabarigen
Отлаживаю на файловой
#10 by VikingKosmo
забористая ошибка
#11 by tabarigen
породиста сказал бы даже)
#12 by VikingKosmo
отключи регистрацию на этом плане обмена, или для этого обмена все и делается?
#13 by Cyberhawk
Приостанови регл. задания в базе и тестируй сколько влезет
#14 by Живой Ископаемый
но может нужно и отключить регистрацию но может и просто выйти-зайти в базу
#15 by tabarigen
план обмена вообще не причем. При помощи КД переносил данные НаименованиеПолное забыл перенести, теперь в Печатных формах наименование не отображается. вот и решил поправить это дело.
#16 by Cyberhawk
по-хорошему регистрация изменений никак не должна зависеть от того, включен или нет режим ОбменДанными.Загрузка
#17 by VikingKosmo
в БСП он и не зависит
#18 by Cyberhawk
Да, и в типовых этот момент слава богу управляем (через доп. свойство)
#19 by VikingKosmo
для обмена БСП не взлетит ни разу
#20 by tabarigen
Ископае, о какой регистрации вы говорите? Что то не в курю.
#21 by Живой Ископаемый
да просто выйди-зайди в базу. Если ты монопольно, то скорее всего это прсто артефакт какой-то
#22 by VikingKosmo
сделай Объект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов", Истина)
#23 by Cyberhawk
скорее всего не взлетит, у него регистрация в модуле ПланОбмена.УТР_РМК.МодульМенеджера(1410) :)
#24 by VikingKosmo
я хочу верить в чудо ;)
#25 by Cyberhawk
Короче кроме или программного добавления возможности отключения механизма регистрации не вижу способов в файловой побороть ошибку из
#26 by Живой Ископаемый
2 Так почему вообще должна возникать блокировка? Он монопольно в файловой, перезаписывает элементы справочника. ну пусть они регистрируются в плане обмена для всех существующих узлов. Какие предпосылки для блокировки?
#27 by VikingKosmo
а может вовсе и не монопольно?
#28 by VikingKosmo
как вариант, у него висит еще один его же сеанс, который меняет наименования
#29 by Живой Ископаемый
Или просто памяти мало, и винде приходится действительно писать а диск. И в этом случае тоже возникают блокировки
#30 by Cyberhawk
Одно известно точно: что в этот момент где-то вне текущей транзакции была наложена блокировка на таблицу изменений того же справочника. С учетом того, что база файловая, достаточно любой записи объекта (версия в ). Либо какие-нибудь регл. задания. Обмен, вроде, мешать не должен (НачатьЧтение при загрузке или НачатьЗапись при выгрузке) - там блокируется узел плана обмена вроде только
#31 by Cyberhawk
А, ну а вот если выполняется обмен (выгрузка), то НачатьЗапись заблокирует всю таблицу объекта данных
#32 by Cyberhawk
+ не "НачатьЗапись" а "Записать"
#33 by tabarigen
в Базу перезашел,  результат такой же. Сижу в базк монопольно.
#34 by tabarigen
памяти всего 8Гб ОЗУ.
#35 by tabarigen
Если база на поддержке могу ли я отключить регистрацию для этого плана обмена?
#36 by Cyberhawk
если на корне конфигурации замок, то нельзя Регл. задания проверь и отключи
#37 by Fragster
&НаСервереБезКонтекста
#38 by Cyberhawk
1. У него вроде тоже код на сервере выполняется. 2. Почему ты считаешь, что это поможет избежать ошибки из ?
#39 by tabarigen
ваш код сработал. Проверю сейчас. еще раз удалив наименование для печати у нескольких позиций номеклатуры.
#40 by tabarigen
Проверил работает..)) Теперь объясните чем ваш код отличается от моего.
#41 by Cyberhawk
а теперь свой код еще раз проверь и выложи ошибку
#42 by tabarigen
ошибка та же
#43 by Cyberhawk
какая блин? У тебя их в этой теме перечислено две
#44 by tabarigen
та что в
#45 by tabarigen
Непонтяно для чего этот кусок кода Если Ложь Тогда КонецЕсли; и этот тоже Объясните пожалуйста что еще за ОбменДанными?
#46 by Живой Ископаемый
западло, куча книг про это написано, гугл есть... типовые, "Если нужно объяснять - то не нужно объяснять"
#47 by Cyberhawk
А, по-видимому все-таки регистрация не выполняется у парня, если ОбменДанными.Загрузка = Истина, и значит до сути не докопались (почему возникает блокировка)
#48 by ЧеловекДуши
Первое, если чисто для программиста, жимкать  "Ctrl + Space". В некоторых случаях удобно для написания чего либо незначительного. А так, лишний код. Второе. Для того что бы записать то, что обычно не пишется. Обычно в Процедуры Объекта пишут строчки: Для того, что бы не выполнять какой либо проверочный код, или заполнение каких либо данных :)
#49 by tabarigen
спасибо теперь понял. а это то зачем? Если Ложь Тогда Объ = Справочники.Номенклатура.СоздатьЭлемент; КонецЕсли;
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С