Имя: Пароль:
1C
 
Перебор документов с изменением даты.
0 Wefast
 
21.11.16
11:31
В базе есть документы с датой "  .  .   " и проведенные при этом.

Хочу их все изменить/удалить

Пишу

Док = СоздатьДокумент("Документ");

Док.ВыбратьДокументы(,Дата1); // тут ограничиваю какой ни-будь реальной датой
Пока Док.ПолучитьДокумент()=1 Цикл
Док.СделатьНеПроведенным();
Док.ДатаДок = Дата2;
Док.Записать();
КонецЦикла;

Он изменяет 1 документ из выборки и все, выборки будто и нет уже никакой.

При этом если просто написать в цикле Сообщить(док.датадок), то он все выводит.


Пробовал делать так

Док = СоздатьДокумент("Документ");

ДокДляИзм = СоздатьДокумент("Документ");

Док.ВыбратьДокументы(,Дата1); // тут ограничиваю какой ни-будь реальной датой
Пока Док.ПолучитьДокумент()=1 Цикл
ДокДляИзм.НайтиДокумент(Док.ТекущийДокумент());
ДокДляИзм.СделатьНеПроведенным();
ДокДляИзм.ДатаДок = Дата2;
ДокДляИзм.Записать();
КонецЦикла;

Но изменений не увидел.

Что я собственно делаю не так?
1 torgm
 
21.11.16
11:34
(0) сначала в таблицу заначений, потом цикл по таблице и там меняй
2 zuza
 
21.11.16
11:56
(0) вот этой строкой сбивается выборка:
Док.Записать();

Так что делай как в (1)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший