[COM] Перенос данных через COMConnector




















Обработка обмена между двумя информационными базами схожей (не обязательно совпадающей) структуры. Изначально была заточена под бухгалтерию предприятия, сейчас используется для для обменов через COM любых конфигураций с режимом запуска «Управляемое приложение».
Ближайший аналог — выгрузка-загрузка XML, но здесь нет промежуточных файлов выгрузки/загрузки, и обмен не прекращается в случае, когда состав реквизитов источника и приёмника различен!!!

27.09.2024 Версия 5.2.3.2 Исправлены исправленыц замеченные ошибки (версия от мая 19 года)

14.04.2024 Версия 3.22 Изменен интерфейс, исправлены ошибки при переносе регистров, изменен порядок переноса организации и учетной политики. Платформа 8.3.7.2027 БП 3.0.43.174 
17.03.2024 Версия 3.24 Исправлены замеченные ошибки. Платформа 8.3.8.1747 БП 3.0.43.241
16.06.2024 Версия 3.26 Исправлены замеченные ошибки. Платформа 8.3.8.2088 БП 3.0.44.123
16.10.2024 Версия 4.0.1.2 Исправлен перенос хранилища  значения, изменён перенос учетной политики для релизов 3.44.*. Платформа 8.3.9.1818 БП 3.0.44.164.
19.04.2024 Версия 4.0.2.7 Изменен алгоритм переноса связанных со справочниками регистров, исправлены замеченные ошибки, исправлен перенос с перезаписью ссылок.
29.05.2024 Версия 4.0.4.5 Изменен перенос движений, добавлен просмотр движений перенесенных документов, что-то ещё….
30.05.2024 Версия 4.0.4.6 Исправлена ошибка при заполнении списка существующих в источнике справочников (спасибо shoy)
17.06.2024 Версия 4.0.5.1 Изменен алгоритм переноса движений.
19.07.2024 Версия 4.0.5.4 Изменен перенос КИ из БП 2.0. Неожиданно, прошёл перенос из УТ 10.3 у Smilegm, в этой версии чуть поправлен перенос для такой ситуации))) 
10.08.2024 Версия 4.0.5.5 Исправлены ошибки при переносе из БП 2.0
19.09.2024 Версия 4.4.5.7 Исправлена проверка подключения для 3.0.52.*
28.11.2024 Версия 4.4.5.9 Исправлены замеченные ошибки
06.12.2024 Версия 5.2.0.4 Переработан алгоритм поиска ссылок. Добавлены процедуры переноса из БП 1.6, жёсткой привязки к БП больше нет — спокойно можно использовать для переноса данных "почти" одинаковых конфигураций. Все замечания постараюсь оперативно исправить.
08.12.2024 Версия 5.2.1.3 Добавлен алгоритм переноса ведомостей на выплату зарплаты из БП .2.0 в БП 3.0.  Включены изменения для обмена между одинаковыми конфигурациями.
19.12.2024 Версия 5.2.2.2 Скорректирован перенос независимых регистров сведений для справочников, которые есть в измерениях этих регистров.

17.01.2024 Версия 5.2.2.3 Исправлены -замеченные ошибки подчинённых справочников и периодических регистров сведений.

06.12.2024 Новая версия обработки 5.2.0.4. Из значимых изменений — возможность переноса из БП 1.6 в БП 3.0. Главное изменение — управление поиском ссылок справочников — в прежних версиях поиск был по ГУИД, а этой версии можно включить поиск "По реквизитам":

17.01.2024 Версия 5.2.2.3 Исправлены -замеченные ошибки подчинённых справочников и периодических регистров сведений.

19.07.2024 Версия 5.2.2.8 Исправлены замеченные ошибки.

07.09.2024 Версия 5.2.2.9 Исправлены функция получения списка организаций базы источника, если в справочнике "Организации" нет кода (например в УТ 11). 

Это режим, при выборе которого поиск ссылки с типом справочник в базе приёмнике будет происходить по Коду (если он есть) и Наименованию (опять же если наименование у справочника есть) .  В составе обработки есть макет "Поля поиска": 

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

21.12.2024 г. Вышла платформа 8.3.7.1805 и БП 3.0.43.29, соответственно и новая версия обработки 3.1 🙂 (описание ниже). Новый функционал — возможность сравнения остатков и оборотов между двумя базами БП (по всем счетам, если планы счетов совпадают, или по отдельным совпадающим счетам бух.учета, с аналитикой или без).
03.01.2024 г. Версия 3.5 — изменен механизм подключения к базе источнику — приведен в соответствие с БСП 2.3.2.43. Исправлены мелкие недочеты. Платформа 8.3.7.1845, БП 3.0.43.50
16.02.2024 г. Версия 3.6 — Добавлен флаг "Установить ручную корректировку" для документов, перенесённых с движениями. Исправлен перенос движений — документы, с датой меньше начала периода переносятся без движений. Платформа 8.3.7.1917, БП 3.0.43.116
22.03.2024 г. Версия 3.10 — Добавлен флаг "Всегда перезаписывать ссылки" для обязательной перезаписи ссылочных объектов (существенно снижается скорость переноса, но иногда необходимо). Добавлена закладка "Подготовка", на которой можно настроить соответствие планов счетов источника и приемника (на ровне кодов счета) и перенос констант. Платформа 8.3.7.1970, БП 3.0.43.148

03.04.2024 Версия 3.11 Изменено заполнение списка существующих в источнике документов: было заполнение по движениям по плану счетов, сделано просто по ссылкам за период, так же как в //infostart.ru/public/509628/

Обработка предназначена для переноса данных за любой период аналогично "Выгрузка загрузка MXL" с ИТС, только без использования XML, JSON и пр. промежуточных файлов — обмен из базы в базу через COM. В версии старше 3.10 используется подключение по алгоритму из БСП, в котором предусморена регистрация comcntr.dll (если "разрещит" ОС), так же различные сообщения, когда устаановить соединение невозможно, например — "Информационная база находится в процессе обновления" и т.п. Добавлена проверка выбора в качестве источника ИБ приёмника — выдается предупреждение.

 

Может быть использована для:

1. Переноса нормативно-справочной информации (НСИ) из ИБ источник в ИБ приёмник (перенос всей НСИ выполняется по желанию пользователя, необходимые справочники и т.д. переносятся по ссылкам при любых переносах).

2. Переноса документов за любой выбранных период.

3. Переноса всеё информации из "поломатой" ИБ, если она запускается в режиме 1С:Предприятия, а выгрузка данных или запуск Конфигуратора невозможны.

Особенность обработки — ИБ приёмника и источника могут быть различны перенос из 2.0 в 3.0 — редакции разные, но перенос работает!!! Несовпадающие реквизиты игнорируются, или для них нужно задать алгоритмы переноса.

Замечание: Конвертация данных НЕ ИСПОЛЬЗУЕТСЯ! И не спрашивайте почему!!! Для особо въедливых — БП 3.0 меняется чуть не каждый день, правила переноса поддерживать в актуальном состоянии уже нет никаких сил — тут всё проще :-).

Ещё одна особенность обработки — она запускается в ИБ приёмника (ближайшие по функционалу аналоги работают наоборот — из источника в приёмник).

Начало работы — необходимо указать период обработки, указать организацию из источника, она будет перенесена в приёмник.

При переносе организации переносится учетная политика, и "сопутствующие" регистры сведений. Поэтому при первом выборе организации в источнике, до появления её в приёмнике пройдёт какое-то врем.

Планы счетов источника и приёмника должны быть одинаковыми, никакие различающиеся счета в версиях 2.* в приёмник не переносятся , настройку соответствие счетов и аналитики планируется включит в дальнейшем. Счета переносятся по кодам, не найденные в приёмнике НЕ СОЗДАЮТСЯ!!!

Остальные объекты переносятся по внутренним идентификаторам (ГУИД), поэтому следует обратить внимание на некоторые ключевые справочники, например — Валюты.

Если планируется обмен с "чистой" базой, то заполненные при первом запуске справочники лучше удалить до обмена. Для чего в обработке предусмотрена страничка, на которой можно получить эти элементы справочников и удалить их. Как минимум нужно удалить валюту "руб." — т.к. задвоение практически неизбежно (в принципе, это легко исправляется после обмена поиском и заменой дублей, встроенным в БП 3.0).

В обработке предуспотрен вызов страницы удаления справочников, при открытой форме начального заполнения:

 При открытии обработки будет выведена страница удаления заполненных при первоначальном заполнении справочников:

С версии 3.22 интерфейс изменен, теперь все подготовительные операции выведены на закладки и доступны всегда

Важно обязательно проверит соответствие Плана счетов источника и приёмника и обязательно указать соответствие счетов.

Предопределённые элементы справочников удалять не нужно — они переносятся по идентификаторам конфигурации (не ГУИД).

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

При обмене с 2.0 часть реквизитов (например, контактная информация) переносится по встроенному в обработку алгоритму, т.к. для 2.0 и 3.0 они хранятся по-разному. Аналогичная ситуация с рядом документов (например, Корректировка долга).

Списко типов объектов может быть заполнен по разному в версии 3.22 это вынесено в подменю, изменения прописаны на картинке:

 

 

Есть упрощение использования обработки — можно не подбирать справочники для обмена, а просто заполнить список типов в приёмнике только теми типами справочников, у которых есть хотя бы одна запись в источнике. 

 

В обработку встроен макет, в котором перечислены справочники, которые переносить из источника в приёмник не нужно (макет "Исключить из переноса"). В этот макет можно добавить (удалить) любые справочники. Если переносить всю НСИ не нужно — достаточно перенести документы, получить список которых можно так же без подбора типов, просто заполнить всеми документами источника, по которым существуют проводки.

 

Предусмотрен перенос документов с движениями, для обменов 3.0 в 3.0 и соответствии планов счетов отрабатывает один в один, при обмене 2.0 в 3.0 возможны ошибки, поэтому рекомендуется перенести документы без движений, и потом просто перепровести их в приемнике. При переносе документов с движениями устанавливается флаг «Ручная корректировка».

Реквизит "Проведен" устанавливается в документах приёмника таким же как в источнике, но движения (если их не переносили) появятся только после проведения документов, например, с помощью встроенной в БП 3.0 обработки Групповое проведение документов (рекомендуемый вариант), или же из этой обработки (кнопка "Провести документы" тут есть).

Если обработку планируется использовать для постоянного обмена — её можно зарегистрировать в ИБ приёмника (кнопка "Зарегистрировать"). Для "одноразовых" переносов можно просто использовать через Файл — Открыть.

21.12.2024 — Версия 3.1 платформа 8.3.7.1805 и БП 3.0.43.29 (версия 2.15 для 3.0.43.* не работает — конфигурацию достаточно сильно изменили).

Изменено:

— диалог выбора варианта подключения, флаг Клиент-сервер доступен всегда, в зависимости от его устновки доступен или выбор папки файловой базы, или поля с именем базы на сервере и именем самого сервера (исправлена ошибка диалога версии 2.15)

НОВЫЙ ФУНКЦИОНАЛ: Механизм сверки остатков и оборотов между базами источника и приёмника в разной степени детализации:

 

Выбор вариантов сверки думаю понятен из рисунка:

Есть различия в использовании в тонком и толстом клиенте — в толстом сразу выводится окно сравнения файлов:

В тонком же клиенте не стал извращаться с программным нажиманием кнопок, предлагаю простой вариант вывода окна сравнения:

Сравнение в тонком клиенте, ИМХО, более удобно, т.к. имеет кнопки навигации по различиям, что при больших объемах таблиц удобней, чем прокрутка мышью:

 

22.03.2024 г. Версия 3.10 — Добавлен флаг "Всегда перезаписывать ссылки" для обязательной перезаписи ссылочных объектов (существенно снижается скорость переноса, но иногда необходимо). Добавлена закладка "Подготовка", на которой можно настроить соответствие планов счетов источника и приемника (на ровне кодов счета) и перенос констант. Платформа 8.3.7.1970, БП 3.0.43.148

 — НОВЫЙ ФУНКЦИОНАЛ: Перед переносом документов рекомендуется проверить план счетов, на предметсоответствия в источнике и приёмнике, а так же соответствие устновленных констант.

Для этого добавлены закладка "Подготовка" в которой можно установить эти соответствия:

Алгорим заполнения таблицы соответствия счетов простой — анализируются существующие в источнике обороты, и каждому встретившемуся там счетё по коду ищется соответствие в приёмнике, если соответствие не найдено — в таблицу выводится строка с кодом счета, по которым нужно выбрать счет приёмника, он и будет использоваться при переносе.  Соответствие поука устанавливается на уровне кодов.

 

Для проверки и переноса соответствия установленных констант используется соотвествующая таблица:

Заполняем, если нужно — переносим. Переносятся только отмеченные флагом константы…

