|
v8: Получить объекты из таблицы значений и записать | ☑ | ||
---|---|---|---|---|
0
адинэсниг1
20.05.13
✎
08:49
|
Изучаю 1с :)
Имеем запрос: запрос = новый запрос; запрос.текст = |"выбрать |ДокИстория.Ссылка, |ДокИстория.Ответственный |из |Документ.Док.История как ДокИстория |где |ДокИстория.статус = &статус"; запрос.УстановитьПараметр("статус", Перечисления.аааааа.бббббб); тз=запрос.выполнить().выгрузить() Получаем тз: список документов с ответственными. Нужно ответственного записать в реквизит соответствующего документа Док.Отв. Документ/Объект нужно получить из Ссылка. Вот тут не правильно: Для каждого ссылка из тз цикл ДокументОбъект = тз.ссылка.ПолучитьОбъект(); ДокументОбъект.Отв= тз.Ответственный; ДокументОбъект.записать(); Конеццикла; |
|||
1
1Сергей
20.05.13
✎
08:50
|
хорошо, мы поняли
|
|||
2
адинэсниг1
20.05.13
✎
08:52
|
Помогите написать правильно вот эту часть:
Для каждого ссылка из тз цикл ДокументОбъект = тз.ссылка.ПолучитьОбъект(); ДокументОбъект.Отв= тз.Ответственный; ДокументОбъект.записать(); Конеццикла; |
|||
3
1Сергей
20.05.13
✎
08:53
|
(2) объясни, почему это не правильно
|
|||
4
Godofsin
20.05.13
✎
08:55
|
в запросе: ДокИстория.Ответственный
в цикле: ДокументОбъект.Отв У тебя 2 реквизита с ответственным что ле? |
|||
5
адинэсниг1
20.05.13
✎
08:55
|
после запуска обрабоки пишет:
{Форма.Форма.Форма(18)}: Поле объекта не обнаружено (ссылка) ДокументОбъект = тз.ссылка.ПолучитьОбъект(); |
|||
6
Ursus maritimus
20.05.13
✎
08:55
|
ДокументОбъект = тз.ссылка.ПолучитьОбъект();
ДокументОбъект = ссылка.ссылка.ПолучитьОбъект(); |
|||
7
walp
20.05.13
✎
08:55
|
Потому что будет выдавать синтаксическую ошибку.
Для Каждого Ссылка Из ТЗ цикл В переменной Ссылка будет сохраняться строка таблицы значений. Для наглядности лушче будет написать Для Каждого СтрокаТЗ Из ТЗ Цикл |
|||
8
Ursus maritimus
20.05.13
✎
08:55
|
А лучше
Для каждого строкаТЗ из тз цикл ДокументОбъект = строкаТЗ.ссылка.ПолучитьОбъект(); |
|||
9
walp
20.05.13
✎
08:56
|
Дальше рекомендую в отладчике посмотреть, что содержится в переменной СтрокаТЗ. Станет все гораздо понятнее.
|
|||
10
cw014
20.05.13
✎
08:57
|
Мдаааа
|
|||
11
Маркетолог
20.05.13
✎
08:57
|
Для каждого стрТЗ из тз Цикл
ДокументОбъект = стрТЗ.ссылка.ПолучитьОбъект(); КонецЦикла; |
|||
12
адинэсниг1
20.05.13
✎
08:59
|
Всем спасибо! Кажется поулчилось :)
|
|||
13
адинэсниг1
20.05.13
✎
09:01
|
"У тебя 2 реквизита с ответственным что ле?"
В табл части документа и в самом документе. |
|||
14
ICWiner
20.05.13
✎
09:01
|
Для каждого ссылка из тз цикл
ДокументОбъект = тз.ссылка.ПолучитьОбъект(); ДокументОбъект.Отв= тз.Ответственный; ДокументОбъект.записать(); Конеццикла; Сразу ошибку и не приметишь :) Я тож мимоходом глянул и как (3) подумал, что все норм... |
|||
15
ICWiner
20.05.13
✎
09:02
|
(13) Если в таб части то не взлетит так.
|
|||
16
ICWiner
20.05.13
✎
09:03
|
Для каждого Стр из тз цикл
ДокументОбъект = Стр .ссылка.ПолучитьОбъект(); Для Каждого ТабСтр из ДокументОбъект.ТвояТабЧасть Цикл ТабСтр.Отв= тз.Ответственный; Конеццикла; ДокументОбъект.записать(); Конеццикла; |
|||
17
cw014
20.05.13
✎
09:05
|
(16) У него в табличной части реквизит "Ответственный" (видно из запроса), а в шапке документа реквизит "Отв"
|
|||
18
ICWiner
20.05.13
✎
09:06
|
А, точно :) Типа смотрит кто последний док изменил в таб части История и главного ответственного ставит..
|
|||
19
Infsams654
20.05.13
✎
09:44
|
(2) Для каждого ссылка из тз цикл
нафига ДокументОбъект = тз.ссылка.ПолучитьОбъект(); ? здесь ссылка - строка ТЗ Правильно (11) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |