|
Вопрос по регистрации изменений - ПланОбмена |
☑ |
0
ramir
07.06.14
✎
15:07
|
Добрый день!
Хочу запилить обмен данными с сайтом. Прочитал в книге "Профессиональная разработка в системе "1С:Предприятие" про работу механизма плана обмена. Из всего функционала мне нужна регистрация изменений.
Указал состав плана обмена, везде стоит авторегистрация. Единственное в чем осталось разобраться как работают функции ПланыОбмена.ВыбратьИзменения() И ПланыОбмена.УдалитьРегистрациюИзменений()
Сделал специальную обработку, чтобы поиграться с этими функциями в результате имею:
ПланыОбмена.ВыбратьИзменения(Узел, НомерСообщение);
Какой бы НомерСообщения я не указывал, всегда выбираются все зарегистрированные элементы.
ПланыОбмена.УдалитьРегистрациюИзменений(Узел, НомерСообщения)
Какой бы НомерСообщения я не указывал, всегда удалются все зарегистрированные элементы.
Пробовал совместно с ВыбратьИзменения менять НомерОтправленного у Узла - результат тот же.
Как-то все это не сочетается с красивыми картинками из книжки.
Перед выгрузкой измененных объектов на сайт я выбираю их, отправляю, жду пока данные загрузятся и после подтверждения сайтом - удаляю регистрацию изменений. ПРОБЛЕМА заключается в том, что в этот промежуток времени могут быть зарегистрированы другие объекты, но после успешной отправки они будут затерты. Как быть, подскажите?
|
|
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) Все, разобрался. Спасибо.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший