Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как правильно сделать...

v7: Как правильно сделать...
Я
   tmpnikl
 
24.01.13 - 10:49
Почему если стоит оператор Спр.Записать(), то указатель записи переходит в следующую группу, а если его закомментировать, то все записи показываются по порядку...

Спр=СоздатьОбъект("Справочник.Сотр"); 
Если Спр.ВыбратьЭлементы()=1 Тогда
     Пока Спр.ПолучитьЭлемент()=1 Цикл
          Спр.Родитель=Спр.ТекущийЭлемент();
             Спр.Записать();
          Сообщить(Спр.Наименование);
     КонецЦикла;
КонецЕсли;
 
 
   zak555
 
1 - 24.01.13 - 10:49
что хочешь в конечном итоге ?
   Ёпрст
 
2 - 24.01.13 - 10:50
(0) це же очевидно - сбиваешь выборку при записи нового родителя.
   Ёпрст
 
3 - 24.01.13 - 10:50
ну и это
Спр.Родитель=Спр.ТекущийЭлемент();

вообще шедевр.
   Ёпрст
 
4 - 24.01.13 - 10:50
пизать родителем ссылку на самого себя..
   Vladal
 
5 - 24.01.13 - 10:54
Вывод из (4) - для родителя используй другую переменную, чтобы не сбить выборку. Можешь сделать выборку по коду.
Как вариант, поместить выборку в таблицу значений и обходить уже таблицу.
   tmpnikl
 
6 - 24.01.13 - 10:54
Да, мне не важно, что там записывается в Родителе(Там выбирается новая группа, просто осмотрелся), мне хотелсь бы знать, как продолжить просмотр таблицы с места, где была сделана запись...
   Эльниньо
 
7 - 24.01.13 - 10:55
Сам себе папа. Круто!
   Ёпрст
 
8 - 24.01.13 - 10:55
(5) нет, вывод тут совершенно другой
   1Сергей
 
9 - 24.01.13 - 10:55
(7) если есть машина времени, то почему бы и нет? :)
   пипец
 
10 - 24.01.13 - 10:57
(6) запросом в тз и смотри чо хочешь
 
 Рекламное место пустует
   tmpnikl
 
11 - 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
наслаждайся
   Mikeware
 
14 - 24.01.13 - 11:00
(11) а чего ваша контора программиста не наймет?
   tmpnikl
 
15 - 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
   tmpnikl
 
20 - 24.01.13 - 11:10
Спасибо.. Есди бы я знал, где можно задавать глупые вопросы, то я бы пошёлна тот форум.., чтоб не раздражать тут небожителей..., мне без разница, клоун, Индия и т.д., я не мальчик типа "Сам такой", я ник сменил, а знания остались, и это для меня главное. а не ваше презрение... к индийцам и прочее..
   1Сергей
 
21 - 24.01.13 - 11:10
(18)
          Спр2 = Спр.ПолучитьОбъект();
          ...
          Спр2.Записать();

Не взлетит
   Случайный прохожий
 
22 - 24.01.13 - 11:14
(21) Не спорю :) Главное - идея. Как реализовать - думаю додумается.
   tmpnikl
 
23 - 24.01.13 - 11:16
ещё раз спасибо... подошло Если СпрСотр.ВыбратьЭлементы(0)=1


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует