Здравствуйте!
Продолжаю перенос данных из 1С 7.7 ТиС в 8.2 Комплексная.
В данный момент застопорился на переносе табличной части, а именно ставки НДС. В приемнике она имеет тип перечисление и присутствует в табличной части, а в источнике такого реквизита ТЧ нет. Соотвественно получить ставку можно только из номенклатуры.
При прямом присвоении ставка устанавливается, например:
ПКС>Источник:не указан, приемник: СтавкаНДС (перечисления), правило - ставкиНДС (соответствие значений). Но в таком случае она будет одна для всех.
Ошибка исполнения обработчика: ПКС_ПередВыгрузкой_ПоступлениеТоваровУслуг_Товары_СтавкаНДС_Реквизит35
- Значение не представляет агрегатный объект (СтавкаНДС)
Если ОбъектКоллекции.Номенклатура.СтавкаНДС =<тут сам укажи чему № 1> Тогда
Значение="ТутИмяСтавкиВПеречисленииВПриемнике №1";
ИначеЕсли ОбъектКоллекции.Номенклатура.СтавкаНДС =<тут сам укажи чему № 2> Тогда
Значение="ТутИмяСтавкиВПеречисленииВПриемнике №2";
///и.тд....
КонецЕсли;
Можно обойтись и без лишнего кода с условиями.
Я сделал так: Значение = ОбъектКоллекции.Товар.СтавкаНДС.Получить();
У нас СтавкаНДС периодический реквизит. А для ПКС указал правило "СтавкиНДС ", где Идет сопоставление значений перечислений.
Работает! :)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший