|
ПолучитьОбъект | ☑ | ||
---|---|---|---|---|
0
starV
21.07.14
✎
08:45
|
Всем привет
как заполнит табличную част справочника с этого же реквизитов справочника как не до гоняю Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТМЗ_НоменклатураКодыБуф.Ссылка КАК КодыБуф, | ТМЗ_Номенклатура.Ссылка КАК Ссылка, | ТМЗ_НоменклатураКодыБуф.Наименование КАК Наименование, | ТМЗ_НоменклатураКодыБуф.Код КАК Код |ИЗ | Справочник.ТМЗ_Номенклатура КАК ТМЗ_Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТМЗ_Номенклатура.КодыБуф КАК ТМЗ_НоменклатураКодыБуф | ПО ТМЗ_НоменклатураКодыБуф.Ссылка = ТМЗ_Номенклатура.Ссылка |ГДЕ | НЕ ТМЗ_Номенклатура.КодБуф = """""; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Объект= Выборка.Ссылка.ПолучитьОбъект(); Элемент = Объект.КодыБуф.СоздатьЭлемент(); Элемент.Наименование = Объект.Наименование; Элемент.Код = Объект.КодБуф; Попытка Элемент.Записать(); Сообщить((Выборка.Код)); Исключение Сообщить(";)") КонецПопытки; {Форма.Форма.Форма(28)}: Ошибка при установке значения атрибута контекста (Объект) Объект= Выборка.Ссылка.ПолучитьОбъект(); по причине: Нельзя изменять поле, содержащее объект данных формы |
|||
1
Любопытная
21.07.14
✎
08:48
|
У тебя переменная Объект содержит объект того, в форме чего ты работаешь. Переименую переменную, в которую получаешь объект
|
|||
2
starV
21.07.14
✎
08:57
|
Объект= Выборка.Ссылка.ПолучитьОбъект();
оно из запроса берется |
|||
3
Любопытная
21.07.14
✎
08:58
|
(2) до этой строки в переменной Объект что хранится?
|
|||
4
Kamas
21.07.14
✎
09:00
|
ЭЭэ формы какие??))
|
|||
5
starV
21.07.14
✎
09:01
|
ну можете подскажите как мне заполнит таб част справочника с его же реквизита
|
|||
6
Любопытная
21.07.14
✎
09:03
|
Ну может ты уже посмотришь, что там в переменной Объект до того, как ты в нее выборку пытаешься засунуть?
|
|||
7
starV
21.07.14
✎
09:04
|
у меня внешняя обработка и в нем одна кнопка
|
|||
8
Kamas
21.07.14
✎
09:04
|
(7) (4) ??
|
|||
9
Любопытная
21.07.14
✎
09:06
|
(7) ну напиши там не
Объект= Выборка.Ссылка.ПолучитьОбъект(); а обНоменклатура = Выборка.Ссылка.ПолучитьОбъект(); Вдруг получится |
|||
10
WF72
21.07.14
✎
09:06
|
(0) кто писал процедуру обхода результатов запроса? конструктор такую хрень не напишет.
|
|||
11
Kurbash
21.07.14
✎
09:16
|
не насилй объект. РеквизитФОрмыВзначение хороший вариант
|
|||
12
Kurbash
21.07.14
✎
09:17
|
а блин, внешняя обработка...
|
|||
13
Kurbash
21.07.14
✎
09:18
|
стоп а Добавить() в ТЧ где?
|
|||
14
Любопытная
21.07.14
✎
09:27
|
(13) он до этого вообще еще не добрался, у него там СоздатьЭлемент() какое-то
|
|||
15
zak555
21.07.14
✎
09:29
|
Объект2= Выборка.Ссылка.ПолучитьОбъект();
Элемент = Объект2.КодыБуф.СоздатьЭлемент(); |
|||
16
Kurbash
21.07.14
✎
09:30
|
Пока Выборка.Следующий() Цикл
Объект= Выборка.Ссылка.ПолучитьОбъект(); Элемент = Объект.КодыБуф.Добавить(); Элемент.Наименование = Объект.Наименование; Элемент.Код = Объект.КодБуф; Попытка Объект.Записать(); Сообщить((Выборка.Код)); Исключение Сообщить(";)") КонецПопытки; как то так если я правильно понял задачу |
|||
17
Kurbash
21.07.14
✎
09:31
|
а, ну да, в текущий объект другой записать не получится, тогда
Пока Выборка.Следующий() Цикл ИзменяемыйОбъект= Выборка.Ссылка.ПолучитьОбъект(); Элемент = ИзменяемыйОбъект.КодыБуф.Добавить(); Элемент.Наименование = Объект.Наименование; Элемент.Код = Объект.КодБуф; Попытка Объект.Записать(); Сообщить((Выборка.Код)); Исключение Сообщить(";)") КонецПопытки; |
|||
18
starV
21.07.14
✎
09:32
|
{Форма.Форма.Форма(29)}: Ошибка при установке значения атрибута контекста (Объект)
Объект= Выборка.Ссылка.ПолучитьОбъект(); по причине: Нельзя изменять поле, содержащее объект данных формы |
|||
19
Kurbash
21.07.14
✎
09:33
|
Повторюсь если читать лень:)
Пока Выборка.Следующий() Цикл ИзменяемыйОбъект= Выборка.Ссылка.ПолучитьОбъект(); Элемент = ИзменяемыйОбъект.КодыБуф.Добавить(); Элемент.Наименование = Объект.Наименование; Элемент.Код = Объект.КодБуф; Попытка ИзменяемыйОбъект.Записать(); Сообщить((Выборка.Код)); Исключение Сообщить(";)") КонецПопытки; |
|||
20
starV
21.07.14
✎
09:38
|
{Форма.Форма.Форма(34,17)}: Переменная не определена (ИзменяемыйОбъект)
<<?>>ИзменяемыйОбъект.Записать(); (Проверка: Сервер) |
|||
21
Любопытная
21.07.14
✎
09:46
|
(20) дай обработку пощупать
|
|||
22
zak555
21.07.14
✎
09:48
|
(20)
где ИзменяемыйОбъект= Выборка.Ссылка.ПолучитьОбъект(); ? |
|||
23
starV
21.07.14
✎
10:00
|
есть ли смысаль просто переименовать объект на ИзменяемыйОбъект
|
|||
24
Kurbash
21.07.14
✎
10:02
|
ты когда пишешь Объект воспринимается как текущий объект, получается ты в текущий объект пишешь ссылку на объект из выборки
|
|||
25
Kurbash
21.07.14
✎
10:03
|
кинь обработку
|
|||
26
Kurbash
21.07.14
✎
10:03
|
&НаСЕрвереБезКОнтекста?
|
|||
27
hhhh
21.07.14
✎
10:04
|
(23) слово "Объект" просто занято другим, неужели не понимаешь? Нельзя писать Объект, поэтому пиши другое название.
|
|||
28
starV
21.07.14
✎
10:07
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ТМЗ_НоменклатураКодыБуф.Ссылка КАК КодыБуф, | ТМЗ_Номенклатура.Ссылка КАК Ссылка, | ТМЗ_НоменклатураКодыБуф.Наименование КАК Наименование, | ТМЗ_НоменклатураКодыБуф.Код КАК Код, | ТМЗ_НоменклатураКодыБуф.Ссылка КАК СсылкаТЧ |ИЗ | Справочник.ТМЗ_Номенклатура КАК ТМЗ_Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТМЗ_Номенклатура.КодыБуф КАК ТМЗ_НоменклатураКодыБуф | ПО (ТМЗ_НоменклатураКодыБуф.Ссылка = ТМЗ_Номенклатура.Ссылка) |ГДЕ | НЕ ТМЗ_Номенклатура.КодБуф = """""; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ИзменяемыйОбъект= Выборка.Ссылка.ПолучитьОбъект(); Элемент = Выборка.СсылкаТЧ.Добавить(); Элемент.Наименование = ИзменяемыйОбъект.Наименование; Элемент.Код = ИзменяемыйОбъект.КодБуф; Попытка Элемент.Записать(); Сообщить((Выборка.Код)); Исключение Сообщить(";)") ; |
|||
29
starV
21.07.14
✎
10:08
|
{Форма.Форма.Форма(30)}: Значение не является значением объектного типа (Добавить)
Элемент = Выборка.СсылкаТЧ.Добавить(); |
|||
30
1Сергей
21.07.14
✎
10:09
|
//Элемент = Выборка.СсылкаТЧ.Добавить();
Элемент = ИзменяемыйОбъект.СсылкаТЧ.Добавить(); |
|||
31
starV
21.07.14
✎
10:10
|
если место добавить заменить создатьЭлемент()
то {Форма.Форма.Форма(30)}: Значение не является значением объектного типа (СоздатьЭлемент) Элемент = Выборка.СсылкаТЧ.СоздатьЭлемент(); |
|||
32
Любопытная
21.07.14
✎
10:11
|
На этом форуме страшно не хватает смайла про стену.
(29) Нельзя ничего добавить в выборку. В ссылку тоже нельзя ничего добавить. Добавить можно в ТЧ объекта, который ты получаешь. |
|||
33
Любопытная
21.07.14
✎
10:11
|
Это такой новый метод программирования - тычем все подряд, авось что-нибудь и сработает
|
|||
34
1Сергей
21.07.14
✎
10:11
|
Элемент = ИзменяемыйОбъект.КодыБуф.Добавить();
|
|||
35
zva
21.07.14
✎
10:12
|
Что вообще за хрень в (0) написана?
Зачем получать объект только ради наименования, которое можно выбрать в запросе? Если ТМЗ_Номенклатура.КодыБуф - это табличная часть, как видно из запроса, то что за условие НЕ ТМЗ_Номенклатура.КодБуф = """""? потом Элемент = Объект.КодыБуф.СоздатьЭлемент(); Лучше все это разувидеть... |
|||
36
Kurbash
21.07.14
✎
10:17
|
(35)-да можно вообще обработку заполнения ТЧ написать, но автор хоче так как в (0)
|
|||
37
1Сергей
21.07.14
✎
10:17
|
(35) ему надо ТЧ заполнить значениями из самого объекта.
С уважением, КЭП |
|||
38
Kurbash
21.07.14
✎
10:21
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ТМЗ_Номенклатура.Ссылка КАК Ссылка, |ИЗ | Справочник.ТМЗ_Номенклатура КАК ТМЗ_Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТМЗ_Номенклатура.КодыБуф КАК ТМЗ_НоменклатураКодыБуф | ПО ТМЗ_НоменклатураКодыБуф.Ссылка = ТМЗ_Номенклатура.Ссылка |ГДЕ | НЕ ТМЗ_Номенклатура.КодБуф = """""; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ИзменяемыйОбъект= Выборка.Ссылка.ПолучитьОбъект(); Элемент =ИзменяемыйОбъект.КодыБуф.Добавить(); Элемент.Наименование = Выборка.Ссылка.Наименование; Элемент.Код = Выборка.Ссылка.КодБуф; Попытка ИзменяемыйОбъект.Записать(); Сообщить((Выборка.Код)); Исключение Сообщить(";)") КонецПопытки; |
|||
39
Kurbash
21.07.14
✎
10:22
|
даже запрос можно упростить
ВЫБРАТЬ | ТМЗ_Номенклатура.Ссылка КАК Ссылка |ИЗ | Справочник.ТМЗ_Номенклатура КАК ТМЗ_Номенклатура |ГДЕ | ТМЗ_Номенклатура.КодБуф <> """""; |
|||
40
starV
21.07.14
✎
10:24
|
Kurbash тебе ооооогромное спасибо :)
|
|||
41
Kurbash
21.07.14
✎
10:25
|
(волк из мультика "Жил был пес") Ты пиши, если че....
|
|||
42
1Сергей
21.07.14
✎
10:26
|
(39) ага. Но, лучше запрос выкинуть нафиг :)
|
|||
43
Kurbash
21.07.14
✎
10:27
|
а как ты без запроса переберешь элементы справочника?
|
|||
44
Любопытная
21.07.14
✎
10:28
|
Вот так всегда.
|
|||
45
Kamas
21.07.14
✎
10:30
|
прошу выразить благодарность Любопытная
|
|||
46
an-korot
21.07.14
✎
10:35
|
давать имена переменным равные командам - это конечно апогей.
|
|||
47
Kurbash
21.07.14
✎
10:40
|
прошу выразить благодарность Любопытная с занесением в личную карточку
|
|||
48
starV
21.07.14
✎
10:51
|
Любопытная спасибо :)
|
|||
49
starV
21.07.14
✎
12:40
|
Процедура заполнять ()
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТМЗ_Номенклатура.Ссылка КАК Ссылка, | ТМЗ_Номенклатура.Наименование КАК Наименование, | ТМЗ_Номенклатура.КодБуф |ИЗ | Справочник.ТМЗ_Номенклатура КАК ТМЗ_Номенклатура |ГДЕ | НЕ ТМЗ_Номенклатура.КодБуф = """""; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ИскОбъект= Выборка.Ссылка.ПолучитьОбъект(); Элемент = ИскОбъект.КодыБуф.Добавить(); Элемент.Наименование = Выборка.Наименование; Элемент.Код = Выборка.КодБуф; Попытка ИскОбъект.Записать(); Исключение Сообщить(";)") КонецПопытки; КонецЦикла; КонецПроцедуры |
|||
50
Любопытная
21.07.14
✎
12:42
|
(49) МОлодец. Теперь классический глупый вопрос: зачем все это?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |