Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Массовый перенос элементов из одной группы в другую (справочник)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
olichka
Здравствуйте, помогите пожалуйста реализовать массовое перемещение из одной группы в другую. например есть студенты группы 111 нужно по нажатию кнопки автоматически перенести в группу 211, 121 в 221, группу 211 в 311. и так далее. Как реализовать это автоматически, по нажатии кнопки. это вообще реально сделать? Я новичок!!!!
Егор Динин
Универсальный подбор и обработка объектов - обработка позволяет изменять любой реквизит, в том числе родителя, работает в любой конфигурации.(Ctrl+Z не работает:)
olichka
Цитата(Егор Динин @ 16.04.15, 9:56) необходимо зарегистрироваться для просмотра ссылки
Универсальный подбор и обработка объектов - обработка позволяет изменять любой реквизит, в том числе родителя, работает в любой конфигурации.(Ctrl+Z не работает:)

Не могли бы вы привести пример?
logist
Цитата(olichka @ 17.04.15, 23:28) необходимо зарегистрироваться для просмотра ссылки
Не могли бы вы привести пример?

Пример чего? Это типовая обработка, у вас есть инструментарий разработчика, диск ИТС?
olichka
Цитата(logist @ 18.04.15, 19:32) необходимо зарегистрироваться для просмотра ссылки
Пример чего? Это типовая обработка, у вас есть инструментарий разработчика, диск ИТС?

диска нет
Егор Динин
Ну как бы гугл все знает...
необходимо зарегистрироваться для просмотра ссылки
olichka
к сожалению у меня 8.1
logist
Программный код в этом случае одинаковый.
Vofka
olichka, погуглите, вероятно и для 8.1 в сети обработка есть.

Если без этой обработки, то вам надо:
1) выбрать элементы одной группы;
2) установить им другую группу;

Как-то так:

ГруппаИзКоторойНадоВыбрать = Справочники.ИмяСправочника.НайтиПоКоду("000001"); // вставить свой код элемента
ГруппаКоторуюНадоПрисвоить = Справочники.ИмяСправочника.НайтиПоКоду("000002"); // вставить свой код элемента

Выборка = Справочники.ИмяСправочника.Выбрать(ГруппаИзКоторойНадоВыбрать );
Пока Выборка.Следующий() Цикл

   СправочникОбъект = Выборка.ПолучитьОбъект();
   СправочникОбъект.Родитель = ГруппаКоторуюНадоПрисвоить;
   СправочникОбъект.Записать();

КонецЦикла;


Я код не проверял. Но ход мысли, надеюсь, понятен.
olichka
Да, понятен. спасибо. а можно ли пойти от обратного: все группы идентичны только прибавляется 1 (в зависимости от курса). можно ли как-то перемещать элементы прибавляя к родителю 1?


 ! 

Правила, пункт 13
 
Vofka
Не понял
olichka
Цитата(Vofka @ 23.04.15, 8:56) необходимо зарегистрироваться для просмотра ссылки
Не понял

например группа 1153 меняется на группу 2153, группа 2153 меняется на 3153 можно ли как-то поменять группу таким образом, чтоб прибавлять 1 (единицу). а не прописывать все группы в ручную? в ручную прописывать легче, но если в дальнейшем появится новые группы, тогда данная процедура не будет срабатывать
olichka
Есть справочник: Университет. в нем идет специальность, в специальности курсы. а в курсах группы. Нужно по нажатию кнопки или другого элемента автоматически все группы перевести на курс старше, изменив название. нельзя вводить группы. это должно быть автоматически. помогите пожалуйста


 ! 

Правила, п.4
 
olichka
Здравствуйте, я перемещаю элементы по справочнику университет. элементы которые перемещаю это курсы. я беру все элемента курса и перемещаю в другой курс. скажите пожалуйста как переместить эти элементы с новым названием. тоесть элемент 2153 должен стать 3153


Процедура Кнопка1Нажатие(Элемент)
Группа1курс = Справочники.Университет.НайтиПоКоду("000001186"); // вставить свой код элемента
Группа2курс = Справочники.Университет.НайтиПоКоду("000001187"); // вставить свой код элемента

Выборка = Справочники.Университет.Выбрать(Группа1курс);

Пока Выборка.Следующий() Цикл

   СправочникОбъект = Выборка.ПолучитьОбъект();
   СправочникОбъект.Родитель = Группа2курс;
  
   СправочникОбъект.Записать();
  
           КонецЦикла;

  
Группа2курс = Справочники.Университет.НайтиПоКоду("000001187"); // вставить свой код элемента
Группа3курс = Справочники.Университет.НайтиПоКоду("000001188"); // вставить свой код элемента

Выборка = Справочники.Университет.Выбрать(Группа2курс);

Пока Выборка.Следующий() Цикл

   СправочникОбъект = Выборка.ПолучитьОбъект();
   СправочникОбъект.Родитель = Группа3курс;
  
   СправочникОбъект.Записать();

КонецЦикла;


КонецПроцедуры



 ! 

Правила, пункт 12!
 
olichka
Цитата(Vofka @ 20.04.15, 10:50) необходимо зарегистрироваться для просмотра ссылки
olichka, погуглите, вероятно и для 8.1 в сети обработка есть.

Если без этой обработки, то вам надо:
1) выбрать элементы одной группы;
2) установить им другую группу;

Как-то так:

ГруппаИзКоторойНадоВыбрать = Справочники.ИмяСправочника.НайтиПоКоду("000001"); // вставить свой код элемента
ГруппаКоторуюНадоПрисвоить = Справочники.ИмяСправочника.НайтиПоКоду("000002"); // вставить свой код элемента

Выборка = Справочники.ИмяСправочника.Выбрать(ГруппаИзКоторойНадоВыбрать );
Пока Выборка.Следующий() Цикл

   СправочникОбъект = Выборка.ПолучитьОбъект();
   СправочникОбъект.Родитель = ГруппаКоторуюНадоПрисвоить;
   СправочникОбъект.Записать();

КонецЦикла;


Я код не проверял. Но ход мысли, надеюсь, понятен.


у меня получилось переместить, подскажите пожалуйста как во всех перемещенных элементах добавить 1 вначале названия?
Домовик
В синтакс-помощнике смотрите "функции работы со значением типа Строка", в частности функции : Лев(), Прав(), стрЗаменить(), СокрЛП(), стрДлина()
vadim007
Цитата(olichka @ 15.05.15, 23:51) необходимо зарегистрироваться для просмотра ссылки
Здравствуйте, я перемещаю элементы по справочнику университет. элементы которые перемещаю это курсы. я беру все элемента курса и перемещаю в другой курс. скажите пожалуйста как переместить эти элементы с новым названием. тоесть элемент 2153 должен стать 3153

Работа со справочником - стандартная рутинная работа в 1С, что еще нужно программировать для перемещения элементов - не понимаю.
У вас что, жесткая привязка к кодам элемента справочника? Это круто!
Может что-то в консерватории подправить?
Vofka
olichka, необходимо зарегистрироваться для просмотра ссылки стало скучно что ли? Последнее предупреждение: ознакомьтесь с правилами!
Vofka
Пожалуйста.
logist

 i 

Объединил все темы в одну.
 
Домовик
возможно это учебное задание. жесткая привязка в учебе простительна.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.