99 Comments

  1. iterf@yandex.ru

    В клиент-серверном варианте не тестировали. Галочка в настройках сохраняется, но переоткрывается форма некорректно.

    Всё время ругается на логин/пароль, кавычек многовато будет.

    «Srvr=»+СокрЛП(ПодключенияСервер)+»;Ref=»+СокрЛП(ПодключенияИмяФайлаИБ)+»;Usr=»+СокрЛП(ПодключенияЛогин)+»»»;Pwd=»»»+СокрЛП(ПодключенияПароль)+»»»;»;

    Reply
  2. Alex_E

    (1) iterf@yandex.ru, Не тестировал, это правда, просто нет сейчас возможности проверить. Походу кавычек как раз не хватает. Проверьте пожалуйста — вот такая строка пройдёт?:

    «Srvr=»+СокрЛП(ПодключенияСервер)+»;Ref=»+СокрЛП(ПодключенияИмяФайлаИБ)+»»»;Usr=»»»+СокрЛП(ПодключенияЛогин)+»»»;Pwd=»»»+СокрЛП(ПодключенияПароль)+»»»;»;

    Про форму — как будет доступ, проверю, исправлю…

    Reply
  3. lena7487

    Не подключается к ИБ. Что не так?

    Reply
  4. Alex_E

    (3) lena7487, Пишите в личку — могу посмотреть через ammy admin, угадать по

    Не подключается к ИБ. Что не так?

    увы не смогу… Там вообще то должно что то писаться, почему не подключается. Могу так же предположить, что не зарегистрирована библиотека comcntr.dll. Попробуйте от имени администратора выполнить команду:

    regsvr32 «c:Program Files (x86)1cv88.3.7.1790incomcntr.dll»

    где c:Program Files (x86)1cv88.3.7.1790in путь к папке с платформой, где эта билиотека находится…

    Reply
  5. lena7487

    Неужели деньги на ветер???? АУУУУ!!! У нас терминальный вариант, ЧАВО делать -то??? как подключить базу?

    Reply
  6. Alex_E

    (5) lena7487, Ещё раз, гадать я не умею, посмотреть могу, как уже писал выше…

    Терминальный вариант или локальный значения не имеет — указывается путь к папке базы, логин пользователя и пароль (если есть). На сервере должна быть зарегистрирована библиотека см. (4).

    Reply
  7. lena7487

    Все заработало когда переустановили COMconnector. Спасибо за обработку!!

    Reply
  8. Alex_E

    (7) lena7487, Пожалуйста! 🙂

    Reply
  9. znach

    Здравствуйте, 1С:Предприятие 8.3 (8.3.7.1845) Конфигурация: БИТ: Ресторан на основе Бухгалтерия предприятия, редакции 2.0 (2.0.65.1) (1.1.32.20) Режим серверный. При открытии обработки ошибка:

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(449,8)}: Процедура или функция с указанным именем не определена (СтрНайти)

    Если <<?>>СтрНайти(Параметры.ИмяПользователя, «»»») Тогда

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(453,8)}: Процедура или функция с указанным именем не определена (СтрНайти)

    Если <<?>>СтрНайти(Параметры.ПарольПользователя, «»»») Тогда

    Reply
  10. Alex_E

    (9) znach, Вообще то запускаться обработка должна в БП 3.0 (в 2.0 откроется, только если разрешено использование управляемых форм — обычных тут нет) — источником данных может быть БП 2.0 или её клоны хоть под 8.2 запускаемые…

    У вас ошибка я так понимаю в версии обработки 3.5 — там как раз запуск источника из последней БСП взят.

    Попробуйте заменить на

    Если Параметры.Свойство(«ИмяПользователя») Тогда 

    и

    Если Параметры.Свойство(«ПарольПользователя») Тогда

    — может получится

    Reply
  11. znach

    извиняюсь, вопрос снят

    Reply
  12. znach

    1С:Предприятие 8.3 (8.3.7.1845) Конфигурация БИТ.АППЕТИТ.Бухгалтерия ресторана 3.0 (на базе Бухгалтерия предприятия, редакция 3.0) (3.0.43.32)

    Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса . Не удалось подключится к другой программе: {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(393)}: Ошибка при вызове конструктора (COMObject)

    COMConnector = Новый COMObject(ИмяCOMСоединителя()); // «V83.COMConnector»

    по причине:

    -2147221005(0x800401F3): Недопустимая строка с указанием класса

    Reply
  13. znach

    источник серверный, приемник файловый

    Reply
  14. znach

    библиотека зарегистрирована

    Reply
  15. Alex_E

    (14) znach, для серверной базы регистрации библиотеки может быть недостаточно http://novichok1c.ru/ustranenie-oshibki-pri-podklyuchenii-k-baze-dannyh-1s-cherez-com-soedinenie — вот описание того, что Вам нужно сделать (у lena7487 чуть выше та же беда была)

    по ссылке описано для 8.2, Вам нужен 83

    Reply
  16. znach

    спасибо! всё получилось

    Reply
  17. Alex_E

    (16) znach, Пожалуйста 😉

    Reply
  18. fanet

    напишите в чем разница между обработками 3.5, 3.1, 3.0 какую использовать? возможно ли использовать обработку для слияния 2х баз бухгалтерия 8.3 (Бухгалтерия предприятия, редакция 3.0 (3.0.43.100) (в одной данные за 2014г. в другой 2015г. в целом базы идентичны, во второй больше контрагентов)

    Reply
  19. Alex_E

    (18) fanet, Разница описана в анонсе, добавить вроде нечего, разве что создавались на разных платформах и в разных релизах БП. Используйте последнюю.

    возможно ли использовать обработку для слияния 2х баз бухгалтерия 8.3 (Бухгалтерия предприятия, редакция 3.0 (3.0.43.100) (в одной данные за 2014г. в другой 2015г. в целом базы идентичны, во второй больше контрагентов)

    — использовать можно, но следует понимать, что перенос данных идёт по ГУИД, и одинаковые контрагенты, к примеру, всего скорее задвоятся. Т.е. после такого слияния необходимо будет чистить справочники.

    Reply
  20. bkalx

    Здравствуйте,

    хотел скачать вашу выгрузку для переноса справочника номенклатур и контрагентов из 8.2 в 8.3

    Версия 1С:

    1С:Предприятие 8.3 (8.3.7.1901)

    версии конфигураций:

    Бухгалтерия предприятия, редакция 3.0 (3.0.43.101)

    Бухгалтерия предприятия, редакция 2.0 (2.0.61.4)

    Бухгалтерия предприятия, редакция 2.0 (2.0.59.6)

    Все открылось и прекрасно перенеслось. Благодарю за хорошую обработку

    Reply
  21. Alex_E

    (20) bkalx, Ну хоть кому то понравилось!!! Спасибо!!!

    Reply
  22. avk

    Обработка отличная! Описание полностью соответствует функционалу. Автору спасибо!

    Reply
  23. Alex_E

    (22) avk, Спасибо!!!

    Reply
  24. Krez

    Периодически перенос прекращается с ошибкой Поле объекта не обнаружено (PredefinedDataName)

    обе базы на сервере (8.3.7.1790)

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

    Reply
  25. Alex_E

    (24) Krez, Проверить на сервере пока не могу, к сожалению, сейчас выложу новую версию переноса, может быть там этого не будет… Обработка развивается, косяки потихоньку исправляются…

    Reply
  26. Krez

    Похоже что падает здесь

    Для Каждого стрCOM Из СубконтоCOM Цикл
    ИмяСубконто  = стрCOM.Key.PredefinedDataName;
    ЗначениеСубконто = Неопределено;

    строка 2599 модуля объекта, единственное место обращения к PredefinedDataName без Попытки.

    Reply
  27. Krez

    Падает при переносе документа Бухоперация, похоже у меня косяки с настройкой соответствия плана счетов.(субконто)

    Reply
  28. Alex_E

    (26) Krez, Посмотрел, в новой версии так же, в принципе наверное стоит и это «завернуть» в попытку:

    Попытка
    ИмяСубконто  = стрCOM.Key.PredefinedDataName;
    Исключение
    Сообщить(ОписаниеОшибки());
    Продолжить;
    КонецПопытки;
    

    Сделал так, хотя у меня падения пока не наблюдалось, но, иногда серверная база ведёт себя не совсем так как файловая (причины пока установить не удалось, но уже не раз было — в файловой копии проходит, в серверной — ошибка, пока только костылями обхожу такие моменты)…

    Reply
  29. Alex_E

    (27) Krez, Вот это возможно, попытка предотвратит падение. В настройке плана счетов сейчас нет синхронизации по субконто — можно указать счет (субсчет) для соответствия, а вот указать аналитику, в случае разных субконто источника и приёмника пока кроме как в коде не реализовал (в планах есть, но времени пока нет).

    Reply
  30. Krez

    Документ Начисление зарплаты не хочет даже заполнять ссылки

    Reply
  31. Alex_E

    (30) Krez, Перенос из 2.0? Там он кажется назывался по другому, сейчас посмотреть не могу, но помню прописывал перенос отдельно для ряда документов.

    Reply
  32. Krez

    Да из 2.0. пробовал и документ Начисление зарплаты и Начисление зарплаты работникам (не используется)

    Reply
  33. Alex_E

    (32) Krez, Сейчас не могу посмотреть двойку, там проводки вроде делает документ отражение зарплаты в учёте (уже давно не открывал, у меня все уже на 3.0). Перенос отражения помню — делал, про начисление зарплаты не помню. Да в 2.0 это НачислениеЗарплатыРаботникамОрганизаций… Надо будет прописать.

    Reply
  34. Alex_E

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

    Reply
  35. Krez

    (34) При переносе регламентных операций с движениями, не учитывается настройка соответствия счетов.

    Не найденные счета просто не заполняются.

    Reply
  36. Krez

    А при попытке перенести документ в операцию выдает ошибку Поле объекта не обнаружено(таблицаРегистровНакопления).

    Перенос БП3-БП3

    Reply
  37. Alex_E

    (36) Krez, Дайте базу, из которой переносите, просто так не знаю, что ответить (пишите в личку)

    Reply
  38. XOCTEP

    Добрый день, подскажите, можно ли с помощью вашей обработки перенести остатки из 2.0 в 3.0? (без переноса документов и движений)

    Reply
  39. Alex_E

    (38) XOCTEP, Не этой, а вот этой http://infostart.ru/public/509628/ да — переносятся из 2.0 в 3.0 остатки документами ВНО

    Reply
  40. sergiobargio1

    Alex_E, подскажите, пожалуйста, можно ли с помощью Вашей обработки осуществить перенос из БП 2.0 в БП 3.0 не только стандартных конфигураций, но и для доработанных (в обеих конфигурациях добавлены одинаковые дополнительные реквизиты у справочников, плана счетов, бухгалтерского регистра, документов, табличных частей документов, новые виды перечислений, новые регистры накопления, новые регистры сведений, новые виды справочников, новые виды документов) ?

    Можно ли производить перенос информации несколько раз (первоначальное заполнение и за тем какое-то время периодическое пополнение / актуализация информации из БП2.0 в БП 3.0) ?

    Спасибо.

    Reply
  41. Alex_E

    (40) sergiobargio1, да, если объекты с одинаковыми идентификаторами (именами) есть и там и там, то без вопросов. При поторных переносах, если в источнике были изменены какие-то объекты, нужно поставить птицу в Перезаписывать…. Поиск объектов для переноса идёт по ГУИД, так точно задвоений не будет.

    Reply
  42. sergiobargio1

    (41) спасибо. Обработка ОЧЕНЬ ПОЛЕЗНАЯ! Пожалуйста, подскажите, как преодолеть проблему: при работе с обработкой выводится сообщение об ошибке:

    {ВнешняяОбработка.ПереносДанныхБП_БП30.Форма.Форма.Форма(390)}: Ошибка при вызове метода контекста (ЗаполнитьКонстантыНаСервере)

    ЗаполнитьКонстантыНаСервере();

    по причине:

    Переполнение стека встроенного языка на сервере

    по причине:

    ВнешняяОбработка.ПереносДанныхБП_БП30.Форма.Форма.Форма : 367 : СтруктураТаблиц = ОбработкаОбъект.ЗаполнениеКонстант(Новый Структура(«тз», тз));

    ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта : 951 : НовСтр.ЗначениеИсточник = _ПеренестиРеквизит(Коннект.Константы[стр.Name].Получить(),,,Ложь);

    ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта : 2170 : ПереносРегистраСведений(РеквCOM, НовОбъектСсылка, Измерение.Имя, РегистрСведенийCOM.Name);

    ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта : 1485 : _ПеренестиЗаписьРегистраСведений(ЗаписьCOM, Запись, ИмяРегистрСведенийCOM);



    ОбщийМодуль.АвтономнаяРаботаОбменДаннымиСобытия.Модуль : 4 : ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписью(«АвтономнаяРабота», Источник, Отказ);

    ОбщийМодуль.ОбменДаннымиСобытия.Модуль : 34 : ЗарегистрироватьИзменениеОбъекта(ИмяПланаОбмена, Источник, Отказ);

    ОбщийМодуль.ОбменДаннымиСобытия.Модуль : 838 : ОбменДаннымиВызовСервера.ПроверитьКэшМеханизмаРегистрацииОбъектов();

    ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль : 0

    по причине:

    Переполнение стека встроенного языка на сервере

    Reply
  43. Alex_E

    (42) sergiobargio1,

    Переполнение стека встроенного языка на сервере

    — ни раз такого сообщения не видел, может дело в памяти — у меня 16Г, плюс настройка файла подкачки операционной системой. Воспроизвести ошибку не получается, потому пути решения предложить не могю Как вариант — сделать в процедуре заполнения счетчик, и обрабатывать не всё константы сразу, а партиями — количество определите сами — ну, например начать с 10, потом 20 и так до появления ошибки….

    Reply
  44. sergiobargio1

    (43) на этапе выбора организации выводит вот такое сообщение:

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1050)}: Ошибка при вызове метода контекста (Выполнить)

    Результат = Запрос.Выполнить().Выгрузить();

    по причине:

    {(4, 2)}: Таблица не найдена «РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних»

    <<?>>РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&НаДату, Организация = &Организация) КАК УчетнаяПолитикаОрганизацийСрезПоследних

    Reply
  45. Alex_E

    (44) sergiobargio1, Спасибо за ошибку, вангуюю, что релиз 3.0.44.* — переобозвали регистр с УчетнаПолитикаОрганизаций в УчетнаяПолитика — ЗАДРАЛИ

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

    Reply
  46. Alex_E

    Выложил новую версию. Исправлен перенос ХранилищаЗначения, изменен перенос Учетной политики и констант при переносе организаций для релизов 3.0.44.*. Ещё что-то по мелочи…

    Reply
  47. saa@kuzov.org

    Обработка НЕ работает!

    В частности,

    1) Попытка заполнить список констант приводит к ошибке «Переполнение стека встроенного языка на сервер» в клиент-серверном варианте, и к падению платформы в дамп в файловом варианте

    2) План счетов — Заполнить таблицу счетов — падает с ошибкой, что «Переменная СообщенияРаспределенноеВыполнениеКомандИнтерфейс не найдена» (разобрался, 1С забыли для ОМ СообщенияРаспределенноеВыполнениеКомандИнтерфейс установить признак ВнешнееСоединение).

    3) Перенос данных — Выбрать объекты для переноса — Существующие в источнике документы — КАЖДЫЙ РАЗ заполняет список разным набором документов

    4) Перенос документов сопровождается таким же эффектом, как в п.1

    5) Не получается перенос в новую организацию (Несоответствие типов (параметр номер 1), Не найдена организация источника!!!)

    6) Пока не исправил п.2 — обработка делала вид, что переносит документы, хотя по факту не делала ничего.

    Скачал и долго разбирался с версиями v 4.0.1.2 и 3.26.

    Использовал файловые базы и сервер 1С x64. Версия платформы 8.3.8.2054. Памяти на компе — 32 ГБ.

    Использовал толстый клиент и тонкий клиент.

    Пытаюсь выгрузить данные из БП 3.0.44.124 в дописанную БИТами БП 3.0.43.174.

    Reply
  48. Alex_E

    (47) saa@kuzov.org, Круто

    Обработка НЕ работает!

    — а я вот ей пользуюсь и даже данные переношу…странно даже переносятся. Фантастика какая -то — неработающая обработка работает…

    По списку Ваших ошибок, у меня не наблюдалось такого ни разу, тут только смотреть Ваши базы, гадать бессмысленно….

    Reply
  49. Ibrogim

    (0) Круто. Процедуру регистрации comcntr.dll сами придумали, или в БСП уже есть? Давно хочу себе такую, можно у вас взять ?

    Reply
  50. Alex_E

    придумывал и сам, в последней версии вроде из БСП, в любом случае берите)))

    Reply
  51. rybolovlev_ms

    За непосредственное удаление без предупреждения ЖИРНЕЙШИЙ минус.

    Reply
  52. Alex_E

    (51)круто, уточнить про какое непосредственное удаление речь, и чем оно не может быть компенсировано повторным переносом — в студию!!!

    Reply
  53. rybolovlev_ms

    (52) Про удаление справочников при нажатии большой красивой кнопочки «Удалить». Хорошо на демо-базе запустил обработку. Улетели все справочники, глазом моргнуть не успел. Если уж задумали подобный функционал, потрудитесь сообщить об этом пользователю в диалоге. Желательно крупными буквами.

    Reply
  54. Alex_E

    (53) Ешё раз — большая, красивая кнопочка Удалить, она где находится? Если на закладке очситки справочников перед первой загрузкой, то може стоило прочитать пошто она там? Вообще, обработка существует не один день — Вы первый, кто возмутился! Вы точно понимаете, что, для чего сделано? Точно описание читали? Вот сейчас новая платформа вышла, так там, чтобы внешнюю обработку запустить надо два раза попытаться, по мне — бред, но ведь кому то надо))))))))))))))))))))

    И всем, кто когда-нибудь. где-нибудь, с помощью чего-нибудь будет заниматься какими-нибудь групповыми переносами, удалениями или изменениями — никогда не делайте этого на боевой базе сразу, а если невтерпёж, то, как минимум, не сделав её копию!!!!!!

    Есть инструмент (например автомат калашникова, автор не виноват в смертях всех, кого из него замочили….), а как его будут использовать — тут проблема того, кто его использует, молотком можно гвозди забивать, а можно пальцы отбивать…………

    Reply
  55. user682053_kuplu_dom

    Договора контрагентов не переносятся :(, что не так делаю?

    Reply
  56. Alex_E

    (55) А что и как Вы делаете? Вообще — то, чтобы наверняка, через подбор выберите справочник договоры, заполните список и перенесите ссылки — всё должно перенестись по выбранной организации с контрагентами…

    Reply
  57. user682053_kuplu_dom

    (56) да организацию надо выбрать обязательно

    Reply
  58. evgefremov

    Бухгалтерия предприятия, редакция 2.0 (2.0.66.18) ->Бухгалтерия предприятия, редакция 3.0 (3.0.48.21) ,

    вкладка План счетов -> кнопка Заполнить план счетов, выходит ошибка:

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3450)}: Метод объекта не обнаружен (СтруктураПараметровУчета)

    ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();



    p.s. исправить на строку:

    ПараметрыУчета = ОбщегоНазначенияБП.СтруктураПараметровУчета();

    Reply
  59. Alex_E

    (58) Спасибо за ошибку, тут как всегда я жертва универсальности)))) 2.0 и 3.0 приходится постоянно отслеживать. Блин, исправлено, но в свертке…

    Reply
  60. Alex_E

    Сейчас этот кусок выглядит вот так:

     Если Число(СтрокаВерсии) >= 1000000304920 Тогда
    ПараметрыУчета = ОбщегоНазначенияБП.ОпределитьПараметрыУчета();
    ИначеЕсли Число(СтрокаВерсии) >= 1000000304723 Тогда
    ПараметрыУчета = ОбщегоНазначенияБП.СтруктураПараметровУчета();
    Иначе
    ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();
    КонецЕсли;
    
    Reply
  61. shoy

    (60)

    СтрокаВерсии

    неисправлено !!!

    скачал версию обработки 4.0.2.7

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3982)}: Метод объекта не обнаружен (СтруктураПараметровУчета)

    ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();

    Бухгалтерия предприятия, редакция 3.0 (3.0.50.12) -> Бухгалтерия предприятия, редакция 3.0 (3.0.50.12)

    Вааще поправить надо здесь:

    Код
    Функция ОпределитьПараметрыУчета() Экспорт
       
       //ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();
       СтрокаВерсии = 1000000000000 + Число(СтрЗаменить("" + Метаданные.Версия, ".", ""));
       Если Число(СтрокаВерсии) >= 1000000304920 Тогда
    

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

    Reply
  62. shoy

    (61)

    а дальше вс посыпалось …

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(4092)}: Метод объекта не обнаружен (ПрименитьПараметрыУчета)

    ОбщегоНазначенияБПВызовСервера.ПрименитьПараметрыУчета(ПараметрыУчета, ИзмененыПараметрыСубконто, Ложь);//, Ложь, ВестиУчетЗатратПоПодразделениям);

    ПРАВИМ

    СтрокаВерсии = 1000000000000 + Число(СтрЗаменить(«» + Метаданные.Версия, «.», «»));
    Если Число(СтрокаВерсии) >= 1000000304920 Тогда
    ПараметрыУчета = ОбщегоНазначенияБП.ОпределитьПараметрыУчета();
    ОбщегоНазначенияБП.ПрименитьПараметрыУчета(ПараметрыУчета, ИзмененыПараметрыСубконто, Ложь);//, Ложь, ВестиУчетЗатратПоПодразделениям);
    Иначе
    ОбщегоНазначенияБПВызовСервера.ПрименитьПараметрыУчета(ПараметрыУчета, ИзмененыПараметрыСубконто, Ложь);//, Ложь, ВестиУчетЗатратПоПодразделениям);
    КонецЕсли;
    

    Показать

    Reply
  63. shoy

    (62)

    И ДАЛЬШЕ НИЧЕГО НЕ РАБОТАЕТ

    ЖМУ «Перенос данных», «Выбрать объекты для переноса», «Существующие в источнике справочники»

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3057)}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация (1C:Enterprise 8.3.9.2170): {(9, 83)}: Поле не найдено «ВидыОтправляемыхДокументов.Организация»

    И ВидыОтправляемыхДокументов.ПометкаУдаления = ЛОЖЬ И ВидыОтправляемыхДокументов.<<?>>Организация = &Организация

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3057)}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация (1C:Enterprise 8.3.9.2170): {(9, 67)}: Поле не найдено «ВидыРегистровУчета.Организация»

    И ВидыРегистровУчета.ПометкаУдаления = ЛОЖЬ И ВидыРегистровУчета.<<?>>Организация = &Организация

    и таких очень много

    Reply
  64. Alex_E

    (63) Пишите почту в личку, пришлю последнюю версию. На 3.0.50.12 правда ещё не проверял…

    Reply
  65. Alex_E

    (63) Выложил исправленную версию

    Reply
  66. Smilegm

    Удалось перенести данные из УТ 10.3 в БП 3.0 только без счетов учёта, дохода и расходов а так все документы перенеслись

    Reply
  67. Alex_E

    Выложил новую версию, с учетом возможного переноса из УТ 10.3. Вопрос с заполнением счетов остаётся открытым, может у кого то есть предложения по реализации?

    Reply
  68. a.rezyhin

    БП 3.0.52 типовая — перенос в БП 3.0.52 типовой (Исп. версию 4.0.5.4)

    При переносе орагнизации

    ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1785)}: Поле объекта не обнаружено (Name) ДвДанные = ПереносХранилища(РеквCOM.Name)

    Reply
  69. a.rezyhin

    БП 3.0.52 типовая — перенос в БП 3.0.52 типовой (Исп. версию 4.0.5.4)

    При заполнении констант

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(951)}: Метод объекта не обнаружен (Metadata) Для Каждого стр Из Коннект.Metadata().Constants Цикл

    Reply
  70. a.rezyhin

    И документы тоже не заполняются. Из всё обработки работает только подключение к базе по COM 😉

    Reply
  71. Alex_E

    (68) На БП 3.0.52 не пробовал, т.к. рабочий релиз последний 3.0.51.22 (на нём, кстати, то же не пробовал). Про остальное — Вы первый у кого кроме подключения не работает ничего, тут я могу только предложить посмотреть через АА. Обработкой пользуется достаточно много народу, причём есть такие, у кого обмен постоянный с её помощью организован…

    Reply
  72. a.rezyhin

    (71) Спасибо, но уже неактуально. Нерабочую базу восстановил через Выгрузку/загрузку XML.

    Reply
  73. citkhv

    Между БП 2.0.66.33 и БП 3.0.51.16 (и 3.0.25 тоже пробовал) не работает создание организации

    пишет {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1785)}: Поле объекта не обнаружено (Name)

    ДвДанные = ПереносХранилища(РеквCOM.Name);

    и пишет в сообщениях

    Не обнаружен реквизит: КодПоОКТМО, ссылки: Справочник.Организации

    Не обнаружен реквизит: КодПоОКАТО, ссылки: Справочник.Организации

    Не обнаружен реквизит: КодИМНС, ссылки: Справочник.Организации

    {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1653)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение): Предопределенное значение «Справочник.ТерриториальныеУсловия.МКС» не найдено. Реквизит перенесен по ГУИД

    При заполнении констант ошибка {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(951)}: Метод объекта не обнаружен (Metadata)

    Для Каждого стр Из Коннект.Metadata().Constants Цикл

    Reply
  74. Alex_E

    (73) По сообщениям, сообщения о несоответствии реквизитов источника и приёмника не приводят к остановке обмена, по переносу хранилища — посмотрю. С хранилищами вообще больная тема…

    Reply
  75. citkhv

    (74) Здравствуйте в при заполнинии справочников в 3.0 пишет Произошла исключительная ситуация (1C:Enterprise 8.3.9.1850): {(11, 29)}: Поле не найдено «ПодразделенияОрганизаций.ГоловнаяОрганизация»

    И ПодразделенияОрганизаций.<<?>>ГоловнаяОрганизация = &Организация

    Reply
  76. Alex_E

    (75) Переносите из 2.0 в 3.0? Какие релизы? Сейчас посмотрю на последних

    Reply
  77. citkhv

    я же писал выше Между БП 2.0.66.33 и БП 3.0.51.16 (и 3.0.25 тоже пробовал)

    Reply
  78. citkhv

    (76)я же писал выше Между БП 2.0.66.33 и БП 3.0.51.16 (и 3.0.25 тоже пробовал)

    Reply
  79. citkhv

    (74) А зачем хранилища переносить что в них храниться

    Reply
  80. Alex_E

    (78) Да много чего, в принципе можно закомментарить их перенос. Сейчас дообновлю базу 2.0 ло последнего релиза и посмотрю

    Reply
  81. citkhv

    (80) благодарю и жду исправлений

    Reply
  82. Alex_E

    По переносу организаций строка модуля 1785 должно быть так:

    ДвДанные = ПереносХранилища(РеквCOM[стрCOM.Name]);

    Reply
  83. Alex_E

    Да, тренируюсь на 2.0.66.35, 3.0.51.27 и 8.3.10.2505

    Далее исправляю, в Функция ПереносОрганизации(ГУИД) (строка модуля 1148) вставил текст

    Если ИмяКонфигурацииИсточника = «БП20» и Не ЗначениеЗаполнено(Организация.Наименование) Тогда
    ОргОбъект = Организация.ПолучитьОбъект();
    ОргОбъект.Наименование = СсылкаCOM.Наименование;
    ОргОбъект.ОбменДанными.Загрузка = Истина;
    ОргОбъект.Записать();
    Организация = ОргОбъект.Ссылка;
    КонецЕсли;

    Разбираться, почему не заполнилось Наименование не стал, пока такой костыль…

    Reply
  84. Alex_E

    Строка модуля 951

    Для Каждого стр Из Коннект.Metadata.Constants Цикл

    Reply
  85. citkhv

    (83)

    Если ИмяКонфигурацииИсточника = «БП20» и Не ЗначениеЗаполнено(Организация.Наименование) Тогда

    ОргОбъект = Организация.ПолучитьОбъект();

    ОргОбъект.Наименование = СсылкаCOM.Наименование;

    ОргОбъект.ОбменДанными.Загрузка = Истина;

    ОргОбъект.Записать();

    Организация = ОргОбъект.Ссылка;

    КонецЕсли;

    этот текст добавить перед возвратом или полностью заменить функцию

    Reply
  86. citkhv

    (84) константы заработали

    Reply
  87. Alex_E

    (85) перед возвратом

    Reply
  88. citkhv

    (87)я так и сделал наименование организации не заполняется пишет <> остальное вроде заполнено

    Reply
  89. Alex_E

    (89) Откройте форму организации — там всё заполнено, просто на форме «запомнилось» старое значение, можно просто перевыбрать организацию

    Reply
  90. Alex_E

    (89) Наименование на форме это наименование в программе, если вставили код при переносе организации — ставьте точку останова и смотрите, что там происходит — у меня заполняется

    Reply
  91. citkhv

    (92) понял

    Reply
  92. Andryza

    (66) У меня даже не открывается обработка, ошибки падают, в конфигураторе если открыть, при записи тоже куча ошибок по коду падает. Как запустили, какая у Вас версия обработки, и версия УТ? Спасибо.

    Reply
  93. Alex_E

    (159) Выф где открываете обработку и откуда данные собиратесь тягать?

    Reply
  94. Andryza

    (160) мне нужно для объединения 2-х УТ 10.3. Из 2-х баз выгрузить, и в одну чистую все залить. Штатными средствами не очень хочется т.к. разные УИДы. Следовательно открываю в 10.3, платформа 8.3.13

    Reply
  95. Alex_E

    (161) Обработка для управляемого приложения, УТ 10.3 — обычное приложение…не пойдёт она для Вашей задачи…

    Reply
  96. Andryza

    (162) Аааа… понятно. Просто в описании, написано следующее:

    «Изначально была заточена под бухгалтерию предприятия, сейчас используется для для обменов через COM любых конфигураций. »

    Вот смысл предложения и ввел меня в заблуждение, а конкретно по тексту — «любых конфигураций»…

    Я еще 2 версии разные скачал.

    Reply
  97. Alex_E

    (163) Виноват, нужно было уточнить любых управляемых приложений…

    Reply
  98. angtar

    Обработка версии 5.2.2.8

    Бухгалтерия 3.0.73.38

    Платформа 8.3.12.1685

    В конфигурацию добавлено расширение: в справочник «Статьи затрат» добавлено реквизит КодСтатьи, строка(18), использование для элемента и группы.

    При переносе данных справочника между идентичными конфигурациями:

    1. ругается на: ОбщегоНазначенияКлиентПовтИсп.ЭтоВебКлиентПодMacOS() — в последних релизах нет этой процедуры в модуле.

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

    Reply
  99. Alex_E

    (166) Ошибка исправлена в более поздних версиях, сегодня выложил 5.2.3.2. попробуйте её…

    Reply

Leave a Comment

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