Имя: Пароль:
1C
1С v8
КД. Сменить ПКО в ПКО
0 Adept
 
16.01.15
11:47
В базе источнике один и тот же контрагент мог представляться двумя элементами справочника, в группе поставщики и в группе покупатели.
В базе есть функция ЕстьДубликат(Контрагент), вернет 0 если дубликатов нет 1 если есть, -1 если данный контрагент и есть дубликат (дубликатами считаются те которые в папке поставщики).
Поскольку наименование у них одинаковые есть два ПКО,
Партеры и ПартнерыТолькоПоиск. Первоя полностью формирует элемент, вторе только устанавливает галку "Поставщик"

Как сменить ПКО в самом ПКО, можно ли так?
На просторах нашел такой код, но он не работает у меня.
ПКО не меняется.


Если ЕстьДубликат(Источник) = -1 Тогда
    ИмяПКО = "ПартнерыТолькоПоиск";
    ПКО = НайтиПравило(Источник, ИмяПКО);
    Сообщить(Строка(Источник)+" Есть дубликата");
Иначе
    Сообщить(Строка(Источник)+" Нет дубликата");
КонецЕсли;
1 Adept
 
16.01.15
11:50
+(0) Код из ПКО Партнеры в событии передвыгрузкой
2 MadJhey
 
16.01.15
11:58
Менял имяПКО в источнике - документе. Т.е - есть документ реализация, в нем контрагент. В "перед выгрузкой" контрагента меняшь имяПКО по условию.
Все работает.
3 Naumov
 
16.01.15
11:59
ПКО выбирается либо в ПВД либо ПКС, если ПКО уже начало работать, то менять поздно.
4 Adept
 
16.01.15
12:06
(2)(3)  У меня это и ПВД и ПКС, а есть какой нить универсальный метод, что бы в одном месте поменять?
5 Naumov
 
16.01.15
12:12
(4) А ты отчетливо понимаешь когда срабатывает ПВД, а когда ПКС?
6 Adept
 
16.01.15
12:26
(5) Надеюсь, что да, но если бы вопрос был более конкретным может быть я бы дал на него более конкретный вопрос

ПВД - ПКО - ПКС
7 Adept
 
16.01.15
12:27
+(6)*Надеюсь, что да, но если бы вопрос был более конкретным может быть я бы дал на него более конкретный ответ