Перенос справочников между ЛЮБЫМИ базами в 1С [за SM!]
Интеграция - Перенос данных 1C
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
| Наименование | Скачано | Купить файл | По подписке PRO |
|---|---|---|---|
|
ПереносДанныхИзСправочников_2_0_(Выгрузка из 7.7)
.ert 32,50Kb ver:3.0
3370
|
3370 | 6 200 руб. Купить | 10 SM Скачать |
|
Руководство пользователя
.doc 32,50Kb
1165
|
1165 | 2 500 руб. Купить | 1 SM Скачать |
|
Примеры кода для переноса доп. информации (штрихкодов, цен, контактной информации)
.txt 3,60Kb
415
|
415 | 2 500 руб. Купить | 1 SM Скачать |
|
Перенос справочников между ЛЮБЫМИ базами [за SM]
.epf 60,42Kb ver:7.15
160
|
160 | 6 200 руб. Купить | 10 SM Скачать |
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Обработка позволяет переносить данные из ЛЮБЫХ справочников (например, номенклатуру, контрагентов, организации и др.) из одной базы в другую.
Для случая переноса "реквизит в реквизит" НЕ ТРЕБУЕТСЯ написания каких-то правил для переноса. Все, что требуется от пользователя, это сопоставить данные в источнике и приёмнике.
Для сложных случаев переноса реализована возможность написание алгоритмов до и после записи объекта. Кроме того, реализована возможность переноса данных из регистров сведений (цены, штрихкода и тд). Написание кода займет минимальное время у любого программиста (примеры кода можно посмотреть в файле "Примеры кода для переноса доп. информации"). Написание кода можно заказать и у меня, цена указана на сайте.
Технические требования
- База-источник: любая конфигурация на платформах 7.7, 8.2, 8.3!
- База-приёмник: любая конфигурация на платформах 8.2, 8.3!
Обработка работает для ВСЕХ конфигураций (как типовых, так и нетиповых). Поддерживаются управляемые формы!
Идентификация объектов при переносе из 8.x происходит по ГУИДу. При переносе из 7.7 - по наименованию или по коду.
Подробное описание по работе с программой приведено в руководстве пользователя.
Обработка успешно используется с августа 2014 года! За это время она помогла 203 организациям! (по данным на начало 2021 года)
Видео с примером "простого" переноса:
Видео с примером "сложного" переноса и полным описанием функционала обработки:

Преимущества:
Обработка позволяет переносить данные любых справочников из одной базы в другую. Обработка подходит как для типовых, так и для доработанных и для самописных конфигураций.
ГЛАВНЫМ ПРЕИМУЩЕСТВОМ является то, что не требуется писать правила переноса в конфигурации "Конвертация данных". Все, что требуется от пользователя это сопоставить реквизиты справочников прямо в обработке и нажать "загрузить". Это позволяет произвести перенос практически моментально!.
Для сложных переносов есть возможность написания алгоритмов до и после записи объекта. Возможен перенос данных из связанных регистров сведений (цены, штрихкода и тд) с МИНИМАЛЬНЫМ участием программиста! Таким образом, любой перенос можно осуществить в течении нескольких часов!
Обработка работает на управляемых формах. Поддерживаются платформы 8.2 и 8.3. Кроме того возможна выгрузка данных из баз на платформе 7.7!
Причины купить:
- Возможность осуществления переноса моментально (в случае если необходим перенос "реквизит в реквизит"). Для более сложных случаев время подготовки переноса так же минимально!
- Возможность переноса данных ЛЮБЫХ справочников (например, номенклатуры, контрагентов, организаций и др.) из одной базы в другую без написания правил для переноса (для случаев переноса без табличных частей) или с минимальным написанием кода в самой обработке (для переноса табличных частей и сложных переносов).
- Поддерживаются ЛЮБЫЕ базы на платформах 8.2, 8.3! Кроме того, возможна выгрузка данных из 7.7!
- Возможность переноса данных ЛЮБЫХ справочников между ЛЮБЫМИ конфигурациями (в том числе нетиповыми).
История изменений и обновления
Новое в версии 2.0:
-При переносе данных между базами на платформе 8.x синхронизация внутри справочника происходит по уникальному идентификатору.
Это позволяет в случае необходимости при изменении данных в источнике обновлять данные в приёмнике. Кроме того, это новшество позволяет осуществлять перенос данных из нескольких баз в одну без каких-либо проблем.
-Добавлена возможность загрузки данных в нужную папку.
-Добавлена возможность частичной выгрузки данных (по папкам).
-Добавлен удобный счетчик элементов при выгрузке и другие мелочи.
Новое в версии 3.0:
-Исправлен возможный баг при переносе подчиненных справочников с составными типами данных. Доработки сделали перенос такой информации как договора и банковские счета еще более удобным и простым!
-Добавлен удобный выбор справочника для платформы 8.3 и другие мелочи.
Новое в версии 4.0:
-Добавлена закладка "Дополнительный алгоритм". Позволяет задавать произвольный программный код перед и после записи объекта в информационную базу.
Это нововведение позволяет существенно увеличить универсальной обработки, если недостаточно переноса "реквизит в реквизит" (идеально для переноса из справочника, например, в регистр, документы и т.д.) Понадобится написать буквально несколько строк кода. С этим справится любой программист.
-Добавлена возможность ручной установки значения реквизита (в том числе составного типа). Бывает крайне необходимо для обязательных для заполнения реквизитов.
-Добавлен вывод сообщения об ошибке, если объект не удалось перенести, чтобы было проще понять причину.
-Исправлена редкая ошибка при переносе из 7.7 иерархии.
-Устранены возможные проблемы с доступом при использовании клиент-серверного варианта работы с базой (как 7.7, так и 8.x).
Новое в версии 4.7:
-Добавлена возможность выбора синхронизации по наименованию или по коду при переносе из 7.7.
-Добавлена возможность частичной выгрузки данных (по папкам) при выгрузке из 7.7.
Новое в версии 5.0 (24.02.2016):
-Добавлена возможность переноса данных из связанных со справочником регистров сведений для 1С 8.x! Теперь с помощью обработки можно перенести такие данные, как штрихкоды, цены и др; для этого понадобится минимальное участие программиста. Подробно о порядке такого переноса написано в руководстве пользователя.
Новое в версии 5.12 (12.03.2017):
-Добавлена возможность частичной выгрузки данных справочника из 1С 8.x с произвольным отбором (в режиме обычного приложения и для управляемых форм).
Новое в версии 6.0 (08.01.2019):
-Добавлена возможность переноса данных из табличных частей справочника для 1С 8.x! Позволяет обращаться к этим данным с помощью произвольного программного кода перед и после записи объекта в информационную базу.
Пример программного кода можно посмотреть в руководстве пользователя.
Новое в версии 7.12 (24.02.2020):
-Для версии 8.3 добавлена возможность написания произвольного кода при выгрузке! Это позволяет осуществлять перенос практически любых данных, связанных со справочником при минимальном участии программиста! (например, перенос остатков Номенклатуры и т.д).
Новое в версии 7.13 (07.03.2024):
-Добавлена возможность выгружать значение из поля "Период" для периодических регистров сведений.
Проверено на следующих конфигурациях и релизах:
- Зарплата и кадры государственного учреждения КОРП, редакция 3, релизы 11.5.8.207
- Управление торговлей, редакция 11, релизы 11.5.15.69
Вступайте в нашу телеграмм-группу Инфостарт
перенос данных справочников номенклатуры между любыми базами загрузка остатков
См. также
Перенос данных 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 194753 479 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" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!
50050 руб.
25.02.2015 192520 383 296
SALE! 10%
Перенос данных 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, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.
27633 руб.
12.06.2017 164992 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. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.
50200 руб.
24.04.2015 211428 186 254
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в ERP 2.6 и КА 2.6 с помощью готовых правил. Переносится более 60 видов документов. Простой интерфейс и понятные настройки.
42000 руб.
24.06.2020 73113 108 35
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.
42000 руб.
15.12.2021 37104 268 68
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)
Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.
27572 руб.
18.02.2016 209222 686 559
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)
Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы
58000 руб.
29.10.2018 64459 86 137
Удален элемент - и по алфавиту проходит) Как быть? Почему удаляет?
1) удаляет, тк вы используете ДЕМО версию. В описании все подробно написано.
2) обработка ищет по наименованию элемент. Если он в базе есть, то его данные дописываются при загрузке.
3) поиск идет не только по наименованию, но и по коду. Изначально обработка была сделана в большей степени для того, чтобы заполнять новую базу,а не дописывать данные в существующую.
4) если нужно дописывать данные в существующую базу, то имеет смысл скорее в КД правила писать, чем использовать эту обработку, тк она не такая гибкая.
Доделать-то можно, но не думаю, что эта функция очень востребована будет.
п.с. В скором времени(думаю, на этой неделе) будет выпущена новая версия этой обработки, с поддержкой управляемых форм и выгрузкой данных из 7.
п.п.с. спасибо за такой активный интерес к моей обработке:)
1) перенос между идентичными конфигурациями. Переносит все, нотолько если конфигурации одинаковые.
Преимущество этой обработки: переносит данные между абсолютно любыми конфигурациями. Переносит из 7 в том числе.
2) загрузка выгрузка. Она переносит данные между разными конфигурациями, но необходимы ПРАВИЛА выгрузки, сделанные в конфигурации конвертация данных.
Преимущество этой обработки: никакие правила не нужны, что естественно экономит кучу времени.
НО Для осуществления переноса пользователю в любом случае придется обращаться к программисту, чтобы он написал нужные правила для переноса в конвертации данных.
А эта обработка позволяет пользователю самому (без использования конвертации) сопоставить все как он хочет прямо в обработке.
В этом и заключается основная мысль этой обработки.
Ситуация, есть много баз БП 2.0 в каждой из которой одна Организация.
Получится ли данной обработкой корректно перенести все имеющиеся данные по Организации из этих баз в одну базу БП 3.0, то есть на выходе 1 база БП 3.0. со списком организаций внутри на выбор.
Пример:
Было БП 2.0. - 50 шт. баз, (В каждой одна организация 50 организаций)
Стало БП 3.0. - 1 шт. база (В ней все 50 организаций для работы на выбор)
или
Было БП 2.0. - 50 шт. баз, (В каждой одна организация 50 организаций)
Стало БП 2.0. - 1 шт. база (В ней все 50 организаций для работы на выбор)
Конвертировать БП 2.0. -> БП 3.0.
Если кто сталкивался с аналогичной ситуацией подскажите как объединить таким или иным другим способом?
добрый день! Эта обработка перенесет, как Вам надо.
Но если у вас все конфигурации (из которых переносите и в которую переносите) одинаковые, то можно обойтись стандартной обработкой Переноса между идентичными конфигурациями.
да для демки бы ото сошло, но для коммерческого продукта - неприемлемо!!!
тем более что произвольный отбор
на построителе отчета
или
на компоновщике СКД
для программиста с опытом - вовсе не трудно сделать.
Если не знаешь как - посмотри что там в типовых обработках на ИТС.
***
поставил бы минус на статью, но прав на это нет
:(((((((((
По второй. Если бы я не знал таких основ, как отбор на скд или на построителе отчетов, то вряд ли я смог бы сделать подобную обработку :)
И, по секрету скажу, скд и построитель отчета никакого отношения вообще не имеет к данной обработке, лучше если в чем-то не разбираетесь, то молчать об этом и уж тем более не давать советов другим людям. Напомнило старую фразу "лучше молчать и казаться идиотом, чем заговорить и развеять все сомнения". Извиняюсь, если грубовато, но уж очень в тему :)
П.с. видимо людям, зарегистрировавшемся на сайте 10 дней назад и не выложившем ни одной обработке вообще не давать право голоса, а то потом вот такую ересь читать приходится.
П.с. видимо людям, зарегистрировавшемся на сайте 10 дней назад и не выложившем ни одной обработке вообще не давать право голоса, а то потом вот такую ересь читать приходится.
внешность обманчива - первая заповедь чекиста.
И, по секрету скажу, скд и построитель отчета никакого отношения вообще не имеет к данной обработке, лучше если в чем-то не разбираетесь, то молчать об этом и уж тем более не давать советов другим людям. Напомнило старую фразу "лучше молчать и казаться идиотом, чем заговорить и развеять все сомнения".
я бы сказал не "нагловато", а "хамовато" получилось.
***
ЗЫ
Чисти свою карму!!!
теперь по существу:
да,
ни "ПостроительОтчета" ни "СКД" прямого отношения к основному функционалу обработки не имеют.
Но они лежат в основе вспомогательного функционала произвольного отбора ссылок на объекты,
к которому привыкли и которого ожидают видеть в "коммерческом продукте" твои коллеги.
Меня раздражают люди, которые постоянно ворчат и ничего не делают, вместо того, чтобы самим заняться чем-то полезным. Вот и все.
...
о чем и написал в посте (46), особенно для такого титулованного специалиста:
•Партнер ООО "Инфостарт"
•Профессиональный разработчик
•Авторы ТОП-100 продаж
ЗЫ:
Меня раздражают люди, которые постоянно ворчат и ничего не делают, вместо того, чтобы самим заняться чем-то полезным.
а нервы ... надо лечить
п.с. Честно говоря лучшая характеристика для меня, что я имею тут статус "Топ-100 продаж", это говорит гораздо более важная характеристика, чем "ваше многоуважаемое мнение" :)
1) Переносите справочник производителей
2) Переносите номенклатуру. Производители автоматически подтянутся по наименованию.
Если же по наименованию объект найден не будет, то создаваться новый не будет.
Спасибо.
// Получаем коллекцию колонок табличной части
ТаблицаНазначения = ТекущийОбъект.КонтактнаяИнформация.Выгрузить();
КолонкиНазначения = ТаблицаНазначения.Колонки;
// Обходим каждую строку исходной таблицы
Для Каждого СтрокаИсточника Из ИсточникДанных.КонтактнаяИнформация Цикл
НоваяСтрока = ТекущийОбъект.КонтактнаяИнформация.Добавить();
// Обрабатываем специальные поля перечислений отдельно
Попытка
Если ЗначениеЗаполнено(СтрокаИсточника.Тип) Тогда
// Ищем соответствие в перечислении ТипыКонтактнойИнформации
НайденныйТип = Неопределено;
Для Каждого ЗначениеПеречисления Из Перечисления.ТипыКонтактнойИнформации Цикл
Если Нрег(СокрЛП(ЗначениеПеречисления)) = Нрег(СтрокаИсточника.Тип) Тогда
НайденныйТип = ЗначениеПеречисления;
Прервать;
КонецЕсли;
КонецЦикла;
Если НайденныйТип <> Неопределено Тогда
НоваяСтрока.Тип = НайденныйТип;
КонецЕсли;
КонецЕсли;
Исключение
Сообщить("Ошибка при заполнении поля Тип: " + ОписаниеОшибки());
КонецПопытки;
Попытка
Если ЗначениеЗаполнено(СтрокаИсточника.Вид) Тогда
// Определяем вид по нечеткой логике
СтроковоеЗначение = СтрокаИсточника.Вид;
НайденныйВид = Неопределено;
// Если есть явное указание - используем его
Если Нрег(СтроковоеЗначение) = Нрег("Адрес") Тогда
НайденныйВид = Справочники.ВидыКонтактнойИнформации.АдресПартнера;
ИначеЕсли Нрег(СтроковоеЗначение) = Нрег("Телефон") Тогда
НайденныйВид = Справочники.ВидыКонтактнойИнформации.ТелефонПартнера;
ИначеЕсли Нрег(СтроковоеЗначение) = Нрег("Электронная почта") ИЛИ
Нрег(СтроковоеЗначение) = Нрег("Адрес электронной почты") Тогда
НайденныйВид = Справочники.ВидыКонтактнойИнформации.EmailПартнера;
Иначе
// Нечеткое определение по содержимому
// Проверяем на email - наличие @ и точки
Если Найти(СтроковоеЗначение, "@") > 0 И Найти(СтроковоеЗначение, ".") > 0 Тогда
// Это email
НайденныйВид = Справочники.ВидыКонтактнойИнформации.EmailПартнера;
Иначе
// Проверяем на телефон - считаем цифры
Текст = СтрЗаменить(СтроковоеЗначение, " ", "");
Текст = СтрЗаменить(Текст, "-", "");
Текст = СтрЗаменить(Текст, "(", "");
Текст = СтрЗаменить(Текст, ")", "");
КоличествоЦифр = 0;
Для i = 1 По СтрДлина(Текст) Цикл
Символ = Сред(Текст, i, 1);
Если Найти("0123456789", Символ) > 0 Тогда
КоличествоЦифр = КоличествоЦифр + 1;
КонецЕсли;
КонецЦикла;
Если КоличествоЦифр >= 7 И КоличествоЦифр <= 15 Тогда
НайденныйВид = Справочники.ВидыКонтактнойИнформации.ТелефонПартнера;
Иначе
НайденныйВид = Справочники.ВидыКонтактнойИнформации.АдресПартнера;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если НайденныйВид <> Неопределено Тогда
НоваяСтрока.Вид = НайденныйВид;
Сообщить("Определен вид: " + НайденныйВид.Наименование + " для значения: " + СтроковоеЗначение);
КонецЕсли;
КонецЕсли;
Исключение
Сообщить("Ошибка при заполнении поля Вид: " + ОписаниеОшибки());
КонецПопытки;
// Автоматическое копирование всех остальных полей с одинаковыми именами
Для Каждого Колонка Из КолонкиНазначения Цикл
ИмяПоля = Колонка.Имя;
// Пропускаем системные поля и уже обработанные поля перечислений
Если Найти("НомерСтроки,Ссылка,Количество,Уровень,Родитель,ЭтоГруппа,Тип,Вид", ИмяПоля) > 0 Тогда
Продолжить;
КонецЕсли;
// Проверяем, есть ли поле в источнике (встроенная проверка)
ЕстьКолонкаВИсточнике = Ложь;
Для Каждого КолонкаИсточника Из ИсточникДанных.КонтактнаяИнформация.Колонки Цикл
Если КолонкаИсточника.Имя = ИмяПоля Тогда
ЕстьКолонкаВИсточнике = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЕстьКолонкаВИсточнике Тогда
Попытка
ЗначениеИсточника = СтрокаИсточника[ИмяПоля];
// Заполняем только если значение не пустое
Если ЗначениеЗаполнено(ЗначениеИсточника) Тогда
НоваяСтрока[ИмяПоля] = ЗначениеИсточника;
Сообщить(ИмяПоля + "=" + ЗначениеИсточника);
КонецЕсли;
Исключение
// Логируем ошибку, но продолжаем обработку
Сообщить("Ошибка при заполнении поля """ + ИмяПоля + """: " +
ОписаниеОшибки() + ". Строка: " + СтрокаИсточника.НомерСтроки);
КонецПопытки;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТекущийОбъект.Записать(); ПоказатьПроблемный код (оригинал):
Иначе
//по наименованию
//поиск по наименованию с учетом папка или элемент
НайденныйЭлементСсылка=НайтиСсылкаНаОбъект(СправочникДляЗагрузки,НовыйОбъект.Наименование,Неопределено);
НайденныйЭлемент=НайденныйЭлементСсылка.ПолучитьОбъект();
//НайденныйЭлемент=НайтиСсылкаНаОбъект(СправочникДляЗагрузки,НовыйОбъект.Наименование,НовыйОбъект.ЭтоГруппа).ПолучитьОбъект();
//НайденныйЭлемент=Справочники[СправочникДляЗагрузки].НайтиПоНаименованию(НовыйОбъект.Наименование).ПолучитьОбъект();
КонецЕсли;
ПоказатьИсправленный код:
// ИСПРАВЛЕНИЕ: Поиск по наименованию только в целевой папке
Если ЗначениеЗаполнено(ЭтотОбъект.ПапкаДляЗагрузки) Тогда
// Ищем элемент с таким наименованием только в целевой папке
НайденныйЭлементСсылка = НайтиЭлементВПапкеПоНаименованию(
СправочникДляЗагрузки,
НовыйОбъект.Наименование,
ЭтотОбъект.ПапкаДляЗагрузки,
НовыйОбъект.ЭтоГруппа
);
Иначе
// Если папка не указана, ищем по всему справочнику
НайденныйЭлементСсылка=НайтиСсылкаНаОбъект(СправочникДляЗагрузки,НовыйОбъект.Наименование,Неопределено);
КонецЕсли;
НайденныйЭлемент=НайденныйЭлементСсылка.ПолучитьОбъект();
КонецЕсли; Показать // ИСПРАВЛЕНИЕ: Проверяем, не был ли уже создан элемент с таким кодом/наименованием
//грузим в нужную папку
//Попытка
// ТекРодПроверка=НайденныйЭлемент.Родитель;
// Если Не ЗначениеЗаполнено(ТекРодПроверка)
// И ЗначениеЗаполнено(ЭтотОбъект.ПапкаДляЗагрузки) Тогда
// НайденныйЭлемент.Родитель=ЭтотОбъект.ПапкаДляЗагрузки;
// КонецЕсли;
//Исключение
//КонецПОпытки;
Если НайденныйЭлемент = Неопределено
ИЛИ НайденныйЭлементСсылка= Неопределено
ИЛИ (НайденныйЭлементСсылка = "" ИЛИ НайденныйЭлемент = "") Тогда
// Проверка на дубликат по коду (если код заполнен)
Если ЗначениеЗаполнено(НовыйОбъект.Код) Тогда
ЭлементПоКоду = Справочники[СправочникДляЗагрузки].НайтиПоКоду(НовыйОбъект.Код);
Если СокрЛП(ЭлементПоКоду) <> "" Тогда
Если УпрФормы Тогда
Лог=Лог+"
|Элемент с кодом """ + НовыйОбъект.Код + """ уже существует! Пропускаем.";
Иначе
Сообщить("Элемент с кодом """ + НовыйОбъект.Код + """ уже существует! Пропускаем.");
КонецЕсли;
Продолжить;
КонецЕсли;
КонецЕсли;
// Проверка на дубликат по наименованию
Если ЗначениеЗаполнено(НовыйОбъект.Наименование) Тогда
ЭлементПоНаименованию = Справочники[СправочникДляЗагрузки].НайтиПоНаименованию(НовыйОбъект.Наименование, Истина);
Если СокрЛП(ЭлементПоНаименованию) <> "" Тогда
Если УпрФормы Тогда
Лог=Лог+"
|Элемент с наименованием """ + НовыйОбъект.Наименование + """ уже существует! Пропускаем.";
Иначе
Сообщить("Элемент с наименованием """ + НовыйОбъект.Наименование + """ уже существует! Пропускаем.");
КонецЕсли;
Продолжить;
КонецЕсли;
КонецЕсли;
//грузим в нужную папку
Если (НайденныйЭлемент = Неопределено
ИЛИ НайденныйЭлементСсылка = Неопределено
ИЛИ НЕ ЗначениеЗаполнено(НовыйОбъект.Родитель))
И ЗначениеЗаполнено(ЭтотОбъект.ПапкаДляЗагрузки) Тогда
НовыйОбъект.Родитель=ЭтотОбъект.ПапкаДляЗагрузки;
КонецЕсли;
КонецЕсли;
ПоказатьНапример, переношу справочник Номенклатура. У него есть реквизит Единица измерения, тип справочник Единицы измерений.
В базе приемнике уже частично заполнен справочник Единицы измерений.
Требуется, чтобы единицу измерения искал именно по коду, и если такого кода нет, только тогда создавал новый элемент.
Известная обработка ВыгрузкаЗагрузкаДанныхXML синхронизацию выполняет по GUID, по этому, во многих случаях не подходит для практического применения.
Добрый день,
1. При переносе справочника "Единиц измерения" укажите в интерфейсе "Загрузка из 7.7" и сможете выбрать синхронизировать по коду/наименованию.
2. При переносе справочника "Номенклатура" у вас единицы будут подтягиваться в любом случае по наименованию. Вероятно, вам этого будет достаточно
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 190384
Создание 13.06.13 11:46
Обновление 14.01.26 14:06
Просмотры 234145
Загрузки 5110
Рейтинг
413
Комментарии 95
Код открыт Да
Рубрики Перенос данных 1C
Кому
Системный администратор
,
Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа 1С:Предприятие 8
Конфигурация
1C:Бухгалтерия
,
1С:Зарплата и кадры государственного учреждения 3
,
1С:Управление торговлей 11
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)