Имя: Пароль:
1C
1С v8
Конвертация: выгрузка реквизитов, аналогов которых нет в базе-приемнике.
,
0 КозаNoVa
 
14.05.13
09:31
Как организовать при конвертации данных выгрузку реквизитов, аналогов которых нет в базе-приемнике.
В источнике есть реквизиты : Артикул, Фирма.
В приемнике есть только Наименование, которое должно формироваться так: Наименование+Артикул+Фирма(все эти 3 реквизита надо выгрузить из старой базы).
Делаются настройки через конфигурацию "Конвертация данных". Думал использовать параметры, но они почему-то все время пустые возвращаются.Не знаю как еще выгрузить данные.
1 kortun
 
14.05.13
09:33
Значение = Источник.Наименование + Источник.Артикул + Источник.Фирма;
2 wise
 
14.05.13
09:35
(0)Передавать данные в параметр - флаг определяет куда будут помещены данные при загрузке. В отдельное соответствие для данного объекта, но не в сам объект. Этот подход удобен когда нужно передать какое либо значение в приемник, но нет реквизита куда нужно его поместить. Впоследствии анализируя дополнительные параметры можно изменить логику заполнения объекта приемника. В правилах необходимо указать имя параметра куда нужно поместить данные. Для табличных частей и наборов движений для каждой строки формируется отдельная структура в которой хранится информация.
3 wise
 
14.05.13
09:37
2+ посмоти "Быстрое освоение программы" в конвертации... там ДОСТУПНО описано...
4 kortun
 
14.05.13
09:37
(2) я думаю его данное сообщение только запутает :)
5 КозаNoVa
 
14.05.13
09:37
(2) Я делал два параметра Артикул и бренд и событии ПКО перед выгрузкой написал:
УстановитьЗначениеПараметраКонвертации("Артикул",Источник.Артикул );
УстановитьЗначениеПараметраКонвертации("Бренд",Источник.нФирма.Наименование);
6 kortun
 
14.05.13
09:39
делаешь ПКО Номенклатура -> Номенклатура
делаешь ПКС - Наименование - > Наименование
и в ПередВыгрузкой пишешь
Значение = Источник.Наименование + Источник.Артикул + Источник.Фирма;
7 КозаNoVa
 
14.05.13
09:51
(6) Большое спасибо,все получилось. Стыдно,что такую банальность не предусмотрел.Я думал,что в ПКС Наименование->Наименование в роли источника выступает только Наименование,а не сам объект Номенклатуры.
И еще вопрос, можно как-нибудь передать Артикул и Фирму отдельно,они будут использоваться для заполнения табличной части.
Т.е. будет ТЧ с 2 строчками: Артикул и Фирма.
Пытался сделать так:
ТаблицаЗначений = Объект.ДополнительныеРеквизиты.Выгрузить();
Строка = ТаблицаЗначений.Найти("Артикул");
Если Строка <> Неопределено тогда
Если ПустаяСтрока(Строка.Значение) тогда
 Строка.Значение = "2."+Параметры.Артикул;
КонецЕсли;
Иначе
   Строка = ТаблицаЗначений.Добавить();
Строка.Значение = "1."+Параметры.Артикул;
КонецЕсли;

Строка = ТаблицаЗначений.Найти("Бренд");
Если Строка <> Неопределено тогда
Если ПустаяСтрока(Строка.Значение) тогда
 Строка.Значение = "2."+Параметры.Бренд;
КонецЕсли;
Иначе
   Строка = ТаблицаЗначений.Добавить();
Строка.Значение = "1."+Параметры.Бренд;
КонецЕсли;
Объект.ДополнительныеРеквизиты.Очистить();
Объект.ДополнительныеРеквизиты.Загрузить(ТаблицаЗначений);
Объект.Наименование = ""+Объект.Наименование + "("+Параметры.Артикул+")"+ "("+Параметры.Бренд+")";
Это я писал в ПКО "После загрузки",но там параметры у меня пустые всегда получались, и вообще этот код как будто игнорировался.
8 КозаNoVa
 
14.05.13
09:56
Есть вариант после загрузки наименования парсить по "(" и ")", и оттуда вытаскивать значения артикула и фирмы.
9 kortun
 
14.05.13
09:58
ну сделай 2 ПКС на табличную часть
одно будет по полям Значение = Источник.Артикул -> Значение
второе будет по полям Значение = Источник.Фирма -> Значение
10 kortun
 
14.05.13
09:59
ну и соответсветно номера строк
ну сделай 2 ПКС на табличную часть
одно будет по полям Значение = 1 -> НомерСтроки
второе будет по полям Значение = 2 -> НомерСтроки
11 kortun
 
14.05.13
10:00
зачем тут какие-то параметры передавать вообще непонятно, параметры обычно для глобальных целей передают.
12 cw014
 
14.05.13
10:05
(9) ПКГС и наверное все таки одна таблица с двумя строками
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший