Имя: Пароль:
1C
1C 7.7
v7: Перенос элементов справочника в другую группу - ниработает (
0 Anton_2011
 
11.02.12
11:14
Народ помогите догнать, туплю с утра (
В справочнике есть элементы помеченные на удаление, их, по этому признаку надо перекинуть в отдельную группу, пишу:
Процедура Сформировать()
   спрном2=создатьобъект("справочник.номенклатура");
   спрном2.найтипонаименованию("Удаленные",0,1);
   спрном=создатьобъект("справочник.номенклатура");
   начатьтранзакцию();
   спрном.выбратьэлементы();
   пока спрном.получитьэлемент()=1 цикл
       если спрном.этогруппа()=1 тогда
           продолжить;
       конецесли;
       если спрном.пометкаудаления()=1 тогда
           спрном.снятьпометкуудаления();            
           сообщить("перенесен элемент: "+спрном.наименование);
           спрном.родитель = спрном2.текущийэлемент();
           спрном.записать();
       конецесли;
   конеццикла;
   зафиксироватьтранзакцию();
КонецПроцедуры
Срабатывает, но переносит не все! Непонимаю - он как то партиями перекидывает! Можно сидеть и тыкать постоянно кнопку "Сформировать" - он по частям будет перекидывать!
Что за хрень?
1 Rie
 
11.02.12
11:15
(0) Выборка сбивается - поскольку у перенесённого элемента теперь другое место в жизни :-)
2 2S
 
11.02.12
11:16
ну, выборка сбивается.
используй порядоккодов или порядокнаименований
3 2S
 
11.02.12
11:16
(1) черт, опередил :)
4 2S
 
11.02.12
11:16
+выборка без учета иерархии
5 Anton_2011
 
11.02.12
11:18
Так чо делать то?
6 Anton_2011
 
11.02.12
11:19
В таблицу значений загонять и по ней херачить?
ох...
7 andrewks
 
11.02.12
11:19
(5) забить?
8 Anton_2011
 
11.02.12
11:19
(7) Читаешь мои мысли но нельзя ((
9 2S
 
11.02.12
11:20
продам СП
10 Anton_2011
 
11.02.12
11:21
(9) Уже купил. В планах так же - купить ник "Ненавижу_1С".
11 2S
 
11.02.12
11:21
спрном.ПорядокКодов();
Спр.ВыбратьЭлементы(0);
12 andrewks
 
11.02.12
11:21
(8) ну, раз нельзя, то тебе уже всё сказали в (1)(2)
13 Rie
 
11.02.12
11:22
(6) Можешь в таблицу значений. Можешь в список значений - например, если помеченные на удаление (но не удалённые) в основном в этом справочнике, можно сразу
НайтиПомеченныеНаУдаление(СписокПомеченных);
и не грустить понапрасну.
Можно запросом...
В общем, вариантов - мульярд.
14 2S
 
11.02.12
11:22
млять
спрном.ПорядокКодов();
спрном.ВыбратьЭлементы(0);
15 Anton_2011
 
11.02.12
11:22
Ну скажите чо вам жалко? Забыл я 77 эту!
Что нужно дописать из СП что бы заработало?
16 Anton_2011
 
11.02.12
11:24
(14) Спасибо добрый человек! Получилось!
Вопрос закрыт.