|   |   | 
| 
 | Вопрос по регистрации изменений - ПланОбмена | ☑ | ||
|---|---|---|---|---|
| 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) Все, разобрался. Спасибо.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |