Перенос справочников и регистров сведений между похожими конфигурациями 8-8 через COM/OLE

Перенос данных (на основе обработки  http://infostart.ru/profile/6369/projects/706/)

Пользователь должен обладать правами внешнего соединения!

Будете «плюсовать» — отметьте исходную обработку //infostart.ru/profile/6369/projects/706/

37 Comments

  1. diims

    Спасибо,помогла)+

    Reply
  2. Yasen

    (1) Пожалуйста )

    Reply
  3. tango

    для 8.1

    надо цифру добавить в ("V81.:

    Код
    Функция НачатьСеанс();
    Если глБаза = Неопределено Тогда  
    Попытка
    Com = Новый COMОбъект("V81.COMConnector");

    Показать полностью

    Reply
  4. Yasen

    (3) Спасибо

    Reply
  5. tango

    перенес из УПП в ЗиУП 8.1 рег свед КонтактнаяИнфо, респект, через КД просто за..ся…

    тока надо еще для типовух закомментить такую строчку:

    Код
    Выборка = глБаза.РегистрыСведений[ИмяРегистраСведений].Выбрать();
    ЭлементыФормы.Индикатор.Значение = 0;
    ЭлементыФормы.Индикатор.МаксимальноеЗначение = 99999;
    НаборЗаписей = РегистрыСведений[ИмяРегистраСведений].СоздатьНаборЗаписей();
    Пока Выборка.Следующий() Цикл
    ОбработкаПрерыванияПользователя();
    Попытка
    НачатьТранзакцию();
    НоваяЗапись = НаборЗаписей.Добавить();
    //ЗаполнитьЗначенияСвойств(НоваяЗапись, Выборка, "СтруктурнаяЕдиница,ОтветственноеЛицо,ФизическоеЛицо,Должность");
    Для каждого ИмяРеквизита Из КопируемыеРеквизиты Цикл

    Показать полностью

    Reply
  6. Markovka

    чёта не подключается к базе БП 1.6 для переноса в УПП 1.2

    Reply
  7. Markovka

    даже после исправлений, о которых написано выше

    Reply
  8. Yasen

    (6), (7) Конкретнее, пожалуйста

    Reply
  9. Markovka

    Хочу перенести справочники (сотрудников, физлиц и др.) из БП 1.6 в УПП 1.2 (релизы последние на сегодня). Захожу в УПП, открываю обработку и пытаюсь подключиться к БП. Путь к базе, юзера, пароль (его нет) задаю по примеру, но подключения нет. Хорошо было бы не вписывать путь к базе, а выбирать в диалоге файл базы.

    Reply
  10. Yasen

    (3), (5) Спасибо, исправил. Версия для 8.1 должна будет работать и на 8.2 (не проверял, но в коде прописал)

    Reply
  11. Yasen

    (9) Выложил версию для 8.1

    Попробуйте снова. И отладчик Вам в помощь )

    Reply
  12. Yasen

    (11) Пользователь должен обладать правами внешнего соединения!

    Reply
  13. anatfe

    Спасибо все работает плюсую

    Reply
  14. Yasen

    (13) Пожалуйста.

    Успехов!

    Reply
  15. vitfor

    Спасибо.

    Reply
  16. LLLLLL696

    Просто. Элегантно. Универсально. И главное — РАБОТАЕТ. Интерфейс понятен даже для особо одаренных (это я о себе).

    Reply
  17. FiliAl

    Спасибо огромное, громадное. Управление авторанспортом и Бух на ура! Громадное спасибо. И Код отрыт. Просто класс.

    Reply
  18. Oleg Ar

    не могу не добавить десять раз ++++++++++, СПАСИБО

    Reply
  19. almas

    Ребяты. Внимание!!! При перегрузке элементов не устанавливается GUID такой-же, как в базе источнике. НЕ КУЛЬНО!!!. Если в дальнейшем захотите грузануть через универсальную обработку ВыгрузкаЗагрузкаДанныхXML получите задвоения или ошибку. Надеюсь разработчики учтут и доработают. За идею спасибо. скоро свою штучку выложу.

    Reply
  20. vde69

    (19) в оригинальной версии сделаю опционально, и наверно сделаю опцию связи «код/гуид/наименование»

    Reply
  21. plinth

    Отлично

    Reply
  22. csmail

    Ошибка соединения: {Форма.Форма(16)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса

    Reply
  23. Yasen

    (22) Обработка написана для платформы 8.0. Если платформа другая — отредактируй строку подключения.

    Reply
  24. csmail

    уже запустил!!! там другая закавыка… спрошу позже…

    Reply
  25. csmail

    {Форма.Форма(740)}: Ошибка при вызове метода контекста (Записать): Запись с такими ключевыми полями существует! : (Регистр сведений: Соответствие объектов для обмена; Номер строки: 2)

    НаборЗаписей.Записать();

    по причине:

    Запись с такими ключевыми полями существует! : (Регистр сведений: Соответствие объектов для обмена; Номер строки: 2)

    Reply
  26. Ayvengo

    Просмотрите НаборЗаписей, возможно есть пустые Объекты в этом наборе записей 😉

    Reply
  27. Seregan

    Спасибо, все отлично перенеслось

    Reply
  28. vigo67

    Спасибо, очень нужная штука.

    Reply
  29. jshadow

    Спасибо, обработка очень помогла!

    Reply
  30. Davlad_A

    Полезная вещь!

    Reply
  31. alenakrr

    если в процедуру СкопироватьCOMРеквизит

    добавить в попытку код

    ИначеЕсли Строка(ТипЗначения) =»ПланВидовХарактеристик.СвойстваОбъектов» Тогда

    РеквизитПолучатель = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду(РеквизитИсточник.Ссылка.Code);

    а в процедуру ЗагрузитьПростойСправочник

    в блок Если ЕстьВладелец

    добавить код

    Если Строка(ТипЗначения_) =»ПланВидовХарактеристик.СвойстваОбъектов» Тогда

    ТекущийЭлементСправочника.Владелец = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду(Элемент.Ссылка.Владелец.Code);

    КонецЕсли;

    то можно будет перебросать Значения свойств объектов (как справочник, так и затем регистр)

    (конечно, если предварительно эти самые свойства в Плане видов характеристик с правильными кодами создать)

    если перекинуть справочник «Категории объектов», то надо предварительно зайти в него и выставить правильное «Назначение», иначе не перебросится регистр сведений «Категории объектов».

    + не отрабатывает отжать все флаги — приходится их отжимать руцями

    + не сохраняет историю полей подключения

    + доработать под использование реквизитов План счетов

    а так большой респект! при начале внедрения пришлось менять экстремально валюту учета в УТП как раз после сверки справочников контрагентов и договоров + заполнения базовых регистров. Сэкономила кучу времени! и не пришлось ваять правила обмена для универсальной xml обменялки.

    Reply
  32. Yasen

    alenakrr, рад что помог.

    С регистрами было все не так-то просто.

    То что здесь дано для скачивания — обломки старой обработки, которая переносила ВСЕ.

    Так вот, с регистрами есть особенности, типа наличия обязательных измерений, уникальности записей и т.п.

    Reply
  33. nikavilk

    а для 8.1 и 8.2 нет такой обработки?

    Reply
  34. Yasen

    (33) nikavilk, достаточно открыть обработку в режиме 1С:Конфигуратор, и она будет сконвертирована для нужной версии платформы.

    Reply
  35. smit1c

    (33)(34) а также исправить V82.COMConnector

    Reply
  36. ALLES

    Вылетает по ошибке «объект не заполнен» и набор записей не пишет и ваще ничо не перенесла. Пытался контактную инфу перетащить между одной и той же базой

    Reply
  37. Sanario

    Ошибки:

    1. При подключении к платформе 8.3 надо исправлять на

    Com = Новый COMОбъект(«V83.COMConnector»);

    2. Пометка регистров сведений НЕ РАБОТАЕТ.

    Прикладываю немного поправленный вариант с исправленными ошибками, которые указал выше. Надеюсь автор не будет против

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *