|
КД ВыгрузитьПоПравилу, что то не пойму почему так работает. | ☑ | ||
---|---|---|---|---|
0
Aswed
20.04.15
✎
11:56
|
В ТЧ документа в ПКС реквизита Номенклатура прописал
Если ОбъектКоллекции.Номенклатура.ТипНоменклатуры = Справочники.ТипыНоменклатуры.МатериалыИСпецоснастка Тогда ВыгрузитьПоПравилу(ОбъектКоллекции.Номенклатура,,,,"Номенклатура"); Иначе ВыгрузитьПоПравилу("00-00000005",,,,"НоменклатуруПоКоду"); КонецЕсли; Условие срабатывает, но почему то ВСЯ номенклатура идет по первому правилу. При этом в правиле самого реквизита ни какое правило не указано. Не могу понять что не так. |
|||
1
Альбатрос
20.04.15
✎
11:57
|
То есть не заходит в иначе?
|
|||
2
Aswed
20.04.15
✎
12:00
|
Ну получается что так.
|
|||
3
mikecool
20.04.15
✎
12:01
|
емнип - даже если не укажешь правило, то кд сама подбирает подходящее по типу(пример - субконто)
|
|||
4
Aswed
20.04.15
✎
12:03
|
+2 сейчас проверил заходит.
Но выгружает почему то по правилу обмена именно номенклатуры, а не скидывания всех на одну. Т.е. по правилу из первой ВыгрузитьПоКоду |
|||
5
Aswed
20.04.15
✎
12:04
|
(3) Ну вот видимо так и получается.
Выходит что у меня не правильно указано второе правило. ВыгрузитьПоПравилу("00-00000005",,,,"НоменклатуруПоКоду"); В Правиле "НоменклатураПоКоду" идёт тупо поиск в Приемнике по коду указанной позиции. Как его правильно записать? |
|||
6
lxndr
20.04.15
✎
12:06
|
укажи просто
ИмяПКО = "НоменклатуруПоКоду" |
|||
7
Поpyчик-4
20.04.15
✎
12:08
|
(0) Правильней так
Если ОбъектКоллекции.Номенклатура.ТипНоменклатуры = Справочники.ТипыНоменклатуры.МатериалыИСпецоснастка Тогда ИмяПКО = "Номенклатура"; Иначе ИмяПКО = "НоменклатуруПоКоду"; КонецЕсли; |
|||
8
Aswed
20.04.15
✎
12:10
|
(6) О сработало!
Но теперь все выгружается по этому правилу))) |
|||
9
Aswed
20.04.15
✎
12:12
|
(7) Млять что за хня.
Теперь оба выгружаются по правилу Номенклатуру( Если ОбъектКоллекции.Номенклатура.ТипНоменклатуры = Справочники.ТипыНоменклатуры.МатериалыИСпецоснастка Тогда ИмяПКО = "Номенклатура"; Иначе ИмяПКО = "НоменклатуруПоКодуТовар"; КонецЕсли; |
|||
10
Альбатрос
20.04.15
✎
12:19
|
(9) D GRC ghfdbkj rjydthnfwbb ns rjytxyj jxbcnbk&
|
|||
11
Альбатрос
20.04.15
✎
12:19
|
что в переводе: ты очистил правило конвертации у ПКС?
|
|||
12
Aswed
20.04.15
✎
12:21
|
(11) Да, оно пустое.
|
|||
13
Aswed
20.04.15
✎
12:25
|
||||
14
Jaap Vduul
20.04.15
✎
12:30
|
(13)
Поле Источник очистить, код передавать через ИсходящиеДанные (в ПКО для свойств указав получать значения из входящих данных). |
|||
15
Aswed
20.04.15
✎
12:44
|
(14) Таким образом ругается
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)}: Ошибка получения свойства подчиненного объекта из входящих данных ПКО = ПоступлениеТоваровУслугТовары (Документ: Поступление товаров) ПКС = 15 (--> Номенклатура) Объект = Поступление товаров АВ00000026 от 22.01.2015 12:58:00 (Поступление товаров) СвойствоПриемника = Номенклатура (СправочникСсылка.Номенклатура) ОписаниеОшибки = Получение элемента по индексу для значения не определено ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8283) КодСообщения = 67 http://s009.radikal.ru/i308/1504/83/2b6d77e827ed.jpg |
|||
16
Aswed
20.04.15
✎
12:49
|
Вообще ВыгрузитьПоПравилу можно применять для ПКС? Или только в правилах выгрузки?
|
|||
17
Jaap Vduul
20.04.15
✎
12:51
|
(15)Номенклатуру-то не надо через исходящие данные - где ты там её из входящих вытащишь?
И если у тебя код статический, то исходящие данные вообще не нужны, в ПКО сразу пишешь Значение = "00-0000005" и всё. |
|||
18
Aswed
20.04.15
✎
12:54
|
(17) Дык в (15) жеж)))
"код передавать через ИсходящиеДанные" |
|||
19
Aswed
20.04.15
✎
12:55
|
Всё пошло)
Спасибо))) Если ОбъектКоллекции.Номенклатура.ТипНоменклатуры = Справочники.ТипыНоменклатуры.МатериалыИСпецоснастка Тогда ИсходящиеДанные = ОбъектКоллекции.Номенклатура; ИмяПКО = "Номенклатура"; Иначе Значение = "00-00000005"; ИмяПКО = "НоменклатуруПоКоду"; КонецЕсли; так заработало. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |