|
v8: Объект не доступен для изменения. Как так? | ☑ | ||
---|---|---|---|---|
0
batmansoft
17.07.14
✎
11:36
|
Добрый день. Делаю так (на сервере):
&НаСервере Процедура ОбработкаМоделейНаСервере() Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты | ПО Номенклатура.Ссылка = НоменклатураДополнительныеРеквизиты.Ссылка | И (НоменклатураДополнительныеРеквизиты.Свойство = &Свойство) |ГДЕ | НоменклатураДополнительныеРеквизиты.Значение ЕСТЬ NULL " ; лСвойство=Константы.шапСвойствоМодель.Получить(); Запрос.УстановитьПараметр("Свойство",лСвойство); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл лОбъект=Выборка.Ссылка.ПолучитьОбъект(); Пробел=Найти(лОбъект.Наименование," "); Модель=лев(лОбъект.Наименование,Пробел-1); стр=ЛОбъект.ДополнительныеРеквизиты.Добавить(); стр.Свойство=лСвойство; стр.Значение=Модель; стр.ТекстоваяСтрока=Модель; лОбъект.Записать(); сообщить(лОбъект); КонецЦикла; КонецПроцедуры и говорит: {Форма.Форма.Форма(123)}: Ошибка при вызове метода контекста (Добавить) стр=ЛОбъект.ДополнительныеРеквизиты.Добавить(); по причине: Объект недоступен для изменения. Подскажите пожалуйста, как лечить? |
|||
1
mikecool
17.07.14
✎
11:40
|
что такое ЛОбъект.ДополнительныеРеквизиты в отладчике?
|
|||
2
drcrasher
17.07.14
✎
11:50
|
(1) в ут11 - табчасть
(0) права есть на тч? |
|||
3
mikecool
17.07.14
✎
11:52
|
(2) телепат? )
|
|||
4
drcrasher
17.07.14
✎
11:52
|
(3) погодь, пусть тс чонить скажет =)
|
|||
5
jsmith82
17.07.14
✎
11:58
|
Дополнительные реквизиты вроде доступны только в предопределенных процедурах модуля
|
|||
6
jsmith82
17.07.14
✎
11:58
|
а не произвольных методах формы
|
|||
7
jsmith82
17.07.14
✎
11:59
|
а, хотя там же дополнительные свойства
|
|||
8
drcrasher
17.07.14
✎
12:00
|
(7) угу. свойства. у объекта
|
|||
9
batmansoft
17.07.14
✎
12:04
|
(1) В отладчике это вот:
"Выражение Значение Тип ЛОбъект.ДополнительныеРеквизиты СправочникТабличнаяЧасть.Номенклатура.ДополнительныеРеквизиты СправочникТабличнаяЧасть.Номенклатура.ДополнительныеРеквизиты" (2) Да, это УТ 11, тч номенклатуры. Работаю под полными правами. |
|||
10
drcrasher
17.07.14
✎
12:24
|
(9) вот фиг знает, но попробуй убрать спр. номеклатура и соединение в запросе. и используй тч.ссылка для выборки
|
|||
11
zva
17.07.14
✎
12:33
|
на форме случайно нет реквизитов стр или лОбъект?
|
|||
12
drcrasher
17.07.14
✎
12:39
|
(11) &НаСервере
Процедур.... |
|||
13
batmansoft
17.07.14
✎
12:58
|
(10) Что то странно:
если делать вот так: &НаСервере Процедура Команда1НаСервере() лСвойство=Константы.шапСвойствоМодель.Получить(); спр=Объект.Проба.ПолучитьОбъект(); стр=спр.ДополнительныеРеквизиты.Добавить(); стр.Свойство=лСвойство; стр.Значение="12312"; стр.ТекстоваяСтрока="12312"; спр.Записать(); КонецПроцедуры то работает. Но почему тогда в выборке не прокатывает эта фигня? Как мне тогда все элементы справочника перебрать и обработать? |
|||
14
batmansoft
17.07.14
✎
12:59
|
нет, таких реквизитов нету. но пробую переименовать
|
|||
15
batmansoft
17.07.14
✎
13:01
|
Воообще странно. Попробовал так:
&НаСервере Процедура ОбработкаМоделейНаСервере() Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты | ПО Номенклатура.Ссылка = НоменклатураДополнительныеРеквизиты.Ссылка | И (НоменклатураДополнительныеРеквизиты.Свойство = &Свойство) |ГДЕ | НоменклатураДополнительныеРеквизиты.Значение ЕСТЬ NULL | И НЕ Номенклатура.ЭтоГруппа" ; лСвойство=Константы.шапСвойствоМодель.Получить(); Запрос.УстановитьПараметр("Свойство",лСвойство); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл лОбъект1=Выборка.Ссылка.ПолучитьОбъект(); Пробел=Найти(лОбъект1.Наименование," "); Модель=лев(лОбъект1.Наименование,Пробел-1); стр1=ЛОбъект1.ДополнительныеРеквизиты.Добавить(); стр1.Свойство=лСвойство; стр1.Значение=Модель; стр1.ТекстоваяСтрока=Модель; лОбъект1.Записать(); сообщить(лОбъект1); КонецЦикла; КонецПроцедуры Кто нибудь может объяснить, что это за НЕХ происходила? |
|||
16
batmansoft
17.07.14
✎
13:02
|
так вот как в (15) сработало
|
|||
17
SUA
17.07.14
✎
13:04
|
лобъект это реквизит формы который уже где-то определен, как вариант
|
|||
18
batmansoft
17.07.14
✎
13:19
|
(17) смотрел, нет у формы таких реквизитов, стр. тоже нет
|
|||
19
sirsp
17.07.14
✎
13:37
|
(15) Пытался изменить для группы?
| И НЕ Номенклатура.ЭтоГруппа" |
|||
20
batmansoft
17.07.14
✎
13:50
|
(19) ХЗ, может быть, кажется, я эту шнягу вставил и забыл...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |