Каталог решений - Формирование ПКС. Конвертация данных 1С 2.1

Формирование ПКС. Конвертация данных 1С 2.1

Формирование ПКС. Конвертация данных 1С 2.1

В наличии

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

Категория:

Описание

1. Выгрузка в ПКС любой ссылки, кроме перечисления. Перечисление будет в пункте 2.

 

Вариант А) Классика:

Рис. 1

Из Рис. 1 в качестве примера возьмём вторую строку. У нас есть Источник — в данном случае это Ссылка на "Начисление" (план видов расчета), для которого задано ПКО "Начисления". 

 

Откроем правило конвертации объекта (ПКО) "Начисления" (Рис. 2).

Рис. 2

 

Рис. 3

Здесь всё просто, если объект не найден по УИДу, загрузка будет искать его по реквизиту "Код". 

 

Немного теории: При выгрузке объекта в ПКС, не зарегистрированного для выгрузки, Объект не выгружается, а выгружается Ссылка и её поля поиска (указанные в правиле конвертации объекта — ПКО). 

В моём примере это УИД и Код.

На Рис. 4 свойство "Начисление" в файле выгрузки (сформированное ПКС "Начисление" из Рис. 1):

Рис. 4

Как видно из Рис. 4, поля "Наименование" нет. Из свойства не создаётся объект. Если поискать Объект в файле по выгруженному УИД (УникальныйИдентификатор), то его там не будет.

 

Вариант Б) Нам всё же нужно создать объект, выгружаемый в ПКС. В качестве примера возьмём "Вариант А".

 

Чтобы не зарегистрированная Ссылка была выгружена полностью, нужно задать параметр (Пример в Рис. 5):

ВыгрузитьОбъект = Истина;

Рис. 5

 

Выгрузим документ повторно. Теперь в файле есть Объект.

Рис. 6

Теперь при загрузке, если объект не будет найден по УИД или Коду, то создастся новый.

 

Чтобы новый не был создан, нужно задать настройки "Не создавать новый объект в приемнике, если он НЕ найден":

Рис. 7

Настройка "Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их" — нужна для того, чтобы если объект найден, но его "Наименование" отличается от загружаемого, то оно не было бы замещено. Но, если объект не найден, он будет создан с загружаемым УИД, Кодом и Наименованием. 

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

Рис. 8

 

Немного уточняющих деталей ниже.

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

В системе есть некий план обмена, в моём примере это ЗУП 3.1 — БП 3.0. В этом плане обмена задан состав регистрируемых для выгрузки объектов (Рис. 9).

 

Рис. 9

Как видно из Рис. 9 ни один план видов расчета не регистрируется для обмена (именно его мы выгружали выше). Соответственно для него нет ПВД (правило выгрузки данных).  

И его (плана вида расчетов) так же нет в Регистрации изменений для обмена (Рис. 10). То есть необязательно проверять в конфигураторе, можно это увидеть и из пользовательского режима. 

Рис. 10

 

Вариант В) Нужно выгрузить ссылку по одному свойству строкового типа. Для примера выгрузим "Начисление" по Наименованию. Считаем, что в принимающей базе начисления есть, но УИДы и Коды с базой источником точно не совпадают.

Создадим новое ПКО и назовём его "НачисленияИзСтроки".

 

Переопределим Значение свойства "Начисление" Рис. 11. (В справке указано "Значение — это конвертируемое значение свойства.")

Значение = ОбъектКоллекции.Начисление.Наименование;

Рис. 11

Другими словами мы "отправляем" в ПКО в качестве источника не ссылку, а строку.

 

Поскольку в моём примере "Начисление" находится в строке табличной части, то я использую параметр ОбъектКоллекции. (Если бы "Начисление" было реквизитом, то я бы написала Источник.Начисление.Наименование.)

 

В ПКО выделенные в Рис. 12 настройки должны быть сняты, поскольку у строки УИДа нет. Объект-источник не заполнен.

Рис. 12

 

Поиск будет выполняться по свойству Наименование, это нужно отметить флажком во второй колонке. Выделила на Рис. 13.

Рис. 13

В свойстве "Наименование" перед выгрузкой укажем:

Значение = Источник;

Рис. 14

 

Вариант Г) Нужно выгрузить ссылку из структуры.

 

Например, по какой-то причине Начисление задано структурой.

ПКО назовём "НачисленияИзСтруктуры".

 

В КД 2.1 есть возможность использовать параметры: ИсходящиеДанные и ВходящиеДанные.

Рис. 15

 

ИсходящиеДанные зададим как Структура Рис. 16.

Рис. 16

 

ПКО "НачисленияИзСтруктуры" будет вида:

Рис. 17

В ПКС "Код" и "Наименование" ничего не указано. В колонках "Поиск" и "Получить из входящих данных" установлены флажки.

 

Вариант Д) Выгрузка предопределенного значения справочника, в случае когда нужно указать конкретное значение.

 

Рис. 18

 

Используем параметр "Выражение".

Выражение = "Справочники.ВидыВычетовНДФЛ.Код108";

Рис. 19

 

2. Выгрузка перечисления, когда нужно указать конкретное значение.

 

В ПКС указываем ПКО, источник не задаём.

Рис. 18

 

Перед выгрузкой в Значение задаём имя нужного перечисления Рис. 19.

Рис. 19

 

 

Ниже оставшийся текст первоначальной версии статьи от октября 2015 года.

 

Вариант 1

Задать своё значение Наименования.

 

 

 

Вариант 2 

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

 

has been added to your cart:
Оформление заказа