Перенос справочников и регистров сведений между похожими конфигурациями 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 не будет опубликован. Обязательные поля помечены *