Имя: Пароль:
1C
 
Проверить сообщение обмена на пустоту
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;
    КонецЦикла;;
Сообщить(Количество);
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.