Как задать значение приемнику в конвертации 2
Перейти к содержимому

Как задать значение приемнику в конвертации 2

  • автор:

Как задать значение приемнику в конвертации 2

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

Создание правил обмена

Можно создать правила конвертации объектов самостоятельно. Для этого достаточно добавить новый элемент на закладке «Правила конвертации объектов».

Создание правил обмена 1

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

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

Создание правил обмена 2

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

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

Создание правил обмена 3

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

Создание правил обмена 4

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

Создание правил обмена 5

Программа показывает список свойств объектов которые можно автоматически сопоставить. Устанавливая и убирая флажки в строках этого соответствия можно согласится или отказаться от создания правил. Флажок «Рекурсивно создавать правила конвертации, свойств и значений» управляет технологией создания правил конвертации свойств для не примитивных типов. Например, если реквизит «ВалютаДокумента» с типом «СправочникСсылка.Валюты» и для этого реквизита создается правило конвертации свойств, то автоматически будет создано правило для конвертации объектов с типом «СправочникСсылка.Валюты».

Точно по тому же принципу можно действовать создавая правила конвертации значений.

Действия при «ручном» сопоставлении значений:

Создание правил обмена 6

Действия при автоматическом сопоставлении значений:

Создание правил обмена 7

Остается только указать программе как в информационной базе приемнике искать объекты, соответствующие объектам в информационной базе источнике.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

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

Конвертация данных как задать конкретное значение реквизиту документа

В общем в источнике вообще нет такого реквизита, а в приемнике перечисление. Хочу поставить конкретное значение потому как поле обязательное для заполнения. Но что-то не получается.
Что делаю: в ПКС документа добавил этот реквизит в качестве источника Перед выгрузкой написал: Значение = "ОдноИзНаименованийПеречисления" создал новое правило там поставил источником строку прие мником соответствующее перечисление. И в обработчике при загрузке:
Значение = ПеречислениеСсылка.СпособыБлаБла.НайтиПоНаименованию(Источник)

Задать в Приемнике своё значение, которого нет в Источнике. Конвертация данных 1С

Суть задачи: Нужно, чтобы при переносе документа «Отражение зарплаты в регламентированном учете» СубконтоДт1 (тип СправочникСсылка.Резервы) имело другое Значение, то есть значение не из Источника.

Нужно, чтобы при условии, когда СчетДт=»96″ и СчетКт = «69.03.1» тогда СубконтоДт было равно «Резерв на взносы в Федеральный ФОМС». (А не «На оплату предстоящих отпусков», как видно на картинке).

Уточнение: этого не видно на картинке, но на самом деле под СубконтоДт подразумевается СубконтоДт1, а значение «Резерв на взносы в Федеральный ФОМС» — это значение элемента из Приемника.

Ниже на картинке я покажу, как выглядят эти справочники в Источнике и в Приемнике.

Надеюсь, что пояснила понятно.

Теперь в Конвертации данных:

От обилия красного прямо рябит в глазах. Извините, я не специально!

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

Запрет выгрузки «Групп» справочников в конвертации данных.

Related Posts

21 Comments

Как пример задания конкретного значения в приёмнике имеет право на существование. А вообще, разве нельзя синхронизировать эти справочники переносом данных из БП 3.0 в ЗУП 2.5?

(1) kit, можно конечно ��

Но политика нашей организации такова, что Оценочные обязательства и резервы в системе ЗУП давно утверждены и централизованы. Центральный аппарат этим пользуется, им вполне хватает. А регионы только переходят на ЗУП (РИБ), причем в каждой отдельной системе проводки формируют по-разному, да еще и в разные Бухгалтерии (у кого-то 7-ка, у кого-то Бухгалтерия 8.2, у избранных — 8.3), и бухгалтерия требует, чтобы «было как раньше» до перехода.

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

Возможно, когда Бухгалтерия так же станет общей, сделаем синхронизацию.

Аналогичную задачу решал добавлением параметра объекта в который записывал код, а свойство выводил в «отказ = истина». При загрузке объекта, если свойство не задано, а параметр существует — выполнял поиск элемента справочника по значению параметра.

А еще можно написать Выражение=…

Выполнится на стороне приемника

