|
как редактировать настройку обмена. | ☑ | ||
---|---|---|---|---|
0
Gatalik
01.11.12
✎
17:34
|
Есть настроенный обмен между базами УТ и БП , хотелось бы сделать условие выгрузки, а именно в исходнике есть реквизит: Учитывать НДС(Булево) и в случае если УчитыватьНДС принимает истину, мне надо выгружать данные по Сч-Ф. Как именно работает обмен не буду писать там все норма, но при добавление условия(В ручную в XML)
<ПередВыгрузкой> Если Не Объект.УчитыватьНДС Тогда Значение=Ложь; Иначе СсылкаСчФ= УчетНДС.НайтиПодчиненныйДокумент(Источник.Ссылка, "СчетФактураПолученный"); Если (СсылкаСчф = неопределено) или (СсылкаСчФ.Пустая()) Тогда Значение = "нет Сч.ф.""; иначе Значение = СсылкаСчФ.НомерВходящегоДокумента; КонецЕсли; КонецЕсли; </ПередВыгрузкой> При выполнение обмена стало ругаться Ошибка в обработчике события ПередВыгрузкой (свойства) ПКО = ПоступлениеТоваровУслуг (Документ: Поступление товаров и услуг) ПКС = 121 (--> ДатаСчФВход) Объект = Поступление товаров и услуг S0000000117 от 31.10.2012 12:31:20 (Документ объект: Поступление товаров и услуг) СвойствоПриемника = ДатаВходящегоСчетаФактуры (Дата) Обработчик = ПередВыгрузкойСвойства ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода ПозицияМодуля = Обработка.ОбменДаннымиXML(9171) КодСообщения = 55 как посоветуете решить данную проблему, может я не так обращаюсь к объекту (Объект.УчитыватьНДС????) |
|||
1
Gatalik
01.11.12
✎
17:37
|
когда было:
Если Не ОбъектКоллекции.УчитыватьНДС Тогда Значение=Ложь; Иначе так же ругалось на строчку ОбъектКоллекции.УчитыватьНДС |
|||
2
Сияющий Асинхраль
01.11.12
✎
17:39
|
Перед выгрузкой у тебя еще нет Объекта:
Если Не Объект.УчитыватьНДС Тогда А есть только Источник: Если Не Источник.УчитыватьНДС Тогда |
|||
3
Gatalik
01.11.12
✎
17:41
|
Сейчас попробую и сразу же отпишусь, ждите результат
|
|||
4
Gatalik
01.11.12
✎
17:43
|
Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = ПоступлениеТоваровУслуг (Документ: Поступление товаров и услуг) ПКС = 131 (--> ЕстьСчФВход) Объект = Поступление товаров и услуг S0000000116 от 17.10.2012 12:00:00 (Документ объект: Поступление товаров и услуг) СвойствоПриемника = ПредъявленСчетФактура (Булево) Обработчик = ПередВыгрузкойСвойства ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода ПозицияМодуля = Обработка.ОбменДаннымиXML(9171) КодСообщения = 55 Опять таже ошибка |
|||
5
Сияющий Асинхраль
01.11.12
✎
17:44
|
Чего его ждать то? Ты в одной процедуре используешь и Объект и Источник, такого быть не может, код однозначно не рабочий...
|
|||
6
Gatalik
01.11.12
✎
17:47
|
Сейчас только источник использую все равно ни чего
|
|||
7
Gatalik
01.11.12
✎
17:50
|
Я изначально с источником пробовал, потом объект и объект коллекции, всегда ошибки выдает
|
|||
8
Gatalik
01.11.12
✎
17:51
|
при написании (Объект. или источник.) автозаполнение предлагает учитывать ндс, а при ОбъектКоллекции нет
|
|||
9
Сияющий Асинхраль
01.11.12
✎
17:53
|
А тебя не смущает, что в реквизит, судя по коду ЕстьСчФВход, ты пытаешься вернуть совершенно разные значения. Посмотри на (0) по твоему коду там может оказаться и Булево и Строка и Номер счета-фактуры?
|
|||
10
Gatalik
01.11.12
✎
17:56
|
<Свойство>
<Код>131</Код> <Наименование>--> ЕстьСчФВход</Наименование> <Порядок>131</Порядок> <Источник Имя="" Вид="" /> <Приемник Имя="ПредъявленСчетФактура" Вид="Реквизит" Тип="Булево"/> <ПередВыгрузкой> Если Не Источник.УчитыватьНДС Тогда ////Если есть НДС то теоретически должна быть счет фактура и надо автоматически поставить галочку перед есть счет фактура Значение=Ложь; Иначе СсылкаСчФ= УчетНДС.НайтиПодчиненныйДокумент(Источник.Ссылка, "СчетФактураПолученный"); Если (СсылкаСчф = неопределено) или (СсылкаСчФ.Пустая()) Тогда Значение = Истина; Сообщить("В документе "+объект+" счет-фактура не сформирована,не смотря на наличие в данном документе НДС!"+ |"Следует сформировать счет-фактуру!!!"!); иначе Значение = истина; КонецЕсли; КонецЕсли; </ПередВыгрузкой> </Свойство> тут я указал типбулево |
|||
11
Сияющий Асинхраль
01.11.12
✎
17:59
|
(8) Ты вообще для себя разделяешь где может быть Объект, а где источник? Объект находится в базе назначения, т.е. искать его перед выгрузкой не имеет смысла. Источник находится в базе источнике. А вот ОбъектКоллекции и Объект тоже совершенно разные вещи. ОбъектКоллекции грубо говоря табличная часть Источника (еще раз - грубо говоря)
|
|||
12
Gatalik
01.11.12
✎
18:01
|
Да я уже понял что там не может быть объекта и объекта коллекции, просто от безысходности проверил. Как мне еще можно обратиться перед выгрузкой к реквизиту документа?
|
|||
13
Сияющий Асинхраль
01.11.12
✎
18:05
|
А что за реквизит "ДатаСчФВход" я его в типовой БП не вижу в упор? Перекопанная конфа что-ли, или вообще самописка?
|
|||
14
Gatalik
01.11.12
✎
18:15
|
Перекопанная БП , по этой дате док поступление товаров находит счет фактуру.
|
|||
15
Gatalik
01.11.12
✎
18:17
|
Дело то не в реквизите, раньше работало все с ним.
|
|||
16
grayshadow
01.11.12
✎
19:21
|
>Сообщить("В документе "+объект+" счет-фактура ...
таки объект остался а еще - точку останова на ПозицияМодуля = Обработка.ОбменДаннымиXML(9171) или режим отладки обработкиков |
|||
17
Gatalik
02.11.12
✎
11:37
|
Там на тот момент объект уже был исправлен на источник, ошибка была синтаксическая, потому я и удивлялся почему не работает, не смотря на то что все правильно
Если Не Объект.УчитыватьНДС Тогда Значение=Ложь; Иначе СсылкаСчФ= УчетНДС.НайтиПодчиненныйДокумент(Источник.Ссылка, "СчетФактураПолученный"); Если (СсылкаСчф = неопределено) или (СсылкаСчФ.Пустая()) Тогда Значение = "нет Сч.ф.""; в последней строчке два раза "" никто и не заметил)))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |