Столкнулся сегодня с неприятной ситуацией. Попробовал отладить запрос расчета себестоимости в ERP. Получил такую ошибку:
Вся печаль этого состоит в том, что после такой ошибки я не смог получить ровном счетом ничего - ни текста запроса, ни хоть какие-нибудь временные таблицы где есть поддерживаемые типы, чтобы было хоть с чем-нибудь работать.
Есть 3 варианта решения:
1. Предлагать заменять типы в ТЗ на что-то такое, что 1С может "переварить" (дата, строка, число). Прогружать все без выполнения и оставлять исправление запросов на усмотрение программиста.
2. Грузить во временные таблицы то, что удается загрузить и опять же предупреждать программиста, что все данные загрузить не удалось по такой-то причине
3. Сложный метод, но частично рабочий:
- МоментВремени можно получить дополнительный выборкой из массива переданных ссылок содержащихся в МоментахВремени через ОБЪЕДИНИТЬ ВСЕ по разным таблицам документов. Затем сделать соединение
- УникальныйИдентификатор прекрасно передается через Параметр запроса и выводится. В этом случае необходимо будет в цикле сформировать динамический запрос с таким количеством уникальных имен параметров сколько содержится в ТЗ. Затем также можно будет соединить с основными данными
- Тип. Можно предварительно определить что именно за тип находится в ячейке ТЗ и вместо самого значения типа - формировать динамически запрос, где через ОБЪЕДИНИТЬ ВСЕ использовать конструкцию запроса "ТИП()". Там где это возможно конечно. Не все типы данных так можно получить. Но примитивные и ссылочные вполне.