Имя: Пароль:
1C
 
зацикливание уровней справочника
0 dima575
 
24.11.08
22:01
Подскажите как можно избавиться от зацикливания уровней справочника.
1 dima575
 
24.11.08
22:10
никто не сталкивался с этой проблемой ?
Тестирование и исправление помогает или нет ?
2 у лю 427
 
24.11.08
22:11
Это как? Зацикливание уровней. Поясни.....
3 dima575
 
24.11.08
22:13
запустил тестирование пишет зацикливание уровней элемента номенклатуры и повисло помойму
4 dima575
 
24.11.08
22:14
зацикливание возникает например когда родитель элемента тот же самый элемент в иерархических справочниках
5 vde69
 
24.11.08
22:18
можно сделать справочник вообще без иерархии
6 у лю 427
 
24.11.08
22:21
почему то всегда считал, что это проверяется платформой при записи... при переносе в другую группу и т.д.
7 vde69
 
24.11.08
22:23
(6) ну может косяк какой вышел :)
8 dima575
 
24.11.08
22:24
Сам не понимаю из-за чего это возникло, может проблема возникла из-за обмена через распределенную базу.
9 dima575
 
24.11.08
22:25
Пытался дома насильственно сломать базу (зациклить уровни) не дает !!!
10 H A D G E H O G s
 
24.11.08
22:26
Что за справочник то?
11 H A D G E H O G s
 
24.11.08
22:27
В предприятие входит?
12 dima575
 
24.11.08
22:28
Справочник номенклатура похоже ругается на группу товары. Визуально этой папки вообще не видно
13 dima575
 
24.11.08
22:32
При выборе элементов у которых родитель товары 1с виснет.
14 H A D G E H O G s
 
24.11.08
22:32
В консоле отчета выполни

ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.Родитель = Номенклатура.Ссылка
15 dima575
 
24.11.08
22:33
это только выберет а как исправить
16 dima575
 
24.11.08
22:33
у меня сейчас нету этой базы она на работе, не факт что она именно так зациклилась может и подругому как нибудь
17 у лю 427
 
24.11.08
22:34
(15) после этого попробуй получить каждый элемент как элемент, вписать родителя и записать.
18 vde69
 
24.11.08
22:35
(15) делаешь копию, потом в конфигураторе убираешь иерархию, потом по com-у востанавливаешь нормальные ветки
19 H A D G E H O G s
 
24.11.08
22:36
(18) Йа в шоке.
Берем скуль.
Счаст даже запрос приведу..
20 dima575
 
24.11.08
22:36
логично это попробую обязательно. Я боюсь что не получиться. Повиснет наверно 1с-ка. У кого нибудь была такая проблема или нет ?
21 Euguln
 
24.11.08
22:38
Такая проблема была при переносе из 7.7. Лечилось (14) + обработку написал за 5 минут по очистке родителей таких.
22 dima575
 
24.11.08
22:38
Теперь база даже не выгружается пишет ошибку
23 dima575
 
24.11.08
22:38
Может и у меня это из 7 прилетело ?
24 dima575
 
24.11.08
22:39
и помогла очистка родителей ?
25 Euguln
 
24.11.08
22:40
(24) конечно
26 dima575
 
24.11.08
22:41
отлично тогда с этого и начну. Спасибо за подсказку. А то я хотел снова пробовать запускать тестирование и исправление.
27 H A D G E H O G s
 
24.11.08
22:43
Мне даже интересно стало. Счаст с сервером приложений справлюсь и скажу, кто тут главный дятел..
28 у лю 427
 
24.11.08
22:46
ну так 27 и есть главный .... дятел...
(24) или очистка (элементы слетят в корень) или запись туда выбранного родителя - вполне исправят ситуацию
29 dima575
 
24.11.08
22:48
завтра проверим исправят ситуацию или будут вешать 1с.
30 H A D G E H O G s
 
24.11.08
22:50
(28) Ты иди, на акул охоться.. Смешной ты человече..
31 у лю 427
 
24.11.08
22:51
команды миздеть не было....
32 H A D G E H O G s
 
24.11.08
22:54
Тсссс, молчи.. А то придет Сержант 1С и банным веником гонять тебя будет. Опять потом психосексуальные комплексы залечивать будешь..
33 dima575
 
24.11.08
22:56
у меня беда, а вы все шутки шутите !!!!!!!!!!!!
34 vde69
 
24.11.08
23:03
наверно запрос будет примерно такой:

ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   (Номенклатура.Родитель = Номенклатура.Ссылка) и (Номенклатура.Родитель.Уровень+1 > Номенклатура.Уровень)


только есть у меня сомнение, что удасть переписать такие элементы, хотя попробовать стоит
35 vde69
 
24.11.08
23:04
(34)+ вот это "(Номенклатура.Родитель = Номенклатура.Ссылка) и " - лишнее
36 H A D G E H O G s
 
24.11.08
23:06
(35) Где в (14) неправда?
37 Defender aka LINN
 
24.11.08
23:06
(34) А если зацикливание "через уровень" идет? :)
З.Ы. Платформа такие вещи дает записать "на раз": Объект.ОбменДаными.Загрузка = Истина и не такие чудеса творит.
38 vde69
 
24.11.08
23:08
(36) если через уровень?

в 34 тогда правильней условие такое "(Номенклатура.Родитель.Уровень+1) >= Номенклатура.Уровень"
39 dima575
 
24.11.08
23:08
(34) такой запрос работать не будет. Скажет поле не найдено Номенклатура.Родитель.Уровень
40 vde69
 
24.11.08
23:14
(39) може и не будет, не знаю, но вообще я от зацикливания справочников (правда по реквизиту в ТЧ) боролся :) и обычно оно гдето через 2-3 уровня появляеться
41 H A D G E H O G s
 
24.11.08
23:20
Щас смоделировал эту хрень. Можно перезаписать.. Предварительно выбрав запросом в (34).
42 dima575
 
24.11.08
23:21
(40) И как получилось побороть ?
(34) Почему сомнения что удасться побороть такие элементы ?
И как тогда бороться если не даст их перезаписать ?
43 vde69
 
24.11.08
23:24
(42) ну да,
задача была в использование текстовых шаблонов, которые могли ссылаться друг на друга.
44 vde69
 
24.11.08
23:26
(42) если не даст переписать, то или прямым запросом (но восьмерку я прямыми не ковырял), или попробовать через загрузку, или (18).
45 artem666
 
24.11.08
23:53
Была такая хрень - неправильно перенес справочники из 7.7, вот и закольцевал группы номенклатуиы - хорошо хоть сразу обработку написал,если надо могу скинуть
46 у лю 427
 
25.11.08
07:18
(37)"................З.Ы. Платформа такие вещи дает записать "на раз": Объект.ОбменДаными.Загрузка = Истина и не такие чудеса творит."


Выходит, что платформа - гавно, причем гавно большое....
47 Serg_1960
 
25.11.08
08:39
(46)Тебя послушать, так выходит что "format c:" - самое большое "зло". И того кто "это" придумал - повесить мало...
48 Serg_1960
 
25.11.08
09:17
Я сталкивался с "зацикливанием" - не так все просто :( - одним запросом не отделаешься :(
И группы "зацикливаются" через один-два-несколько уровней, - и номенклатура может оказаться "родителем"... Как ловить тогда все "кольца"?
Имхо: в цикле для каждой номенклатуры перебираем родителей с подсчетом их количества и запоминаем в списке значений. Как только количество родителей и количество в списке перестанет быть равным - список пользователю показать - пусть сам решает где надо рвать "кольцо".
Перебор, конечно, не самое лучшее решение. Но это лучше, чем пытать составить "красивое" решение исходя из представления "а как это может быть"...
49 Defender aka LINN
 
25.11.08
09:21
(46) Петя, ты в снеговике много работал? :)
Вообще, такое "зацикливание", ИМХО - проблема логики, а не платформы.
50 BabySG
 
25.11.08
09:43
(49) Присоединюсь - это логика, а не платформа