Имя: Пароль:
1C
 
Как узнать, зарегистрирован объект для обмена или нет, зная узел обмена?
0 aspect
 
08.06.11
10:33
Глобальная задача (у кого-то на мисте читал) - создать флажок в документе(отображается и в форме списка, и в форме документа), при нажатии на который документ регистрируется для обмена и снимается с регистрации. Значение читается ПриВыводеСтроки() формы списка и ПриОткрытии() формы документа.

Вопрос 1 - правильно ли я понимаю, что для регистрации:
ЭтотОбъект.ОбменДанными.Загрузка = Истина;
ЭтотОбъект.Записать();
Если нет, то как регистрировать, разве узел не нужно указывать?

Вопрос 2 - Как узнать, зарегистрирован ли объект для обмена или нет?
1 Vitello
 
08.06.11
10:37
вопрос 1 - нет
вопрос 2 - есть таблица регистрации для каждого объекта метаданных (кнопочка в верхнем левом углу в конструкторе запросов.)
2 hhhh
 
08.06.11
10:37
(0) ты хоть справку открывай иногда.

ПланыОбменаМенеджер (ExchangePlansManager)
ЗарегистрироватьИзменения (RecordChanges)
Синтаксис:

ЗарегистрироватьИзменения(<Узлы>, <Данные>)
Параметры:

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

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

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

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

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

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

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

// Пример 2
// Для документов РасходнаяНакладная регистрация изменений для узла
// производится только при совпадении складов узла и накладной

// Выбираем документы РасходнаяНакладная по складу узла
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Документ.РасходнаяНакладная
                      |ГДЕ Склад = &Склад");
Запрос.УстановитьПараметр("Склад", Узел.Склад);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
   // регистрируем изменение документа для узла
   ПланыОбмена.ЗарегистрироватьИзменения(Узел, Выборка.Ссылка);  
КонецЦикла;
3 qwerty09
 
08.06.11
10:37
ВЫБРАТЬ
   РеализацияТоваровУслугИзменения.Ссылка
ИЗ
   Документ.РеализацияТоваровУслуг.Изменения КАК РеализацияТоваровУслугИзменения
ГДЕ
   РеализацияТоваровУслугИзменения.Ссылка = &Ссылка
4 ptiz
 
08.06.11
10:38
(0) При записи (независимо от признака Загрузка = Истина;) объект сам зарегистрируется, где надо.
Удалять методом УдалитьРегистрациюИзменений() передав массив всех узлов всех планов обмена, где возможна регистрация.
5 hhhh
 
08.06.11
10:38
(1) там обработка есть во всех типовых, конструкторы запросов не нужны
6 aspect
 
08.06.11
11:03
Спасибо огромное, попробую.