Как при конвертации данных заполнить значение реквизита?

1. Dimka74 09.01.12 16:11 Сейчас в теме
Переношу номенклатуру в другую БД, хотел, чтоб в справочнике-приемнике при создании номенклатуры, по-умолчанию задавался реквизит НаборУпаковок ("Индивидуальный набор для номенклатуры"). В конфигурации-источнике такого реквизита нет, вот я и понять не могу как сделать-то?
Создал ПКО, в нем в обработчике "При загрузке" добавил такой код:
Объект.НаборУпаковок=Справочники.УпаковкиНоменклатуры.НайтиПоНаименованию("Индивидуальный набор для номенклатуры").Ссылка;

Но не срабатывает, реквизит остается пустым, что не так?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. xxlinfo 09.01.12 20:07 Сейчас в теме
Варианты:
- Использовать событие "После загрузки" (обычно использую его);
- Отсутствие в справочнике УпаковкиНоменклатуры элемента "Индивидуальный набор для номенклатуры"
(скопируй из наименования элемента, либо вынеси на предопределенный элемент справочника);
- Возможно справочник УпаковкиНоменклатуры является подчиненным;
- Наличие перезаписи реквизита НаборУпаковок ниже по коду (перенеси код в самый низ);
- Возможно номенклатура уже существует в базе-приемнике и в ПКО стоит флаг "Не замещать существующие объекты в приемнике" (посмотри флаги "Загрузка данных" на закладке "Настройка" в ПКО);
3. Dimka74 09.01.12 23:15 Сейчас в теме
Понял в чем была проблема, я выгружал напрямую в другую БД, при этом как оказалось не работет вышеуказаный обработчик. Поэтому пришлось выгружать через промежуточный файл.
Далее я выяснил, что элемент "Индивидуальный набор для номенклатуры" является предопределенным, и потому такой код:
Объект.НаборУпаковок=Справочники.УпаковкиНоменклатуры.НайтиПоНаименованию("Индивидуальный набор для номенклатуры");

не работает, я попробовал так:
Объект.НаборУпаковок=Справочники.УпаковкиНоменклатуры["ИндивидуальныйДляНоменклатуры"];

Но ведь тоже не работает, зараза, WTF?
4. Dimka74 10.01.12 16:45 Сейчас в теме
Разобрался, надо было написать такой код:
Объект.НаборУпаковок=Справочники.НаборыУпаковок.ИндивидуальныйДляНоменклатуры.Ссылка;

И все заработало.

Кстати, может кто подскажет, можно ли сделать так, чтоб реквизит Объекта-приемника "НаборУпаковок" получал предопределенное значение, но при этом миграция информации из одной базы в другую была "на прямую", т.е. без промежуточного файла?
5. tusv 212 10.01.12 17:25 Сейчас в теме
(4) Dimka74,
Зри Конвертацию Значений на ПКО НаборыУпаковок
Добавь Источник =<Такое то значение> Приемник выбрать из списка предопределенных

В конвертации свойства обЪекта
Пишешь
Значение=<Такое то значение>;
6. Dimka74 10.01.12 19:09 Сейчас в теме
tusv, извини, но не совсем понял. Так такового ПКО НаборыУпаковок не существует (система автоматически его не создала, в Базе-отправителе, нет ничего подобного НаборуУпаковок). Вышеуказанный код я засунул в ПКО Номенклатура (СправочникСсылка.Номенклатура -> СправочникСсылка.Номенклатура), в обработчик ПослеЗагрузки.
Вот ещё - <Такое то значение>, это:Справочники.НаборыУпаковок.ИндивидуальныйДляНоменклатуры.Ссылка?
И последнее, где в Конвертации значений можно установить "выбрать из списка предопределенных"?
PrintScreen
7. aleks_19 09.02.12 17:13 Сейчас в теме
Делал РИБ на Рознице. Магазин разбит на 3 точки. Обмен данными настроил по e-mail.Год уже прога в таком режиме отработала, клиенты не жаловались. По поводу лицензий: купить доп лицензию не получится, перед тем как покупать ПО узнавал в 1С-е по этому поводу. Если у вас 3 точки, значит должно быть 3 коробки и никак иначе. Если же у вас терминал-сервер, тогда все по старому, одна коробка+ n количество лицензий...
8. Endrews 09.02.12 17:54 Сейчас в теме
Попробуй юзануть в событии ПослеЗагрузки
ИндНабор = Справочники.УпаковкиНоменклатуры.НайтиПоНаименованию("Индивидуальный набор для номенклатуры", Истина);

Если ИндНабор = Объект.НаборУпаковок.ПустаяСсылка() Тогда
     Сообщить("Не найдено по наименованию: Индивидуальный набор для номенклатуры");
Иначе
      Объект.НаборУпаковок = ИндНабор;
КонецЕсли;
Показать


После такого, ты во всяком случае должен понять где проблема
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот