|
v7: Как правильно сделать... | ☑ | ||
---|---|---|---|---|
0
tmpnikl
24.01.13
✎
10:49
|
Почему если стоит оператор Спр.Записать(), то указатель записи переходит в следующую группу, а если его закомментировать, то все записи показываются по порядку...
Спр=СоздатьОбъект("Справочник.Сотр"); Если Спр.ВыбратьЭлементы()=1 Тогда Пока Спр.ПолучитьЭлемент()=1 Цикл Спр.Родитель=Спр.ТекущийЭлемент(); Спр.Записать(); Сообщить(Спр.Наименование); КонецЦикла; КонецЕсли; |
|||
1
zak555
24.01.13
✎
10:49
|
что хочешь в конечном итоге ?
|
|||
2
Ёпрст
24.01.13
✎
10:50
|
(0) це же очевидно - сбиваешь выборку при записи нового родителя.
|
|||
3
Ёпрст
24.01.13
✎
10:50
|
ну и это
Спр.Родитель=Спр.ТекущийЭлемент(); вообще шедевр. |
|||
4
Ёпрст
24.01.13
✎
10:50
|
пизать родителем ссылку на самого себя..
|
|||
5
Vladal
24.01.13
✎
10:54
|
Вывод из (4) - для родителя используй другую переменную, чтобы не сбить выборку. Можешь сделать выборку по коду.
Как вариант, поместить выборку в таблицу значений и обходить уже таблицу. |
|||
6
tmpnikl
24.01.13
✎
10:54
|
Да, мне не важно, что там записывается в Родителе(Там выбирается новая группа, просто осмотрелся), мне хотелсь бы знать, как продолжить просмотр таблицы с места, где была сделана запись...
|
|||
7
Эльниньо
24.01.13
✎
10:55
|
Сам себе папа. Круто!
|
|||
8
Ёпрст
24.01.13
✎
10:55
|
(5) нет, вывод тут совершенно другой
|
|||
9
1Сергей
24.01.13
✎
10:55
|
(7) если есть машина времени, то почему бы и нет? :)
|
|||
10
пипец
24.01.13
✎
10:57
|
(6) запросом в тз и смотри чо хочешь
|
|||
11
tmpnikl
24.01.13
✎
10:59
|
Вот полный код, мне надо изменить группу записям...
Ном=Группы.ТекущаяСтрока(); КодГруппы=Группы.ПолучитьЗначение(Ном); Спр=СоздатьОбъект("Справочник.Сотр"); СпрСотр=СоздатьОбъект("Справочник.Сотр"); Если КодГруппы <> 0 Тогда Если Спр.НайтиПоКоду(КодГруппы)=1 Тогда Если СпрСотр.ВыбратьЭлементы()=1 Тогда Пока СпрСотр.ПолучитьЭлемент()=1 Цикл если СпрСотр.ЭтоГруппа() = 0 тогда если (СпрСотр.Степень_вып=Перечисление.Степень.М) тогда СпрСотр.Родитель=Спр.ТекущийЭлемент(); // СпрСотр.Записать(); Сообщить(СпрСотр.Наименование); КонецЕсли; конецесли; КонецЦикла; КонецЕсли; КонецЕсли; конецесли; |
|||
12
Ёпрст
24.01.13
✎
11:00
|
(11)
Если СпрСотр.ВыбратьЭлементы(0)=1 Тогда |
|||
13
Ёпрст
24.01.13
✎
11:00
|
наслаждайся
|
|||
14
Mikeware
24.01.13
✎
11:00
|
(11) а чего ваша контора программиста не наймет?
|
|||
15
tmpnikl
24.01.13
✎
11:00
|
Весь этот излишний код, просто уводит от сути, мне не надо просматривать, мне надо менять родителя в справочнике. а как правильно , чтоб не уходил указатель не знаю...
|
|||
18
Случайный прохожий
24.01.13
✎
11:04
|
Синтаксис семерочный плохо помню, но где-то так:
Спр=СоздатьОбъект("Справочник.Сотр"); Спр2=СоздатьОбъект("Справочник.Сотр"); Если Спр.ВыбратьЭлементы()=1 Тогда Пока Спр.ПолучитьЭлемент()=1 Цикл Спр2 = Спр.ПолучитьОбъект(); Спр2.Родитель=....; Спр2.Записать(); КонецЦикла; КонецЕсли; Вообщем выборку трогать нельзя. Создаешь другую переменную и извращаешься с ней как хочешь. |
|||
19
Ёпрст
24.01.13
✎
11:05
|
(15) см. 12
|
|||
20
tmpnikl
24.01.13
✎
11:10
|
Спасибо.. Есди бы я знал, где можно задавать глупые вопросы, то я бы пошёлна тот форум.., чтоб не раздражать тут небожителей..., мне без разница, клоун, Индия и т.д., я не мальчик типа "Сам такой", я ник сменил, а знания остались, и это для меня главное. а не ваше презрение... к индийцам и прочее..
|
|||
21
1Сергей
24.01.13
✎
11:10
|
(18)
Спр2 = Спр.ПолучитьОбъект(); ... Спр2.Записать(); Не взлетит |
|||
22
Случайный прохожий
24.01.13
✎
11:14
|
(21) Не спорю :) Главное - идея. Как реализовать - думаю додумается.
|
|||
23
tmpnikl
24.01.13
✎
11:16
|
ещё раз спасибо... подошло Если СпрСотр.ВыбратьЭлементы(0)=1
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |