Как сразу переместить в другую группу несколько элементов?

Программируем на внутреннем языке 1С.

Как сразу переместить в другую группу несколько элементов?

Сообщение StreltsovSG » Чт мар 11, 2010 12:13 am

Хотелось бы переносить в другую группу элементы не по одному ,а сразу несколько- интересно: есть такое?????

StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Работа с деревом

Сообщение Андрей Громов » Чт мар 11, 2010 12:26 am

Специальная обработка пишется за 30 минут. Вешаем на форму списка справочника кнопочку. Нажимаем, открывается список значений с пометками. Помечаем. Указываем папку, в которую нужно перенести помеченные элементы. Нажимаем "Перенести"...

И у меня уже есть готовая обработка, которая меняет родителя для всех элементов, входящих в группу.
Аватара пользователя
Андрей Громов
Администратор
 
Сообщения: 719
Зарегистрирован: Вт мар 06, 2007 11:41 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение StreltsovSG » Чт мар 11, 2010 6:28 pm

Андрей,спасибо.Я,в принципе,понимаю что ты сказал-но я хотел бы сузить свой вопрос-как получить доступ к группе ,которая светится в дереве слева в форме списка спр.Наверное-никак?
StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение Андрей Громов » Чт мар 11, 2010 8:15 pm

StreltsovSG писал(а):как получить доступ к группе ,которая светится в дереве слева в форме списка спр.

Не понял вопрос. Задай вопрос подробнее, если можешь.

Если же тебя интересует вопрос о том, возможно ли ШТАТНЫМИ методами переносить несколько элементов за раз, то твои догадки верны: никак. Перенос элементов в другую группу проводится для каждого элемента отдельно.
Аватара пользователя
Андрей Громов
Администратор
 
Сообщения: 719
Зарегистрирован: Вт мар 06, 2007 11:41 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение StreltsovSG » Пт мар 12, 2010 12:05 am

Я не про штатные средства.Я вот про что :у нас есть в форме списка спр- дерево.Если в форме списка спр. я выделил элемент, то он програмно доступен,как текущийЭлемент()- и делай с ним,что хочешь.В дереве интерактивно я тоже выделяю ,например,группу, она выделилась,окрасилась в синий цвет(или в какой - все равно...)Так вот этот элемент(выделенный в дереве) имеет какие-нибудь атрибуты????Т.е. из кода программного возможно ли обратиться к нему??Вопрос ясен???
StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение Андрей Громов » Пт мар 12, 2010 12:16 am

Вопрос ясен :)
Только сразу возникает встречный вопрос: А зачем тебе такое нужно?

Обрати внимание на предопределённую процедуру ПриПереносеЭлементаВДругуюГруппу()
Код: Выделить всё
Процедура ПриПереносеЭлементаВДругуюГруппу(<?>,)
КонецПроцедуры
Синтаксис:
ПриПереносеЭлементаВДругуюГруппу(<Элемент>,<Группа>)
Назначение:
Предопределенная процедура при интерактивном переносе элемента справочника в другую группу.
Параметры:
<Элемент> - элемент справочника;
<Группа> - группа, в которую переносится элемент справочника.
Замечание:
Данная процедура может располагаться только в модуле формы списка справочника.
Аватара пользователя
Андрей Громов
Администратор
 
Сообщения: 719
Зарегистрирован: Вт мар 06, 2007 11:41 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение StreltsovSG » Пт мар 12, 2010 12:57 am

И все-таки я уточню вопрос (по поводу напишу за полчаса обработку) так можно переносить Элементы программно,а не интерактивно.Я имею ввиду переносить элемент в другую группу,именно переносить элемент,на котором висят остатки(не создавать новый в той группе,а тут удалять,а именно переносить)????
StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение Андрей Громов » Пт мар 12, 2010 10:50 am

StreltsovSG писал(а):И все-таки я уточню вопрос (по поводу напишу за полчаса обработку) так можно переносить Элементы программно,а не интерактивно.

Ради справедливости замечу, что твоё интерактивно - это тоже программно. Потому что в 1С уже есть встроенные процедуры по работе с данными. Это кнопку ты нажимаешь интерактивно, а перенос элементов в другую группу проходит в любом случае программно. Ты не можешь интерактивно поменять родителя у элемента.

StreltsovSG писал(а):Я имею ввиду переносить элемент в другую группу,именно переносить элемент,на котором висят остатки(не создавать новый в той группе,а тут удалять,а именно переносить)????

О чём ты говоришь? С чего ты взял, что при переносе элементов в другую группу в старой группе элемент удаляется, а в новой создаётся новый?

На всякий случай честно признаюсь, что я не копался в DBF-файлах и не знаю, как технически происходит перенос элемента в другую группу. Но здравый смысл мне подсказывает, что удаления-создания элементов при переносе не происходит.

В файле базы данных элемент представлен в виде строки. Значению каждого реквизита соответствует колонка. Родитель элемента справочника - это текстовая ссылка на код группы элементов. Если бы действительно при перемещении элемента старый элемент удалялся, а новый создавался, то программе пришлось бы:
1. Создать новую строку в DBF-файле.
2. Скопировать значения по колонкам из старой строки в новую.
3. Удалить старую строку.

На мой взгляд, это неэффективно! Намного рациональнее всего лишь изменить значение в одной колонке строки, соответствующей элементу, который переносится. А именно, нужно изменить код группы, которая является родительской для данного элемента.

Или я снова не понял вопрос?
Аватара пользователя
Андрей Громов
Администратор
 
Сообщения: 719
Зарегистрирован: Вт мар 06, 2007 11:41 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение StreltsovSG » Пт мар 12, 2010 12:04 pm

Итак:последнее уточнение- возможно ли ,выполняя какие-то процедуры( без нажатия кнопки ), изменить родителя у элемента справочника ???????????????????????????
StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение Андрей Громов » Пт мар 12, 2010 1:27 pm

StreltsovSG писал(а):(без нажатия кнопки)

Я своим бухгалтерам постоянно напоминаю, что внутри компьютера волшебника нет. Компьютер не знает, что хочет пользователь. Поэтому любое действие пользователя на компьютере происходит в два шага:
Шаг 1: Указать компьютеру объект, для которого будет выполняться действие.
Шаг 2: Указать компьютеру действие, которые нужно выполнить для объекта.

Иначе никак.

А как ты собираешься изменить родителя у элемента, если не нажмёшь на кнопку "Переместить в другую группу"?

P.S. Слушай, ну напрягись ты уже в конце концов и объясни понятным языком, чего ты хочешь. А то я уже начинаю сомневаться в твоей квалификации :P

P.P.S. А может ты хочешь сначала с Ctrl выделить несколько элементов, а потом мышкой перетащить их в другую группу?

P.P.P.S. На всякий случай замечу, что в Восьмёрке в форме элемента справочника можно вывести реквизиты "Владелец" и "Родитель". То есть из формы элемента можно "интерактивно" (выбирая из списка некоторых значений) выбрать Родителя для Текущего Элемента. А в Семёрке мне такое представляется невозможным. Штатный способ: выделить Что, выделить Куда, нажать Переместить.
Аватара пользователя
Андрей Громов
Администратор
 
Сообщения: 719
Зарегистрирован: Вт мар 06, 2007 11:41 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение StreltsovSG » Сб мар 13, 2010 7:32 am

"И у меня уже есть готовая обработка, которая меняет родителя для всех элементов, входящих в группу."
Я хочу это!!!!!!!!!!!!
Доброе утро,Андрей.Для выпусника Хмельницкого Высшего Артиллерийского Командного училища моя квалификация программиста 1С более,чем достаточная.А на большее пока не претендую.
StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение Андрей Громов » Пн мар 15, 2010 11:34 pm

StreltsovSG писал(а):Для выпусника Хмельницкого Высшего Артиллерийского Командного училища моя квалификация программиста 1С более,чем достаточная.А на большее пока не претендую.

Несколько лет назад, когда у меня было страстное жаление понять и простить каждого человека, я нашёл для себя уникальный алгоритм, который выражался соедующими словами:
- На твоём месте я поступил бы также.

Но потом, когда крылышки окрепли, а зубки стали острее, я стал отвечать другими словами:
- Но ведь я не на твоём месте.

StreltsovSG писал(а):
И у меня уже есть готовая обработка, которая меняет родителя для всех элементов, входящих в группу.
Я хочу это!!!!!!!!!!!!

Сколько готов заплатить? Отдам за 10 WMZ.
Аватара пользователя
Андрей Громов
Администратор
 
Сообщения: 719
Зарегистрирован: Вт мар 06, 2007 11:41 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение StreltsovSG » Пт мар 19, 2010 8:58 am

WMZ - это души(в смысле мертвые)???
StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение StreltsovSG » Пт мар 19, 2010 9:05 am

И еще ,по поводу понять и простить.Несколько лет назад мои зубы тоже были острее и я ими рвал все,что видел(конкурентов,например),теперь-зубы немного затупились-и я стал добрее,и я стал больше прощать людей,больше пытаться понять(это,конечно, в большей степени касается женщин).А у тебя,Андрей,я вижу:все наооборот?
StreltsovSG
Любитель форума
 
Сообщения: 108
Зарегистрирован: Пт дек 25, 2009 1:11 pm

Re: Как сразу переместить в другую группу несколько элементо

Сообщение Андрей Громов » Пт мар 19, 2010 11:51 am

StreltsovSG писал(а):WMZ - это души(в смысле мертвые)???

Нет. WMZ - это виртуальные деньги. Эквивалент американских долларов.
Аватара пользователя
Андрей Громов
Администратор
 
Сообщения: 719
Зарегистрирован: Вт мар 06, 2007 11:41 pm

След.

Вернуться в Кодирование 1С

Кто сейчас на конференции

Сейчас этот форум просматривают: Google Adsense [Bot] и гости: 1