Имя: Пароль:
1C
1С v8
КД 2. Замена значения при перегрузке табличной части "Номенклатура".
0 Koliaff
 
26.11.13
13:57
Доброго времени суток. Помогите с КД 2.

При выгрузке надо по определенному условию заменять реквизит "Номенклатура" в табличной части "Товары" документа Поступления ТиУ. А именно если номенклатура находится в папке с кодом "Т00000105", вместо исходной номенклатуры надо перегружать сводную номенклатуру под кодом "00000000319".


Вот написал такой код в ПКС реквизита "Номенклатура", табличной части "Товары" :

Если Источник.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("Т00000105")) Тогда
    Значение = Справочники.Номенклатура.НайтиПоКоду("00000000319");
КонецЕсли;

=================================
Выдает ошибку "поле номенклатура" не обнаружена.

Делал подобное при замене реквизита шапки "Контаргент", все получалось. Вот рабочий код :

Если Источник.Контрагент.Родитель.Код = "000000089" Тогда
    Значение = Справочники.Контрагенты.НайтиПоКоду("ОФ0000273");
КонецЕсли;

================================

А как правильно обратиться к реквизиту табличной части ?
1 vicof
 
26.11.13
13:58
В табличной части есть свойство ОбъектКоллекции
2 vicof
 
26.11.13
13:59
Если ОбъектКоллекции.Номенклатура...блаблабла
3 Рэйв
 
26.11.13
14:00
ПослеЗагрузки

Пребеирай Объект.Товары и меняй что хошь
4 Necessitudo
 
26.11.13
14:00
На самом деле получается плохо просто потому что вы инициируете запрос в цикле. Лучше сделать ПВД по ПТУ и в произвольном алгоритме запросом указать нужные данные для переноса.
5 Necessitudo
 
26.11.13
14:01
Но это конечно если вся номенклатура есть в источнике и нужно при выгрузке заменить номенклатуру выгружаемую.
6 Koliaff
 
26.11.13
14:01
(vicof) Спасибо, выгрузка прошла, сейчас попробую загрузить.
(Рэйв) Не нужны лишние данные в конфигурации приемнике.