|
КонвертацияДанных. ПКО ПослеЗагрузки | ☑ | ||
---|---|---|---|---|
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")) соответственно разные, ибо даты не совпадают
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |