[COM] Перенос данных через COMConnector
Интеграция - Перенос данных 1C
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
22.07.2026 Версия 5.4.4.4 - Добавлен перенос на 8.5, и много чего переработано.
14.04.2016 Версия 3.22 Изменен интерфейс, исправлены ошибки при переносе регистров, изменен порядок переноса организации и учетной политики. Платформа 8.3.7.2027 БП 3.0.43.174
17.03.2016 Версия 3.24 Исправлены замеченные ошибки. Платформа 8.3.8.1747 БП 3.0.43.241
16.06.2016 Версия 3.26 Исправлены замеченные ошибки. Платформа 8.3.8.2088 БП 3.0.44.123
16.10.2016 Версия 4.0.1.2 Исправлен перенос хранилища значения, изменён перенос учетной политики для релизов 3.44.*. Платформа 8.3.9.1818 БП 3.0.44.164.
19.04.2017 Версия 4.0.2.7 Изменен алгоритм переноса связанных со справочниками регистров, исправлены замеченные ошибки, исправлен перенос с перезаписью ссылок.
29.05.2017 Версия 4.0.4.5 Изменен перенос движений, добавлен просмотр движений перенесенных документов, что-то ещё....
30.05.2017 Версия 4.0.4.6 Исправлена ошибка при заполнении списка существующих в источнике справочников (спасибо shoy)
17.06.2017 Версия 4.0.5.1 Изменен алгоритм переноса движений.
19.07.2017 Версия 4.0.5.4 Изменен перенос КИ из БП 2.0. Неожиданно, прошёл перенос из УТ 10.3 у Smilegm, в этой версии чуть поправлен перенос для такой ситуации)))
10.08.2017 Версия 4.0.5.5 Исправлены ошибки при переносе из БП 2.0
19.09.2017 Версия 4.4.5.7 Исправлена проверка подключения для 3.0.52.*
28.11.2017 Версия 4.4.5.9 Исправлены замеченные ошибки
06.12.2017 Версия 5.2.0.4 Переработан алгоритм поиска ссылок. Добавлены процедуры переноса из БП 1.6, жёсткой привязки к БП больше нет - спокойно можно использовать для переноса данных "почти" одинаковых конфигураций. Все замечания постараюсь оперативно исправить.
08.12.2017 Версия 5.2.1.3 Добавлен алгоритм переноса ведомостей на выплату зарплаты из БП .2.0 в БП 3.0. Включены изменения для обмена между одинаковыми конфигурациями.
19.12.2017 Версия 5.2.2.2 Скорректирован перенос независимых регистров сведений для справочников, которые есть в измерениях этих регистров.
17.01.2018 Версия 5.2.2.3 Исправлены -замеченные ошибки подчинённых справочников и периодических регистров сведений.
06.12.2017 Новая версия обработки 5.2.0.4. Из значимых изменений - возможность переноса из БП 1.6 в БП 3.0. Главное изменение - управление поиском ссылок справочников - в прежних версиях поиск был по ГУИД, а этой версии можно включить поиск "По реквизитам":
17.01.2018 Версия 5.2.2.3 Исправлены -замеченные ошибки подчинённых справочников и периодических регистров сведений.
19.07.2018 Версия 5.2.2.8 Исправлены замеченные ошибки.
07.09.2018 Версия 5.2.2.9 Исправлены функция получения списка организаций базы источника, если в справочнике "Организации" нет кода (например в УТ 11).
27.09.2019 Версия 5.2.3.2 Исправлены замеченные ошибки (версия от мая 19 года)
16.01.2020 Версия 5.2.3.4 Исправлено подключение через COM (тестировалось на платформе 8.3.16.1603, БП 3.0.75.58 )

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

в котором можно задать реквизиты поиска для любого справочника. Сам этот режим "возник" по многочисленным просьбам трудящихся, для случаем, когда обмен нужен в уже существующую базу, в которой уже есть данные (например, для слияния учёта по двум организациям в одну базу).
21.12.2015 г. Вышла платформа 8.3.7.1805 и БП 3.0.43.29, соответственно и новая версия обработки 3.1 :-) (описание ниже). Новый функционал - возможность сравнения остатков и оборотов между двумя базами БП (по всем счетам, если планы счетов совпадают, или по отдельным совпадающим счетам бух.учета, с аналитикой или без).
03.01.2016 г. Версия 3.5 - изменен механизм подключения к базе источнику - приведен в соответствие с БСП 2.3.2.43. Исправлены мелкие недочеты. Платформа 8.3.7.1845, БП 3.0.43.50
16.02.2016 г. Версия 3.6 - Добавлен флаг "Установить ручную корректировку" для документов, перенесённых с движениями. Исправлен перенос движений - документы, с датой меньше начала периода переносятся без движений. Платформа 8.3.7.1917, БП 3.0.43.116
22.03.2016 г. Версия 3.10 - Добавлен флаг "Всегда перезаписывать ссылки" для обязательной перезаписи ссылочных объектов (существенно снижается скорость переноса, но иногда необходимо). Добавлена закладка "Подготовка", на которой можно настроить соответствие планов счетов источника и приемника (на ровне кодов счета) и перенос констант. Платформа 8.3.7.1970, БП 3.0.43.148
03.04.2016 Версия 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.2015 - Версия 3.1 платформа 8.3.7.1805 и БП 3.0.43.29 (версия 2.15 для 3.0.43.* не работает - конфигурацию достаточно сильно изменили).
Изменено:
- диалог выбора варианта подключения, флаг Клиент-сервер доступен всегда, в зависимости от его устновки доступен или выбор папки файловой базы, или поля с именем базы на сервере и именем самого сервера (исправлена ошибка диалога версии 2.15)
- НОВЫЙ ФУНКЦИОНАЛ: Механизм сверки остатков и оборотов между базами источника и приёмника в разной степени детализации:

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

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

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

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

22.03.2016 г. Версия 3.10 - Добавлен флаг "Всегда перезаписывать ссылки" для обязательной перезаписи ссылочных объектов (существенно снижается скорость переноса, но иногда необходимо). Добавлена закладка "Подготовка", на которой можно настроить соответствие планов счетов источника и приемника (на ровне кодов счета) и перенос констант. Платформа 8.3.7.1970, БП 3.0.43.148
- НОВЫЙ ФУНКЦИОНАЛ: Перед переносом документов рекомендуется проверить план счетов, на предметсоответствия в источнике и приёмнике, а так же соответствие устновленных констант.
Для этого добавлены закладка "Подготовка" в которой можно установить эти соответствия:

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

Заполняем, если нужно - переносим. Переносятся только отмеченные флагом константы...
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.202.14
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)
Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор
58000 руб.
04.08.2015 195048 480 310
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)
Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!
55050 руб.
25.02.2015 192743 385 296
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)
Правила в универсальном формате обмена для ERP 2.5, ERP 2.6, КА 2.5, КА 2.6, УТ 11.5, УТ 11.6, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.
27633 руб.
12.06.2017 165320 1009 329
Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)
Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.
55200 руб.
24.04.2015 211612 186 254
SALE! 10%
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.
42000
37800 руб.
15.12.2021 37264 270 68
SALE! 10%
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в ERP 2.6 и КА 2.6 с помощью готовых правил. Переносится более 60 видов документов. Простой интерфейс и понятные настройки.
42000
37800 руб.
24.06.2020 73352 108 35
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)
Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы
63000 руб.
29.10.2018 64579 87 137
Перенос данных 1C Разработчик Бухгалтер 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)
Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.
20740 руб.
25.09.2016 93526 429 268
Всё время ругается на логин/пароль, кавычек многовато будет.
"Srvr="+СокрЛП(ПодключенияСервер)+";Ref="+СокрЛП(ПодключенияИмяФайлаИБ)+";Usr="+СокрЛП(ПодключенияЛогин)+""";Pwd="""+СокрЛП(ПодключенияПароль)+""";";
"Srvr="+СокрЛП(ПодключенияСервер)+";Ref="+СокрЛП(ПодключенияИмяФайлаИБ)+""";Usr="""+СокрЛП(ПодключенияЛогин)+""";Pwd="""+СокрЛП(ПодключенияПароль)+""";";
Про форму - как будет доступ, проверю, исправлю...
regsvr32 "c:\Program Files (x86)\1cv8\8.3.7.1790\bin\comcntr.dll"
где c:\Program Files (x86)\1cv8\8.3.7.1790\bin\ путь к папке с платформой, где эта билиотека находится...
Терминальный вариант или локальный значения не имеет - указывается путь к папке базы, логин пользователя и пароль (если есть). На сервере должна быть зарегистрирована библиотека см. (4).
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(449,8)}: Процедура или функция с указанным именем не определена (СтрНайти)
Если <<?>>СтрНайти(Параметры.ИмяПользователя, """") Тогда
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(453,8)}: Процедура или функция с указанным именем не определена (СтрНайти)
Если <<?>>СтрНайти(Параметры.ПарольПользователя, """") Тогда
У вас ошибка я так понимаю в версии обработки 3.5 - там как раз запуск источника из последней БСП взят.
Попробуйте заменить на
Если Параметры.Свойство("ИмяПользователя") Тогда и
Если Параметры.Свойство("ПарольПользователя") ТогдаНе удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса . Не удалось подключится к другой программе: {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(393)}: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // "V83.COMConnector"
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
Бухгалтерия 3.0.73.38
Платформа 8.3.12.1685
В конфигурацию добавлено расширение: в справочник "Статьи затрат" добавлено реквизит КодСтатьи, строка(18), использование для элемента и группы.
При переносе данных справочника между идентичными конфигурациями:
1. ругается на: ОбщегоНазначенияКлиентПовтИсп.ЭтоВебКлиентПодMacOS() - в последних релизах нет этой процедуры в модуле.
2. если переносится элемент, то реквизит переносится правильно, если группа - реквизит не заполнен...
хотел скачать вашу выгрузку для переноса справочника номенклатур и контрагентов из 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)
Все открылось и прекрасно перенеслось. Благодарю за хорошую обработку
Для Каждого стрCOM Из СубконтоCOM Цикл
ИмяСубконто = стрCOM.Key.PredefinedDataName;
ЗначениеСубконто = Неопределено;строка 2599 модуля объекта, единственное место обращения к PredefinedDataName без Попытки.
Попытка
ИмяСубконто = стрCOM.Key.PredefinedDataName;
Исключение
Сообщить(ОписаниеОшибки());
Продолжить;
КонецПопытки;
Сделал так, хотя у меня падения пока не наблюдалось, но, иногда серверная база ведёт себя не совсем так как файловая (причины пока установить не удалось, но уже не раз было - в файловой копии проходит, в серверной - ошибка, пока только костылями обхожу такие моменты)...
Можно ли производить перенос информации несколько раз (первоначальное заполнение и за тем какое-то время периодическое пополнение / актуализация информации из БП2.0 в БП 3.0) ?
Спасибо.
{ВнешняяОбработка.ПереносДанныхБП_БП30.Форма.Форма.Форма(390)}: Ошибка при вызове метода контекста (ЗаполнитьКонстантыНаСервере)
ЗаполнитьКонстантыНаСервере();
по причине:
Переполнение стека встроенного языка на сервере
по причине:
ВнешняяОбработка.ПереносДанныхБП_БП30.Форма.Форма.Форма : 367 : СтруктураТаблиц = ОбработкаОбъект.ЗаполнениеКонстант(Новый Структура("тз", тз));
ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта : 951 : НовСтр.ЗначениеИсточник = _ПеренестиРеквизит(Коннект.Константы[стр.Name].Получить(),,,Ложь);
ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта : 2170 : ПереносРегистраСведений(РеквCOM, НовОбъектСсылка, Измерение.Имя, РегистрСведенийCOM.Name);
ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта : 1485 : _ПеренестиЗаписьРегистраСведений(ЗаписьCOM, Запись, ИмяРегистрСведенийCOM);
...
ОбщийМодуль.АвтономнаяРаботаОбменДаннымиСобытия.Модуль : 4 : ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписью("АвтономнаяРабота", Источник, Отказ);
ОбщийМодуль.ОбменДаннымиСобытия.Модуль : 34 : ЗарегистрироватьИзменениеОбъекта(ИмяПланаОбмена, Источник, Отказ);
ОбщийМодуль.ОбменДаннымиСобытия.Модуль : 838 : ОбменДаннымиВызовСервера.ПроверитьКэшМеханизмаРегистрацииОбъектов();
ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль : 0
по причине:
Переполнение стека встроенного языка на сервере
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1050)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выгрузить();
по причине:
{(4, 2)}: Таблица не найдена "РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних"
<<?>>РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&НаДату, Организация = &Организация) КАК УчетнаяПолитикаОрганизацийСрезПоследних
исправлю для нового релиза, можетн исправить сами, или просто закомментарьте вызов переноса учетной политики...сейчас прямо не могу сделать - клиенты не дают((((
В частности,
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.
По списку Ваших ошибок, у меня не наблюдалось такого ни разу, тут только смотреть Ваши базы, гадать бессмысленно....
И всем, кто когда-нибудь. где-нибудь, с помощью чего-нибудь будет заниматься какими-нибудь групповыми переносами, удалениями или изменениями - никогда не делайте этого на боевой базе сразу, а если невтерпёж, то, как минимум, не сделав её копию!!!!!!
Есть инструмент (например автомат калашникова, автор не виноват в смертях всех, кого из него замочили....), а как его будут использовать - тут проблема того, кто его использует, молотком можно гвозди забивать, а можно пальцы отбивать............
вкладка План счетов -> кнопка Заполнить план счетов, выходит ошибка:
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3450)}: Метод объекта не обнаружен (СтруктураПараметровУчета)
ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();
---
p.s. исправить на строку:
ПараметрыУчета = ОбщегоНазначенияБП.СтруктураПараметровУчета();
Если Число(СтрокаВерсии) >= 1000000304920 Тогда
ПараметрыУчета = ОбщегоНазначенияБП.ОпределитьПараметрыУчета();
ИначеЕсли Число(СтрокаВерсии) >= 1000000304723 Тогда
ПараметрыУчета = ОбщегоНазначенияБП.СтруктураПараметровУчета();
Иначе
ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();
КонецЕсли;
скачал версию обработки 4.0.2.7
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3982)}: Метод объекта не обнаружен (СтруктураПараметровУчета)
ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();
Бухгалтерия предприятия, редакция 3.0 (3.0.50.12) -> Бухгалтерия предприятия, редакция 3.0 (3.0.50.12)
Вааще поправить надо здесь:
| Код |
|---|
Функция ОпределитьПараметрыУчета() Экспорт
//ПараметрыУчета = ОбщегоНазначенияБПКлиентСервер.СтруктураПараметровУчета();
СтрокаВерсии = 1000000000000 + Число(СтрЗаменить("" + Метаданные.Версия, ".", ""));
Если Число(СтрокаВерсии) >= 1000000304920 Тогда
Показать полностью |
а дальше вс посыпалось ...
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(4092)}: Метод объекта не обнаружен (ПрименитьПараметрыУчета)
ОбщегоНазначенияБПВызовСервера.ПрименитьПараметрыУчета(ПараметрыУчета, ИзмененыПараметрыСубконто, Ложь);//, Ложь, ВестиУчетЗатратПоПодразделениям);
ПРАВИМ
СтрокаВерсии = 1000000000000 + Число(СтрЗаменить("" + Метаданные.Версия, ".", ""));
Если Число(СтрокаВерсии) >= 1000000304920 Тогда
ПараметрыУчета = ОбщегоНазначенияБП.ОпределитьПараметрыУчета();
ОбщегоНазначенияБП.ПрименитьПараметрыУчета(ПараметрыУчета, ИзмененыПараметрыСубконто, Ложь);//, Ложь, ВестиУчетЗатратПоПодразделениям);
Иначе
ОбщегоНазначенияБПВызовСервера.ПрименитьПараметрыУчета(ПараметрыУчета, ИзмененыПараметрыСубконто, Ложь);//, Ложь, ВестиУчетЗатратПоПодразделениям);
КонецЕсли;
ПоказатьИ ДАЛЬШЕ НИЧЕГО НЕ РАБОТАЕТ
ЖМУ "Перенос данных", "Выбрать объекты для переноса", "Существующие в источнике справочники"
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3057)}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация (1C:Enterprise 8.3.9.2170): {(9, 83)}: Поле не найдено "ВидыОтправляемыхДокументов.Организация"
И ВидыОтправляемыхДокументов.ПометкаУдаления = ЛОЖЬ И ВидыОтправляемыхДокументов.<<?>>Организация = &Организация
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(3057)}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация (1C:Enterprise 8.3.9.2170): {(9, 67)}: Поле не найдено "ВидыРегистровУчета.Организация"
И ВидыРегистровУчета.ПометкаУдаления = ЛОЖЬ И ВидыРегистровУчета.<<?>>Организация = &Организация
и таких очень много
"Изначально была заточена под бухгалтерию предприятия, сейчас используется для для обменов через COM любых конфигураций. "
Вот смысл предложения и ввел меня в заблуждение, а конкретно по тексту - "любых конфигураций"...
Я еще 2 версии разные скачал.
При переносе орагнизации
ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1785)}: Поле объекта не обнаружено (Name) ДвДанные = ПереносХранилища(РеквCOM.Name)
При заполнении констант
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(951)}: Метод объекта не обнаружен (Metadata) Для Каждого стр Из Коннект.Metadata().Constants Цикл
пишет {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1785)}: Поле объекта не обнаружено (Name)
ДвДанные = ПереносХранилища(РеквCOM.Name);
и пишет в сообщениях
Не обнаружен реквизит: КодПоОКТМО, ссылки: Справочник.Организации
Не обнаружен реквизит: КодПоОКАТО, ссылки: Справочник.Организации
Не обнаружен реквизит: КодИМНС, ссылки: Справочник.Организации
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(1653)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение): Предопределенное значение "Справочник.ТерриториальныеУсловия.МКС" не найдено. Реквизит перенесен по ГУИД
При заполнении констант ошибка {ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(951)}: Метод объекта не обнаружен (Metadata)
Для Каждого стр Из Коннект.Metadata().Constants Цикл
И ПодразделенияОрганизаций.<<?>>ГоловнаяОрганизация = &Организация
Далее исправляю, в Функция ПереносОрганизации(ГУИД) (строка модуля 1148) вставил текст
Если ИмяКонфигурацииИсточника = "БП20" и Не ЗначениеЗаполнено(Организация.Наименование) Тогда
ОргОбъект = Организация.ПолучитьОбъект();
ОргОбъект.Наименование = СсылкаCOM.Наименование;
ОргОбъект.ОбменДанными.Загрузка = Истина;
ОргОбъект.Записать();
Организация = ОргОбъект.Ссылка;
КонецЕсли;Разбираться, почему не заполнилось Наименование не стал, пока такой костыль...
ОргОбъект = Организация.ПолучитьОбъект();
ОргОбъект.Наименование = СсылкаCOM.Наименование;
ОргОбъект.ОбменДанными.Загрузка = Истина;
ОргОбъект.Записать();
Организация = ОргОбъект.Ссылка;
КонецЕсли;
этот текст добавить перед возвратом или полностью заменить функцию
только это комментим?
//УчетнаяПолитикаОрганизаций
ПереносРегистраСведений(ОргCOM, ОргУП, "Организация", ?(Редакция3044COM, "УчетнаяПолитика", "УчетнаяПолитикаОрганизаций"), ?(Редакция3044, "УчетнаяПолитика", "УчетнаяПолитикаОрганизаций"), НачалоМесяца(ДобавитьМесяц(ДатаВводаНачальныхОстатков, 1)));
И ПодразделенияОрганизаций.<<?>>ГоловнаяОрганизация = &Организация
только это комментим?
//УчетнаяПолитикаОрганизаций
ПереносРегистраСведений(ОргCOM, ОргУП, "Организация", ?(Редакция3044COM, "УчетнаяПолитика", "УчетнаяПолитикаОрганизаций"), ?(Редакция3044, "УчетнаяПолитика", "УчетнаяПолитикаОрганизаций"), НачалоМесяца(ДобавитьМесяц(ДатаВводаНачальныхОстатков, 1)));
Или еще следующие 2 строчки
Для Каждого стр Из ПустойОбъект.Метаданные().Реквизиты Цикл
{ОбщийМодуль._Подписки.Модуль(26,8)}: Переменная не определена (КОМ)
{ВнешняяОбработка.ПереносДанныхБП_БП30.МодульОбъекта(501)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств): Недопустимое значение параметра (параметр номер '2')
{ОбщийМодуль._Подписки.Модуль(26,8)}: Переменная не определена (КОМ) переменная КОМ не моя......
Пользуюсь регулярно спасибо.
А можно перенести данные из 3 корп в 3 бп? Там нужно переносить только документы поступления.
Разумеется данные о подразделении можно выкинуть, там перенос в техническую базу, для каких-то аналитических исследований :)
Версия 4.0.5.7.
Ошибка возникла при переносе документа ОперацияБух в процедуре _ПереносДвижений().
Процедура _ПереносДвижений(_СтрокаXML, Док, ИдДок, ИдДокCOM = "") Экспорт
Если Док.Дата < НачалоПериода и ПереноситьДвижения Тогда Сообщить("Дата документа " + Док + " меньше даты начала переноса! Движения перенесены не будут."); Возврат; КонецЕсли;// ИСКЛЮЧЕНИЕ ЗДЕСЬ!!!
ДокCom = ПолучитьЗначениеСсылкиПоГУИД(?(ТипЗнч(_СтрокаXML) = Тип("Строка"), Коннект.NewObject("UUID", _СтрокаXML), _СтрокаXML), Коннект.Documents[?(ИдДокCOM = "", ИдДок, ИдДокCOM)]);
...ЛЕЧИТСЯ ТАК:
Вставляем обработчик исключения, и в случае исключения, присваиваем ДокCom = _СтрокаXML.
Дело в том, что в строке _СтрокаXML уже находится COM-ссылка на операцию. Почему не отрабатывает ПолучитьЗначениеСсылкиПоГУИД() разбираться не стал. В итоге, выгрузка операций прошла на ура (кидал из БП3 в БП3)
Попытка
ДокCom = ПолучитьЗначениеСсылкиПоГУИД(?(ТипЗнч(_СтрокаXML) = Тип("Строка"), Коннект.NewObject("UUID", _СтрокаXML), _СтрокаXML), Коннект.Documents[?(ИдДокCOM = "", ИдДок, ИдДокCOM)]);
Исключение
ДокCom = _СтрокаXML;
КонецПопытки;СсылкаCOM = ПолучитьЗначениеСсылкиПоГУИД(Коннект.NewObject("UUID", СокрЛП(ГУИД)), Коннект[?(ТипCOM = "Документ", "Documents", "Catalogs")][ИдентификаторCOM]);
Что это может быть?7 Заранее спасибо
{ВнешняяОбработка.ПереносДанныхБП_БП30.Форма.Форма.Форма(768)}: Недостаточно фактических параметров
Возврат РеквизитФормыВЗначение("Объект").ПереносЛюбойСсылкиCOM(ГУИД);
действительно в самой процедуре 3 параметра а передается один параметр как такое может быть??
(123)
2) Почему вы добавили изменения в версию 5.2.0.4 "Поиск по реквизитам", а не в более поздние версии, например в 5.2.2.2 (которая на сайте выложена) или 5.2.2.3 (которая нет, но вы пишите что сделана-вопрос №1) ?
3) Учитывая вопрос №2: увеличение версии релиза обработки не означает, что всё что есть в старой обработки есть либо улучшено в новой обработке, т.е. например: релиз 5.2.2.2 - это доработанная (улучшенная) версия релиза 5.2.0.4 или это совсем разные обработки, каждая с определенной своей доработкой ?
На первый вопрос вы ответили
После того как вы выложили релиз 5.2.2.3, то второй и третий вопрос снимаются. Увидел что там всё есть.
А так, каждая новая версии - это развитие предыдущей...иногда , случается, что делается * до более "стабильной" версии, на которой делаются доработки...
Бывает, что исправляя одно, могу поломать что-то другое, и это не сразу может быть замечено...
Обработка существует уже не один год, постоянно что-то дописывается, как в плане найденных ошибок, так и в связи с изменениями в платформе, и конфигурациях...
Так что, прошу прощения за доставленные неудобства, и отнеситесь с пониманием: косячу я не со зла, просто так получается )))))))))))
Про за различные периоды - специально убрал - были случаи лет по за 10 переносилось, что не нужно совершенно, но можно вернуть тот вариант. Кстати, возможно стало хуже после попытки "отвязки" от БП. Для той же, ИМХО, БП более актуально переносить настройки Плана счетов, в смысле аналитики учета ТМЦ, сотрудников в зарплате и пр. - всё это работало, но, рано я радовался, в какой-то момент, нежданно, перестало)))
Функция ЗаполнитьСписокОрганизацийCOM(тз) Экспорт
Если Коннект = Неопределено Тогда Если Не ПодключитьИБ() Тогда Сообщить("Не удалось установить подключение к ИБ!!!"); Возврат Новый ТаблицаЗначений; КонецЕсли; КонецЕсли;
Запрос = Коннект.NewObject("Query");
ЗапросТекст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Организации.Код,
| Организации.Наименование,
| Организации.Ссылка
|ИЗ
| Справочник.Организации КАК Организации";
Если Не ЕстьРеквизитИлиСвойствоОбъекта(Коннект.Catalogs.Организации.CreateItem(), "Код") Тогда
ЗапросТекст = СтрЗаменить(ЗапросТекст, "Организации.Код,", """"" КАК Код,");
КонецЕсли;
Запрос.Текст = ЗапросТекст;
Результат = Запрос.Выполнить().Выгрузить();
Для Каждого стр Из Результат Цикл
НовСтр = тз.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр, стр);
НовСтр.ГУИД = "" + Коннект.XMLСтрока(стр.Ссылка);
КонецЦикла;
Возврат тз;
КонецФункции
ПоказатьСейчас выложу новую версию (остальное не проверял правда).
Релизы разные - не важно, кластеры разные - не могу знать как там настроено - тут один вопрос: с того рабочего места, с которого запускается обработка база источник может быть открыта "напрямую" через ярлык? Если да, то в настройках подключения должны быть же параvетры, что и ярлыке. Если нет - то не получится открыть и через com, КМК...
Различаются версии клиента и сервера (8.3.13.1513 - 8.3.12.1469), клиентское приложение: COM-соединение"
это при запуске из базы в файловом варианте... подключение к серверной базе...
Проверил...при одном релизе - без проблем..
Уточните в описании , что релиз платформы должен быть один,- и у сервера, и у файловой базы тоже...
ЗЫ Были случаи, когда люди не вообще не могли соединиться, не смотря на все усилия...но никто не предлагал уточнить в описании, что это не работает...
В процессе адаптации для своей задачи выявил 2 проблемы:
1) Процедура _ПереносДвижений: В коде
Если РегистрыСДвижениями.Количество() Тогда
Лучше использовать
Если РегистрыСДвижениями.Count() Тогда
2) Прям серьезная проблема, вводит рекрсивный алгоритм в бесконечный цикл. Для полноценного решения нужно адаптировать архитектуру решения. Суть проблемы в том, что в движениях может использоваться ссылка на документ-регистратор, но с другим названием. И это вызывает новый рекурсивный цикл, который снова начинает переносить движения...
В качестве пример приведу движение ПТиУ по РН.НДСПредьявленный. В нем есть реквизит "СчетФактура", который является ссылкой на сам документ ПТиУ.
В качестве костыля в функции _ПеренестиЗаписьРегистраНакопления в части, касающейся переноса измерений регистра,
добавил проверку на измерение "СчетФактура". В идеальном случае, конечно, нужно проверять, не равно ли значение измерения в источнике ссылке на регистратор!
Если Коннект.XMLString(РесурсCOM) <> "00000000-0000-0000-0000-000000000000" Тогда
// происходит зацикливание, когда реквизит содержит ссылку на документ-регистратор!
Если стр.Имя<>"СчетФактура" Тогда
_Записать[стр.Имя] = _ПеренестиРеквизит(РесурсCOM,,,Ложь);//ПеренестиСсылкуПоГУИД(Коннект.XMLString(РесурсCOM), _Записать[стр.Имя].Метаданные().Имя, РесурсCOM);
КонецЕсли;
КонецЕсли;
Если РегистрыСДвижениями.Count() Тогда
По бесконечному циклу надо смотреть, проверка на счет-фактуру - именно костыль, наверное придумается более универсальное решение (ну, кроме не переносить движения, а просто провести документы после переноса))))
СПАСИБО за ошибки - буду посмотреть, вот только год закрою у клиентов - сможет время появится...
Алексей, спасибо за обработку, попробуем её в своих целях.
Вопросы есть.
1) в базе-источнике есть документ "Операция (бух). Если при переносе не стоит галки, что переносим с движениями, то получается операция пустая придет? (нам в общем случае движения документов не нужны, будем перепроводить, а вот движения операции - это отдельная тема, и они нужны)
2) при первом запуске перенеслось наименование программы, хотя вроде макет по непереносимым вещам не трогала. Это запланированное поведение?
В исключениях он висит.
Пока не особо изучила обработку, но при первом запуске, в процедуре "ПереносУчетнойПолитики" идет перенос
Для Каждого стр Из Метаданные.Константы Цикл
Если НЕ Коннект.Metadata().Constants.Find(стр.Имя) = Неопределено Тогда
Попытка
КонстантаCOM = Коннект.Constants[стр.Имя].Get();
Константы[стр.Имя].Установить(_ПеренестиРеквизит(КонстантаCOM,,,Ложь));
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецЦикла; ПоказатьТут нету ограничений на тот "непереносимый список" , как я понимаю нужно сделать что-то типа
СписокИсключаемых = ПолучитьДанныеИзМакета ("ИсключитьИзПереноса", "Список", 1, 0, "Константы");
Если СписокИсключаемых.НайтиПоЗначению(стр.Имя) = Неопределено Тогда
... КонецЕсли;
Потому ничего переносить в этом плане даже не планирую. К тому же, если перенос и з 2.0 в 3.0, то там есть отличия даже в типовых Планах счетов, и опять таки таблица соответствия позволяет малой кровью перенести данные по несовпадающим счетам не плодя новые...
Но ошибки все же исправьте (у себя я исправил).
1) При вводе в таблицу сравнения заполняется название счета :
Функция УстановитьНаименованиеСчета(Счет) Возврат Счет.Наименование, а счет у Вас тип Строка, поэтому ругается.
2) При выгрузке Функция ПереносСчета(КодСчетаCOM) Возврат СчетСоответствия.Счет Также возвращается строка с кодом счета, а не счет, поэтому в результирующий документ счет не переносится.
при заполнении списка существующих документов те, что в макете прописаны пропускаются
1) Функция УстановитьНаименованиеСчета(Счет)
Попытка
СчетБУ = ПланыСчетов.Хозрасчетный.НайтиПоКоду(Счет);
Возврат СчетБУ.Наименование;
Исключение
Сообщить("Неправильно выбран код счета "+Счет);
КонецПопытки;
КонецФункции
2)Функция ПереносСчета(КодСчетаCOM)
Если ТабСоответствияСчетов.Количество()> 0 Тогда
СчетСоответствия = ТабСоответствияСчетов.Найти(КодСчетаCOM, "КодСчетаCOM");
Если СчетСоответствия <> Неопределено Тогда
Возврат ПланыСчетов.Хозрасчетный.НайтиПоКоду(СокрЛП(СчетСоответствия.Счет));
КонецЕсли;
КонецЕсли;
Возврат ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчетаCOM);
КонецФункции
Попытка
....Metala/////
Исключение
....Metala()...
КонецПопытки;Работает, но, понимаю, что не красиво, но ... пока так.
(186) По объект не найден для ссылки могу тольо предположить, что при переносе объект со ссылкой по ГУИД из источника был записан, но потом код не отработал до конца или же документы был перенесен, а потом удален. Такая же ошибка бывает часто в поле оргаизацияя, если сначала перенести организацию, потом очистить её на закладке "Справочники" и перенести вновь - в ле объект не найден, а реально организация перенесена и нормально встаёт при переносе куда нужно
(187) По картинке только ванговать - база даже не режиме отладки... Точку останова на ошибке,и смотреть, что там. Как уже говорил, возможно ссылки COM нет, а попытка переноса есть...
Про пустую ссылку я сразу и предположил, просто тут надо словить момент её появления и пропускать перенос при её появлении, и тут можно только отладчиком словить - у меня ни разу не встречалось.
Перенос регистров сейчас - это вообще суть экспериментальная, занадобилась в одной базе для одного регистра, включил в обработку, но пока большого количества переносов именно регистров не делал, ничего толком сказать не могу - то что переносил у меня отабатывает...
Все решил - просто они подхватываются , когда их также отдельно преносишь.
И как-то вроде неестественно переносить признак проведен, если не переносились движения...
Обработка в принципе супер!
Но вот столкнулся с проблемкой по переносу документов. Есть документы и в БУ 2 и в БУ 3. Но обработка показывает что этих документов - нет.... Так у них разный ГУИД...
Вот справочники можно переключать поиск по ГУИД или Реквизитам.... Как такое сделать по документам пока не нашел (((
Не планируется ли случайно обновление данной обработки? Или может подскажите где подправить кучек кода, чтоб можно было поиск документов тоже сделать по реквизитам?
Спасибо!
Ну, обработка спозиционирована для переноса данных между похожими конфигурациями. БП 2.0 и БП 3.0, конечно, похожи, но не на 100%, часть объектов в БП 2.0 даже называется не так, как в БП 3.0, например спрвочник "СотрудникиОрганизаций" в БП 2.0 это справочник "Сотрудники" в БП 3.0, и, соответственно, при попытке его перенести обработка вывалится по ошибке, что не удалось найти справочник по индексу. С документами та же беда ("КадровоеПеремещениеОрганизаций" в 2.0 -> "КадровыйПеревод" в 3.0)...
Частично перенос из 2.0 в 3.0 реализован в свертке (, обработки сделаны на "одном движке", но решают немного разные задачи), там таки есть целый блок кода для переноса из 2.0 (даже из 1.6 что-то есть) и макет соответствия объектов при переносе, но, опять таки не всё и там прописано - обработка дорабатывается постоянно, и, возможно, скоро выложу новую версию, где как раз много сделано для переноса именно "зарплатной" информации ...
Смотрел указанную обработку. Если правильно понял. то она по большей части для "свертки".
По зарплатным / кадровым документам согласен, там сложнее их связать.
Вопрос возник по документу Реализации и СФ. Пытался сделать с условием, что если передается документ (реализация или СФ) и не находится в базе приемника по ГУИД, то обращаемся к макету "Поля для поиска", берем оттуда нужные реквизиты для поиска и ищем по ним.......
Данный вопрос возник из-за того, что документ есть и в обоих базах. но разные ГУИД, из-за этого не происходит связки между ними..... Решил использовать реквизиты (которые по сути почти во всех видах документов) Организация, Номер и Дата......
Но пока что-то не получилось, там же разная специфика соответствия по справочникам и документам ... Решил уточнить здесь про обновления )))))
Спасибо!
Тут, выходит надо поиск взять из переноса (это макет и пара процедур и функций) а документы переносить из переноса свертки, в принципе, вполне решаемая задача...
По поводу
Доброго времени!
Так вот как раз такое не срабатывает.... По крайней мере в обработке "переноса" (5.2.4.4). Если объединить сказанные вами обработки, то может такое и будет. Пока еще не скачивал Свертку. А так то как раз и даты с номером хватило бы, (организация - это уж так, для более полной проверки ))) )
Ну ладно. Буду копать (объединять тогда получается) дальше ))))
Спасибо!
Непонятно почему капец как медленно все переносится. Обьем смешной. Всех справочников +-33000. Расчетное время переноса примерно 18 часов. Комментарии все вроде почитал. Неужели я один такой. Тыкните пожалуйста носом что делаю не так. Переезд из розницы 1.0 в розницу 2.3.11. Работы ведутся в рамках терминальной сессии на одном компе. Базы mssql
В принципе как основу использовать эту и допилить для любого варианта обмена можно, но слишком уж их много, всех тех возможных вариантов, а времени, как обычно, нет совсем... Будет задача - сделаю, выложу тут, но просто так заняться, к сожалению, позволить себе не могу - загруз и так выше крыши))))
Если не сложно.... про скорость выгрузки сказать. Может я чего не так делаю
По ускорению, можно попробовать перенести в файловую, в идеале и из файловой - скуль тут скорость снижает, а запараллелить процесс я пока не вижу как...
Ещё вариант - включить транзакции при переносе, если из...нуться и подобрать оптимальное количество элементов с транзакции, время переноса может значительно сократиться. Я вроде как изначально хотел использовать транзакции, потом отказался, причина банальна - сейчас, если перенос падает по ошибке есть конкретное место этой ошибки, с которым можно оперативно разобраться и продолжить перенос, а с транзакциями в такой ситуации время возрастает - пока отключишь, пока выйдешь на ошибку,итд итп - это опять таки лениво (где-то я подобное слышал?
В принципе, этот перенос не ровном месте возник, и задачи, которые с его помощью требовалось решать, он решал, сейчас есть другие варианты, но и этот продолжаю использовать, правда редко, потому и развитие обработки замедлилось(((
Переносил данные из УТ 11.4.13 в 11.5.10
Не надо никаких правил и конвертаций
Прямое подключение к базе
Выбор необходимых документов и справочников
Все что было необходимо перенеслось без ошибок
Очень полезный инструмент
УПС, если корректировка регистров не про проводки, тогда непонятно, мне бы посмотреть, про План счетов понятно, а вот по остальным регистрам должно работать...
{ВнешняяОбработка.ПереносДанныхЧерезCOM.МодульОбъекта(11,25)}: Переменная не определена (ДополнительныеОтчетыИОбработки)
ПараметрыРегистрации = <<?>>ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
{ВнешняяОбработка.ПереносДанныхЧерезCOM.МодульОбъекта(12,29)}: Переменная не определена (ДополнительныеОтчетыИОбработкиКлиентСервер)
ПараметрыРегистрации.Вид = <<?>>ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
{ВнешняяОбработка.ПереносДанныхЧерезCOM.МодульОбъекта(25,29)}: Переменная не определена (ДополнительныеОтчетыИОбработкиКлиентСервер)
Команда.Использование = <<?>>ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
{ВнешняяОбработка.ПереносДанныхЧерезCOM.МодульОбъекта(373,8)}: Процедура или функция с указанным именем не определена (СтрНайти)
Если <<?>>СтрНайти(Параметры.ИмяПользователя, """") Тогда
{ВнешняяОбработка.ПереносДанныхЧерезCOM.МодульОбъекта(377,8)}: Процедура или функция с указанным именем не определена (СтрНайти)
Если <<?>>СтрНайти(Параметры.ПарольПользователя, """") Тогда
{ВнешняяОбработка.ПереносДанныхЧерезCOM.МодульОбъекта(1611,8)}: Процедура или функция с указанным именем не определена (СтрНайти)
Если <<?>>СтрНайти(_СтрокаXML, "-", , , 4) = 24 Тогда //Всего скорее это ГУИД
{ВнешняяОбработка.ПереносДанныхЧерезCOM.МодульОбъекта(1922,13)}: Процедура или функция с указанным именем не определена (СтрНайти)
Если <<?>>СтрНайти(_НовСтрокаXML, "-", , , 4) = 24 Тогда
Как исправить?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 421541
Создание 23.11.15 18:18
Обновление 22.07.26 17:22
Просмотры 76661
Загрузки 840
Рейтинг
110
Комментарии 235
Код открыт Да
Рубрики Перенос данных 1C
Кому
Разработчик
,
Бухгалтер
Тип файла Внешняя обработка (ert,epf)
Платформа 1С 8.3
Конфигурация 1С:Бухгалтерия 3.0
Операционная система Windows
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)