|
Создать копию структуры справочника | ☑ | ||
---|---|---|---|---|
0
Chum
21.11.13
✎
16:55
|
Задача следующая:
Выбрать неактивных за последний год контрагентов и переместить их в отдельную папку с сохранением иерархии, т.е. грубо говоря, создать клон структуры справочника и заменить родителей у нужных элементов. Подскажите: как можно это сделать просто и быстро? |
|||
1
zak555
21.11.13
✎
16:57
|
если в этой иерархии будет контры, которые "работают" ?
у тебя иерархия задвоится |
|||
2
Maxus43
21.11.13
✎
16:57
|
небольшая обработочка. там запрос + перенос на нового родитея. Предварительно перенос всех родителей в новую папку
|
|||
3
zak555
21.11.13
✎
16:58
|
проще всего в комментарий перенесённого элемента засунуть уид настоящей группы
|
|||
4
Chum
21.11.13
✎
16:58
|
(2) нового родителя искать по полному наименованию?
|
|||
5
Maxus43
21.11.13
✎
16:59
|
(4) можно и так, но я чесно гря не понимаю зачем в папке "Неактивные" создавать копию иерархии
|
|||
6
Infsams654
21.11.13
✎
17:00
|
(1) (5) не копию, написано же "заменить родителей у нужных элементов"
|
|||
7
Chum
21.11.13
✎
17:03
|
(5) я тоже не понимаю, но местный колхоз, который привык раскладывать контрагентов по папкам, названием которых являются дирекция/отдел/еще чего-то
Им, видите-ли, так удобнее, а выслушивать истерики этих бабУшек нет ни малейшего желания. Короче говоря, нужно: было: Родитель1/Родитель2/Родитель3/Контрагент1 станет: Неактивные/Родитель1/Родитель2/Родитель3/Контрагент1 |
|||
8
unregistered
21.11.13
✎
17:05
|
Итог по иерархии.
При обходе, если тип элемента - иерархия, то создаем (или ищем по каким-либо признакам) группу с таким же наименованием. Тут больше вопросов должно быть 1. как определить, что контрагент неактивный. 2. что и как делать если неактивный завтра вдруг станет активным. Заводить нового (появятся дубли), возвращать существующего. 3. Как отрабатывать ситуацию, когда иерархия будет менять (а рано или поздно она обязательно будет меняться даже если пользователи клянутся всеми богами, что этого никогда не будет)? Иерархия неактивных тоже перелопачивать будете и как? 4. Ну и наконец главный вопрос "а нафуя это вообще надо"? |
|||
9
Chum
21.11.13
✎
17:09
|
(8)
1. по движениям 60, 62, 76 2. вернут ручками и оставят, как есть 3. хорошо бы синхронизировать, но это на будущее 4. платят и ладно |
|||
10
МихаилМ
21.11.13
✎
17:13
|
создать - просто
но нужно еще будет её еще синхронизировать. |
|||
11
wms
21.11.13
✎
17:15
|
а какие проблемы? определяешь неактивных, формируешь дерево
и в папку неактивные переносишь контрагентов. родителей создаешь рекурсивной одной функцией , а потом пройтись и пустые группы удалить- на них ссылок не будет и удалить полностью штатно потом |
|||
12
wms
21.11.13
✎
17:18
|
спр=текконтрагент.получитьобъект();
//1 рекурсивная ф-я и в ней если нет родителя то папка неактивные спр.родитель=ПоискСозданиеРодителя(текконтрагент); спр.записать(); главное по иерархии цикл |
|||
13
mr_K
21.11.13
✎
17:20
|
может не в тему, но аналогичную задачу решал так: ночью регламентом помечаем неактивных. в формах списка справочника отмечаем помеченные элементы красненьким )
|
|||
14
mr_K
21.11.13
✎
17:21
|
(13) + в ряде документов при выборе контрагента прописал невозможность выбора "красненького" )
|
|||
15
hhhh
21.11.13
✎
17:54
|
(8) всё-таки иерархию внутри папки неактивные они должны сесть и создать вручную. Зачем на обработку вешать эту ненужную ей работу? Она пусть просто раскладывает по папкам.
|
|||
16
0xFFFFFF
21.11.13
✎
18:27
|
А вариант с сотрудниками ЗУПа не канает? Когда скрываются "неактивные" сотрудники.
|
|||
17
Classic
21.11.13
✎
18:51
|
Лень писать
Смысл 1. Написать запрос с итогами по иерархии 2. Грузануть в дерево 3. Рекурсивный обход дерева с передачей в рекурсивную функцию клона владельца строки |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |