Перенос данных 7.1.16






Перенос данных между базами 1С через файлы, OLE, а также из Excel в 1С. Конфигурации баз могут не совпадать.

Обрабатываются данные следующих классов:

  • вид субконто,
  • бух. итоги,
  • документ,
  • константа,
  • опер. остатки,
  • перечисление,
  • справочник,
  • счет,
  • ТЗ.

Корректно переносятся:

  • история,
  • подчиненные и многоуровневые справочники,
  • подчиненные документы,
  • ручные операции,
  • строки неограниченной длины,
  • реквизиты неопределенного типа.

Основные операции:

  • настройка МД;
  • отбор данных для просмотра;
  • просмотр отобранных данных;
  • выгрузка в файл;
  • перенос файлов;
  • чтение из файла;
  • просмотр загруженных данных;
  • настройка синхронизации;
  • импорт данных;
  • сравнение данных.

Основные плюсы:

  • вычисляемые поля;
  • произвольные условия отбора;
  • работает на любых компонентах, не требуется УРБД;
  • 6 методов синхронизации.

Документация, FAQ, примеры, полная совместимость версий снизу вверх.

48 Comments

  1. Эдуард

    Пока,не смотрел. Ничего сказать не могу.

    Reply ↓
  2. Mishnka1976

    Не совсем понятно как открыть базу источник нажимаешь OLE а реакции никакой

    Reply ↓
  3. victuan

    То Mishnka1976:

    Надо, по крайней мере, добавить параметр OLE_Dir. А вообще, все это описано в руководстве пользователя.

    Reply ↓
  4. cs25

    mclarry — молодца !!! Дельная и главное работоспособная штука !!! + 1 !!!

    Reply ↓
  5. А какой фал-то запускать.

    перенос данных.ert — где он?

    Reply ↓
  6. перенос данных универ.ert

    Видимо, нужно поправить руководство пользователя.

    Reply ↓
  7. Shuffler

    Год назад мне эта обработка очень помогла (тогда ещё была версия 6.5), делали перенос из бухии и торговли в ПУБ, всё прошло на ура, поэтому испытываю от неё только позитив. +1

    Reply ↓
  8. yul_ok

    разбираюсь-никак не получается. помогите, пожалуйста. хочу выгрузить все услуги сторонних организаций, где есть счёт 44.3. выдаётся сообщение: Значение не представляет агрегатный объект (Операция)

    ЗначениеРек= пЭлем.ПолучитьАтрибут(РеквИД);

    {C:DOCUMENTS AND SETTINGSYPODOLSKAYAРАБОЧИЙ СТОЛНОВ ОБРАБОТКАПЕРЕНОС ДАННЫХ УНИВЕР.ERT(10054)}: Неверное имя атрибута Все ссылки для этого документа вроде добавила.

    Reply ↓
  9. Stranger1

    Спасибо за разработку!

    Вопрос — при переносе справочника номенклатуры из Excel в 1С 7.7 (ПУБ) выдаёт ошибку:

    Ошибка: неизвестный тип <Справочник.КлассификаторЕдИзм> в <Справочник.ТМЦ>, реквизит <БазоваяЕдиница>

    Ошибка: неизвестный тип <Справочник.ВидыДеятельности> в <Справочник.ТМЦ>, реквизит <ВидДеятельности>

    Ошибка: неизвестный тип <Справочник.ВидыЗатрат> в <Справочник.ТМЦ>, реквизит <ВидЗатрат>

    и т. д.

    Это всё задано в Excel’е.

    В чём может быть проблема?

    Заранее спасибо за ответ

    Reply ↓
  10. victuan

    Для yul_ok:

    Это неверная обработка общий реквизитов объекта Операция. Нужно сделать следующее — на вкладке МД для Вида Операция убрать признак + для параметра Комментарий

    или

    для Вида УслугиСтороннихОрганизаций убрать признак + для параметра Операция.

    Со всеми вопросами можно непосредственно обращаться к мне, мой е-майл в профиле

    Reply ↓
  11. victuan

    Для Stranger1:

    проблема в несоответствии типов данных. Из Экселя легко переносятся реквизиты простого типа данных: число, строка, дата. Например, такие как Код, Наименование, ПолнНаименование и т.д.

    В экселе значения реквизитов БазоваяЕдиница, ВидДеятельности, ВидыЗатрат и пр. хранятся в виде строки, а в 1С их нужно сохранить в виде элементов соответсвтующих справочников. Обработка автоматически такое преобразование не делает.

    Поэтому эти параметры нужно сделать вычисляемыми и выражении вычисляемых полей описать функции, которые будут создавать/находить нужные элементы справочников по наименованию. Функции сложные — делать их нужно через «Модули» (задействовав 1С++). Об этом написано в документации.

    Reply ↓
  12. Stranger1

    victuan, вычисляемыми делать параметры источника или спавочника?

    Reply ↓
  13. victuan

    To Stranger1: справочника, конечно.

    Если что стукнись в аську или мыло (намылю пример канала).

    Reply ↓
  14. logdog

    Интересует вопрос импорта справочника контрагентов … как правильно прописать правила синхронизации…

    1. сначало сравнение по иннкпп, если нету — создание контрагента, если существует — не изменять (если можно в отчет загнать инфу что совпадение, вообще отлично)

    2. если нету иннкпп — создать по коду контрагента, + если совпадение по коду, то создать с кодом+символ Д в коде….

    Reply ↓
  15. mclarry

    Слишком сложная логика для стандартных настроек синхронизации. Советую написать UDF — собственную функцию, которая выполнит все необходимое и вернет признак «найден-не найден»; метод синхронизации — «Собственная функция».

    Reply ↓
  16. logdog

    ДСп.Данные._ПризнакГр=

    {E:1C BASE#INSTRUMENTAL#WORKОБРАБОТКИTRANSFER7_1ПЕРЕНОС ДАННЫХ УНИВЕР.ERT(10690)}: Операция не выбрана!

    экспорт реализации из комплексной 477 =(

    Reply ↓
  17. victuan

    Для logdog:

    Это багофича платформы 1С: если в метаданных документа признак СоздаватьОперацию имеет значение «ТолькоПриПроведени» (а именно так почему-то сделано в Комплексной конфигурации — во всех остальных типовых конфигурациях значение стоит «Всегда»), то даже для ПРОВЕДЕННОГО документа функция Операция.ВключитьПроводки() дает ошибку: «Операция не выбрана» (если документ не породил бух.проводки).

    Лечится так. В обработке Перенос данных универ.ert строку 10695

    ?( Найти( пТекВид, «Документ») = 1, ?( (пЭлем.Проведен() = 1) ИЛИ (пТекВид = «Документ.Операция»), ?( (ДСп.МД.БухгалтерскийУчет = 0) ИЛИ (Найти( Компоненты1С, «БУ») = 0), «П», ?( пЭлем.Операция.ВключитьПроводки() = 1, «П», «»)), «»), «»))));

    заменить на

    ?( Найти( пТекВид, «Документ») = 1, ?( (пЭлем.Проведен() = 1) ИЛИ (пТекВид = «Документ.Операция»), ?( (ДСп.МД.БухгалтерскийУчет = 0) ИЛИ (Найти( Компоненты1С, «БУ») = 0), «П», ?(Метаданные.Документ(сред(пТекВид,10)).СоздаватьОперацию = «ТолькоПриПроведении», «П», ?( пЭлем.Операция.ВключитьПроводки() = 1, «П», «»))), «»), «»))));

    Reply ↓
  18. oldy

    2 victuan

    если в метаданных документа признак СоздаватьОперацию имеет значение «ТолькоПриПроведени» (а именно так почему-то сделано в Комплексной конфигурации — во всех остальных типовых конфигурациях значение стоит «Всегда»)

    Просто Комплексная имеет режимы создания проводок «сводные за месяц», «по документу», «не создавать». Т.е., у документа, действительно, может вообще не быть операции в зависимости от режима, который может меняться произвольно.

    Reply ↓
  19. victuan

    2 oldy

    Не согласен, что из-за этого. Если документ не формирует проводок, это не значит, что он не проводится — кто будет тогда движения по регистрам создавать?

    Reply ↓
  20. mmaya1

    подскажите пож-та а возможно ли из Бухгалтерии 7 выгружать товарные наклвдные и с/ фактуры в бухгалтерию 8.

    заранее спасибо за ответ

    Reply ↓
  21. mclarry

    Нет, нельзя, тк для загрузки в 8-ку нужен Перенос данных под 8.1. А для всеобщего доступа я его не выкладываю, пока.

    Reply ↓
  22. olbir

    Добрый день! Можно использовать обработку для конвертации данных из 7.7 в 8? Спасибо

    Reply ↓
  23. Душелов

    (22) А чем стандартная универсальная не подходит с конфигурацией «конвертация данных»?

    Reply ↓
  24. Максим2

    что означает ошибка?:

    ЗначениеРек= пЭлем.ПолучитьАтрибут(РеквИД);

    {D:ДОКУМЕНТЫДИСТРИБУТИВЫ1СОБРАБОТКА ДЛЯ ПЕРЕНОСА ДАННЫХПЕРЕНОС ДАННЫХ УНИВЕР.ERT(10054)}: Неверное имя атрибута

    Появляется при выборе (символ #) любого вида документа для экпорта.

    Reply ↓
  25. emptypsk

    > Нет, нельзя, тк для загрузки в 8-ку нужен Перенос данных под 8.1. А для всеобщего доступа я его не выкладываю, пока.

    Можно увидеть эту обработку?

    Очень нужен перенос из Зик в БП

    Из УТ(10.2) в БП(1.6).

    Заранее благодарен.

    Reply ↓
  26. mclarry

    Версия ПД 8.1 больше не поддерживается в связи с переходом на другую платформу (не 1С).

    Reply ↓
  27. all-x

    Не получается установить периодический реквизит справочника через вычисляемое поле. В качестве выражения поставил вызов функции, поставил на нее точку останова — в самом деле не вызывается. Это баг?

    Reply ↓
  28. mclarry

    Баг. Рекомендую записывать пер. реквизиты в обработчике события «После записи».

    Reply ↓
  29. all-x

    Так и сделал.

    Еще пара вопросов возникла.

    1. Можно ли без написания дополнительных функций при переносе добавить строку в табличную часть? (например, ТиС строка выписки -> Бух выписка)

    2. Можно ли без написания дополнительных функций перенести перечисление в справочник? (например, ТиС СтавкиНДС -> Бух СтавкиНДС)

    Ну и спасибо за обработку. Титанический труд проделан! Отдельно — за документацию, по которой реально можно самостоятельно разобраться.

    Reply ↓
  30. mclarry

    1.нет

    2.нет

    Reply ↓
  31. dmitn

    подскажите, пожалуйста, при открытии обработки выдается ошибка «Ошибка при выполнении команды;». Канал создать удалось, но при переходе на вкладку Начало тоже выдает эту же ошибку, причем три раза, и ничего не происходит. Как решить?

    Reply ↓
  32. dmitn

    +(31) запустил с другого компа, все нормально, работает, а на том по-прежнему ту ошибку выдает. Что делать? Windows переустанавливать? Не хотелось бы.

    Reply ↓
  33. mclarry

    Могу только догадываться об источнике сообщения:

    — выражение для вычисляемой переменной

    — некорректное имя канала (ошибка при обращении к папке с некорректным для Windows именем)

    — недостаточно прав доступа для работы с файлами (создание, удаление) в папке _Transfer

    — старый релиз 1С++ (если используется)

    Надо пройтись отладчиком и найти процедуру-источник сообщения.

    Reply ↓
  34. dmitn

    (33) Нет не то и не то

    При открытии обработки выдавалось сообщение «Ошибка при выполнении команды;»

    Прошелся отладчиком и понял, что это происходит при создании каталога, открытии и закрытии файла DBF, где Попытка-Исключение, причем неявно (в конфигураторе этого сообщения нет).

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

    А так обработка понравилась, спасибо! 🙂

    Reply ↓
  35. sevalera

    Не получается перенести операции, ошибка —

    Документ.Операция

    «Операция 0000000045 от 31.12.09 {‘O’,’0′,’0′,’13’,’0′,’0′,’4528′}»

    Поле агрегатного объекта не обнаружено (Вид)

    Большое спасибо, все остальное перенес.

    Reply ↓
  36. dmitn

    А как переносить реквизиты неопределенного типа?

    Reply ↓
  37. mclarry

    (36) Переносятся без проблем, а в чем загвоздка?

    (35) Ручные операции так просто не удастся импортировать. Я для этих целей создаю документ, табличная часть которого копирует структуру проводки, и в него загружаю Операцию.

    Reply ↓
  38. dmitn

    (37) А по скорости у вас как? У меня что-то медленно. Причем, когда большой объем данных (~6000 объектов) и чем ближе к концу скорость становится все медленнее и медленнее. Или я что-то не так делаю?

    Reply ↓
  39. mclarry

    Большие объемы данных, когда размер файлов обмена превышает 10М, — это действительно проблема для ПД. Надо искать возможности и переносить данные порциями.

    Reply ↓
  40. dmitn

    (39) Переношу остатки по счетам. Сами остатки у меня считаются и отбираются верно. Это видно на вкладке данные. А как их записать в операцию? Т.к. при нажатии на кнопку загрузить ничего не записывается 🙁 Подскажите, пожалуйста?

    Reply ↓
  41. mclarry

    Уже писал:

    Ручные операции так просто не удастся импортировать. Я для этих целей создаю документ, табличная часть которого копирует структуру проводки, и в него загружаю Операцию.

    Reply ↓
  42. A1

    Классная программа. Пользуюсь ей постоянно. Правда нашел 2 недочета.

    Первый: в функции Данные_Имп_ЭлемНайти() надо заменить строки

    Если Метаданные.Справочник(Тип2).КоличествоУровней > 1 Тогда
    Если НайтиСтрокуПоКлючу( пПарам, «Родитель», «ИДТ», 1) <> 0 Тогда
    ПарамДан= пПарам.ИД;
    Данные_Имп_ЭлемСсылки(_Obj, пПарам, ПарамДан);
    Родитель= П( _Obj, ПарамДан);
    Попытка
    ТекСпр.ИспользоватьРодителя(Родитель);
    Исключение
    ОшибкаСтр= ОписаниеОшибки()+ «. Тип: «+ пИД+ «, Объект: «+ _Obj._ОбъектВнутр+ «, Родитель: «+ Родитель+ «, Тип Родителя: «+ ТипЗначенияСтр( Родитель);
    Протокол_Запись(ОшибкаСтр);
    Сообщить( ОшибкаСтр, «!»);
    Возврат 0;
    КонецПопытки;
    КонецЕсли;
    КонецЕсли;
    

    Показать

    на

    Если Метаданные.Справочник(Тип2).КоличествоУровней > 1 Тогда
    Если НайтиСтрокуПоКлючу( пПарам, «Родитель», «ИДТ», 1) <> 0 Тогда
    ПарамДан= пПарам.ИД;
    Данные_Имп_ЭлемСсылки(_Obj, пПарам, ПарамДан);
    Родитель= П( _Obj, ПарамДан);
    Родитель = ?(ПустоеЗначение(Родитель)=1, ПолучитьПустоеЗначение(ОбъектИД), Родитель);
    Попытка
    ТекСпр.ИспользоватьРодителя(Родитель);
    Исключение
    ОшибкаСтр= ОписаниеОшибки()+ «. Тип: «+ пИД+ «, Объект: «+ _Obj._ОбъектВнутр+ «, Родитель: «+ Родитель+ «, Тип Родителя: «+ ТипЗначенияСтр( Родитель);
    Протокол_Запись(ОшибкаСтр);
    Сообщить( ОшибкаСтр, «!»);
    Возврат 0;
    КонецПопытки;
    КонецЕсли;
    КонецЕсли;
    

    Показать

    Второй: в самое начало процедуры Данные_Сформировать( СледШаг=»») добавить строку

    ЭтапОбработки= «»;
    

    Спасибо автору(-ам)!

    Reply ↓
  43. LPas

    Пользуюсь постоянно. Отличная программа

    Reply ↓
  44. voyger_men

    Надеюсь разберусь, уже столько инфы перелопатил, все не могу перенести справочники из камина 2.0 в 1с 8

    Reply ↓
  45. corsar4ik

    1. Мегаисчерпывающая документация, спасибо автору за это.

    2. Не требует ничего при загрузке, редкость в наше время, спасибо автору за это.

    3. Функционал на десять с плюсом, настраивается все, спасибо автору за это.

    Для нубов может быть очень сложным…

    Reply ↓
  46. kotenok17_90

    Обработка просто супер. С загрузкой даже мои бухгалтера справились, хотя они не сильны. Загружает отменно, бывают правда недочеты в заполнении реквизитов, но это естественно, конфигурации же разные. Пользуемся все время, так как ведем учет в трех базах две одинаковой конфигурации, а третья другая все супер!!!

    Спасибо!!!

    Reply ↓
  47. PovAndy

    Спасибо за обработку!

    Использую для переноса данных из Камин 1.2 в ЗиК.

    Отдельное спасибо автору за дополнительную настройку для такого переноса данных!

    Reply ↓
  48. victuan

    (47) Вот здесь кстати «правила переноса» из Камин 1.2 в ЗИК 7.7 https://infostart.ru/public/15816/

    А здесь https://infostart.ru/public/92913/ пример переноса из Камин 2.0 в 1С Предприниматель 7.7

    Reply ↓

Leave a Comment

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