AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.02.2006, 10:48   #1  
DarkBear is offline
DarkBear
Участник
Аватар для DarkBear
 
19 / 13 (1) ++
Регистрация: 15.07.2005
Вопрос ConPeek
Подобный вопрос задавался, попробую подругому.
Кто-нибудь знает механизм работы ConPeek. Имеется ввиду не синтаксис, а механизм.
Т.е. как он берет из поля типа "Image" таблицы данные
(если точнее таблица SalesTableDelete, поле SalesTable).
Т.е. интересует схема хранения данных и алгоритм преобразования binary в данные которые туда были помещены Аксаптой.
Просто стоит задача реализовать данный механизм средствами MS-SQL.
Старый 10.02.2006, 13:17   #2  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Сохранив простенькую таблицу как контейнер в поле SalesTable таблицы SalesTableDelete, а затем посмотрев на это поле с помощью запроса в QA, то в начале этого длинного HEX-кода можно найти Id таблицы (с 14 по17 символы), затем угадываются Id-шники полей таблицы с их данными (id поля1 - данные, id поля2 - данные и т.д.)... (Все id объектов записаны в обратном порядке, например, если id таблицы 2115(HEX), то в базе он будет записан как 1521). Но после анализа последнего поля таблицы - темный лес...
У кого будут еще какие идеи?

Последний раз редактировалось Roman777; 10.02.2006 в 13:19.
За это сообщение автора поблагодарили: DarkBear (1).
Старый 13.02.2006, 13:24   #3  
DarkBear is offline
DarkBear
Участник
Аватар для DarkBear
 
19 / 13 (1) ++
Регистрация: 15.07.2005
Да.... жаль, что идей нет.

Думаю, что можно считать тему закрытой.
Старый 14.02.2006, 09:49   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Во вложении хранимая процедура, разбирающая поле типа контейнер и выводящая информацию по таблице и полям, находящимся в контейнере

!!! Не разбирает контейнерные поля, хранящиеся в сохраненной записи !!!

пример вызыва в QA

PHP код:
declare @img varbinary(8000)

select @img SalesTable
from SalesTableDelete
where salesId 
'ЗК0025'

exec GetPackedRecord @img 
Вложения
Тип файла: txt GetPackedRecord.txt (6.1 Кб, 520 просмотров)
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: mazzy (5), EVGL (5), mit (4), kashperuk (5), sukhanchik (2), Logger (20).
Старый 27.02.2006, 10:46   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Уважаемый AndyD, подскажите, пожалуйста:

приведенный Вами алгоритм разбора контейнера - Ваш или из какого-то фирменного источника?
(Речь именно об алгоритме, а не о его воплощении в виде процедуры).


В начале процедуры у Вас делается проверка:
if ((cast(substring(@img, 1, 1) as integer) <> 7) or (cast(substring(@img, 2, 1) as integer) <> 29))
return
т.е. для того, чтобы идти дальше, первые два байта должны быть 7 и 29 соответственно.


У меня в некой задачке получается 7 и 1. Как быть в этом случае?
Старый 27.02.2006, 11:09   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Фирменный источник - windbg

Первый байт - это идентификатор элемента, содержащегося в блобе. 0x07 - это идентификатор контейнера.
Второй байт - это тип первого элемента в контейнере (в данном случае 0x1d - это запись).

Эта процедура поддерживает обработку только контейнеров, содержащих в себе записи
__________________
Axapta v.3.0 sp5 kr2
Теги
container, download, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dataareaid conpeek Logger DAX: Программирование 5 02.02.2009 12:11
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
Вопрос по проектам Фиксированная цена PSA DAX: Функционал 9 29.06.2006 14:23
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36
changecompany(conpeek(container)) Vadik DAX: Программирование 3 03.06.2003 16:59

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:11.