![]() |
![]() |
![]() |
|
Конвертация данных из БП 3.0 в УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
StarkNotDead
24.10.16
✎
07:46
|
Такая ситуация, выгружаю данные из БП 3.0 (там в документе списание с расчетного счета в роли контрагента могут быть Справочники контрагент и физлицо) в УТ 10.3 (там в документе списание с расчетного счета только справочник контрагент). Правилами выгрузки предусмотрена выгрузка контрагента с типом справочник.контрагенты, а если среди документов списания с РС попадается контрагент физлицо выдает ошибку, т.к. физлицо он начинает выгружать по правилам контрагента. Нужно что бы при выгрузке если тип Источник.Контрагент = СправочникСсылка.физическиеЛица вышружал пустую ссылку на справочникКонтрагенты, потому что физлица в Платежном поручении не нужны, они просто пустыми остаются.
<Свойство> <Код>13</Код> <Наименование>Контрагент --> Контрагент</Наименование> <Порядок>700</Порядок> <Источник Имя="Контрагент" Вид="Реквизит" Тип="СправочникСсылка.Контрагенты"/> <Приемник Имя="Контрагент" Вид="Реквизит" Тип="СправочникСсылка.Контрагенты"/> <ПередВыгрузкой> Если (ТипЗнч(Источник.Контрагент) = Тип("СправочникСсылка.ФизическиеЛица")) ИЛИ (НЕ ЗначениеЗаполнено(Источник.Контрагент)) Тогда Значение = Справочники.Контрагенты.ПустаяСсылка(); КонецЕсли; </ПередВыгрузкой> </Свойство> |
|||
1
mehfk
24.10.16
✎
08:01
|
Обработчики "Правила конвертации свойств"
Перед выгрузкой Пусто - Булево - Ложь. Если установить Истина, то в приемник будет записано пустое значение свойства, соответствующего типа и дальнейшая обработка правила конвертации свойств будет прекращена |
|||
2
StarkNotDead
24.10.16
✎
08:16
|
(1) Можно, пожалуйста, пример того, как это должно выглядеть?
|
|||
3
azt-yur
24.10.16
✎
08:37
|
А что собственно в (0) не работает? Вроде должно отрабатывать.
Можно использовать Пусто как в (1), для этого замени Значение = Справочники.Контрагенты.ПустаяСсылка(); на Пусто = Истина; |
|||
4
StarkNotDead
24.10.16
✎
08:54
|
(3) Судя по всему, программе не удается считать сам тип значения Источник.Контрагент, так как через условия проскакивают физлица, не могли бы подсказать, где можно найти информацию, о том какие параметры передаются между функциями "ПередВыгрузкой" да и вообще правилами
|
|||
5
StarkNotDead
24.10.16
✎
09:00
|
(3) Физические лица в документе указываются в контрагенте только в тех случаях, когда ВидОперации = ПеречислениеПодотчетномуЛицу, но этот код тоже не работает:
Если Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеПодотчетномуЛицу Тогда Пусто = Истина; КонецЕсли; |
|||
6
azt-yur
24.10.16
✎
09:05
|
(5) А где код вставляете? Должно быть перед выгрузкой свойства.
И как обмен запускаете? Может правила не те отрабатывают? |
|||
7
StarkNotDead
24.10.16
✎
09:14
|
(6) Код вставляю как в (0) обмен запускаю через внешнюю обработку, сохраняю и после сохранения заново запускаю, 2-ой день уже бьюсь..
|
|||
8
novichok79
24.10.16
✎
09:18
|
обновляли метаданные конфигураций? иногда помогает в случае возникновения таких ошибок.
|
|||
9
azt-yur
24.10.16
✎
09:22
|
(7) Добавь вывод сообщения в условии - проверишь отрабатывает ли оно у тебя
|
|||
10
StarkNotDead
24.10.16
✎
09:23
|
(8) Обработка предназначена для версий БП 3.0.30.38 - УТ 10.3.31.3, а стоят БП 3.0.43.260 и УТ 10.3.37.2, Свежее в интеренете нет, поэтому и правлю вручную, осталось вот 2 документа, один из них Списание с РС
|
|||
11
StarkNotDead
24.10.16
✎
09:29
|
Ни при
Если Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеПодотчетномуЛицу Тогда Ссобщить("Срабатывает"); Пусто = Истина; КонецЕсли; ни при Если (ТипЗнч(Источник.Контрагент) = Тип("СправочникСсылка.ФизическиеЛица")) Тогда Ссобщить("Срабатывает"); Пусто = Истина; КонецЕсли; сообщение не выводится |
|||
12
azt-yur
24.10.16
✎
09:35
|
(11) уверен, что правила нужные подхватываются? Какой обработкой пользуешься? В составе БП же есть обработка Универсальный обмен данными в формате XML
|
|||
13
StarkNotDead
24.10.16
✎
09:46
|
(12) Правила подхватываются,
<Свойство> <Код>13</Код> <Наименование>Контрагент --> Контрагент</Наименование> <Порядок>700</Порядок> <Источник Имя="Контрагент" Вид="Реквизит" Тип="СправочникСсылка.Контрагенты"/> <Приемник Имя="Контрагент" Вид="Реквизит" Тип="СправочникСсылка.Контрагенты"/> <ПередВыгрузкой> Сообщить(Источник.Контрагент); </ПередВыгрузкой> </Свойство> выводит наименования контрагентов |
|||
14
StarkNotDead
24.10.16
✎
10:30
|
(12) Нашел Условие, которое 100% срабатывает, осталось понять, что в него впихнуть)
Если Источник.ВидОперации = Перечисления.ВидыОперацийСписаниеДенежныхСредств.ПеречислениеПодотчетномуЛицу Тогда .... КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |