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