Возможности стандартной обработки "Универсальный обмен данными" не лезут ни в какие ворота, значительно улучшили ситуацию программисты на ИС. Но представленные модификации этой обработки имеют два серьезных недостатка: запрос схемы компоновки данных всегда к основной таблице выгружаемого объекта, отборы компоновщика настроек преобразуются в отборы построителя (напомню, выборка данных для сериализации в штатной обработке происходит через построитель), тем самым лишая полноценной возможности использования функционала СКД для получения данных выгрузки.
Данное решение лишено этого недостатка. Теперь Ваши запросы, с Вашими вычисляемыми полями и характеристиками, с Вашими наборами данных будут участвовать в выборке, тем самым это позволяет в некоторых случаях отказаться от произвольного обработчика ПВД или создания дополнительных ПКО.
Изменения
- Одинаковая работа с файлами и на клиенте и на сервере (никаких НачатьПомещениеФайла, постоянного перевыбора файлов).
- Загрузка отбора из Excel
- Произвольная СКД для выборки данных(из файла или через редактирование в толстом клиента(необходима форма редактирования из БСП)). Теперь не нужно создавать правила с произвольным обработчиком выбора, например, "только действующие спецификации на определенную дату" или "только номенклатуру на остатках". Возможен отбор по характеристикам, по вычисляемым полям*.
- С помощью "выбирать данные для выгрузки одним запросом" можно подменять данные на этапе выгрузки. Не создавая соответствующих ПКО, подменяя данные для выгрузки с помощью СКД, можно выгружать произвольные данные по ПВД со стандартным алгоритмом.
- Передача метаданных по HTTP в КД2**
- Получение правил обмена из КД2**
- Сохранение настроек выгрузки после обновления правил
* - так как в алгоритмы выгрузки надо передавать ВыборкуИзРезультатЗапроса, работа с СКД делится на два подхода. В простом случае СКД(только один набор данных и нет отборов по вычисляемым полям) получается текст запроса и его параметры, этот запрос выполняется и далее по алгоритмам передается выборка, в ином случае происходит выгрузка результата СКД в таблицу значений, загрузка ее во временную таблицу и выборка из временной таблицы.
** - для получения этой функциональности необходимо только расширение из //infostart.ru/public/398595/. Внимательно ознакомьтесь с нюансами публикации HTTP-сервиса.
Главные правила при работе с произвольной СКД.
- Структура СКД не имеет значения, она будет очищена и добавлены <детальные записи>,
- Следите за выбранными полями в отчете.
- В СКД учитываются функциональные опции.
- В каждом ПВД со стандартным алгоритмом указывается таблица выборки(объект выборки). Взведенная настройка ПВД "выбирать данные для выгрузки одним запросом" указывает, что все используемые в конвертации объекта поля есть в выборке и не нужно обращаться за ними через точку к ссылке. Именно поэтому в п.4 я устанавливаю эту настройку, ведь обращение, к примеру, за "международным наименованием" к ПТУ придет к ошибке. Но, если запрос содержит ту же таблицу выборки, что и объект выборки ПВД, или есть соединение с такой таблицей, можно не выбирать самостоятельно все необходимые поля. Установленный флажок колонки "ДобавлятьКолонкиТаблицы" указывает, что нужно итоговый запрос дополнить отсутствующими колонками выгружаемой таблицы метеданных. Без "выбирать данные для выгрузки одним запросом" флаг "ДобавлятьКолонкиТаблицы" не работает.
Заключение
Использование удобных многофункциональных инструментов - это ваше конкурентное преимущество. Тестировалось на 8.3.15.1830.
Набор Инструментов для Разработки в КД2: