Имя: Пароль:
1C
1С v8
Обмен 8.2
0 AlexGS87
 
08.07.13
11:25
Здраствуйте!
Создан автоматический односторонний обмен! Данные попдают с ЦБ в базу приемник, назад обмен не происходит. Подскажите,  пожалуйста, как при записи в базу-приемник  оставлять документи, которые были изменены в базе приемнике. Сейчас заменяется все. Спасибо.
1 Maxus43
 
08.07.13
11:29
если сможешь определить что документ изменялся - то реализуемо. Можешь определить?
2 AlexGS87
 
08.07.13
11:32
Была похожая мисль, ввел реквизит булевский, при изменении.
3 AlexGS87
 
08.07.13
11:34
Теперь перебрать все документы, и по нужному типу сравнивать значения этого булевкого реквизита!
4 Maxus43
 
08.07.13
11:39
ну вариантов реализации много, главное точно определить. остальное мелочи... По версионированию можно определять ещё, если оно есть и включено
5 AlexGS87
 
08.07.13
11:47
Допустим я определил, что документ изменился как это использовать при обмене?
6 Maxus43
 
08.07.13
11:49
(5) анализируй при загрузке
7 AlexGS87
 
08.07.13
11:51
Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад)
   
   
   ТипДанных = ТипЗнч(ЭлементДанных);
   
   Если ТипДанных = Тип("ДокументОбъект.РеализацияТоваровУслуг")Тогда
       
       ///Выбираем все документы в базе приемнике
       Запрос = Новый Запрос;
       Запрос.Текст = "ВЫБРАТЬ
                   |    РеализацияТоваровУслуг.Ссылка,
                   |    РеализацияТоваровУслуг.Дата,
                   |    РеализацияТоваровУслуг.Номер,
                   |    РеализацияТоваровУслуг.Интек_ИзменениеДляОбмена
                   |ИЗ
                   |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                   |ГДЕ
                   |    РеализацияТоваровУслуг.Проведен = ИСТИНА";
      Результат = Запрос.Выполнить();
      Выборка = Результат.Выбрать();
     
      Пока Выборка.Следующий() Цикл
         
          Если  ЭлементДанных.Ссылка = Выборка.Ссылка Тогда
              Если ЭлементДанных.Интек_ИзменениеДляОбмена = Истина Тогда
                 
//    (тут както связать с обменом)              
                 
              КонецЕсли;

             
             
             
             
          КонецЕсли;
8 AlexGS87
 
08.07.13
11:51
Направление правильное?
9 Maxus43
 
08.07.13
11:52
(8) ага
10 AlexGS87
 
08.07.13
11:53
не подскажите как  написать чтобы данные не попали
11 AlexGS87
 
08.07.13
11:54
ПолучениеЭлемента = ПолучениеЭлементаДанных.Игнорировать;
не записывает ничего в базу приемник
12 Maxus43
 
08.07.13
11:55
(11) ну тебе это и надо же?
13 AlexGS87
 
08.07.13
12:04
протестю потом отпишусь! Спасибо!
14 AlexGS87
 
09.07.13
11:11
Работает. Maxus43, спасибо!
Независимо от того, куда вы едете — это в гору и против ветра!