Имя: Пароль:
1C
1С v8
КД 2. Перенос ПКО в РКО
,
0 Альбатрос
 
08.01.14
08:00
Задача: перенести из одной конфы ПКО в РКО. Соответственно в приемнике организация источника должна стать контрагентом, а контрагент источника должен стать организацией. Насоздавал правила для конвертации этих справочников, все красиво, все конвертируется.

ПВД определил как произвольный алгоритм:

Запрос = Новый Запрос;
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    ПриходныйКассовыйОрдер.Ссылка
                   |ИЗ
                   |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
                   |ГДЕ
                   |    ПриходныйКассовыйОрдер.Контрагент.ТорговаяСеть = &ТорговаяСеть
                   |    И ПриходныйКассовыйОрдер.Проведен
                   |    И НЕ ПриходныйКассовыйОрдер.ПометкаУдаления";
                  
                   Запрос.УстановитьПараметр("ТорговаяСеть", Параметры.ТорговаяСеть);
                  
                   Если ЗначениеЗаполнено(Параметры.Клиент) тогда
                       Запрос.Текст = Запрос.Текст + "
                   |    И ПриходныйКассовыйОрдер.Контрагент = &Клиент";
                       Запрос.УстановитьПараметр("Клиент", Параметры.Клиент);
                   КонецЕсли;
                  
                   Если ЗначениеЗаполнено(Параметры.ЮрЛицо) тогда
                       Запрос.Текст = Запрос.Текст + "
                   |    И ПриходныйКассовыйОрдер.Контрагент.ЮрЛицо = &ЮрЛицо";
                       Запрос.УстановитьПараметр("ЮрЛицо", Параметры.ЮрЛицо);
                   КонецЕсли;
    ТЗ = Запрос.Выполнить().Выгрузить();
    
    Для Каждого СтрокаТЗ из ТЗ цикл
        
        ВыгрузитьПоПравилу(СтрокаТЗ.Ссылка,,,,"ПриходныйКассовыйОрдер");
        
    КонецЦикла;

Возникла проблема с договором. Поля поиска договора это Владелец и организация. Не могу придумать способ как грамотно все сконвертировать и найти. Подскажите пожалуйста.
1 Альбатрос
 
08.01.14
08:09
Кроме как пересобирать поля в ПВД выхода не вижу. Можно как-нибудь пограмотнее?
2 Рэйв
 
08.01.14
08:10
А чего бы не искать в ПослеЗагрузки?
3 Генератор
 
08.01.14
08:20
у тебя есть правила конвертации организации в контрагента и контрагента в организацию? их и укажи в правиле конвертации договора, очисти приемники и заполняй значения программно
4 Альбатрос
 
08.01.14
09:05
(2) Так ведь поиск уже пройдет, не? А мне нужно искать как раз по конвертируемым полям.
5 Альбатрос
 
08.01.14
09:06
(3) "заполняй значения программно" - это в передВыгрузкой например? Так то на стороне источника, нужных элементов там нет.
6 Альбатрос
 
08.01.14
09:08
(3) Чот не понял короче =)
7 Генератор
 
08.01.14
09:10
у тебя есть правила для конвертации из организации в контрагента и наоборот? или ты как-то по другому сделал
8 Альбатрос
 
08.01.14
09:11
(7) Да, правила есть.
9 Генератор
 
08.01.14
09:13
ну и выбери их договоре для реквизитов владелец и организация, перед выгрузкой у реквизита владелец пропиши значение = источник.организация, для организации пропиши значение = источник.владелец, источники очисти
10 Альбатрос
 
08.01.14
09:22
(9) Хм... пробую
11 Альбатрос
 
08.01.14
09:30
(9) Да, так вроде проканало, спасибо. Есть косячки, но это по ходу мои недосмотры.
Программист всегда исправляет последнюю ошибку.