Главная · Обновление  · 1с конвертация данных. Пример правила конвертации объектов

1с конвертация данных. Пример правила конвертации объектов

  • Видео – 21 учебный час
  • Методические материалы в PDF - 117 страниц А4
  • 16 практических заданий с решениями преподавателя

Формат курса, поддержка

Материалы доступны сразу после оплаты заказа – Вы скачиваете их с сайта и изучаете в любое удобное время.

Поддержка производится через Мастер-группу на сайте .

Полноценный доступ в Мастер-группу должен быть активирован не позднее 100 дней после покупки.

Актуальность курса

Материалы курса актуальны для версии БСП 2.3.2.73.

Если Вы планируете использовать более старшие версии БСП, то учтите, что изменились механизмы работы подсистемы БСП “Обмен данными”, также изменились интерфейсы.

Новый курс под последние версии БСП находится в процессе разработки и будет выпущен через несколько месяцев. Но для версий БСП 2.3.2.73 и младше будет актуален текущий курс.

Стоимость курса

9 700 рублей

Гарантия

Мы ведем обучение с 2008 года, уверены в качестве наших курсов и даем на этот курс нашу стандартную 60-дневную гарантию .

Это значит, что если Вы начали заниматься по нашему курсу, но вдруг передумали (или, скажем, не имеете возможности), то у Вас есть 60-дневный срок для принятия решения – и если Вы производите возврат, мы возвращаем 100% оплаты.

Рассрочка платежа

Наши курсы можно оплатить по частям или в рассрочку, в том числе без процентов. При этом доступ к материалам Вы получаете сразу .

Это возможно при оплате от физических лиц на сумму от 3 000 руб. до 150 000 руб.

Все, что Вам нужно сделать – это выбрать способ оплаты “Оплата через Яндекс.Касса”. Далее на сайте платежной системы выбираете “Заплатить по частям”, указываете срок и размер выплат, заполняете небольшую анкету – и через пару минут получаете решение.

Варианты оплаты

Мы принимаем все основные формы платежей.

От физических лиц – оплаты с карт, оплаты электронными деньгами (WebMoney, ЯндексДеньги), оплаты через интернет-банкинг, оплаты через салоны связи и так далее. Возможна также оплата заказа по частям (в рассрочку), в том числе без дополнительных процентов.

Начните оформлять заказ – и на втором шаге Вы сможете выбрать предпочтительный способ оплаты.

От организаций и ИП – безналичная оплата, предоставляются документы на поставку. Вы вводите заказ – и сразу можете распечатать счет на оплату.

Обучение нескольких сотрудников

Наши курсы предназначены для индивидуального обучения. Групповое обучение по одному комплекту является незаконным распространением.

Если компании требуется обучить нескольких сотрудников, мы обычно предлагаем “дополнительные комплекты”, которые стоят на 40% дешевле.

Для оформления заказа на “дополнительный комплект” выберите в форме 2 и более комплектов курса , начиная с второго комплекта стоимость курса будет на 40% дешевле .

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

  • нельзя приобрести только дополнительный комплект, если до этого (или вместе с ним) не был приобретен хотя бы один обычный
  • на дополнительные комплекты не действуют еще какие-то скидки (они и так дисконтированны, получилась бы “скидка на скидку”)
  • на дополнительные комплекты не действуют акции (например, компенсация в 7000 рублей) по той же причине

Задача

Передать информацию о контрагентах из УП в БП . Данные передаются в одностороннем порядке, идентификация производится по уникальному идентификатору.Настройка правил конвертации выполняется с помощью специальной конфигурации Конвертация данных, редакция 3.0 (далее – КД 3.0 ).

Выполняемые действия

Этап 1. Подготовка к настройке правил.

Для настройки правил конвертации в конфигурации КД 3.0 должны содержаться сведения о структуре информационных баз, между которыми производится синхронизация данных, а также о структуре формата Enterprise Data .

Шаг 1. Выгрузка структуры информационных баз УП и БП.

Для выгрузки информации о структуре информационной базы используется обработкаMD83Exp.epf , входящая в комплект поставки конфигурации КД 3.0 .

Для каждой информационной базы (УП и БП ) необходимо выполнить следующие действия:

  1. Открыть информационную базу в режиме “Предприятие”.
  2. Открыть внешнюю обработку MD83Exp.epf (Меню Файл & Открыть).
  3. Указать имя файла, в который следует сохранить структуру информационной базы.
  4. Проверить настройки в форме обработки (все флаги должны быть сняты).
  5. Нажать кнопку Выгрузить.

Шаг 2. Экспорт xml-схемы формата обмена

Для выгрузки схемы формата обмена используются стандартные возможности платформы.

Необходимо выполнить следующие действия:

  1. Открыть одну из информационных баз (либо УП либо БП ) в режиме “Конфигуратор”.
  2. В дереве метаданных найти XDTO пакеты с именами ExchangeMessage иEnterpriseData_1_0_beta.
  3. Установить курсор на пакет XDTO, нажать правую кнопку мыши и в контекстном меню выбрать пункт Экспорт XML-схемы . Указать путь и имя файла для экспорта. Выполнить это действие для каждого из двух пакетов, сохранив XML-схемы в два разных файла.

Шаг 3. Загрузка структуры информационных баз в конфигурацию КД 3.0

Загрузка выполняется в конфигурацию КД 3.0 в режиме “Предприятие”. Перечисленные ниже действия следует выполнить для каждой из конфигураций, для которых настраиваются правила конвертации (УП и БП ).

  1. Перейти в раздел Конфигурации , и выбрать команду
  2. Указать путь к файлу со структурой информационной базы (см. Этап 1, Шаг 1 ).
  3. Указать способ загрузки & в новую версию конфигурации.
  4. Нажать кнопку Выполнить загрузку

Шаг 4. Загрузка структуры формата обмена в конфигурацию КД 3.0

  1. Перейти в раздел Формат данных , и выбрать команду .
  2. Указать файлы со структурой формата (см. Этап 1, Шаг 2 ). Необходимо указать сразу оба файла, используя множественный выбор.
  3. Проверить имя основного пакета XDTO – должен совпадать с пространством имен пакета XDTO EnterpriseData_1_0_beta (см. в конфигураторе УП или БП ).
  4. Указать способ загрузки & в новую версию формата .
  5. Нажать кнопку Выполнить загрузку , дождаться окончания загрузки.

Этап 2. Создание конвертаций

Для решения описанной задачи необходимо создать две конвертации:

  • УП (для выгрузки данных из УП в формат обмена)
  • БП (для загрузки данных из формата обмена в БП )

Создание конвертаций производится в разделе Конвертации , команда Конвертации . Для новой конвертации необходимо указать наименование, конфигурацию и формат обмена. Например, конвертация для конфигурации УП:

  • Наименование & “УП2.0.7”.
  • Конфигурация & “УправлениеПредприятием”.
  • Поддерживаемые версии формата & одна строка, в которой выбрана единственная позиция справочника Версии формата.
  • правила обработки данных,
  • правила конвертации объектов,
  • правила конвертации предопределенных данных.

Для перехода к комплекту правил конкретной конвертации необходимо перейти в разделКонвертации , выбрать команду Настройка правил конвертации и выбрать в списке конкретную конвертацию, для которой будут настраиваться правила. В результате будет открыта форма Настройка правил обмена , в которой собраны все правила для конкретной конвертации.

Этап 3. Создание правил конвертации объектов

Шаг 1. Правило конвертации для выгрузки контрагентов из УП

  1. УП.
  2. Перейти на закладку
  3. Основные сведения:
    1. Идентификатор правила : “Справочник_Контрагенты_Отправка”,
    2. Объект конфигурации
    3. Объект формата : “Справочник.Контрагенты”,
    4. Область применения : Для отправки.
  4. Нажать кнопку Записать и перейти на закладку Правила конвертации свойств:
    1. Воспользоваться сервисом автоматического сопоставления свойств
      1. Нажать кнопку Настройка ПКС
      2. В открывшейся форме нажать Автосопоставление . Сопоставятся свойства “ИНН”, “КПП”, “Наименование”, “НаименованиеПолное”, “ДополнительнаяИнформация”, “ЮридическоеФизическоеЛицо”
      3. и закрыть форму настройки правил конвертации свойств
  5. Нажать кнопку Записать и закрыть .

Шаг 2. Правило конвертации для загрузки контрагентов в БП

  1. Открыть настройку правил обмена для конвертации БП.
  2. Перейти на закладку Правила конвертации объектов.
  3. Создать новое правило конвертации и заполнить данные на закладке Основные сведения:
    1. Идентификатор правила : “Справочник_Контрагенты_Получение”,
    2. Объект конфигурации : “СправочникСсылка.Контрагенты”,
    3. Объект формата : “Справочник.Контрагенты”,
    4. Область применения : Для получения.
  4. Нажать кнопку Записать и перейти на закладку Идентификация . Указать способ идентификации «По уникальному идентификатору».
  5. Перейти на закладку Правила конвертации свойств
    1. Воспользоваться сервисом автоматического сопоставления свойств:
      1. Нажать кнопку Настройка ПКС
      2. В открывшейся форме нажать Автосопоставление . Сопоставятся свойства “ИНН”, “КПП”, “Наименование”, “НаименованиеПолное”, “ДополнительнаяИнформация”, “ЮридическоеФизическоеЛицо”.
      3. Сохранить результат автоматического сопоставления & нажать кнопкуСоздать правила конвертации свойств и закрыть форму настройки правил конвертации свойств.
    2. Вручную добавить правило конвертации свойства для ОКПО (свойство конфигурации & “КодПоОКПО”, свойство формата & “ОКПО”).
    3. Позже потребуется вернуться к правилам конвертации свойств, чтобы заполнить правило конвертации свойства для свойства “ЮридическоеФизическоеЛицо”, которое является перечислением.
  6. Перейти на закладку ПередЗаписьюПолученныхДанных и написать алгоритм для заполнения страны регистрации нового контрагента. Алгоритм содержит следующий текст: «ПолученныеДанные.СтранаРегистрации = Справочники.СтраныМира.Россия;».
  7. Нажать кнопку Записать и закрыть .

Этап 4. Создание правил конвертации предопределенных данных

  1. УП или БП )
  2. Перейти на закладку Правила конвертации предопределенных данных
  3. Создать новое правило конвертации и заполнить его свойства:
    1. Идентификатор правила : “Перечисление_ЮридическоеФизическоеЛицо”
    2. Объект конфигурации : “ПеречислениеСсылка.ЮридическоеФизическоеЛицо”
    3. Объект формата : “ЮридическоеФизическоеЛицо”
    4. Область применения : для отправки и получения
    5. В табличном поле заполнить соответствия значений перечисления конфигурации и формата: “ФизическоеЛицо” & “ФизическоеЛицо” и “ЮридическоеЛицо” & “ЮридическоеЛицо”
    6. Нажать кнопку Записать и закрыть
  4. Указать новое правило в правиле конвертации свойства “ЮридическоеФизическоеЛицо” справочника Контрагенты
    1. Перейти на закладку Правила конвертации объектов
    2. Контрагенты , открыть форму правила
    3. Перейти на закладку Правила конвертации свойств и найти правило для свойства “ЮридическоеФизическоеЛицо”
    4. Открыть форму правила конвертации свойства и указать в нем правило конвертации объекта & “Перечисление_ЮридическоеФизическоеЛицо”.
    5. Сохранить внесенные изменения

Этап 5. Создание правил обработки данных

Порядок действий одинаков для обоих конвертаций.

  1. Открыть настройку правил обмена для конвертации (УП или БП )
  2. Перейти на закладку Правила конвертации объектов
  3. Найти правило конвертации справочника Контрагенты , открыть форму правила
  4. Нажать кнопку Создать на основании & Правило обработки данных
  5. В созданном правиле обработки данных проверить заполнившиеся автоматически свойства:
    1. Идентификатор правила & указать такой же как для правила обработки данных (“Справочник_Контрагенты_Отправка” либо “Справочник_Контрагенты_Получение”)
    2. Область применения & такая же как для правила обработки данных
    3. Объект выборки :
      1. для конвертации УП & “СправочникСсылка.Контрагенты”
      2. для конвертации БП & “Справочник.Контрагенты”
    4. Правило конвертации объекта & ссылка на правило конвертации объекта.
  6. Нажать кнопку Записать и закрыть.

Этап 6. Получение модулей менеджера обмена данными

Модуль менеджера обмена данными необходим для обмена данными между конфигурациями в соответствии с настроенными в КД 3.0 правилами.

Порядок действий одинаков для обеих конвертаций:

  1. Открыть информационную базу УП или БП в режиме “Конфигуратор”. Найти в дереве метаданных общий модуль МенеджерОбменаЧерезУниверсальныйФормат и открыть его для редактирования. Модуль должен быть пустым.
  2. Открыть информационную базу КД 3.0 в режиме “Предприятие”.
  3. Перейти в раздел Конвертации и выбрать команду Выгрузка модуля.
  4. В открывшейся форме указать соответствующую конвертацию и нажать кнопку Выгрузить . Модуль будет скопирован в буфер обмена.
  5. Перейти в конфигуратор информационной базы УП или БП и вставить содержимое буфера обмена в общий модуль МенеджерОбменаЧерезУниверсальныйФормат.
  6. Сохранить конфигурацию.

Выгрузка модуля в буфер обмена также может производиться из формы настройки правил обмена по кнопке Сохранить модуль менеджера обмена .

Для того чтобы по настроенным правилам выполнялся обмен данными, необходимо в обеих информационных базах в режиме “Предприятие” настроить синхронизацию данных через универсальный формат.

Для настройки обмена данными между различными (в том числе и самописными) конфигурациями в 1С существует очень гибкий механизм настройки переноса информации – конфигурация 1С «Конвертация данных» (КД). Давайте рассмотрим работу этого механизма и попробуем настроить правила обмена между двумя типовыми конфигурациями:

  • Бухгалтерия предприятия (демо-версия), редакция 3.0.30;
  • Зарплата и управление персоналом (демо-версия), редакция 3.0.25.

В качестве инструмента для настройки правил обмена будет выступать конфигурация Конвертация данных редакции 2.1.82. Работы будут производиться на платформе 8.3.9.

Важно отметить, что Ковертация данных позволяет организовать обмен не только между базами 8 версии программы, но и между 7 и 8 версиями платформы 1С.

Стартовый помощник

После установки конфигурации «Конвертация данных» и её запуска первое окно которое открывается – Стартовый помощник (Рис.1) .

Вызвать его повторно можно из меню Операции->Обработки либо из Справки, где эта обработка выделена в отдельную команду.

Так как мы не планируем использовать типовые правила переноса, а собираемся создать свои в следующем окне мы выберем соответствующий пункт из списка (Рис.2) .

Рис.2

Кроме создания новых правил обмена мы можем:


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

Файлы структуры метаданных

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

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

Для разных версий платформы фирма 1С реализовала разные обработки выгрузки структуры:

  • MD77Exp.ert – позволяет сохранить в файл структуру конфигураци семерочной базы данных;
  • MD82EXP.epf – выгуржает структуру баз данных, работающих на платформах версии 8.0-8.2;
  • MD83EXP.epf – предназначена для платформы 8.3.

Так как в условиях нашей задачи стоит организовать обмен между базами, работающими на релизе 8.3, мы воспользуемся третьей обработкой (Рис.4).

Рис.4

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

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

Для этого:


Для второй базы повторяем те же самые действия.

Вернемся к нашему помощнику.

Продолжение работы с помощником

После добавления двух наших баз в справочник он имеет вид (Рис.6).

Продолжим работу с помощником

В следующем окне (Рис.7) мы должны выбрать базу приемник и базу источник.

Рис.7

И вот мы подошли к окну, в котором на предложат определить по каким законам и соответствиям будет строиться наш обмен (Рис.8).

Рис.8

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

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

Создание правила для обмена между справочниками

Устанавливаем переключатель в третий пункт списка и нажимаем кнопку «Выполнить».

Мы попали в мастер настроек элемента справочника «Правила конвертации объекта» (Рис.9)

Рис.9

В базе-источнике мы должны выбрать объект, данные которого будут синхронизированы.

В базе приемнике – таблицу, куда эти данные будут попадать.

На следующем этапе нам предстоит определиться с параметрами загрузки:

  • По каким реквизитам будет происходить поиск соответствия;
  • Что делать с существующими элементами;
  • Создавать ли отсутсвующие элементы;
  • Как поступать со ссылками;
  • Какие правила использовать для нумерации новых элементов.

И параметрами выгрузки.

Если мы решим выполнить автоматическое сопоставление данных, этот пункт мы пропустим.

В конце мы должны выгрузить созданные правила на диск.(Рис.10).

Рис.10

Обмен данными

Дальнейший обмен данными мы будем производить с помощью обработки V8Exchan83.epf (Рис.11), также входящей в комплект поставки. Использование стандартного обмена данными, входящего в состав конфигурации или самописной обработки, при использовании правил созданных в КД может закончится возникновением исключительной ситуации.

Рис.11

И еще раз: крайне важно, чтобы версия файла выгрузки, конфигурации и обработки обмена совпадали и были взяты из одной поставки, только в этом случае вы максимально обезопасите себя от всевозможных проблем.

В любом случае, если проверка правильности переноса данных показала наличие конфликтных ситуаций и ошибок, обработка переноса позволяет удалить эти данные из базы.

Задача этого правила обмена перенести остатки по взаиморасчетам из БП 2 в УТ11.

Поэтапное создание правила обмена с помощью конфигурации "Конвертация данных"(метаданные должны быть загружены):

1) Создаем правило выгрузки объекта для этого переходим на закладку "Правила выгрузки данных", жмем добавить. В появившемся окне выбираем объект выборки у нас это будет хозрасчетный регистр. Способ выборки меняем на произвольный алгоритм.

2) Переходим к написанию самого кода т.к. в УТ нет хозрасчетного регистра то мы должны его преобразовать. Сначала нам нужен запрос который по нашим параметрам будет возвращать остатки по взаиморасчетам. В обработчике события "Перед обработкой" пишем следующий запрос:

ТекстЗапроса = " ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
| ЕСТЬNULL(СУММА(ХозрасчетныйОстатки.СуммаОстатокДт),0) КАК СуммаОстатокДт,
| ЕСТЬNULL(СУММА(ХозрасчетныйОстатки.СуммаОстатокКт),0) КАК СуммаОстатокКт,
| МАКСИМУМ(ХозрасчетныйОстатки.Субконто2.Дата) КАК ДатаРасчетногоДокумента,
| МАКСИМУМ(ХозрасчетныйОстатки.Субконто2.Номер) КАК НомерРасчетногоДокумента
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&НаДату, Счет = &счет,) КАК ХозрасчетныйОстатки
|ГДЕ
<> &группа и
| ХозрасчетныйОстатки.Субконто1.Родитель <> &группа1
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.Субконто2
|УПОРЯДОЧИТЬ ПО
| Субконто1
|АВТОУПОРЯДОЧИВАНИЕ";

В моей задача стояли ограничения на группы контрагентов по которым выгружаются взаиморасчеты.

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

НаДату = дата("20130101");
ТД = ТекущаяДата();
группа = Справочники.Контрагенты.НайтиПоНаименованию("Покупатели");
группа1 = Справочники.Контрагенты.НайтиПоНаименованию("Возвраты от ФИЗЛИЦ");

Создаем таблицу которую в последствии будем передавать в правило конвертации значений.

ТЗ = Новый ТаблицаЗначений();
ТЗ.Колонки.Добавить("Контрагент");
ТЗ.Колонки.Добавить("Сумма");
ТЗ.Колонки.Добавить("СуммаРЕГЛ");
ТЗ.Колонки.Добавить("РасчетныйДокумент");
ТЗ.Колонки.Добавить("ДатаРасчетногоДокумента");
ТЗ.Колонки.Добавить("НомерРасчетногоДокумента");
ТЗ.Колонки.Добавить("Партнер");
ТЗ.Колонки.Добавить("ВалютаВзаиморасчетов");
ТЗ.Колонки.Добавить("ДатаПлатежа");

Устанавливаем параметры, вызываем запрос, заполняем таблицу вызываем правило конвертации.

