Имя: Пароль:
1C
1С v8
КД При выгрузке Реализации товаров и услуг не очищается сделка
,
0 Сметанин
 
03.07.15
14:27
В источнике реквизит сделка в документе РТиУ пустой, в приемнике этот документ уже есть и в сделке выбран заказ покупателя. При переносе реквизит не очищается. Как побороть?
1 Enterprise
 
03.07.15
14:31
(0) Ну а свойства "Не замещать существующие значения" у ПКО и ПКС смотрели?
2 Сметанин
 
03.07.15
14:32
(1) Не стоят галки
3 Сметанин
 
03.07.15
14:34
Мне кажется здесь причина в том что тип реквизита составной.
4 Enterprise
 
03.07.15
14:34
(3) Правила типовые?
5 Сметанин
 
03.07.15
14:35
Правила создавал сам. УПП->УПП
6 Enterprise
 
03.07.15
14:36
(5) Ну тогда проверяйте тип реквизита в источнике и в приемнике
7 Сметанин
 
03.07.15
14:39
(6) А что именно проверять? Они одинаковые.
8 Enterprise
 
03.07.15
14:43
(7) Ну дальше отладкой смотрите что происходит. Самый верный способ
9 Сметанин
 
03.07.15
14:59
Да причина в том что реквизит составной

Сейчас проверил на простой конфе. Создал документ1, документ2, документ3. В документе3 2 реквизита: реквизит1 - тип данных составной док1 и док2 и реквизит2 - тип данных док1.
Ввел в первой базе док3 заполнил реквизит1 и реквизит2, сделал выгрузку. Потом зачистил в первой базе оба реквизита, сделал выгрузку. Реквизит2 во второй базе обнулился, а реквизит1 - нет
10 Сметанин
 
03.07.15
15:04
Как сделать так чтобы составной реквизит очищался?
11 Сметанин
 
03.07.15
15:14
Пробовал в ПКО ПриЗагрузке написать код:
Если Источник.Сделка = Неопределено Тогда
    Объект.Сделка = Неопределено
КонецЕсли;

Выдает ошибку. Как правильно обратиться к значению в Источнике?
12 Одинесю
 
03.07.15
15:16
(11) На что ругается?
13 Сметанин
 
03.07.15
15:20
(12) На Источник.Сделка
14 Сметанин
 
03.07.15
15:22
ЗАГРУЗКА В ПРИЕМНИКЕ: Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1630)}: Ошибка в обработчике события ПриЗагрузкеОбъекта
    ИмяПКО                 =  РеализацияТоваровУслуг
    ТипОбъекта             =  Реализация товаров и услуг
    Объект                 =  Реализация товаров и услуг ТДБ04483 от 01.04.2015 17:16:31
    Обработчик             =  ПриЗагрузкеОбъекта
    ОписаниеОшибки         =  Значение не является значением объектного типа (Сделка)
    ПозицияМодуля          =  (5)
    КодСообщения           =  20

Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1304)}: Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1630)}: Ошибка в обработчике события ПриЗагрузкеОбъекта
    ИмяПКО                 =  РеализацияТоваровУслуг
    ТипОбъекта             =  Реализация товаров и услуг
    Объект                 =  Реализация товаров и услуг ТДБ04483 от 01.04.2015 17:16:31
    Обработчик             =  ПриЗагрузкеОбъекта
    ОписаниеОшибки         =  Значение не является значением объектного типа (Сделка)
    ПозицияМодуля          =  (5)
    КодСообщения           =  20
15 antotti
 
03.07.15
15:31
В событие "ПриЗагрузке" не доступно обращение через источник
16 Сметанин
 
03.07.15
15:32
(15) Это я понял. Что можно сделать?
17 antotti
 
03.07.15
15:46
Пропиши в пкс условие которое будет туда пустую ссылку ставить.
18 Сметанин
 
03.07.15
15:51
(17) Не понял идею. Какой примерно код?
19 azt-yur
 
03.07.15
15:58
(18) наверное в (17) имел в виду что то типа в ПКС в ПередВыгрузкой:
Если Источник.Сделка = Неопределено Тогда
    Значение = Документы.ЗаказПокупателя.ПустаяСсылка();
КонецЕсли;
20 antotti
 
03.07.15
15:59
Ну попробуй в  пкс  указать что ...  

Если Не ЗначениеЗаполнено(Источник.Сделка) Тогда
Значение = Документы.имяДок.ПустаяСсылка();
КонецЕсли;


Либо передай в параметр.
21 antotti
 
03.07.15
16:03
Либо можно передать в параметр, а потом на стороне приемника, в событие "после загрузки" сделать проверку через "ПараметрыОбъекта" и очистить реквизит.
22 Сметанин
 
03.07.15
16:08
(20) Вроде работает. Спасибо