|
Правила обмена данными | ☑ | ||
---|---|---|---|---|
0
devochka_1c
29.08.12
✎
17:10
|
Здравствуйте!
Подскажите, пожалуйста, как в правилах обмена ограничить выгрузку документа в зависимости от склада: есть приходный кассовый ордер, документом-основанием является заказ покупателя. вот в зависимости от указанного склада в док. заказ покупателя ПКО должен выгружаться или не должен выгружаться. Пишу код Если ЗначениеЗаполнено (Параметры.Склад) Тогда Если Источник.ДокументОснование.СкладГруппа <> Параметры.Склад Тогда Отказ = Истина; КонецЕсли; КонецЕсли; |
|||
1
Конфигуратор1с
29.08.12
✎
17:12
|
(0)а проблема в чем?
|
|||
2
Rie
29.08.12
✎
17:13
|
(0) И?
(Кстати, документ-основание у ПКО может и отсутствовать. Или быть не заказом покупателя). |
|||
3
devochka_1c
29.08.12
✎
17:14
|
(1) пишет ошибку
Ошибка в обработчике события ПередВыгрузкойОбъекта ПКО = ПриходныйКассовыйОрдер (Документ: Приходный кассовый ордер) Объект = Приходный кассовый ордер БК000001684 от 24.07.2012 17:56:38 (Приходный кассовый ордер) Обработчик = ПередВыгрузкойОбъекта ОписаниеОшибки = Значение не является значением объектного типа (СкладГруппа) ПозицияМодуля = (2) КодСообщения = 41 Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1562)}: Ошибка в обработчике события ПередВыгрузкойОбъекта ПКО = ПриходныйКассовыйОрдер (Документ: Приходный кассовый ордер) Объект = Приходный кассовый ордер БК000001684 от 24.07.2012 17:56:38 (Приходный кассовый ордер) Обработчик = ПередВыгрузкойОбъекта ОписаниеОшибки = Значение не является значением объектного типа (СкладГруппа) ПозицияМодуля = (2) КодСообщения = 41 |
|||
4
devochka_1c
29.08.12
✎
17:15
|
(2) у всех док основание заказ покупателя
|
|||
5
Конфигуратор1с
29.08.12
✎
17:19
|
Если ЗначениеЗаполнено (Параметры.Склад) Тогда
Если ЗначениеЗаполнено(Источник.ДокументОснование) тогда Если Источник.ДокументОснование.СкладГруппа <> Параметры.Склад Тогда Отказ = Истина; КонецЕсли; КонецЕсли; КонецЕсли; |
|||
6
Конфигуратор1с
29.08.12
✎
17:22
|
ну а вообще, что бы красиво было, то
Если ЗначениеЗаполнено (Параметры.Склад) Тогда Если ЗначениеЗаполнено(Источник.ДокументОснование) тогда Если Не Источник.ДокументОснование.Метаданные().Реквизиты.Найти("СкладГруппа") = Неопределено тогда Если Источник.ДокументОснование.СкладГруппа <> Параметры.Склад Тогда Отказ = Истина; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; |
|||
7
Rie
29.08.12
✎
17:26
|
(4) Судя по (3) - не у всех.
|
|||
8
Rie
29.08.12
✎
17:26
|
(6) Или обернуть в Попытка
|
|||
9
devochka_1c
29.08.12
✎
17:32
|
Спасибо!
|
|||
10
Конфигуратор1с
29.08.12
✎
17:33
|
(8) да у меня как то с 7кеи сформировался предрассудок, что попытка это крайний случай - ситуации которые мы не можем предугадать. Хотя через попытку кода меньше)))
|
|||
11
gr0ck
29.08.12
✎
17:34
|
А Тип("Источник.ДокументОснование") = Тип("Документ заказ")
|
|||
12
gr0ck
29.08.12
✎
17:34
|
Наверное лучше чем Источник.ДокументОснование.Метаданные().Реквизиты.Найти("СкладГруппа"
|
|||
13
Конфигуратор1с
29.08.12
✎
17:40
|
(12)чем лучше? вот если ей понадобится еще один документ, то она будет туда дописывать каждый раз код?
|
|||
14
Конфигуратор1с
29.08.12
✎
17:41
|
(11) Если Типзнч(Источник.ДокументОснование) = Тип("Документзаказ") или Типзнч(Источник.ДокументОснование) = Тип("ДокументСчет") или .......
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |