Имя: Пароль:
1C
1С v8
подскажите с регистрацией изменений ( ПланОбмена )
,
0 lim9
 
29.10.13
12:36
Делаю так, вылетает ошибка: "Ошибка при вызове метода контекста (УдалитьРегистрациюИзменений): Недопустимое значение параметра (параметр номер '2')"
Попытка
ПланыОбмена.УдалитьРегистрациюИзменений(Узел, дк.Ссылка);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

смотрю отладчиком:
Узел=Бухгалтерия предприятия, редакция 2.0 Тип=ПланОбменаСсылка.ОбменУправлениеТорговлейБухгалтерияКОРП
дк=Материалы    Тип=СправочникСсылка.Склады
1 lim9
 
29.10.13
12:38
может ли быть такое, что если изменений для справочника Склады = Материалы на данный момент(!) не зарегестрировано, то и вывалиавается ошбка
2 Холодильник
 
29.10.13
12:39
склад есть в составе этого плана обмена?
3 vicof
 
29.10.13
12:40
ПланыОбменаМенеджер (ExchangePlansManager)
УдалитьРегистрациюИзменений (DeleteChangeRecords)
Синтаксис:

УдалитьРегистрациюИзменений(<Узлы>, <Данные>)
Параметры:

<Узлы> (обязательный)

Тип: ПланОбменаСсылка.<Имя плана обмена>; Массив.
Одиночное значение типа ПланОбменаСсылка.<Имя плана обмена> или массив таких значений, показывающие для каких узлов удаляются записи регистрации изменений.
<Данные> (необязательный)

Тип: Метаданные, Неопределено; УдалениеОбъекта; Число; <Данные>.
Значением данного параметра может быть объект метаданных, объект, представляющий данные, хранимые в базе данных, такой как документ, элемент справочника, счет бухгалтерского учета, менеджер записи константы, набор записей регистра и т. п., ссылка на объект базы данных, а также Неопределено.
Если указан объект метаданных, то записи регистрации изменений будут удалены для всех элементов данных, относящихся к указанному объекту метаданных. Объект метаданных должен входить в состав планов обмена всех узлов, указанных в первом параметре.
Если указан УдалениеОбъекта, то удаление записи регистрации изменений выполняется для объекта базы данных, на который "указывает" ссылка, содержащаяся в объекте УдалениеОбъекта.
Если указан объект представляющий данные, хранимые в базе данных, или ссылка, то записи регистрации изменений будут удалены только для указанных данных. Объект метаданных, соответствующий данным должен входить в состав всех планов обмена всех узлов, указанных в первом параметре.
Если указано Неопределено или не указан, то в качестве первого параметра может быть указан только одиночный узел. И в этом случае записи регистрации изменений будут удалены для всех объектов, метаданные которых входят в состав плана обмена, к которому относится узел, указанный в качестве первого параметра.
Если в качестве первого параметра указан одиночный узел, то в параметре может быть указан номер сообщения. В этом случае метод УдалитьРегистрациюИзменений удаляет из всех таблиц регистрации изменений все записи относящиеся к указанному узлу, у которых номер сообщения меньше или равен значению второго параметра.
Значение по умолчанию: Неопределено
Описание:

Удаляет записи регистрации изменений одного или группы элементов данных для одного или нескольких узлов планов обмена.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

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

// Пример 2
// Загрузка из файла
// Производим попытку открытия файла
ЧтениеXML = Новый ЧтениеXML;
Попытка
    ЧтениеXML.ОткрытьФайл(ИмяФайла);
Исключение
    Возврат;
КонецПопытки;
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
Если ЧтениеСообщения.Отправитель <> Ссылка Тогда
    // Сообщение предназначено не для этого узла
    ВызватьИсключение "Неверный узел";
КонецЕсли;
// Удаляем регистрацию изменений для узла отправителя сообщения
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);
4 Холодильник
 
29.10.13
12:41
и ссылка-то заполнена? МБ у вас новый и еще не записанный объект с пустой ссылкой
5 lim9
 
29.10.13
12:43
(2) - естественно,
(3) - 5 раз прочитал до вас, нужной инфы там нет
(4) - все написано четко в (0)
6 Sasha_H
 
29.10.13
12:45
Ты же сам в (1) пишешь, может ли быть такое. Конечно может, если изменение не зарегистрировано как ты его можешь удалить.
7 Sasha_H
 
29.10.13
12:47
(6) дополнение
Удаляют с регистрации обычно то что есть там используя обход результатом запроса или через ВыбратьИзменения, а не просто в лоб УдалитьРегистрацию.
Там есть нюансы с новыми элементами и что ты написал в (0) то что второй элемент это Тип ну дык он и не записан будет содержать Тип Ссылку.
8 ЧессМастер
 
29.10.13
13:06
ребят подскажите пожалуйста как записывать в XML движения документа ? сам объект у меня отлично записывается и переносится через файл
9 Sammo
 
29.10.13
13:08
Например, дк - пустая ссылка.
Например, СправочникСсылка.Склады не регистрируются в данном плане обмена
10 Sasha_H
 
29.10.13
13:09
(8) создавай новую тему!
11 ЧессМастер
 
29.10.13
13:15
(10) ок