Имя: Пароль:
1C
1С v8
Конвертация данных
0 maestro-72
 
23.02.26
09:29
Первый опыт, не получается разобраться с переносом реквизита договор в документе реализация товаров и услуг. Переношу из УТ11.5 в Бух3.0 . В УТ договоры выключены. Используются соглашения. В бух надо перенести договор. Никак не могу понять как это сделать. По идее достаточно чтобы из соглашения брались для сопоставления Наименование ну и реквизиты Организация, контрагент и вид. Непонятно как это все стыкануть. Если перенести это в виде параметров в приемник, то тогда с помощью запроса такого вида примерно: <Алгоритм Имя="НайтиДоговорКонтрагента" ИспользуетсяПриЗагрузке="true">
                <Текст>  Запрос = Новый Запрос;
  Запрос.Текст =  "ВЫБРАТЬ
                    |    ДоговорыКонтрагентов.Ссылка КАК Ссылка
                    |ИЗ
                    |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
                    |ГДЕ
                    |    ДоговорыКонтрагентов.Владелец = &amp;Владелец
                    |    И ДоговорыКонтрагентов.ВидДоговора = &amp;ВидДоговора
                    |    И ДоговорыКонтрагентов.Организация = &amp;Организация
                    |    И НЕ ДоговорыКонтрагентов.ПометкаУдаления
                    |";
    Запрос.УстановитьПараметр("Владелец", Контрагент);
    Запрос.УстановитьПараметр("ВидДоговора", ВидДоговора);
    Запрос.УстановитьПараметр("Организация", Организация);
    
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Договор = Выборка.Ссылка;
    Иначе
        Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
    КонецЕсли;
    </Текст>
            </Алгоритм>

Алгоритм должен выполняться при загрузке, но я не понимаю он вообще выполняется или нет.
Только вот я совсем запутался как эти параметры передать и как потом использовать в алгоритме, и как вставить значение в реквизит после выполнения алгоритма. Искал в гугле, похожего ничего не нашел, наставте на путь истинный как добиться результата. Сильно не пинайте, только начал разбираться с конвертацией.
1 Alexor
 
23.02.26
09:45
КД2.1 или КД3?
2 craxx
 
23.02.26
10:07
(0) если КД2, то в ПКС пишешь в ПередВыгрузкой
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Организация",Источник.Организация);
ИсходящиеДанные.Вставить("Наименование",Источник.Соглашение.Наименование); //к примеру
и т.п.
В ПКО Договоры ставишь в соответствующих реквизитах "Получить из входящих данных"
3 Мультук
 
гуру
23.02.26
10:20
(0)

1) УТ 11.5 ->БП3 есть типовой обмен на КД3.
Я конечно не знаю, что он делает в этом случае с договорами, но это можно посмотреть. Чем он не устроил ?

2) А что валюты в договорах БП уже нет ?
Или рубли/доллары/евро -- какая разница ?
4 maestro-72
 
23.02.26
10:23
(2) КД2 Спасибо, буду пробовать
5 maestro-72
 
23.02.26
10:23
(3) КД3 я не дошел еще. В кд2 типовой выгрузил, не переносятся договора.
6 maestro-72
 
23.02.26
10:32
(2) А вот по вопросу алгоритма подскажите еще. вот эти данные переданные как в алгоритме получить? и как результат выполнения запроса (0) поместить в реквизит договораконтрагента?
7 КнОпка
 
23.02.26
10:35
(0) Договор ищешь в ПередВыгрузкой и подставляешь
Значение = НашДоговор;

договор ищется запросом

договоров может быть несколько, ограничиваешь отборами
8 maestro-72
 
23.02.26
10:37
(7) Договор то мне нужне в приемнике получить на основании переданных данных из источника. Перед выгрузкой его искать где? и как по соглашению найти, примерчик бы
9 craxx
 
23.02.26
11:04
(8) я тебе в (2) все написал, никакого алгоритма тебе не надо
10 maestro-72
 
23.02.26
11:34
(9) Не взлетает чтото, чтото я делаю не так видимо
11 craxx
 
23.02.26
12:06
(10) а что в ПриВыгрузке?
12 craxx
 
23.02.26
12:06
и да, на скрине правило странное, ДРК_ДокументРасчетаСКонтрагентом
13 КнОпка
 
23.02.26
13:07
(8) Договор есть в УТ 11 ?
Вот его то и нужно перенести в БП3

Или в УТ11 его совсем нет?
14 maestro-72
 
23.02.26
13:10
(13) Есть, но он пустой совсем. Используется соглашение
15 maestro-72
 
23.02.26
13:11
(12) Это я тоже увидел, поправил но все равно не заполняется договор. Сейчас сделаю типовую, попробую на ней сделать.
16 КнОпка
 
23.02.26
13:14
(14) И? Задача в чем?
Если параметры договоров в УТ и БП одинаковые то просто найти этот договор по номеру и дате в БП3, новый не создавать, так?
Тут просто найти его и заполнить ссылку

или нужно создавать?
17 craxx
 
23.02.26
13:35
(15) а, ну и конечно жеж. У тебя источник Договор, а он пустой.
А когда источник пустой и требуемого типа  - он дальше не проверяет.
Естественно, источником должно быть или Соглашение, или пусто.
Если источник - пусто, тогда все бери или из ИсходящиеДанные или создавай программно.
И тогда в ПКС нужно условие проверки что Договор в источнике заполнен, если да, то ИмяПКО="ДоговорыКонтрагентов_ДоговорыКонтрагентов", если нет, то, например "Соглашения_ДоговорыКонтрагентов"
18 maestro-72
 
23.02.26
14:37
(2) Все, взлетело, благодарю
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.