запрос = новый запрос(ТекстЗапроса);
запрос.УстановитьПараметр("группа",группа);запрос.УстановитьПараметр("группа1",группа1);
запрос.УстановитьПараметр("НаДату",НаДату);
запрос.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками);//76.05
Выборка = запрос.Выполнить().Выбрать();
ТЗ.очистить();
Пока Выборка.Следующий() Цикл
если Выборка.СуммаОстатокКТ = 0 или Выборка.СуммаОстатокКТ = "" тогда
продолжить;
конецесли;
если Выборка.СуммаОстатокКТ < 0тогда
сообщить(""+Выборка.Субконто1+" отрицательное значение "+Выборка.СуммаОстатокКТ);
конецесли;
СтрокаТЗ = ТЗ.Добавить();
СтрокаТЗ.Контрагент = Выборка.Субконто1;
СтрокаТЗ.сумма = Выборка.СуммаОстатокКТ;//Выборка.СуммаОстатокКт;
СтрокаТЗ.суммаРегл = Выборка.СуммаОстатокКТ;//Выборка.СуммаОстатокКт;
СтрокаТЗ.ДатаРасчетногоДокумента =Выборка.ДатаРасчетногоДокумента;
СтрокаТЗ.НомерРасчетногоДокумента = Выборка.НомерРасчетногоДокумента;
СтрокаТЗ.ДатаПлатежа = ТД;
КонецЦикла;
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Дата", ТекущаяДата());
ИсходящиеДанные.Вставить("РасчетыСПартнерами", ТЗ);
ИсходящиеДанные.Вставить("ТипОперации", "ОстаткиЗадолженностиПередПоставщиками");
ИсходящиеДанные.Вставить("Комментарий", "Сформировано по кредиту счета 76.05");
сообщить("76.05 КРЕДИТ начало");
ВыгрузитьПоПравилу(, ИсходящиеДанные, "ВводОстатковПоВзаиморасчетам_7605Кредит");

Аналогично проделываем ту же операцию и для остальных необходимых счетов(их описание как и готовое правило имеется во вложении).

3) Переходим к созданию правил конвертации объектов, для этого открываем закладку "Правила конвертации объектов". Добавим туда новое правило с именем "ВводОстатковПоВзаиморасчетам_7605Кредит" , объект источник оставим пустым, объект приемник установим документ "Ввод остатков", на вкладке настройки уберем флаг "Искать объект приемника по внутреннему идентификатору объекта источника".

В обработчике события "Перед загрузкой" напишем следующий код:

ГенерироватьНовыйНомерИлиКодЕслиНеУказан = истина;

В обработчике события "После загрузки" напишем:

выполнить(алгоритмы.ПослеЗагрузкиВводаОстатков);

он выполнит алгоритм со следующим содержанием:

валюта = Константы.ВалютаРегламентированногоУчета.Получить();
объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
объект.организация=параметры.порганизация;
для каждого стр из объект.расчетыспартнерами цикл
Стр.РасчетныйДокумент = Справочники.ДоговорыКонтрагентов.пустаяссылка();
Стр.ВалютаВзаиморасчетов = валюта;
если ЗначениеЗаполнено(стр.контрагент.партнер) тогда
стр.партнер = стр.контрагент.партнер;
иначе
парт = Справочники.Партнеры.НайтиПоНаименованию(стр.контрагент.Наименование);
если парт <> Неопределено и парт <> Справочники.Партнеры.пустаяссылка() тогда
стр.партнер = парт;

объект2.Партнер = парт;
объект2.Записать();
иначе
выполнить(алгоритмы.ДобавитьПартнера);
конецесли;

конецесли;

конеццикла;

Этот алгоритм будет исполнен на стороне приемника(БП). Кроме переноса остатков по взаиморасчетам стоит задача переноса контрагентов, но в УТ используются партнеры поэтому после формирования документа мы проверяем все ли контрагенты и партнеры имеются в базе приемнике, если по какой то причине их нет то мы их добавляем.

Добавление контрагентов осуществит правило конвертации справочника "Контрагенты" его можно создать точно также как и предыдущее правило, но разрешить системе самой сопоставить необходимые поля.

Для партнеров был создан алгоритм который выполняется на стороне приемника.

Для того чтобы выполнить алгоритм на стороне приемника, надо в правом верхнем углу окна алгоритма(при его редактировании) проставить флаг "Используется при загрузке".

Ниже приведен код алгоритма "Добавить партнера":

нПартнер = Справочники.Партнеры.СоздатьЭлемент();
нПартнер.Наименование =стр.контрагент.наименование;
нПартнер.Комментарий = "Создан при загрузке из БП";
нПартнер.НаименованиеПолное =стр.контрагент.НаименованиеПолное;
нПартнер.Поставщик = ?(найти(стр.контрагент.ДополнительнаяИнформация,"Поставщик")>0,истина,ложь);
нПартнер.Клиент = ?(найти(стр.контрагент.ДополнительнаяИнформация,"Клиент")>0,истина,ложь);
ПрочиеОтношения = ?(найти(стр.контрагент.ДополнительнаяИнформация,"Прочее")>0,истина,ложь);
нпартнер.Записать();
стр.партнер = нпартнер.ссылка;
контрагент = Справочники.Контрагенты.НайтиПоНаименованию(стр.контрагент.Наименование);
объект2 = контрагент.ПолучитьОбъект();
объект2.Партнер = нпартнер.ссылка;
объект2.Записать();

Возвращаемся обратно к правилу конвертации объекта. Теперь нам надо установить соответствия полей источника и приемника, это можно было сделать непосредственно перед написанием кода. Для того чтобы сопоставить поля в нижней табличной части имеется кнопка вызова мастера "Синхронизация свойств". В этом мастере мы можем либо сопоставить поля, либо оставить как без источника, так и без приемника. В нашем случае все поля и ТЧ мы оставляем без источника.

После того как необходимы поля были выбраны в нижней ТЧ для каждого поля выставляем флаг в колонке "Получить из входящих данных". Этот флаг говорит о том, что система будет искать это поле во входящих данных. Важно чтобы имя поля совпадало с именем во входящих данных, иначе будет выведено сообщение о том, что поле не найдено.

Текстом описаны не все нюансы процесса.

Одна из самых распространенных проблем с которой сталкиваются 1с-ники. Это перекидка справочников и документов из одной конфигурации в другую. Для решения таких задач 1с предлагает использовать специализированную конфигурацию «Конвертация данных». Возьмем, например задачу перекинуть контрагентов из базы 7,7 в базу 8. Что нам для начала нужно?

Разумеется сама база «Конвертация данных» и несколько внешних обработок, для 7.7 это:

  • MD77Exp.ert - обработка, которая выгружает в хмл файл структуру конфигурации 7.7 (выгрузка описания структуры метаданных)
  • V77Exp.ert - универсальная выгрузка данных в формате хмл

Сначала выгружаем первой обработкой структуру метаданных нашей конфигурации. Запоминаем путь к файлу выгрузки и запускаем конфигурацию 8.2 «Конвертация данных».

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

Аналогичную операцию проделываем для конфигурации 8. только там обработки называются:

MD81Exp.epf и MD82Exp.epf - выгрузка описания структуры метаданных для 1с 8.1 и 8.2 соответственно.

Аналогично с семеркой загружаем данные из хмл файла в нашу «Конвертацию данных».

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

Или запустив, стартовый помощник

В стартовом помощнике выберем «Создать новые правила обмена данными (с нуля)» и укажем две конфигурации, между которыми будем делать обмен.

Давайте перекинем из одной конфигурации в другую справочник «Номенклатура».

После того как отработают встроенные алгоритмы ми можем наблюдать соответствия реквизитов справочника «Номенклатура» в 7,7 и 8. Стандартно соответствие ставится для реквизитов с одинаковыми названиями, добавим соответствие между «ПолнНаименование» и «НаименованиеПолное», у меня выглядит так:

Заказчик сказал, что у него во всей номенклатуре единица измерения должна стоять «шт.», в этом мне помогут обработчики событии. Если вы мышкой клацните по номенклатуре, в верхней табличной части то откроется мастер настроек правила конвертации объектов, там, на 3 шаге можно указать свой код в обработчиках событий. Для нашей цели подойдет последний обработчик «После загрузки» который вызывается после загрузки объекта, но до его записи в базу данных, мы пропишем эму такой код:

если Объект. ЭтоГруппа= ложь тогда Объект. ВидНоменклатуры= справочники. ВидыНоменклатуры. НайтиПоНаименованию(" товар " ) ; Объект. ЕдиницаИзмерения = справочники. ЕдиницыИзмерения. НайтиПоНаименованию(" шт " ) ; конецесли ;

Все просто без изысков Объект - это наш обьэкт до записи в базу, очень помогает встроенная справка, которая вызывается при нажатии на кнопку «Информация по обработчикам».

Сохраняем правила конвертации в хмл файл, он нам понадобится в дальнейшем для перекидки справочника.