0
kolts23381
01.10.16
✎
19:58
|
В базе источнике есть штрихкоды информационных карт хранятся в регистре сведений. Есть измерение владелец. Тип данных СправочникСсылка.Номенклатура,СправочникСсылка.ФизическиеЛица и СправочникСсылка.СерийныеНомера.
В приемнике дисконтные карты хранятся в табличной части справочника клиенты.
Делаю так:
В правилах выгрузки данных для регистра сведений штрихкоды в обработчик перед выгрузкой помещаю код:
Если ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.ИнформационныеКарты") Тогда
Запрос = Новый Запрос("ВЫБРАТЬ
| Штрихкоды.Штрихкод КАК НомерКарты
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.Владелец = &Владелец");
Запрос.УстановитьПараметр("Владелец",Объект.Владелец);
ВходящиеДанные = Новый Структура;
СтрокиКарт = Новый массив;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СтрокаКарт = Новый Структура;
СтрокаКарт.Вставить("НомерКарты",Выборка.НомерКарты);
СтрокаКарт.Вставить("ДлинаКарты",СтрДлина(Выборка.НомерКарты));
СтрокиКарт.Добавить(СтрокаКарт);
КонецЦикла;
ВходящиеДанные.Вставить("Карты",СтрокиКарт);
ВыгрузитьПоПравилу(Объект.Владелец,,ВходящиеДанные,,"ФизЛицоВКлиентаЗаполнениеКарт");
КонецЕсли;
ФизЛицоВКлиентаЗаполнениеКарт - ПКО для Справочника клиенты только для заполнения табличной части.
Добавляю ПКС для табличной части карты. Ставлю галочку получить из входящих данных.
Записывает только в том случае если в обработчик перед загрузкой для ПКС реквизита табличной части добавить
значение = ОбъектКоллекции.<ИмяРеквизита>;
Что из себя представляют входящие данные, вроде для табличной части массив структур и тогда все само подхватится?
Как сделать чтоб происходил поиск по идентификатору и не создавались новые объекты а только модифицировались существующие? Если ставить галочку не создавать новый объект в примнике, то не переносится ничего, а если убрать то создаются новые элменты справочника.
|
|
1
kolts23381
01.10.16
✎
20:35
|
Все разобрался. Уже не первый раз несколько часов не получается, когда напишу на форум нахожу решение сам в течении пяти минут. Все я делал правильно но ошибся по невнимательности. Надо так ВыгрузитьПоПравилу(Объект.Владелец.ВладелецКарты,,ВходящиеДанные,,"ФизЛицоВКлиентаЗаполнениеКарт")
|
|