Имя: Пароль:
1C
1С v8
Как найти и изменить реквизит документа?
0 Галахад
 
гуру
30.12.11
11:43
Есть задача изменить значение одного реквизита документа на друге.

Есть старое значение.
Есть новое значение.

Для каждого Реквизит Из Док.Метаданные().Реквизиты Цикл
...
КонецЦикла;        

Как сравнить Реквизит документа и старое значение?
1 Heckfy
 
30.12.11
11:45
Ну, для начала нужно старое куда нибудь записать :)
2 GROOVY
 
30.12.11
11:45
А название реквизита неизвестно?
3 ZanderZ
 
30.12.11
11:45
есть универсальная обработка
4 GROOVY
 
30.12.11
11:45
И старое значние неизвестно?
5 Галахад
 
гуру
30.12.11
11:46
(2) Нет.

(4) Да.
6 rutony
 
30.12.11
11:46
(0) Групповая обработка документов и справочников в помощь
7 Галахад
 
гуру
30.12.11
11:46
Тфу
(2) Не известно.

(4) Известно.
8 aleks-id
 
30.12.11
11:47
запросом получаем список документов, у которых ИмяРеквизита = СтароеЗначение
обходим выборку, получаем по ссылке ДокОбъект и
ДокОбъект.ИмяРеквизита = НовоеЗначение;
9 ssh2006
 
30.12.11
11:47
(7) как тогда узнать что некий реквизит - искомый?
10 Галахад
 
гуру
30.12.11
11:47
(9) по значению.
11 rutony
 
30.12.11
11:47
(7) Отладчиком просто глянь, у Реквизита в твоем цикле, есть Имя, и помоему еще Значение, ну и кури их
12 Галахад
 
гуру
30.12.11
11:48
(9) В смысле, срвнить.
13 aleks-id
 
30.12.11
11:48
ааа.. все. понял. надо найти все документы у которых есть реквизит с разным именем типа Справочник.МойСправочник и заменить одно значение на другое?
14 Галахад
 
гуру
30.12.11
11:49
(11) Значения нету.

(13) Да.
15 aleks-id
 
30.12.11
11:51
используй Реквизит.Тип
16 Галахад
 
гуру
30.12.11
11:56
(15) Ага, это вроде можно. Хотя через пяту точку. Тип-то ОписаниеТипов.

А как значения сравнить?
17 ssh2006
 
30.12.11
11:57
Зюзай обработку поиск и замена значений
18 Галахад
 
гуру
30.12.11
12:02
Протупил.

МойДокумент[Реквизит.Имя] = СтароеЗначение