|
Вопрос по регистрации изменений - ПланОбмена | ☑ | ||
---|---|---|---|---|
0
ramir
07.06.14
✎
15:07
|
Добрый день!
Хочу запилить обмен данными с сайтом. Прочитал в книге "Профессиональная разработка в системе "1С:Предприятие" про работу механизма плана обмена. Из всего функционала мне нужна регистрация изменений. Указал состав плана обмена, везде стоит авторегистрация. Единственное в чем осталось разобраться как работают функции ПланыОбмена.ВыбратьИзменения() И ПланыОбмена.УдалитьРегистрациюИзменений() Сделал специальную обработку, чтобы поиграться с этими функциями в результате имею: ПланыОбмена.ВыбратьИзменения(Узел, НомерСообщение); Какой бы НомерСообщения я не указывал, всегда выбираются все зарегистрированные элементы. ПланыОбмена.УдалитьРегистрациюИзменений(Узел, НомерСообщения) Какой бы НомерСообщения я не указывал, всегда удалются все зарегистрированные элементы. Пробовал совместно с ВыбратьИзменения менять НомерОтправленного у Узла - результат тот же. Как-то все это не сочетается с красивыми картинками из книжки. http://yadi.sk/d/Oh27bRWbSaWbj Перед выгрузкой измененных объектов на сайт я выбираю их, отправляю, жду пока данные загрузятся и после подтверждения сайтом - удаляю регистрацию изменений. ПРОБЛЕМА заключается в том, что в этот промежуток времени могут быть зарегистрированы другие объекты, но после успешной отправки они будут затерты. Как быть, подскажите? |
|||
1
sda553
07.06.14
✎
15:12
|
Выбрать изменения - выбирает все изменения и проставляет им номер какой укажешь
|
|||
2
sda553
07.06.14
✎
15:12
|
А вот удалить регистрацию, удаляет те, у кого номер меньше или равен указанному
|
|||
3
sda553
07.06.14
✎
15:14
|
сайт должен посылать ответ о том какой номер сообщения он принял, а 1с получив ответ, удаляет регистрации с этим номером и ранее. Повторно они отправляться не будут. Если опять не изменились за это время
|
|||
4
ramir
07.06.14
✎
15:14
|
Выборка = ПланыОбмена.ВыбратьИзменения(Обмен, НомерСообщения);
Сообщить("---Данные---"); Кол = 0; Пока Выборка.Следующий() Цикл Сообщить(Символы.Таб + Выборка.Получить()); Кол = Кол + 1; КонецЦикла; Сообщить("---Конец сообщения №" + НомерСообщения + " количество: " + Кол); |
|||
5
ramir
07.06.14
✎
15:15
|
Подставляю НомерСообщения 1, 2, 1, 2 и в результате одно и то же.
|
|||
6
sda553
07.06.14
✎
15:16
|
(5) и это правильно, смотри (1)
|
|||
7
sda553
07.06.14
✎
15:17
|
Попробуй выбрать изменения с номером 1, потом добавь новые изменения, потом выбери изменения с номером 2, потом удали изменения с номером 1. И ты поймешь этот процесс
|
|||
8
ramir
07.06.14
✎
15:19
|
(7) Все, разобрался. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |