![]() |
![]() |
![]() |
|
Что такое авторегистрация | ☑ | ||
---|---|---|---|---|
0
quazare
09.07.09
✎
09:17
|
Народ подскажите.
Есть справочник "Номенклатура". Я создал ПланОбмена "ОбменНоменклатурой", в нем выбрал указанный справочник. Подскажите, что значит "Авторегистрация"? Спасибо! |
|||
1
Нуф-Нуф
09.07.09
✎
09:17
|
это значит что при любом изменении он будет регистрироваться в этом плане обмена
|
|||
2
quazare
09.07.09
✎
09:21
|
(1) в общем случае - "планобмена" - некое хранилище записей?
|
|||
3
bvn13
09.07.09
✎
09:26
|
(2) хранилище записей для выгрузки в другие базы...
|
|||
4
bvn13
09.07.09
✎
09:26
|
+(3) это если образно говорить
|
|||
5
rs_trade
09.07.09
✎
09:28
|
(2) Там храняться ссылки на измененные элементы, для дальнейшей выгрузки..
|
|||
6
quazare
09.07.09
✎
09:32
|
(4),(5) спасибо. а регистрация изменений происходит автоматически по списку (выбранному в плане обмена). Допустим, если я автоматом добавлю элемент в справочник номенклатура, то это добавление "зарегистрируется" в плане обмена. А как посмотреть список зарегистрированных элементов?
|
|||
7
DUDE
09.07.09
✎
09:33
|
Если что создаваемые таблицы регистрации изменений потом можно просмотреть запросами.
|
|||
8
DUDE
09.07.09
✎
09:35
|
+ Есть станд. обработка "Регистрация изменений для обмена". Она идет, например, с конвертацией данных.
|
|||
9
hhhh
09.07.09
✎
09:37
|
(6) в плане обмена есть кнопка "Монитор" или "Зарегистрированные изменения" в виде телевизора.
|
|||
10
quazare
09.07.09
✎
09:41
|
(9) я просто сделал на платформе... внес 2-е записи в номенклатуру - как посмотреть изменения. План Обмена нахожу вот так:
ВыборкаУзлов = ПланыОбмена.ОбменНоменклатурой.Выбрать(); Пока ВыборкаУзлов.Следующий() Цикл Если ВыборкаУзлов.Ссылка = ПланыОбмена.ОбменНоменклатурой.ЭтотУзел() Тогда УзелОбъект = ВыборкаУзлов.ПолучитьОбъект(); Сообщить("Нашел"); КонецЕсли; КонецЦикла; |
|||
11
quazare
09.07.09
✎
09:54
|
Дописал вот так, но пока непонятно как добраться до хранимых ссылок:
Пока ВыборкаУзлов.Следующий() Цикл Если ВыборкаУзлов.Ссылка = ПланыОбмена.ОбменНоменклатурой.ЭтотУзел() Тогда УзелОбъект = ВыборкаУзлов.ПолучитьОбъект(); Запрос = Новый Запрос ("ВЫБРАТЬ | ОбменНоменклатурой.Наименование КАК Наименование, | ОбменНоменклатурой.НомерОтправленного КАК НомерОтправленного, | ОбменНоменклатурой.НомерПринятого КАК НомерПринятого, | ОбменНоменклатурой.Представление КАК Представление |ИЗ | ПланОбмена.ОбменНоменклатурой КАК ОбменНоменклатурой"); Результат = Запрос.Выполнить().Выбрать(); Результат.Следующий(); Сообщить (Результат.Представление); КонецЕсли; КонецЦикла; |
|||
12
DUDE
09.07.09
✎
09:57
|
(11) А что ты хочешь получить запросом? Если зарегистрированные изменения, то нужно что-то типа
"ВЫБРАТЬ НоменклатураИзменения.Ссылка, НоменклатураИзменения.Узел ИЗ Справочник.Номенклатура.Изменения КАК НоменклатураИзменения". Собственно это и есть таблица изменений спр. Номенклатура. |
|||
13
quazare
09.07.09
✎
10:04
|
(12) че-то так ничего не работает :(
НоменклатураИзменения.Узел - ничего не выводит ... |
|||
14
rs_trade
09.07.09
✎
10:07
|
Есть два способа выбрать изменения. Первый просто запросом, это для посмотреть. План обмена при этом не блокируется.
ВЫБРАТЬ Товар.Ссылка КАК Ссылка ИЗ Справочник.Товар.Изменения КАК Товар ГДЕ Товар.Узел = &Узел Второй способ, выбрать изменения стандартными средствами. план обмена при этом блокируется ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ПолучитьИмяВременногоФайла()); ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена.Ссылка); Выборка = ПланыОбмена.ВыбратьИзменения(УзелОбмена.Ссылка, ЗаписьСообщения.НомерСообщения); Пока Выборка.Следующий() Цикл #Если Клиент Тогда ОбработкаПрерыванияПользователя(); #КонецЕсли обОбъект = Выборка.Получить(); Попытка ВыгрузитьОбъектСправочника(ИмяСправочника, обОбъект.Ссылка, спРеквизиты); ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, обОбъект); #Если Клиент Тогда Сообщить(обОбъект.Код+" успешно синхронизирован с узлом "+УзелОбмена.Наименование); #КонецЕсли Исключение ЗаписьЖурналаРегистрации("Обмен данными", ,УзелОбмена, обОбъект, ОписаниеОшибки(),); КонецПопытки; КонецЦикла; ЗаписьСообщения.ПрерватьЗапись(); |
|||
15
DUDE
09.07.09
✎
10:16
|
(13) Наверное не выводит тк нет других узлов, для которых бы регистрировались изменения.
В конце концов можно обратить внимание на обработку РегистрацияИзмененийДляОбмена81.epf, там и просмотреть изменения можно и добавить/удалить регистрацию. |
|||
16
quazare
09.07.09
✎
11:42
|
(14) Делаю запросом - в чем косяк:
Пока ВыборкаУзлов.Следующий() Цикл Если ВыборкаУзлов.Ссылка = ПланыОбмена.ОбменНоменклатурой.ЭтотУзел() Тогда УзелОбъект = ВыборкаУзлов.ПолучитьОбъект(); Запрос = Новый Запрос ("ВЫБРАТЬ | НоменклатураИзменения.Ссылка КАК Ссылка, | НоменклатураИзменения.Узел КАК Узел |ИЗ | Справочник.Номенклатура.Изменения КАК НоменклатураИзменения |ГДЕ | НоменклатураИзменения.Узел = &Узел"); Запрос.УстановитьПараметр("Узел",ПланыОбмена.ОбменНоменклатурой.НайтиПоНаименованию("ТестПланОбмена")); Результат = Запрос.Выполнить().Выбрать(); Результат.Следующий(); Сообщить (Результат.Узел); Сообщить (Результат.Ссылка); КонецЕсли; КонецЦикла; На созданном экземпляре узла стоит точка... |
|||
17
rs_trade
09.07.09
✎
15:08
|
(16) В консоли запросов выбирает записи?
|
|||
18
quazare
10.07.09
✎
10:03
|
(17) неа, чето не то делал.
подскажите а как определить в каком экземпляре узла идет обмен? например,вот как у меня - есть узел обмена ОбменНоменклатурой и я создал 2 экземпляра - "ТестПланОбмена" и "ТестПланОбмена2" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |