|
Проверить сообщение обмена на пустоту |
☑ |
0
kolts23381
02.10.14
✎
12:39
|
Есть распределенная информационная база. Организовал обмен данными. Хочу сделать чтоб по нажатию кнопки показывалось есть ли изменения в базе, то есть что сообщение обмена не будет пустым. Как это сделать?
|
|
1
lxndr
02.10.14
✎
12:55
|
проверить наличие секции <data></data>
|
|
2
kolts23381
02.10.14
✎
13:09
|
Это если документы будут насколько я понял? У меня там не только документы но еще и номенклатура. Просто я хочу сделать регламентное задание которое будет проверять есть ли изменения в базе и если да то отправлять эти изменения в другую.
|
|
3
kolts23381
02.10.14
✎
13:10
|
Неужели перебирать все возможные секции?
|
|
4
dvva
02.10.14
✎
13:13
|
Сделать запрос к таблицам регистрации изменений
типа
ВЫБРАТЬ
КонтрагентыИзменения.Узел,
КонтрагентыИзменения.НомерСообщения,
КонтрагентыИзменения.Ссылка
ИЗ
Справочник.Контрагенты.Изменения КАК КонтрагентыИзменения
|
|
5
kolts23381
02.10.14
✎
13:13
|
(1) Да затупил это не дата а данные
|
|
6
kolts23381
02.10.14
✎
13:15
|
(4) Тоже думал об этом, просто надо будет перебрать весь состав плана обмена. Сейчас насчет секции <data> смотрю
|
|
7
dvva
02.10.14
✎
13:17
|
секция дата есть УЖЕ когда обмен выполнен и файл сформирован, по моему это не то что ты хотел
|
|
8
kolts23381
02.10.14
✎
13:21
|
Сейчас посмотрел когда есть данные они помещаются в секцию <v8de:Data> </v8de:Data> Когда данных нет то идет просто тег
<v8de:Data/>
|
|
9
PLUT
02.10.14
✎
13:21
|
(6) смотри в обормотке РегистрацияИзмененийДляОбмена, там все уже сделано. останется скопипастить оттуда пару процедур и функций и в цикле сделать запросы к изменениям по метаданным и просуммировать
|
|
10
kolts23381
02.10.14
✎
13:24
|
(7) Ты прав, в принципе получается лишнее действие. Файл то можно не формировать а сделать запрос к изменениям. Придется тогда весь состав плана обмена перебрать и проверить запрос на пустоту.
|
|
11
kolts23381
02.10.14
✎
13:50
|
Все гораздо проще. Может кому пригодится
Выборка = ПланыОбмена.ВыбратьИзменения(УзелОбмена, УзелОбмена.НомерОтправленного);
Количество = 0;
Пока Выборка.Следующий() Цикл
Количество = Количество + 1;
КонецЦикла;;
Сообщить(Количество);
|
|