Показать сообщение отдельно
Старый 29.06.2008, 07:10   #18  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вась, подскажи. А что даст, если получиться во временной таблице получить нужный recId, через что и как ты потом будешь его использовать?
Я так понимаю вы хотите реализовать механизм driilldown.
А recId хотите использовать, как форточку для недостающих данных. Или не так.
Как я делал такой механизм:
1) Снимал слепок(данные) с запроса в первую временную таблицу.
2) Группировал требуемые данные из первой временной таблицы, получая вторую.
3) Суммировал итоговые поля во второй, получал третью(Если нужны подитоги).
4) Результаты 2 и 3 выкидывал на элемент ActiveX, похожий на Excel.
5) Когда два раза щёлкаем на строке отчёта открывается форма со стороками из которых была получена данная строка. Как это реализуется в системе: берём запрос из первого пункта, считываем строку на которой сделали drilldown, получаем значения полей по которым у нас была группировка, достраиваем range-ми по ним наш запрос. Берём форму которая будет открываться по drillDown, получаем её первый датасорс formDataSource = formRun.dataSource(); и заменяем её query, нашим formDataSource.query(наш query).
Если в 1 пункте данные считываются из одного запроса всё ок, driilldown реализуется нормально, если есть дополнительные find-ы, ифы, начинаются танцы с бубном, которые в результате могут ни к чему не превести.
Что вполне логично, чтобы что-то раскрутить, нужно тоже самое перед этим скрутить.

Последний раз редактировалось miklenew; 29.06.2008 в 08:08.