|   |   | 
| 
 | КонвертацияДанных. ПКО ПослеЗагрузки | ☑ | ||
|---|---|---|---|---|
| 0
    
        Droning1C 09.08.19✎ 12:02 | 
        Добрый день. В правилах конвертации из УПП в БП в ПКО После загрузки пишу следующий код :
 //Перезаполняем договор Если НЕ Объект.ДоговорКонтрагента.Номер = Объект.Номер Тогда НужныйДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(Строка(Объект.Номер + " от " + Формат(Объект.Дата,"ДФ=dd.MM.yyyy"))); Если НЕ НужныйДоговор = Неопределено Тогда Объект.ДоговорКонтрагента = НужныйДоговор; Иначе НовыйДоговор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); НовыйДоговор.Владелец = Объект.Контрагент; НовыйДоговор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем; НовыйДоговор.Дата = Объект.Дата; НовыйДоговор.Номер = Объект.Номер; НовыйДоговор.ВидВзаиморасчетов = СтрокаВидВзаиморасчетов; НовыйДоговор.Наименование = Строка(Объект.Номер + " от " + Формат(Объект.Дата,"ДФ=dd.MM.yyyy")); НовыйДоговор.Записать(); Объект.ДоговорКонтрагента = НовыйДоговор.Ссылка; КонецЕсли; КонецЕсли; По итогу новый элемент спрвочника в базе приемнике не создается. В чем может быть проблема? | |||
| 1
    
        НадюшаЯ 09.08.19✎ 12:05 | 
        а найти по наименованию разве неопределенно возвращает?     | |||
| 2
    
        mikecool 09.08.19✎ 12:05 | 
        всегда срабатывает Если НЕ НужныйДоговор = Неопределено Тогда     | |||
| 3
    
        mikecool 09.08.19✎ 12:05 | 
        +2 поскольку может вернуть пустуюссылку     | |||
| 4
    
        mikecool 09.08.19✎ 12:06 | 
        и вообще - во всяких непонятках встраивай Сообщить() и смотри отладочную инфу     | |||
| 5
    
        НадюшаЯ 09.08.19✎ 12:06 | 
        Ссылка на найденный элемент справочника. 
 Если не существует ни одного элемента с требуемым наименованием, то будет возвращена пустая ссылка. Если для справочника наименование не задано (длина = 0) и поиск выполняется по полному соответствию, то будет возвращено Неопределено. Это из СП | |||
| 6
    
        Droning1C 09.08.19✎ 12:06 | 
        Может тогда использовать ЗНАчениеЗаполнено(НужныйДоговор)     | |||
| 7
    
        mikecool 09.08.19✎ 12:07 | 
        (6) может быть     | |||
| 8
    
        Droning1C 09.08.19✎ 12:12 | 
        (7) ЗначениеЗаполнено() Тоже не подходит..     | |||
| 9
    
        ДенисЧ 09.08.19✎ 12:15 | 
        Если НужныйДоговор.Пустая() ...     | |||
| 10
    
        НадюшаЯ 09.08.19✎ 12:15 | 
        (8) ты же убрал НЕ перед значение заполнено правда     | |||
| 11
    
        Droning1C 09.08.19✎ 12:19 | 
        (10) я в такие моменты себя мутантом чувствую каким-то с урезанным набором хромосом) Конечно же НЕ не убрал) Спасибо! Все заработало!     | |||
| 12
    
        Droning1C 09.08.19✎ 12:22 | 
        Только вот дублируется теперь. Этот кусок кода вставлен в ПослеЗагрузки ПКО Реализации и СчетаНаоплатуПокупателя. При перекачке реализации подтягивается счет и там создается такой же договор. Хотя по идее условие 
 Если ЗначениеЗаполнено(НужныйДоговор) Тогда Объект.ДоговорКонтрагента = НужныйДоговор; должно исключать подобные ситуации | |||
| 13
    
        НадюшаЯ 09.08.19✎ 12:27 | 
        А точно этот кусок двоит? Делай сообщить, чтобы точно понять.     | |||
| 14
    
        Droning1C 09.08.19✎ 12:36 | 
        (13) понял. Объект для каждого ПКО разный и Строка(Объект.Номер + " от " + Формат(Объект.Дата,"ДФ=dd.MM.yyyy")) соответственно разные, ибо даты не совпадают     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |