Имя: Пароль:
1C
1С v8
Конвертация 2.1 Генерация признака изменений
0 srgru
 
11.11.11
13:36
В приемнике ПослеЗагрузки внесены измениения в документ и документ записан (Записать()).
Делаю выгрузку из приемника - этот документ не попадает в выгрузку...

Можно как-то генерить признак того, что документ изменился?
Или как сделать, чтобы он в выгрузку попал?
1 srgru
 
11.11.11
15:49
Намекните хотя бы, или можно так вообще сделать...
2 MadHead
 
11.11.11
15:50
может использовать план обмена?
3 srgru
 
11.11.11
15:54
Он и используется... Но изменяется документ в момент загрузки конвертации. И никем больше не меняется...
А нужно ему установить признак, что как бы менялся. Чтобы попал в выгрузку.
4 MadHead
 
11.11.11
15:55
ПланыОбменаМенеджер (ExchangePlansManager)
ЗарегистрироватьИзменения (RecordChanges)
Синтаксис:

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

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

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

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

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

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

Сервер, толстый клиент, внешнее соединение.
5 srgru
 
11.11.11
17:39
Этот метод действительно работает. Но почему-то не в данном случае. Я вызываю его в модуле объекта, ПередЗаписью.
Так вот. Если вызов происходит в процессе загрузки (конвертации) - отладчиком туда заходит, отрабатывает, но регистрации нет... При ручной записи документа - все отлично...
6 srgru
 
11.11.11
17:41
Видимо нужно в конвертации в событии ПослеЗагрузкиДанных - регистрировать список нужных объектов?
7 probably
 
11.11.11
17:43
(0) а обмен чем выполняется? Если Универсальным обменом, так там за это отдельная галка отвечает.
8 DrShad
 
11.11.11
17:47
Если у тебя используется план обмена, то смотри состав, потом подписки на события по объектам и условия их регистрации
9 srgru
 
11.11.11
18:56
Нет, не универсальным. Обменом для 8.2...
С составом все нормально. Если вручную документ сохранить - все нормально регится.
Сделал регистрацию (ЗарегистрироватьИзменения) в событии ПослеЗагрузкиДанных.
Не регит.
Сдается мне, что после загрузки Конвертация все зацепленные объекты просто удаляет из регистрации. Получается, что я все цепляю это до окончания процесса загрузки. Вот регистрации и нет.
Может такое быть? Можно как-то обойти?
10 Живой Ископаемый
 
11.11.11
18:58
2(9) э... а как конвертация переносит данные? какой-то обработкой? в обработке стоит галка "Использовать ОбменДанными.Загрузка = Истина"?
11 srgru
 
11.11.11
19:01
Нет.
УНФ - Настройки/Обмен данными
В бухии - Сервис/Обмен данными с продуктами на платформе 8.2...
Все обработки (мастера) родные, так сказать...
Конвертация - 2.1.5. Там где при регистрации базы нужно указывать ПланОбмена...
12 acsent
 
11.11.11
19:03
Снять галку: ОбменДанными.Загрузка
13 srgru
 
11.11.11
19:07
Нету галок таких... Не через универсальный обмен...
Но. Имеется ввиду снять Загружать данные в режиме обмена?
Так я повторно запускаю обмен в базе-приемнике, там происходит выгрузка - и все равно эти документы не попадают. Т. к. после их загрузки они не изменялись.
14 srgru
 
11.11.11
19:09
А изменились документы именно в процессе загрузки (конвертации). И вот их мне и нужно зарегистрировать как измененные.
15 Живой Ископаемый
 
11.11.11
19:12
Все понятно - они у тебя загружаются с ОбменДанными.Загрузка = Истина и потому не регистрируются.. поэтому нужно повторно получить список и зарегить
16 srgru
 
11.11.11
19:13
Т. е. уже вне процесса загрузки, да?
17 srgru
 
11.11.11
19:14
Я уже всунулся как бе в самое последнее событие -
"Сделал регистрацию (ЗарегистрироватьИзменения) в событии ПослеЗагрузкиДанных"
Или можно еще куда-то? Список документов у меня в параметре...
Программист всегда исправляет последнюю ошибку.