Имя: Пароль:
1C
1С v8
Конвертация данных Подменить реквизит
0 Быдло замкадное
 
15.12.14
15:11
Не могу сообразить куда прописать код..
Необходимо в некоторых ситуациях при выгрузке справочника подставлять другое наименование, но такого наименования нет в базе источнике. Оно есть только в базе приемнике.

Т.е. написать
Значение = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию(Источник.ДокументОснование.СтатьяОборотов.Наименование);

Не получится. Он его не найдет, т.к. его нет.
Искать по наименованию нужно уже в базе приемнике. Поиск справочника происходит только по наименованию, т.е. достаточно лишь при выгрузке подменить наименование! но как это сделать не пойму.

Приемник.Наименование = Источник.ДокументОснование.СтатьяОборотов.Наименование;

Тоже не работает, там реквизиты нельзя подставлять.
1 Быдло замкадное
 
15.12.14
15:13
Подозреваю что необходима манипуляция

ИсходящиеДанные.Наименование = Источник.ДокументОснование.СтатьяОборотов.Наименование;

А потом прочитать

Приемник.наименование = ВходящиеДанные.Наименование;

Но где все это писать не понимаю
2 Alex S D
 
15.12.14
15:13
Т.е. тебе надо найти по одному наименованию, а записать другое?
3 Alex S D
 
15.12.14
15:17
подменить наименование легко..
Значение  = "Твое наименование"
в ПКС наименования
4 Быдло замкадное
 
15.12.14
15:17
(2) нет. Искать нужно по "второму" наименованию, которое сидит вобще в другом реквизите Источник.ДокументОснование.СтатьяОборотов.Наименование
5 Alex S D
 
15.12.14
15:17
А записывать это наименование нужно?
6 Быдло замкадное
 
15.12.14
15:18
(5) куда записывать? просто находить справочник по наименованию и подставлять в реквизит документа..
7 Быдло замкадное
 
15.12.14
15:19
(3) в ПКС наименования я не могу определить нужно ли мне подменять или нет.
Это условие я могу проверить только при выгрузке документа
8 toluol_2015
 
15.12.14
15:21
В правиле конвертации свойств наименования нужного справочника в перед выгрузкой напиши что-то типа:
Значение = "Мое новое наименование отличается от старого " + Источник.Наименование;
9 Alex S D
 
15.12.14
15:22
Через ИсходящиеДанные передай, ты в (1) писал же
10 Быдло замкадное
 
15.12.14
15:23
кароче... проще объяснить на моем реальном примере.

Выгружаю Платежное поручение исходящее. Необходимо, если платежка введена на основании заявки на расходование средств, статью ДДС в платежку брать из "Заявка.СтатьяОборотовПоБюджетам".
Т.е. из другого типа справочника. Совпадают только по наименованию.

Вот мне и надо прописать, что если есть заявка то наименование статьи ДДС брать из нее, но из другого реквизита))


Если ЗначениеЗаполнено(Источник.ДокументОснование) Тогда
    Если ТипЗнч(Источник.ДокументОснование) = Тип("ДокументСсылка.ЗаявкаНаРасходованиеСредств") Тогда
        Если ЗначениеЗаполнено(Источник.ДокументОснование.СтатьяОборотов) Тогда
            Приемник.Наименование = Источник.ДокументОснование.СтатьяОборотов.Наименование;    
        КонецЕсли;
    КонецЕсли;
КонецЕсли;
11 Быдло замкадное
 
15.12.14
15:24
(9) пробую, не получается. В каких обработчиках писать эти исходящие и входящие данные?
12 Alex S D
 
15.12.14
15:26
ПередВыгрузкой оба
13 Alex S D
 
15.12.14
15:26
в описаниях к обработчикам написано все
14 Alex S D
 
15.12.14
15:30
ИсходящиеДанные в ПКС СтатьиДДС в ПКО документа
ВходящиеДанные в ПКС наименования в ПКО СтатьиДДС
15 Йохохо
 
15.12.14
15:39
(10) Если ЗначениеЗаполнено(Источник.ДокументОснование) Тогда
    Если ТипЗнч(Источник.ДокументОснование) = Тип("ДокументСсылка.ЗаявкаНаРасходованиеСредств") Тогда
        Если ЗначениеЗаполнено(Источник.ДокументОснование.СтатьяОборотов) Тогда
ИмяПКО = "СтатьиДвиженияДенежныхСредств_ПоискПоНаименованию"
            Значение = Новый Структура("Код, Наименование, ПометкаУдаления", "", Источник.ДокументОснование.СтатьяОборотов.Наименование, Ложь);    
        КонецЕсли;
    КонецЕсли;
КонецЕсли;
16 Быдло замкадное
 
15.12.14
15:42
(14) получилось! Спасибо