Имя: Пароль:
1C
1С v8
Нужен совет по КД
0 Альбатрос
 
21.07.14
11:13
Мужики, подскажите грамотное решение.
Имеется самописный односторонний обмен между самописной конфой - > УТ 10.3
В УТ в док-т приемник добавлен реквизит - справочник ФизЛица.
Нужно добавить выгрузку реквизита ФизЛицо, но в источнике он задан не явно, а документом доверенность, который указан реквизитом в источнике.
Алгоритм выгрузки:

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

Как осуществить задуманное?
1 Альбатрос
 
21.07.14
11:14
+(0) ПКО на справочник "ФизЛица" имеется
2 zak555
 
21.07.14
11:14
>  но в источнике он задан не явно, а документом доверенность, который указан реквизитом в источнике.


подробнее
3 Milok
 
21.07.14
11:17
Передать параметром и на стороне приемника кодом заполнить реквизит значением данного параметра, при этом нужно учесть что миграция справочника физ лица должна присутствовать
4 Milok
 
21.07.14
11:19
(3) + а лучше так: в ПКС на закладке основная переменной "значение" присвоить нужное физ лицо по твоей логике
5 Альбатрос
 
21.07.14
11:20
(2) В источнике есть реквизит - документ "Доверенность", а в нем указано нужное нам ФизЛицо.
(3) То есть в ПВД в "ПередВыгрузкой" получить отдельно ФЛ и выгрузить его по соответствующему ПКО?
6 Альбатрос
 
21.07.14
11:21
(4) "в ПКС на закладке основная переменной "значение" присвоить нужное физ лицо по твоей логике" ну так ведь это ФЛ надо выгрузить сначала...
7 zak555
 
21.07.14
11:23
(5)

для пкс ФизЛицо в перед выгрузкой сделай

Значение = Источник.Доверенность.ФизЛицо;
8 Йохохо
 
21.07.14
11:24
а почему не просто Источник пустой, приемник ФизЛицо и Значение = Источник.Доверенность.Физлицо; ?
9 Альбатрос
 
21.07.14
11:24
(7) (8) Блин, вот спасибо! Давно КД не занимался, забыл все =)
10 zak555
 
21.07.14
11:27
(9) 5000р
11 Альбатрос
 
21.07.14
11:30
(10) Ты явно от скромности не помрешь ))))
12 zak555
 
21.07.14
11:31
(11) думаешь мало?
13 Альбатрос
 
21.07.14
11:33
(12) Да нормально ))))
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан