Имя: Пароль:
1C
1С v8
Обмен РИБ по OLE/COM
0 Necytij
 
28.12.12
20:32
Хочу осуществить. Видел как-то пару раз темы в виде статьи/обсуждения и продаваемую обработку на инфостарте. Сейчас не могу найти ни одной зацепки как это организовать. Ткните меня носом, пожалуйста, куда следует...
1 Necytij
 
28.12.12
20:40
А вообще какая разница РИБ/ не РИБ, план обмена есть. Тот же метод должен быть что и по http://infostart.ru/public/82865/ , так?
2 Рэйв
 
28.12.12
20:44
(1)РИБ - это базы связанные в единую структуру с жесткой зависимостью и отслеживанием коллизий на уровне системы.

Не РИБ - это просто левые базы свзанные по какому то левому алгоритму обмена, написанном Васей Пупкиным( может даже через тот же СОМ, хотя на кой он в РИБ не пойму)
3 Necytij
 
28.12.12
21:35
РИБ / не РИБ я имел ввиду, все равно из одного и того же места тянуть зарегистрированные изменения данных.
Вроде как быстрее такой метод + кое-какие камни есть в пересылке файлов, хоть фтп, хоть почтой, особенно если, например, конфа обновилась. А тут я камней и грабель еще не знаю, а вдруг их нет? xD
4 Fragster
 
гуру
28.12.12
21:37
дарю:


   ЗаписьXML = Новый ЗаписьXML;
   ЗаписьXML.УстановитьСтроку();
   ИмяКорня = "array";
   ЗаписьXML.ЗаписатьНачалоЭлемента(ИмяКорня);
   Для каждого Элемент Из МассивОбъектов Цикл
       СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Элемент, НазначениеТипаXML.Явное);
   КонецЦикла;
   ЗаписьXML.ЗаписатьКонецЭлемента();
   XML = ЗаписьXML.Закрыть();
   
   Для каждого Стр Из Получатели Цикл
       Состояние("Обработано: " + Получатели.Индекс(Стр) + " / " + Получатели.Количество());
       Попытка
           Соединитель = Новый COMObject(КомОбъект);
           КОМ = Соединитель.Connect(Стр.СтрокаСоединения);
           
           КОМЧтениеXML = КОМ.NewObject("ЧтениеXML");
           КОМЧтениеXML.УстановитьСтроку(XML);
           КОМЧтениеXML.Прочитать(); // начало корневого элемента
           КОМЧтениеXML.Прочитать(); // начало данных
           Пока КОМЧтениеXML.Имя <> ИмяКорня Цикл
               КОМЗначение = КОМ.СериализаторXDTO.ПрочитатьXML(КОМЧтениеXML);
               КОМЗначение.Записать();
           КонецЦикла;
           
       Исключение
           КОМ = Неопределено;
           Сообщить(Стр.СтрокаСоединения);
           СообщитьОписаниеОшибки(ИнформацияОбОшибке());
       КонецПопытки
   КонецЦикла;
5 Fragster
 
гуру
28.12.12
21:38
это у меня кусок обработки, которая во много одинаковых баз кидает по кому объекты ИБ
6 Necytij
 
28.12.12
21:38
Спасибо, попробую применить.
7 Necytij
 
28.12.12
21:39
Так это опять обмен через файл? "ЗаписьXML.Закрыть()"
8 Рэйв
 
28.12.12
21:42
(5)Вот только ты забыл сказать одну важную вещь:-)
Что такое и где определяется СериализаторXDTO :-)
Я думаю у падавана точно возникнут вопросы:-)
9 Necytij
 
28.12.12
21:42
Я думал что-то вроде алгоритма:
Соединение
Запуск экспортной функции/обработки возвращающей партию объектов рег. как измененные. Вернул не пустой набор, тогда
применение изменений.
Передача партии изменений собственных в функцию два. Вернула истина, значит пометили, как принято...
Извращенно? У меня часто такие фантазии - люди говорят.
10 Necytij
 
28.12.12
21:43
Я обычно домом пользуюсь, не аналоги по функционалу разве?
11 Fragster
 
гуру
28.12.12
21:46
(7) хоть бы СП почитал...
12 Рэйв
 
28.12.12
21:47
(11)СП резко подскочили в цене на Сотби. Их у всех крадут.
13 Necytij
 
28.12.12
21:54
СП (газета) — молдавский региональный еженедельник, издаётся в Бельцах с 1994 года.
Я не в Бельцах живу.

Что такое СП? RTFM? Радченко?
14 Necytij
 
28.12.12
22:02
Видимо все-таки справка, прочитал, осознал. Каюсь. ))