|
v8: Изменение владельца элемента справочника | ☑ | ||
---|---|---|---|---|
0
vladimirpetrov11
07.02.13
✎
10:13
|
Подскажите пожалуйста как изменить владельца в справочнике: ругается при попытке записи:
{Форма.Форма.Форма(14)}: Поле объекта недоступно для записи (Владелец) Выборка.Владелец=Помещение; Вот код: Спр=Справочники.ркСчетчики; Выборка=Спр.Выбрать(); Пока Выборка.Следующий() цикл Выборка.ПолучитьОбъект(); Счетчик=Строка(Выборка.Ссылка); Дом=Справочники.ркДома.НайтиПоКоду("000000211");//Красная ул, дом 134. Если Выборка.Владелец.Владелец=Дом тогда Помещение=Выборка.Владелец; //типа хата Сообщить("Найден дом: "+Выборка.Владелец.Владелец+". Помещение: "+Помещение); Помещение=Справочники.ркПомещения.НайтиПоНаименованию(Строка(Помещение.Наименование),Истина,,Дом); //Выборка.Владелец.ПолучитьОбъект(); Выборка.Владелец=Помещение; Сообщить("Заменён на дом: "+Выборка.Владелец.Владелец+". Помещение: "+Выборка.Владелец); КонецЕсли; КонецЦикла; |
|||
1
НЕА123
07.02.13
✎
10:15
|
прикольно.
что есть выборка? |
|||
2
vladimirpetrov11
07.02.13
✎
10:16
|
Чуть-чуть поправил:
Спр=Справочники.ркСчетчики; Выборка=Спр.Выбрать(); Пока Выборка.Следующий() цикл Выборка.ПолучитьОбъект(); Счетчик=Строка(Выборка.Ссылка); Дом=Справочники.ркДома.НайтиПоКоду("000000211");//Красная ул, дом 134. Дом2=Справочники.ркДома.НайтиПоКоду("000000210");//Красная ул, дом 134 Если Выборка.Владелец.Владелец=Дом тогда Помещение=Выборка.Владелец; Сообщить("Найден дом: "+Выборка.Владелец.Владелец+". Помещение: "+Помещение); Помещение=Справочники.ркПомещения.НайтиПоНаименованию(Строка(Помещение.Наименование),Истина,,Дом2); //Выборка.Владелец.ПолучитьОбъект(); Выборка.Владелец=Помещение; Сообщить("Заменён на дом: "+Выборка.Владелец.Владелец+". Помещение: "+Выборка.Владелец); КонецЕсли; КонецЦикла; (1) да есть |
|||
3
Галахад
гуру
07.02.13
✎
10:17
|
Объект = Выборка.Ссылка.ПолучитьОбъект()
Объект.Владелец = Помедение; Объект.Записать() |
|||
4
vladimirpetrov11
07.02.13
✎
10:17
|
(1) Вообще через опу всё написал??
|
|||
5
Идентификатор
07.02.13
✎
10:18
|
(4) жесть какая то у тебя в (0) =) в (3) четко написано, получай объект, изменяй что нужно, записывай
|
|||
6
vladimirpetrov11
07.02.13
✎
10:24
|
(3), (5) Вот такую ошибку выдает если так делаю:
{Форма.Форма.Форма(6)}: Ошибка при установке значения атрибута контекста (Объект) Объект = Выборка.Ссылка.ПолучитьОбъект(); по причине: Нельзя изменять поле, содержащее объект данных формы |
|||
7
НЕА123
07.02.13
✎
10:27
|
(6)
может немножко поРТФМить? |
|||
8
Идентификатор
07.02.13
✎
10:28
|
управляемые формы что ли ?
|
|||
9
НЕА123
07.02.13
✎
10:28
|
(8) очевидно, да.
|
|||
10
vladimirpetrov11
07.02.13
✎
10:28
|
(8) Да
|
|||
11
Wobland
07.02.13
✎
10:29
|
(6) хотим на клиенте сделать то, что положено делать на сервере?
|
|||
12
vladimirpetrov11
07.02.13
✎
10:30
|
(11) на сервере делаю
|
|||
13
Wobland
07.02.13
✎
10:30
|
(12) переменную переименуй
|
|||
14
vladimirpetrov11
07.02.13
✎
10:32
|
(13) Пошло!!!!))))
|
|||
15
Wobland
07.02.13
✎
10:32
|
на здоровье
|
|||
16
НЕА123
07.02.13
✎
10:35
|
Господа.
посмотрел повнимательнее (0)(2)... я бы такое не рискнул запускать. смотреть-то страшно. |
|||
17
vladimirpetrov11
07.02.13
✎
10:35
|
(3), (5), (7), (15) Спасибо!!
|
|||
18
vladimirpetrov11
07.02.13
✎
10:36
|
(16) Как правильнее будет, научи пожалуйста. Ещё не раз пригодится
|
|||
19
Wobland
07.02.13
✎
10:37
|
(18) выбираешь запросом то, что нужно, меняешь. не вчитывался
|
|||
20
Идентификатор
07.02.13
✎
10:38
|
(18) сдай права на отладчик :) хотя бы категорию Б )) половину вопросов снимет
|
|||
21
vladimirpetrov11
07.02.13
✎
10:39
|
(19) Я сначала через запрос делал, потом столкнулся с проблемой записи и перебором стал(((
|
|||
22
Wobland
07.02.13
✎
10:39
|
(20) в смысле права на стол и больше не подходи? ;)
|
|||
23
Wobland
07.02.13
✎
10:39
|
(21) двоечник
|
|||
24
Идентификатор
07.02.13
✎
10:40
|
(22) :)))
|
|||
25
vladimirpetrov11
07.02.13
✎
10:40
|
Всё равно спасибо))
|
|||
26
vladimirpetrov11
07.02.13
✎
10:41
|
Кстати уже всё получилось и ошибка в базе исправлена*)
|
|||
27
НЕА123
07.02.13
✎
10:41
|
1. из цикла долой
Спр=Справочники.ркСчетчики; Дом=Справочники.ркДома.НайтиПоКоду("000000211");//Красная ул, дом 134. Дом2=Справочники.ркДома.НайтиПоКоду("000000210");//Красная ул, дом 134 2. Зачем? Выборка.ПолучитьОбъект(); Счетчик=Строка(Выборка.Ссылка); Помещение=Выборка.Владелец; 3. При ненайденном помещении будет ошибка выполнения. 4. Лучше запросом. |
|||
28
vladimirpetrov11
07.02.13
✎
10:43
|
(27) Ok' В след. раз буду запросом вытаскивать и менять*)
|
|||
29
vladimirpetrov11
07.02.13
✎
12:50
|
(27)Через запросы всё просто летает)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |