Имя: Пароль:
1C
1С v8
УдалитьРегистрациюИзменений()
0 zippygrill
 
27.03.13
14:07
всем привет.
вынужден написать тут проблему. цель: удалить все изменениии для конкретново узла, без уточнение по данным. Вот пример из справки:

// Пример 1
Спр = Справочники.Валюты.НайтиПоКоду("810");
Узел = ПланыОбмена.ПО1.НайтиПоКоду("Офис");
ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Спр);

пытаюсь делать у себя:

   //ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
   выборка = ПланыОбмена.ПоРабочемуМесту.Выбрать();
   Если выборка.Следующий() Тогда
       
       ПланыОбмена.УдалитьРегистрациюИзменений(выборка.Ссылка);
       
       //об = выборка.ПолучитьОбъект();
       //об.Удалить();
       
   КонецЕсли;
пишет что несоответствие 1-го параметра. как так?
для сведения: в предприятие, в планОбмена.ПоРабочемуМесту всего один элемент которого хочу удалить.
1 zippygrill
 
27.03.13
14:08
*который
2 fisher
 
27.03.13
14:09
Дык типы проверь.
3 hhhh
 
27.03.13
14:09
(0) надо для всех узлов, кроме самого себя.
4 fisher
 
27.03.13
14:10
И параметры. Первый параметр обязан быть узлом или массивом узлов.
5 fisher
 
27.03.13
14:11
Короче, банальный РТФМ
6 zippygrill
 
27.03.13
14:11
(5) ртфм?
7 Лефмихалыч
 
27.03.13
14:11
(0) удалять изменения для самсебя неправильно - их нет в природе. Выбери усзлы запросом, исключая ЭтотУзел
8 zippygrill
 
27.03.13
14:13
(7) "удалять изменения для самсебя неправильно" - ну я пытаюсь это делать в центральной базе или как это понять? сорри я немного знаю про планыОбмена.
9 wertyu
 
27.03.13
14:14
810 вообще надо удалять, такой валюты нет
10 fisher
 
27.03.13
14:14
(6) RTFM. Легко гуглится. Тупо смотри справку метода в СП (это синтакс-помощник, если чо).
Для удаления всех изменений данные вообще не надо указывать. Только узел.
11 hhhh
 
27.03.13
14:15
(10) он узел указывает
12 fisher
 
27.03.13
14:16
(10) Точно... Значит, не тот узел.
13 zippygrill
 
27.03.13
14:20
14 zippygrill
 
27.03.13
14:24
(12) как не тот узел :)
15 cw014
 
27.03.13
14:26
1. ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Спр);
2. ПланыОбмена.УдалитьРегистрациюИзменений(выборка.Ссылка);

Почувствуй разницу в параметрах
16 Maxus43
 
27.03.13
14:27
Должен быть не просто Не ЭтотУзел, но и там должны быть зарегистрированы изменения эти, чтоб удалится. Иначе тоже ошибку даст ЕМНИП
17 Maxus43
 
27.03.13
14:28
одноразовая операция то? удали руками, обработкой
18 zippygrill
 
27.03.13
14:30
(17) да одноразовая операция. руками не дает - "Действие недоступно для этого узла". програмно тоже врядли.
19 Maxus43
 
27.03.13
14:31
(18) типовая обработка есть, "регистрация изменений для обмена", там ручками укажи и отмени регистрацию
20 zippygrill
 
27.03.13
14:34
в розничной конфе нет.
21 zippygrill
 
27.03.13
14:35
(15) не вижу! если ты о 2-ом параметре то я хочу все данные.
22 hhhh
 
27.03.13
14:36
(18) ну для примера: два узла: Центр и Перефирия.

Если ты в узле центр, ты зарегистрировал изменения для узла периферии. То есть и при удалять изменения должен ставить узел Периферия.

ты просто тупо решил, что у тебя обмен идет Центр-Центр. И фигачишь без устали этот узел. Нет обмена узла с самим собой.
23 Maxus43
 
27.03.13
14:37
УдалитьРегистрациюИзменений - не в Каком узле удалить, а ДЛЯ какого
24 zippygrill
 
27.03.13
14:39
мне в периферийной базе выполнить УдалитьРегистрациюИзменений() :)?
25 Maxus43
 
27.03.13
14:40
(24) в центре, указав узел перефирии
26 fisher
 
27.03.13
14:42
(24) Открой системный справочник планов обмена. Там не может быть один элемент. Один элемент там предопределен и олицетворяет текущий узел. Остальные элементы ассоциированы с периферийками и именно по ним регистрируются изменения.
27 zippygrill
 
27.03.13
14:44
(25) где написано что это узел периферии а не узел центральной?
28 Maxus43
 
27.03.13
14:46
(27) в ошибке написано, неверный параметр
29 Maxus43
 
27.03.13
14:48
(27) в СП написано, параметром не может выступать ЭтотУзел()
30 zippygrill
 
27.03.13
15:01
честноя не понимаю.
как выйти из ситуации?
31 zippygrill
 
27.03.13
15:14
как видно из скрина в (13) других элементов по этому плану обмена нет.
32 Maxus43
 
27.03.13
15:16
(31) что ты оттуда собрался удалять из регистрации тогда? там ничего нет. Планов обмена как минимум 2, центр и узел.
33 Maxus43
 
27.03.13
15:17
найди обработку (19), она универсальная
34 zippygrill
 
27.03.13
15:20
(33) в упп нашел.
35 zippygrill
 
27.03.13
15:25
при выборе Узла обмена в обработке из (19) говорит что "предопределенный узел выбрать нельзя". хорошо, если этот элемент является предопределенным то почему у него ни кода ни наименование нету?
и еще при обновление конфигурации вываливаеться на этот планОбмена вот и решил его времено убрать.
36 Maxus43
 
27.03.13
15:28
(35) где тут связь с (0) то? Проблема в этом, а не в зарегистрированых изменениях?
37 Maxus43
 
27.03.13
15:30
в конфигураторе нет в плане предопределённых элеменов?
38 zippygrill
 
27.03.13
15:32
(36) я же не знал что он предопределенный и вообще как его определить. ну как бы да, с обновлением, я то пошел по цепочке чтобы устранить проблему.
39 Maxus43
 
27.03.13
15:33
(38) с кокойто странной стороны зашёл) смотри (37) и дальше думай
40 hhhh
 
27.03.13
15:34
(38) наименование сам придумываешь. И код. Заносишь. И чудо, предопределенный уже с наименованием.
41 zippygrill
 
27.03.13
15:34
(37) а где их найти? в карточке объекта вроде не вижу предопределенные элементы.
42 Maxus43
 
27.03.13
15:35
(41) упс, согласен, значит кури (40). заполни его
43 Maxus43
 
27.03.13
15:36
мда, что-то мне кажется база крива, ТИИ сделать не мешает, на копии конечно
44 zippygrill
 
27.03.13
15:37
(40) нууу сейчас попробую "обозвать" его и попытаться обновить конфу.
45 zippygrill
 
27.03.13
15:39
нет, сначало сделаю ТИИ и потом (44)
а в ТИИ оставить все по умолчанию(проверки и режимы)?
46 Maxus43
 
27.03.13
15:41
(45) все галки можешь, на всякий, только "Не Изменять" крыжики отметь
47 zippygrill
 
27.03.13
15:52
ну вот кусок результата:

Объект изменен: ПланОбмена.ОбменРозницаБухгалтерияПредприятия
Объект изменен: ПланОбмена.ОбменУправлениеТорговлейРозница
Объект изменен: ПланОбмена.ПоМагазину
Объект изменен: ПланОбмена.ПоРабочемуМесту
Объект изменен: ПланОбмена.ТорговоеОборудованиеOffline
Объект изменен: БизнесПроцесс.Задание
Объект изменен: БизнесПроцесс.СогласованиеЦенНоменклатуры
Объект изменен: Задача.ЗадачаИсполнителя
Объект изменен: Справочник.АналитикаХозяйственныхОпераций
Объект изменен: Справочник.БазовыеЕдиницыИзмерения
Объект изменен: Справочник.Банки
Объект изменен: Справочник.БанковскиеСчетаКонтрагентов
Объект изменен: Справочник.БанковскиеСчетаОрганизаций
Объект изменен: Справочник.ВариантыОтчетов

теперь либо попробовать обновить конфу либо сначало "обозвать" планОбмена и потом обновить?
48 Maxus43
 
27.03.13
15:57
на копии делал то?
Ну короче база кривая, раз ошибки на планах, а вот на что повлияет и что в них меняется - надо думать
49 zippygrill
 
27.03.13
16:03
ну да копия текущей рабочей базы. ее и пытаюсь обновить из .cf файл:)
50 zippygrill
 
27.03.13
16:07
как я получил .cf файл:
- на копии текушей базы накатил обновление из конф. поставщика. сохранил
- добавлял мои изменеии. сохранил в .cf
- на другой копии базы пытаюсь загрузить конфигурацию из файлы который выше сохранил и тут она и останавливается.
51 hhhh
 
27.03.13
16:10
(48) это не ошибки. Информация просто. Что реструктуризация проведена.
52 Maxus43
 
27.03.13
16:11
тот кривой элемеент из рлана ты удалить можешь?
53 zippygrill
 
27.03.13
16:13
(52) он же предопределенный :) нельзя как бы :)
54 Maxus43
 
27.03.13
16:14
(53) а ты попробуй, у планов обмена нет предопределённых
55 zippygrill
 
27.03.13
16:18
56 Maxus43
 
27.03.13
16:24
боюсь надо отвязывать от РИБ, потом удалять, потом привязывать. Как предположение, надо пробовать на тестовых
57 hhhh
 
27.03.13
16:31
(55) должно быть минимум 2 узла в обмене, добавь второй узел.
58 zippygrill
 
27.03.13
16:32
(57) зачем 2-ой узел. у меня обмен с периферийной базой идет через ПланыОбмена.ПоМагазину и прекрасно работает :)
59 zippygrill
 
27.03.13
16:33
ПланыОбмена.ПоМагазину а НЕ по ПланыОбмена.ПоРабочемуМесту
60 zippygrill
 
27.03.13
16:34
//ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
после этого попытался обновить, тоже самое
61 hhhh
 
27.03.13
16:35
(59) на твоем ролике один узел. Должно быть минимум два.
62 Maxus43
 
27.03.13
16:35
(60) попытайся удалить косячный там план обмена после этого
63 Maxus43
 
27.03.13
16:35
(61) там говорит что план левый вобще, не использующийся
64 zippygrill
 
27.03.13
16:38
(61) этот план же не используется вообще, вот и спрашиваю признак его присутствии :)
65 zippygrill
 
27.03.13
16:39
(62) ну ни как не удалить после
//ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
66 hhhh
 
27.03.13
16:39
(64) тогда всё четко там, должен быть один предопределенный узел без кода и наименования. Не трогай там ничего.
67 hhhh
 
27.03.13
16:40
(65) нельзя его удалять.
68 zippygrill
 
27.03.13
16:40
(66) ну я ж его поредактировал уже дал только код и наименование :)
69 hhhh
 
27.03.13
16:42
(68) ну и забей. Чего ты к нему привязался? Раз в конфигураторе план обмена есть, значит узел будет.
70 Maxus43
 
27.03.13
16:43
дак где ошибка то тогда? при обнволнии? Какая именно ошибка?
71 zippygrill
 
27.03.13
16:43
(69) ясно. ты прав. смотрел другие планы обмена которые не использую, там по одному элементу без кода и наименование.
72 zippygrill
 
27.03.13
16:46
(70) такая же как тут http://www.1c-pro.ru/topic44333.html только для объекта ПланОбмена.ПоРабочемуМесту
73 zippygrill
 
27.03.13
16:46
runtime error и путь к .exe файл запуска 1с