Ради одного элемента такое делать (создавать ПКО) нет необходимости.

Самый идеальный вариант это сделать элементы предопределенными и синхронизировать по значению. Использовать в коде конструкции с проверками кода или наименования элементов очень и очень плохое занятие.

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

Сам с аналогичным заданием «мучился», все же КД — «темная лошадка», или просто я «не умею ее готовить»…

Всем привет. А может кто подскажет?

Есть у меня Реквизит в табличной части Источника, но его нет в Табличной части Приемника. Как правильно его передать через параметр?

Источник это реквизит СубконтоНУ, тип справочник ФизЛицо.

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

(7) pas86, возможно стоит пойти путём произвольного алгоритма?

Делаешь выборку в источнике, обходишь её и в случае (пример):

в твоей таблице значений для «СубконтоБУ» задаешь Выборка.Физлицо

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

Добрый день, подскажите, как мне можно перенести элемент из источника в приемник, если в источнике элемент непосредственно не задан, определяется так:

Меня интересуют только товар и услуги, для их выгрузки использую в обработке перед выгрузкой следующий код:

Но вот как проанализировать при загрузке не пойму.

Значение в данном случае немного не то.

Пример использования «Значение»: у вас есть справочник «Организации», у которого и Коды и Наименование в двух разных системах по одной организации отличаются, тогда вы можете снять поиск с Кода, а в Наименование вписываете Значение = «ООО Ромашка»; (то Наименование, которое есть в базе-приемнике). И тогда при загрузке система найдет организацию с наименованием «ООО Ромашка».

Насколько я понимаю, свойство «.Услуга» вы берете у какого-то реквизита, например «Номенклатура», которая выгружается.

Моё мнение, вам нужно в ПКО документа «После загрузки»:

Если Объект.Номенклатура.Услуга Тогда

Что то пошло не так:

Ошибка при вызове метода контекста (ПолучитьФорму): Элемент не выбран!

Проверила в ЗУПе (обычные формы) по документу «Начисление по больничному листу», у нас на форме два реквизита: ПервыйГодРасчета, ВторойГодРасчета.

Всё норм записалось.

ОписаниеОшибки = Ошибка при вызове метода контекста (ПолучитьФорму): Недопустимое значение параметра (параметр номер ‘1’)

теперь вот так.. не понимаю сути того что пытаюсь сделать. Что в данном случае объект? источник?

(14) у вас это вообще документ? Возможно у вас справочник? …тогда получайте форму справочника («ФормаЭлемента»).

Я привела для вас пример, на основании которого подстройте свой код.

Объект в данном случае — Объект.

Так же вы можете открыть файл выгрузки и ознакомиться с ним.

Событие происходит после загрузки, обратите внимание, в 4-ой строке я обращаюсь к процедуре общего модуля.

Ниже приведен кусок из моего xml файла:

Ссылка — указатель, Объект — объект (мы с ним работаем, мы у него изменяем значения и тп), это как бы основы.

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

Попытался сам разобраться, но не очень получается. Давайте я ещё раз обрисую ситуацию.

У меня есть база источник, в ней у меня непосредственно нет видов номенклатуры, но есть элемент у справочника номенклатура «Услуга», если он установлен значит выгружаемый элемент услуга, если не установлен значит товар.

Есть база приемник, в ней у справочника номенклатура есть элемент вид номенклатуры, мне нужно каким то образом объяснить базе приемнику какой вид номенклатуры должен стать у загружаемого элемента.

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

Что за анализ должен здесь быть, как мне понять какой там вид на базе источнике?

Передача параметра в табличной части в конвертации данных

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

Например, такая задача может возникнуть если одна из конфигураций была изменена(добавлен реквизит в табличную часть). В моем случае это конфигурация-приемник. В табличную часть «Товары» документа «Отчет о розничных продажах», конфигурации «Управление торговлей» 10.3 добавлен реквизит «Консультант» типа «Справочник.ФизическиеЛица». В него надо передавать значение реквизита «Продавец» из табличной части «Товары», из конфигурации «Розница» 2.х.

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

В табличной части «Товары» ПКО «Отчет о розничных продажах» создаем новый параметр:

Добавить комментарий

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