Загрузка в приемник без источника

Версия для печатиPDF-версия

Платформа:

Из Розницы надо выгрузить ПоступленияТМЗ в БП 3.0

В Рознице в документе ПоступленияТМЗ в табличной части ТМЗ нет реквизита ВидПоступления, а в БП 3.0 этот реквизит надо заполнить на основании значений реквизита СтавкаНДС в той же табличной части.
Создал ПКС без источника. Значения реквизита прибиваю железно. в приемнике если реквизит СтавкаНДС имеет наименование 12%, тогда в реквизит ВидПоступления надо получить значение справочника по наименованию "Товары, приобретенные с НДС".

Пробовал по-разному. Пытался в ПКО ПоступленияТМЗ в обработчике после загрузки сделать

Для Каждого СтрокаТЧ из Объект.Товары
Если СтрокаТЧ.СтавкаНДС = Справочники.СтавкиНДС.НайтиПоНаименованию("12%) Тогда
СтрокаТЧ.ВидПоступления = Справочники.ВидыПоступления.НайтиПоНаименованию("Товары, приобретенные с НДС");
Иначе
СтрокаТЧ.ВидПоступления = Справочники.ВидыПоступления.НайтиПоНаименованию("Без НДС");
КонецЕсли;

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

Там пытаюсь сделать подобное с параметром Значение, типа такого нашел на просторах
Значение = Новый Структура("Код, Наименование", "000000009", "Без НДС");
Но тоже что-то не идет (тут уже втупую, чтобы хоть заполнилось)

 

Странно, что первый способ с обходом ТЧ не работает. Значения по наименованию точно находятся? Добавьте после каждого НайтиПоНаименованию вывод найденного значения через Сообщить(...).

Сделал обработку для изменения этого поля на основании ставки с подобным кодом - все работает. И после этого куска кода в обработчике нету почти ничего. Думаю, может из-за того, что делаем обмен через типовой механизм, а не через обработку обмена XML... Попробую сейчас

Добавить сообщения в правила пробовали? Может быть в обработчике ПослеЗагрузки до этих строк не доходит? Перед ними ещё что-нибудь есть?

Можно и с ПКС попробовать, но там немного сложнее.

А в ПКС как надо такое соответствие налаживать?
 

Примерно так:

  1. Создать ПКО для справочника Виды поступлений. Объект-источник - пустое поле, Объект-прмиемник - СправочникСсылка.ВидыПоступлений. В конвертируемые свойства добавить "Наименование" (Источник - пустой, Приемник - Наименование). Поставить галки "Поиск" и "Получить из входящих данных". 
  2. В ПКО ПоступленияТМЗ в конвертируемые свойства ТЧ Товары добавить "ВидПоступления" (Источник - пустой, Приемник - ВидПоступления, Правило - ВидыПоступлений (созданное в п.1)). В обработчик "Перед выгрузкой" добавить подобный код:
ИсходящиеДанные = Новый Структура("Наименование", ?(ОбъектКоллекции.СтавкаНДС = Справочники.СтавкиНДС.НайтиПоНаименованию("12%), "Товары, приобретенные с НДС", "Без НДС"));

Сохранить, выгрузить, проверить.

ПС. СтавкиНДС - это точно справочник, а не перечисление?