Документ (бизнес-объект)
SYSDBA (обсуждение | вклад) (→Составные части документа) |
SYSDBA (обсуждение | вклад) (→Составные части документа) |
||
| Строка 5: | Строка 5: | ||
==Составные части документа== | ==Составные части документа== | ||
| − | + | Ниже перечислены составные части документа и приведены запросы для извлечения информации о них из базы данных. Параметр RUID в запросе -- это RUID типа документа. | |
| − | + | ||
| − | + | ===Экранные формы=== | |
| − | + | ||
| + | Экранная форма диалогового окна хранится в текстовом представлении, в формате DFM, в значении с именем РУИД-а документа, в подветке корневой ветки '''DFM''' глобального [[Хранилище|хранилища]]. Имя подветки соответствует имени класса диалогового окна, которое возвращает функция класса [[GdcBase.TgdcBase.GetDialogFormClassName|GetDialogFormClassName]]. | ||
| + | |||
| + | SELECT | ||
| + | v.id | ||
| + | FROM | ||
| + | gd_storage_data glbl | ||
| + | JOIN gd_storage_data dfm | ||
| + | ON dfm.parent = glbl.id AND dfm.name = 'DFM' | ||
| + | JOIN gd_storage_data frm_class | ||
| + | ON frm_class.parent = dfm.id | ||
| + | JOIN gd_storage_data v | ||
| + | ON v.parent = frm_class.id | ||
| + | WHERE | ||
| + | glbl.name = 'GLOBAL' AND glbl.data_type = 'G' | ||
| + | AND v.name = :RUID AND v.data_type = 'B' | ||
| + | |||
| + | Форма просмотра хранится аналогичным образом. | ||
| + | |||
| + | Визуальные настройки гридов диалоговой формы и формы просмотра хранятся в хранилище пользователя. Пример: '''\gdc_dlgUserComplexDocument147093641_497053859(Tgdc_dlgUserComplexDocument)\ibgrDetail(TgsIBGrid)\data''' | ||
| + | |||
| + | SELECT | ||
| + | v.id | ||
| + | FROM | ||
| + | gd_storage_data usr | ||
| + | JOIN gd_storage_data frm | ||
| + | ON frm.parent = usr.id | ||
| + | JOIN gd_storage_data ibgr | ||
| + | ON ibgr.parent = frm.id | ||
| + | JOIN gd_storage_data v | ||
| + | ON v.parent = ibgr.id | ||
| + | WHERE | ||
| + | usr.id = 990010 | ||
| + | AND frm.name CONTAINING :N | ||
| + | AND ibgr.name LIKE 'ibgr%' | ||
| + | AND v.name = 'data' | ||
| + | AND v.data_type = 'B' | ||
| + | |||
| + | ===1=== | ||
Версия 12:37, 17 декабря 2015
Документы предназначены для отражения разнообразных событий происходящих в хозяйственной жизни предприятия. Документы несколько по иному сохраняются в базе данных и обрабатываются системой. Все документы подразделяются на простые, однопозиционные, например, платежное поручение, и сложные, многопозиционные, например, товарная накладная. Общие данные документа, такие как его номер и дата регистрации, хранятся в таблице gd_document. Специфические данные, свойственные только документу определенного класса, хранятся в одной таблице, для простых, или в двух — для сложных документов. Зарегистрированный в системе документ может быть проведен, т.е. для него будет сформирована хозяйственная операция и одна или несколько бухгалтерских проводок.
Алгоритм, по которому конкретному документу сопоставляется хозяйственная операция и бухгалтерская проводка задается в специальном конструкторе, освоить который сможет даже далекий от программирования бухгалтер или экономист.
Составные части документа
Ниже перечислены составные части документа и приведены запросы для извлечения информации о них из базы данных. Параметр RUID в запросе -- это RUID типа документа.
Экранные формы
Экранная форма диалогового окна хранится в текстовом представлении, в формате DFM, в значении с именем РУИД-а документа, в подветке корневой ветки DFM глобального хранилища. Имя подветки соответствует имени класса диалогового окна, которое возвращает функция класса GetDialogFormClassName.
SELECT
v.id
FROM
gd_storage_data glbl
JOIN gd_storage_data dfm
ON dfm.parent = glbl.id AND dfm.name = 'DFM'
JOIN gd_storage_data frm_class
ON frm_class.parent = dfm.id
JOIN gd_storage_data v
ON v.parent = frm_class.id
WHERE
glbl.name = 'GLOBAL' AND glbl.data_type = 'G'
AND v.name = :RUID AND v.data_type = 'B'
Форма просмотра хранится аналогичным образом.
Визуальные настройки гридов диалоговой формы и формы просмотра хранятся в хранилище пользователя. Пример: \gdc_dlgUserComplexDocument147093641_497053859(Tgdc_dlgUserComplexDocument)\ibgrDetail(TgsIBGrid)\data
SELECT
v.id
FROM
gd_storage_data usr
JOIN gd_storage_data frm
ON frm.parent = usr.id
JOIN gd_storage_data ibgr
ON ibgr.parent = frm.id
JOIN gd_storage_data v
ON v.parent = ibgr.id
WHERE
usr.id = 990010
AND frm.name CONTAINING :N
AND ibgr.name LIKE 'ibgr%'
AND v.name = 'data'
AND v.data_type = 'B'