Конвертация 3.0. Отбор выгружаемых объектов. #796997


#0 by Rollam
Возникла необходимость ограничить выгружаемые объекты по значению реквизита. Казалось бы, что может быть проще... Пытался ограничить состав объектов в момент выгрузки двумя способами (ради примера рассмотрим документ РКО): Первый: В правилах обработки данных изменил обработчик "Выборка данных". В этом обработчике формируется массив выгружаемых объектов. В нашем случае (РКО) это происходит с использованием запроса: Добавляем ограничение по реквизиту "ВидОперации":     Запрос.Текст = "ВЫБРАТЬ                    |    Док.Ссылка Элементарно, но эффекта никакого. Документы с прочими видами операций все равно выгружаются. Тогда попробовал второй вариант. Второй: В правилах конвертаций объектов добавил код в текст модуля "При отправке": Если НЕ ДанныеИБ.ВидОперации = Перечисления.ВидыОперацийРКО.ОплатаПоставщику         ИЛИ НЕ ДанныеИБ.ВидОперации = Перечисления.ВидыОперацийРКО.ВозвратПокупателю Тогда При выгрузке полезли ошибки типа: Событие: Отправка. ПОД: Документ_ПКО_Отправка. ПКО: Документ_ПКОПолучениеНаличныхВБанке_Отправка. Объект: Документ объект: Поступление наличных, Поступление наличных МФБП-000001 от 29.11.2016 17:18:28. {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль}: Ошибка при вызове метода контекста (Проверить)             ОбъектXDTO.Проверить; по причине: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: {}Документ.ПКОПолучениеНаличныхВБанке Проверка свойства 'ВидОперации':     форма: Элемент     имя: {}ВидОперации     тип: {}ВидыОперацийПКОПолучениеНаличныхВБанке Отсутствует обязательное свойство Мне кажется, это связано с тем, что объект не выгрузился, а в массиве выгружаемых объектов он присутствует, что приводит к ошибке во время проверки. Таким образом, элементарное, казалось бы, действие становится проблематичным. Есть, конечно, вариант отсеивать объекты при загрузке, но гонять лишние объекты в обмене неправильно. Может кто подсказать, каким образом в новой конвертации можно сделать этот простейший отсев объектов?
#1 by Romyr
Видов документов много? Я добавлял параметр, и в обработке "перед выгрузкой" у конкретных документов прописывал отказ при несоблюдении условия.
#2 by MaxS
В КД 3 в ПОД - При Обработке  есть кнопка с вопросом. Это справка! )) Там указано про ИспользоватьПКО Например, чтобы не выгружалось пишем ИспользованиеПКО.Документ_ЗаказКлиента_Отправка = Ложь; А ещё есть правила регистрации. Их меняют в КД2.
#3 by Rollam
Про "ИспользоватьПКО" я знаю. Но разве это единственный способ? Зачем тогда нужен модуль "Выборка данных"? Вот пока пришлось изменить правила регистрации объектов, по другому не получилось сделать.
#4 by Rollam
Это было в КД 2.1, в КД 3.0 такого, вроде, нет.
#5 by MaxS
Выборка данных по идее должна решать вопрос, но возможно это баг или фича БСП. Не учитывает этот момент. Так же как флаг "Выгружать очистку данных по неиспользуемым ПКО". В КД 3 есть, а БСП игнорирует эту настройку.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям