ЦИТК-980, ЦИТК-1020 - Перевод обращения с констант на функции в БД, инициализация сортировки P8PDataGrid

Reviewed-on: CITKParus/P8-Panels#45
This commit is contained in:
Mim 2026-07-30 10:10:03 +03:00
commit 55ec11dc55
10 changed files with 553 additions and 415 deletions

View File

@ -14,6 +14,7 @@ import {
P8P_TABLE_SIZE, P8P_TABLE_SIZE,
P8P_TABLE_DATA_TYPE, P8P_TABLE_DATA_TYPE,
P8P_TABLE_FILTER_SHAPE, P8P_TABLE_FILTER_SHAPE,
P8P_TABLE_ORDER_SHAPE,
P8P_TABLE_MORE_HEIGHT, P8P_TABLE_MORE_HEIGHT,
P8P_TABLE_FILTERS_HEIGHT, P8P_TABLE_FILTERS_HEIGHT,
P8P_TABLE_PAGINATOR_ALIGN, P8P_TABLE_PAGINATOR_ALIGN,
@ -34,6 +35,9 @@ const P8P_DATA_GRID_DATA_TYPE = P8P_TABLE_DATA_TYPE;
//Формат фильтра //Формат фильтра
const P8P_DATA_GRID_FILTER_SHAPE = P8P_TABLE_FILTER_SHAPE; const P8P_DATA_GRID_FILTER_SHAPE = P8P_TABLE_FILTER_SHAPE;
//Формат сортировки
const P8P_DATA_GRID_ORDER_SHAPE = P8P_TABLE_ORDER_SHAPE;
//Высота кнопки догрузки данных //Высота кнопки догрузки данных
const P8P_DATA_GRID_MORE_HEIGHT = P8P_TABLE_MORE_HEIGHT; const P8P_DATA_GRID_MORE_HEIGHT = P8P_TABLE_MORE_HEIGHT;
@ -56,6 +60,7 @@ const P8PDataGrid = ({
tableStyle = {}, tableStyle = {},
columnsDef = [], columnsDef = [],
filtersInitial, filtersInitial,
ordersInitial,
groups = [], groups = [],
rows = [], rows = [],
size, size,
@ -94,7 +99,7 @@ const P8PDataGrid = ({
objectsCopier objectsCopier
}) => { }) => {
//Собственное состояние - сортировки //Собственное состояние - сортировки
const [orders, setOrders] = useState([]); const [orders, setOrders] = useState(ordersInitial || []);
//Собственное состояние - фильтры //Собственное состояние - фильтры
const [filters, setFilters] = useState(filtersInitial || []); const [filters, setFilters] = useState(filtersInitial || []);
@ -137,6 +142,11 @@ const P8PDataGrid = ({
setFilters(filtersInitial || []); setFilters(filtersInitial || []);
}, [filtersInitial]); }, [filtersInitial]);
//При изменении списка установленных извне сортировок
useEffect(() => {
setOrders(ordersInitial || []);
}, [ordersInitial]);
//Генерация содержимого //Генерация содержимого
return ( return (
<P8PTable <P8PTable
@ -191,6 +201,7 @@ P8PDataGrid.propTypes = {
tableStyle: PropTypes.object, tableStyle: PropTypes.object,
columnsDef: PropTypes.array, columnsDef: PropTypes.array,
filtersInitial: PropTypes.arrayOf(P8P_DATA_GRID_FILTER_SHAPE), filtersInitial: PropTypes.arrayOf(P8P_DATA_GRID_FILTER_SHAPE),
ordersInitial: PropTypes.arrayOf(P8P_DATA_GRID_ORDER_SHAPE),
groups: PropTypes.array, groups: PropTypes.array,
rows: PropTypes.array, rows: PropTypes.array,
size: PropTypes.string, size: PropTypes.string,
@ -237,6 +248,7 @@ export {
P8P_DATA_GRID_DATA_TYPE, P8P_DATA_GRID_DATA_TYPE,
P8P_DATA_GRID_SIZE, P8P_DATA_GRID_SIZE,
P8P_DATA_GRID_FILTER_SHAPE, P8P_DATA_GRID_FILTER_SHAPE,
P8P_DATA_GRID_ORDER_SHAPE,
P8P_DATA_GRID_MORE_HEIGHT, P8P_DATA_GRID_MORE_HEIGHT,
P8P_DATA_GRID_FILTERS_HEIGHT, P8P_DATA_GRID_FILTERS_HEIGHT,
P8P_DATA_GRID_PAGINATOR_ALIGN, P8P_DATA_GRID_PAGINATOR_ALIGN,

View File

@ -83,6 +83,12 @@ const P8P_TABLE_FILTER_SHAPE = PropTypes.shape({
to: PropTypes.any to: PropTypes.any
}); });
//Структура элемента описания сортировки
const P8P_TABLE_ORDER_SHAPE = PropTypes.shape({
direction: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
});
//Размещение области страниц по вертикали //Размещение области страниц по вертикали
const P8P_TABLE_PAGINATOR_ALIGN = { const P8P_TABLE_PAGINATOR_ALIGN = {
LEFT: "left", LEFT: "left",
@ -963,12 +969,7 @@ P8PTable.propTypes = {
}) })
), ),
rows: PropTypes.array.isRequired, rows: PropTypes.array.isRequired,
orders: PropTypes.arrayOf( orders: PropTypes.arrayOf(P8P_TABLE_ORDER_SHAPE).isRequired,
PropTypes.shape({
name: PropTypes.string.isRequired,
direction: PropTypes.string.isRequired
})
).isRequired,
filters: PropTypes.arrayOf(P8P_TABLE_FILTER_SHAPE).isRequired, filters: PropTypes.arrayOf(P8P_TABLE_FILTER_SHAPE).isRequired,
size: PropTypes.string, size: PropTypes.string,
pageNumber: PropTypes.number, pageNumber: PropTypes.number,
@ -1014,6 +1015,7 @@ export {
P8P_TABLE_DATA_TYPE, P8P_TABLE_DATA_TYPE,
P8P_TABLE_SIZE, P8P_TABLE_SIZE,
P8P_TABLE_FILTER_SHAPE, P8P_TABLE_FILTER_SHAPE,
P8P_TABLE_ORDER_SHAPE,
P8P_TABLE_MORE_HEIGHT, P8P_TABLE_MORE_HEIGHT,
P8P_TABLE_FILTERS_HEIGHT, P8P_TABLE_FILTERS_HEIGHT,
P8P_TABLE_PAGINATOR_ALIGN, P8P_TABLE_PAGINATOR_ALIGN,

View File

@ -695,7 +695,7 @@ create or replace package body PKG_P8PANELS_CLNTTSKBRD as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => SDP_PREF || SDP_CODE, SNAME => SDP_PREF || SDP_CODE,
SCAPTION => SDP_NAME, SCAPTION => SDP_NAME,
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
else else
PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW, PKG_P8PANELS_VISUAL.TDG_ROW_ADD_CUR_COLS(RROW => RDG_ROW,
@ -727,135 +727,135 @@ create or replace package body PKG_P8PANELS_CLNTTSKBRD as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер записи', SCAPTION => 'Рег. номер записи',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NCRN', SNAME => 'NCRN',
SCAPTION => 'Каталог', SCAPTION => 'Каталог',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SCOND_FROM => 'BYEV_CRN', SCOND_FROM => 'BYEV_CRN',
BFILTER => true, BFILTER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SEVPREF', SNAME => 'SEVPREF',
SCAPTION => 'Префикс', SCAPTION => 'Префикс',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SEVNUMB', SNAME => 'SEVNUMB',
SCAPTION => 'Номер', SCAPTION => 'Номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SPREF_NUMB', SNAME => 'SPREF_NUMB',
SCAPTION => 'Префикс и номер', SCAPTION => 'Префикс и номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true, BORDER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NEVTYPE', SNAME => 'NEVTYPE',
SCAPTION => 'Тип события (Рег. номер)', SCAPTION => 'Тип события (Рег. номер)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SEVTYPE_CODE', SNAME => 'SEVTYPE_CODE',
SCAPTION => 'Тип события', SCAPTION => 'Тип события',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SCOND_FROM => 'BYEV_TYPE', SCOND_FROM => 'BYEV_TYPE',
BFILTER => true, BFILTER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DREG_DATE', SNAME => 'DREG_DATE',
SCAPTION => 'Дата регистрации', SCAPTION => 'Дата регистрации',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DCHANGE_DATE', SNAME => 'DCHANGE_DATE',
SCAPTION => 'Дата последнего изменения', SCAPTION => 'Дата последнего изменения',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BORDER => true, BORDER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DEXPIRE_DATE', SNAME => 'DEXPIRE_DATE',
SCAPTION => 'Дата истечения времени нахождения в точке маршрута', SCAPTION => 'Дата истечения времени нахождения в точке маршрута',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DPLAN_DATE', SNAME => 'DPLAN_DATE',
SCAPTION => 'Дата начала работ', SCAPTION => 'Дата начала работ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BORDER => true, BORDER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NINIT_PERSON', SNAME => 'NINIT_PERSON',
SCAPTION => 'Инициализатор (Рег. номер)', SCAPTION => 'Инициализатор (Рег. номер)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SINIT_PERSON', SNAME => 'SINIT_PERSON',
SCAPTION => 'Инициализатор', SCAPTION => 'Инициализатор',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NEVSTAT', SNAME => 'NEVSTAT',
SCAPTION => 'Статус (Рег. номер)', SCAPTION => 'Статус (Рег. номер)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SEVSTAT_NAME', SNAME => 'SEVSTAT_NAME',
SCAPTION => 'Статус', SCAPTION => 'Статус',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSEND_PERSON', SNAME => 'NSEND_PERSON',
SCAPTION => 'Получатель (Рег. номер)', SCAPTION => 'Получатель (Рег. номер)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSEND_PERSON', SNAME => 'SSEND_PERSON',
SCAPTION => 'Получатель', SCAPTION => 'Получатель',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SCOND_FROM => 'BYEV_S_PERSON', SCOND_FROM => 'BYEV_S_PERSON',
BFILTER => true, BFILTER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NAGNLIST_RN', SNAME => 'NAGNLIST_RN',
SCAPTION => 'Рег. номер контрагенты', SCAPTION => 'Рег. номер контрагенты',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSEND_DIVISION', SNAME => 'NSEND_DIVISION',
SCAPTION => 'Подразделение (Рег. номер)', SCAPTION => 'Подразделение (Рег. номер)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSEND_DIVISION', SNAME => 'SSEND_DIVISION',
SCAPTION => 'Подразделение', SCAPTION => 'Подразделение',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SCOND_FROM => 'BYEV_S_DIVISION', SCOND_FROM => 'BYEV_S_DIVISION',
BFILTER => true, BFILTER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSEND_USRGRP', SNAME => 'NSEND_USRGRP',
SCAPTION => 'Группа пользователей (Рег. номер)', SCAPTION => 'Группа пользователей (Рег. номер)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSEND_USRGRP', SNAME => 'SSEND_USRGRP',
SCAPTION => 'Группа пользователей', SCAPTION => 'Группа пользователей',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SCOND_FROM => 'BYEV_S_USER_GROUP', SCOND_FROM => 'BYEV_S_USER_GROUP',
BFILTER => true, BFILTER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SEVDESCR', SNAME => 'SEVDESCR',
SCAPTION => 'Описание', SCAPTION => 'Описание',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NCLOSED', SNAME => 'NCLOSED',
SCAPTION => 'Аннулировано', SCAPTION => 'Аннулировано',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
SCOND_FROM => 'BYEV_CLOSED_From', SCOND_FROM => 'BYEV_CLOSED_From',
SCOND_TO => 'BYEV_CLOSED_To', SCOND_TO => 'BYEV_CLOSED_To',
BFILTER => true, BFILTER => true,
@ -863,19 +863,19 @@ create or replace package body PKG_P8PANELS_CLNTTSKBRD as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SLINKED_UNIT', SNAME => 'SLINKED_UNIT',
SCAPTION => 'Учётный раздел', SCAPTION => 'Учётный раздел',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NLINKED_RN', SNAME => 'NLINKED_RN',
SCAPTION => 'Учётный документ (Рег. номер)', SCAPTION => 'Учётный документ (Рег. номер)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
SCOND_FROM => 'BYEV_LINKED_RN', SCOND_FROM => 'BYEV_LINKED_RN',
BFILTER => true, BFILTER => true,
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSENDER', SNAME => 'SSENDER',
SCAPTION => 'Наименование исполнителя', SCAPTION => 'Наименование исполнителя',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
/* Формируем блок запроса свойств документа и коллекций наименований/типов */ /* Формируем блок запроса свойств документа и коллекций наименований/типов */
UTL_CLNEVENTS_DP_QUERY_BLOCK(NCOMPANY => NCOMPANY, UTL_CLNEVENTS_DP_QUERY_BLOCK(NCOMPANY => NCOMPANY,

View File

@ -404,93 +404,93 @@ create or replace package body PKG_P8PANELS_EQUIPSRV as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SOBJINFO', SNAME => 'SOBJINFO',
SCAPTION => 'Информация по объекту ремонта', SCAPTION => 'Информация по объекту ремонта',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SINFO', SNAME => 'SINFO',
SCAPTION => 'Объект ремонта', SCAPTION => 'Объект ремонта',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SWRKTYPE', SNAME => 'SWRKTYPE',
SCAPTION => 'Тип работ', SCAPTION => 'Тип работ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SPARENT => 'SINFO', SPARENT => 'SINFO',
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SWORKNAME', SNAME => 'SWORKNAME',
SCAPTION => 'Наименование работы', SCAPTION => 'Наименование работы',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'STECHOBJCODE', SNAME => 'STECHOBJCODE',
SCAPTION => 'Код тех. объекта', SCAPTION => 'Код тех. объекта',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'STECHOBJNAME', SNAME => 'STECHOBJNAME',
SCAPTION => 'Наименование тех. объекта', SCAPTION => 'Наименование тех. объекта',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SBELONG', SNAME => 'SBELONG',
SCAPTION => 'Принадлежность', SCAPTION => 'Принадлежность',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SPRODOBJ', SNAME => 'SPRODOBJ',
SCAPTION => 'Производственный объект', SCAPTION => 'Производственный объект',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'STECHSERV', SNAME => 'STECHSERV',
SCAPTION => 'Тех. служба', SCAPTION => 'Тех. служба',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SRESPDEP', SNAME => 'SRESPDEP',
SCAPTION => 'Отвественное подразделение', SCAPTION => 'Отвественное подразделение',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'STECSERVCODE', SNAME => 'STECSERVCODE',
SCAPTION => 'Вид ремонта', SCAPTION => 'Вид ремонта',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DDATEPLANBEG', SNAME => 'DDATEPLANBEG',
SCAPTION => 'Начало работы (план)', SCAPTION => 'Начало работы (план)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DDATEPLANEND', SNAME => 'DDATEPLANEND',
SCAPTION => 'Окончание работы (план)', SCAPTION => 'Окончание работы (план)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DDATEFACTBEG', SNAME => 'DDATEFACTBEG',
SCAPTION => 'Начало работы (факт)', SCAPTION => 'Начало работы (факт)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DDATEFACTEND', SNAME => 'DDATEFACTEND',
SCAPTION => 'Окончание работы (факт)', SCAPTION => 'Окончание работы (факт)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'STECSRVKINDCODE', SNAME => 'STECSRVKINDCODE',
SCAPTION => 'Код типа работы', SCAPTION => 'Код типа работы',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'STECSRVKINDNAME', SNAME => 'STECSRVKINDNAME',
SCAPTION => 'Наименование типа работы', SCAPTION => 'Наименование типа работы',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
/* Очистка коллекций */ /* Очистка коллекций */
PKG_CONTVALLOC1S.PURGE(RCONTAINER => YM); PKG_CONTVALLOC1S.PURGE(RCONTAINER => YM);
@ -533,7 +533,7 @@ create or replace package body PKG_P8PANELS_EQUIPSRV as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => '_' || TO_CHAR(Y) || '_' || TO_CHAR(M), SNAME => '_' || TO_CHAR(Y) || '_' || TO_CHAR(M),
SCAPTION => LPAD(TO_CHAR(M), 2, '0') || ' ' || TO_CHAR(Y), SCAPTION => LPAD(TO_CHAR(M), 2, '0') || ' ' || TO_CHAR(Y),
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BEXPANDABLE => true, BEXPANDABLE => true,
BEXPANDED => BEXPANDED); BEXPANDED => BEXPANDED);
/* Подсчёт кол-ва дней в месяце */ /* Подсчёт кол-ва дней в месяце */
@ -547,7 +547,7 @@ create or replace package body PKG_P8PANELS_EQUIPSRV as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => '_' || TO_CHAR(Y) || '_' || TO_CHAR(M) || '_' || TO_CHAR(D), SNAME => '_' || TO_CHAR(Y) || '_' || TO_CHAR(M) || '_' || TO_CHAR(D),
SCAPTION => TO_CHAR(D, '99'), SCAPTION => TO_CHAR(D, '99'),
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SPARENT => '_' || TO_CHAR(Y) || '_' || TO_CHAR(M)); SPARENT => '_' || TO_CHAR(Y) || '_' || TO_CHAR(M));
end loop; end loop;
end loop; end loop;

View File

@ -1008,48 +1008,48 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOC_INFO', SNAME => 'SDOC_INFO',
SCAPTION => 'Накладная', SCAPTION => 'Накладная',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
/* Если тип "Приход из подразделений и маршрутные листы", то необходимо включать состояние */ /* Если тип "Приход из подразделений и маршрутные листы", то необходимо включать состояние */
if (NTYPE = NTASK_TYPE_INC_DEPS_RL) then if (NTYPE = NTASK_TYPE_INC_DEPS_RL) then
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOC_STATE', SNAME => 'SDOC_STATE',
SCAPTION => 'Состояние', SCAPTION => 'Состояние',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
end if; end if;
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DWORK_DATE', SNAME => 'DWORK_DATE',
SCAPTION => 'Дата сдачи', SCAPTION => 'Дата сдачи',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOC_VALID_INFO', SNAME => 'SDOC_VALID_INFO',
SCAPTION => 'Маршрутный лист', SCAPTION => 'Маршрутный лист',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SOUT_DEPARTMENT', SNAME => 'SOUT_DEPARTMENT',
SCAPTION => 'Сдающий цех', SCAPTION => 'Сдающий цех',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSTORE', SNAME => 'SSTORE',
SCAPTION => 'Склад цеха потребителя', SCAPTION => 'Склад цеха потребителя',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_FACT', SNAME => 'NQUANT_FACT',
SCAPTION => 'Количество сдано', SCAPTION => 'Количество сдано',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
/* Инициализируем список маршрутных листов */ /* Инициализируем список маршрутных листов */
@ -1228,49 +1228,49 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRESPL_CODE', SNAME => 'SMATRESPL_CODE',
SCAPTION => 'Обозначение', SCAPTION => 'Обозначение',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRESPL_NAME', SNAME => 'SMATRESPL_NAME',
SCAPTION => 'Наименование', SCAPTION => 'Наименование',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NPROD_QUANT', SNAME => 'NPROD_QUANT',
SCAPTION => 'Применяемость', SCAPTION => 'Применяемость',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_PLAN', SNAME => 'NQUANT_PLAN',
SCAPTION => 'Количество план', SCAPTION => 'Количество план',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NREST', SNAME => 'NREST',
SCAPTION => 'Остаток', SCAPTION => 'Остаток',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_FACT', SNAME => 'NQUANT_FACT',
SCAPTION => 'Скомплектовано', SCAPTION => 'Скомплектовано',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DRES_DATE_TO', SNAME => 'DRES_DATE_TO',
SCAPTION => 'Зарезервировано', SCAPTION => 'Зарезервировано',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRESPL_NOMEN', SNAME => 'SMATRESPL_NOMEN',
SCAPTION => 'Номенклатура', SCAPTION => 'Номенклатура',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
/* Обходим данные */ /* Обходим данные */
begin begin
@ -1441,38 +1441,38 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SINDOC', SNAME => 'SINDOC',
SCAPTION => 'Партия', SCAPTION => 'Партия',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSTORE', SNAME => 'SSTORE',
SCAPTION => 'Склад', SCAPTION => 'Склад',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSALE', SNAME => 'NSALE',
SCAPTION => 'К продаже', SCAPTION => 'К продаже',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRESTFACT', SNAME => 'NRESTFACT',
SCAPTION => 'Фактический остаток', SCAPTION => 'Фактический остаток',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRESERV', SNAME => 'NRESERV',
SCAPTION => 'Резерв', SCAPTION => 'Резерв',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
BFILTER => false); BFILTER => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SPRICEMEAS', SNAME => 'SPRICEMEAS',
SCAPTION => 'Единица измерения', SCAPTION => 'Единица измерения',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
/* Если номенклатура или хранилища указаны */ /* Если номенклатура или хранилища указаны */
@ -1634,48 +1634,48 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOCPREF', SNAME => 'SDOCPREF',
SCAPTION => 'Префикс', SCAPTION => 'Префикс',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOCNUMB', SNAME => 'SDOCNUMB',
SCAPTION => 'Номер', SCAPTION => 'Номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DEXEC_DATE', SNAME => 'DEXEC_DATE',
SCAPTION => 'Дата запуска', SCAPTION => 'Дата запуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRES_PLAN_NOMEN', SNAME => 'SMATRES_PLAN_NOMEN',
SCAPTION => 'Номенклатура основного материала', SCAPTION => 'Номенклатура основного материала',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRES_PLAN_NAME', SNAME => 'SMATRES_PLAN_NAME',
SCAPTION => 'Наименование основного материала', SCAPTION => 'Наименование основного материала',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT', SNAME => 'NQUANT',
SCAPTION => 'Количество запуска', SCAPTION => 'Количество запуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_PLAN', SNAME => 'NQUANT_PLAN',
SCAPTION => 'Выдать по норме', SCAPTION => 'Выдать по норме',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
/* Обходим данные */ /* Обходим данные */
@ -1838,42 +1838,42 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOCPREF', SNAME => 'SDOCPREF',
SCAPTION => 'Префикс', SCAPTION => 'Префикс',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOCNUMB', SNAME => 'SDOCNUMB',
SCAPTION => 'Номер', SCAPTION => 'Номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DEXEC_DATE', SNAME => 'DEXEC_DATE',
SCAPTION => 'Дата запуска', SCAPTION => 'Дата запуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT', SNAME => 'NQUANT',
SCAPTION => 'Количество запуска', SCAPTION => 'Количество запуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DREL_DATE', SNAME => 'DREL_DATE',
SCAPTION => 'Дата выпуска', SCAPTION => 'Дата выпуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NREL_QUANT', SNAME => 'NREL_QUANT',
SCAPTION => 'Количество выпуска', SCAPTION => 'Количество выпуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
/* Обходим данные */ /* Обходим данные */
@ -2029,54 +2029,54 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOCPREF', SNAME => 'SDOCPREF',
SCAPTION => 'Префикс', SCAPTION => 'Префикс',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOCNUMB', SNAME => 'SDOCNUMB',
SCAPTION => 'Номер', SCAPTION => 'Номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DEXEC_DATE', SNAME => 'DEXEC_DATE',
SCAPTION => 'Дата запуска', SCAPTION => 'Дата запуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT', SNAME => 'NQUANT',
SCAPTION => 'Количество запуска', SCAPTION => 'Количество запуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DREL_DATE', SNAME => 'DREL_DATE',
SCAPTION => 'Дата выпуска', SCAPTION => 'Дата выпуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NREL_QUANT', SNAME => 'NREL_QUANT',
SCAPTION => 'Количество выпуска', SCAPTION => 'Количество выпуска',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_FACT', SNAME => 'NQUANT_FACT',
SCAPTION => 'Сдано', SCAPTION => 'Сдано',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NPROCENT', SNAME => 'NPROCENT',
SCAPTION => '% готовности', SCAPTION => '% готовности',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
/* Обходим данные */ /* Обходим данные */
@ -2784,7 +2784,7 @@ create or replace package body PKG_P8PANELS_MECHREC as
end if; end if;
/* Инициализируем диаграмму Ганта */ /* Инициализируем диаграмму Ганта */
RG := PKG_P8PANELS_VISUAL.TGANTT_MAKE(STITLE => SPLAN_TITLE, RG := PKG_P8PANELS_VISUAL.TGANTT_MAKE(STITLE => SPLAN_TITLE,
NZOOM => PKG_P8PANELS_VISUAL.NGANTT_ZOOM_DAY, NZOOM => PKG_P8PANELS_VISUAL.GANTT_ZOOM_DAY(),
BREAD_ONLY_DATES => BREAD_ONLY_DATES, BREAD_ONLY_DATES => BREAD_ONLY_DATES,
BREAD_ONLY_PROGRESS => true); BREAD_ONLY_PROGRESS => true);
/* Инициализируем динамические атрибуты к спецификациям */ /* Инициализируем динамические атрибуты к спецификациям */
@ -3275,42 +3275,42 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOC_INFO', SNAME => 'SDOC_INFO',
SCAPTION => 'Документ (тип, №, дата)', SCAPTION => 'Документ (тип, №, дата)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT', SNAME => 'NQUANT',
SCAPTION => 'Количество план', SCAPTION => 'Количество план',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NPROCENT', SNAME => 'NPROCENT',
SCAPTION => 'Готовность партии', SCAPTION => 'Готовность партии',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NPRIOR_PARTY', SNAME => 'NPRIOR_PARTY',
SCAPTION => 'Приоритет партии', SCAPTION => 'Приоритет партии',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SPROD_ORDER', SNAME => 'SPROD_ORDER',
SCAPTION => 'Заказ', SCAPTION => 'Заказ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
/*! Пока отключен */ /*! Пока отключен */
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NCHANGE_FACEACC', SNAME => 'NCHANGE_FACEACC',
SCAPTION => 'Изменить заказ', SCAPTION => 'Изменить заказ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false, BVISIBLE => false,
BORDER => true); BORDER => true);
/* Считываем рег. номер связанной спецификации из "Производственная программа" */ /* Считываем рег. номер связанной спецификации из "Производственная программа" */
@ -3548,52 +3548,52 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSTATE', SNAME => 'SSTATE',
SCAPTION => 'Состояние', SCAPTION => 'Состояние',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SOPER_NUMB', SNAME => 'SOPER_NUMB',
SCAPTION => 'Номер операции', SCAPTION => 'Номер операции',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SROUTSHTSP_NAME', SNAME => 'SROUTSHTSP_NAME',
SCAPTION => 'Операция', SCAPTION => 'Операция',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSUBDIV', SNAME => 'SSUBDIV',
SCAPTION => 'Цех, участок', SCAPTION => 'Цех, участок',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_PLAN', SNAME => 'NQUANT_PLAN',
SCAPTION => 'План', SCAPTION => 'План',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_FACT', SNAME => 'NQUANT_FACT',
SCAPTION => 'Факт', SCAPTION => 'Факт',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NT_SHT_PLAN', SNAME => 'NT_SHT_PLAN',
SCAPTION => 'Трудоемкость план', SCAPTION => 'Трудоемкость план',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NLABOUR_FACT', SNAME => 'NLABOUR_FACT',
SCAPTION => 'Трудоемкость факт', SCAPTION => 'Трудоемкость факт',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMUNIT', SNAME => 'SMUNIT',
SCAPTION => 'ЕИ трудоемкости', SCAPTION => 'ЕИ трудоемкости',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
/* Обходим данные */ /* Обходим данные */
begin begin
@ -3741,29 +3741,29 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSTATE', SNAME => 'SSTATE',
SCAPTION => 'Состояние', SCAPTION => 'Состояние',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SDOC_INFO', SNAME => 'SDOC_INFO',
SCAPTION => 'Документ (тип, №, дата)', SCAPTION => 'Документ (тип, №, дата)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_FACT', SNAME => 'NQUANT_FACT',
SCAPTION => 'Количество сдано', SCAPTION => 'Количество сдано',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DDUE_DATE', SNAME => 'DDUE_DATE',
SCAPTION => 'Дата сдачи', SCAPTION => 'Дата сдачи',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true); BORDER => true);
/* Считываем рег. номер связанной спецификации из "Производственная программа" */ /* Считываем рег. номер связанной спецификации из "Производственная программа" */
@ -4013,17 +4013,17 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSTATUS', SNAME => 'SSTATUS',
SCAPTION => 'Статус', SCAPTION => 'Статус',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SPROD_ORDER', SNAME => 'SPROD_ORDER',
SCAPTION => 'Заказ', SCAPTION => 'Заказ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
SHINT => 'Содержит ссылку на связанные сдаточные накладные.', SHINT => 'Содержит ссылку на связанные сдаточные накладные.',
@ -4031,7 +4031,7 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRES_CODE', SNAME => 'SMATRES_CODE',
SCAPTION => 'Обозначение', SCAPTION => 'Обозначение',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
SHINT => 'Содержит ссылку на связанные маршрутные листы.<br><br>' || SHINT => 'Содержит ссылку на связанные маршрутные листы.<br><br>' ||
@ -4045,33 +4045,33 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRES_NAME', SNAME => 'SMATRES_NAME',
SCAPTION => 'Наименование', SCAPTION => 'Наименование',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
NWIDTH => 200); NWIDTH => 200);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSUBDIV', SNAME => 'SSUBDIV',
SCAPTION => 'Цех-получатель', SCAPTION => 'Цех-получатель',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
NWIDTH => 180); NWIDTH => 180);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NMAIN_QUANT', SNAME => 'NMAIN_QUANT',
SCAPTION => 'План', SCAPTION => 'План',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NREL_FACT', SNAME => 'NREL_FACT',
SCAPTION => 'Факт', SCAPTION => 'Факт',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NFCROUTLST_QUANT', SNAME => 'NFCROUTLST_QUANT',
SCAPTION => 'Запущено', SCAPTION => 'Запущено',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true, BVISIBLE => true,
NWIDTH => 90); NWIDTH => 90);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
@ -4086,12 +4086,12 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSUM_PLAN', SNAME => 'NSUM_PLAN',
SCAPTION => 'Сумма "Количество план"', SCAPTION => 'Сумма "Количество план"',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSUM_FACT', SNAME => 'NSUM_FACT',
SCAPTION => 'Сумма "Количество факт"', SCAPTION => 'Сумма "Количество факт"',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
/* Считываем первый и последний день месяца */ /* Считываем первый и последний день месяца */
P_FIRST_LAST_DAY(DCALCDATE => sysdate, DBGNDATE => DDATE_FROM, DENDDATE => DDATE_TO); P_FIRST_LAST_DAY(DCALCDATE => sysdate, DBGNDATE => DDATE_FROM, DENDDATE => DDATE_TO);
@ -4885,58 +4885,58 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSELECT', SNAME => 'NSELECT',
SCAPTION => 'Выбран', SCAPTION => 'Выбран',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NPRIOR_PARTY', SNAME => 'NPRIOR_PARTY',
SCAPTION => 'Приоритет партии', SCAPTION => 'Приоритет партии',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SFCROUTLST', SNAME => 'SFCROUTLST',
SCAPTION => 'МЛ', SCAPTION => 'МЛ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRES', SNAME => 'SMATRES',
SCAPTION => 'ДСЕ', SCAPTION => 'ДСЕ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SOPER', SNAME => 'SOPER',
SCAPTION => 'Операция', SCAPTION => 'Операция',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_PLAN', SNAME => 'NQUANT_PLAN',
SCAPTION => 'Количество', SCAPTION => 'Количество',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NLABOUR_PLAN', SNAME => 'NLABOUR_PLAN',
SCAPTION => 'Трудоемкость', SCAPTION => 'Трудоемкость',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SEQCONFIG', SNAME => 'SEQCONFIG',
SCAPTION => 'Станок', SCAPTION => 'Станок',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NEQCONFIG', SNAME => 'NEQCONFIG',
SCAPTION => 'Рег. номер станка', SCAPTION => 'Рег. номер станка',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NEQUIP_PLAN', SNAME => 'NEQUIP_PLAN',
SCAPTION => 'Рег. номер оборудования', SCAPTION => 'Рег. номер оборудования',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DBEG_FACT', SNAME => 'DBEG_FACT',
SCAPTION => 'Дата начала факт', SCAPTION => 'Дата начала факт',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
/* Обходим данные */ /* Обходим данные */
begin begin
@ -5109,31 +5109,31 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSELECT', SNAME => 'NSELECT',
SCAPTION => 'Выбран', SCAPTION => 'Выбран',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SCODE', SNAME => 'SCODE',
SCAPTION => 'Станок', SCAPTION => 'Станок',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSUM_LABOUR', SNAME => 'NSUM_LABOUR',
SCAPTION => 'Загрузка в н/ч', SCAPTION => 'Загрузка в н/ч',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NLOADING', SNAME => 'NLOADING',
SCAPTION => 'Загрузка в %', SCAPTION => 'Загрузка в %',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NEQUIPMENT', SNAME => 'NEQUIPMENT',
SCAPTION => 'Рег. номер оборудования', SCAPTION => 'Рег. номер оборудования',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
/* Считываем единицу измерения минут */ /* Считываем единицу измерения минут */
FIND_DICMUNTS_CODE(NFLAG_SMART => 0, FIND_DICMUNTS_CODE(NFLAG_SMART => 0,
@ -5476,24 +5476,24 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SCODE', SNAME => 'SCODE',
SCAPTION => 'Мнемокод', SCAPTION => 'Мнемокод',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SNAME', SNAME => 'SNAME',
SCAPTION => 'Наименование', SCAPTION => 'Наименование',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DBGNDATE', SNAME => 'DBGNDATE',
SCAPTION => 'Действует с', SCAPTION => 'Действует с',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DENDDATE', SNAME => 'DENDDATE',
SCAPTION => 'Действует по', SCAPTION => 'Действует по',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE());
/* Считываем первый и последний день месяца */ /* Считываем первый и последний день месяца */
P_FIRST_LAST_DAY(DCALCDATE => TO_DATE(SMONTH_YEAR, 'mm.yyyy'), DBGNDATE => DDATE_FROM, DENDDATE => DDATE_TO); P_FIRST_LAST_DAY(DCALCDATE => TO_DATE(SMONTH_YEAR, 'mm.yyyy'), DBGNDATE => DDATE_FROM, DENDDATE => DDATE_TO);
/* Обходим данные */ /* Обходим данные */
@ -5741,13 +5741,13 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'N_' || SDATE_NAME || '_VALUE', SNAME => 'N_' || SDATE_NAME || '_VALUE',
SCAPTION => LPAD(D_DAY(DDATE), 2, '0'), SCAPTION => LPAD(D_DAY(DDATE), 2, '0'),
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
SPARENT => 'NVALUE_BY_DAYS'); SPARENT => 'NVALUE_BY_DAYS');
/* Описываем родительскую колонку таблицы данных */ /* Описываем родительскую колонку таблицы данных */
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'N_' || SDATE_NAME || '_TYPE', SNAME => 'N_' || SDATE_NAME || '_TYPE',
SCAPTION => LPAD(D_DAY(DDATE), 2, '0'), SCAPTION => LPAD(D_DAY(DDATE), 2, '0'),
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false, BVISIBLE => false,
SPARENT => 'NVALUE_BY_DAYS'); SPARENT => 'NVALUE_BY_DAYS');
/* Добавляем день в коллекцию */ /* Добавляем день в коллекцию */
@ -5858,33 +5858,33 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SSUBDIV', SNAME => 'SSUBDIV',
SCAPTION => 'Участок', SCAPTION => 'Участок',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true, BORDER => true,
NWIDTH => 120); NWIDTH => 120);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SNAME', SNAME => 'SNAME',
SCAPTION => 'Станок', SCAPTION => 'Станок',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
NWIDTH => 240); NWIDTH => 240);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NLOAD', SNAME => 'NLOAD',
SCAPTION => 'Загрузка (н/ч)', SCAPTION => 'Загрузка (н/ч)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NPROCENT_LOAD', SNAME => 'NPROCENT_LOAD',
SCAPTION => 'Загрузка (%)', SCAPTION => 'Загрузка (%)',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
NWIDTH => 80); NWIDTH => 80);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NVALUE_BY_DAYS', SNAME => 'NVALUE_BY_DAYS',
SCAPTION => 'Загрузка в н/ч по дням месяца', SCAPTION => 'Загрузка в н/ч по дням месяца',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
SHINT => 'Отображает сумму трудоемкости по дням месяца.<br><br>' || SHINT => 'Отображает сумму трудоемкости по дням месяца.<br><br>' ||
'Цвет значения отражает трудоемкость план/факт.<br>' || 'Цвет значения отражает трудоемкость план/факт.<br>' ||
'Если дата месяца больше или равна текущей, то отображается трудоемкость "План", иначе "Факт":<br>' || 'Если дата месяца больше или равна текущей, то отображается трудоемкость "План", иначе "Факт":<br>' ||
@ -6153,27 +6153,27 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SNUMB', SNAME => 'SNUMB',
SCAPTION => '% п/п', SCAPTION => '% п/п',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SOPERATION', SNAME => 'SOPERATION',
SCAPTION => 'Содержание работ', SCAPTION => 'Содержание работ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SEXECUTOR', SNAME => 'SEXECUTOR',
SCAPTION => 'Исполнитель', SCAPTION => 'Исполнитель',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NREMN_LABOUR', SNAME => 'NREMN_LABOUR',
SCAPTION => 'Остаточная трудоемкость, в н/ч', SCAPTION => 'Остаточная трудоемкость, в н/ч',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
/* Если спецификация считалась */ /* Если спецификация считалась */
if (NFCPRODPLANSP is not null) then if (NFCPRODPLANSP is not null) then
@ -6316,27 +6316,27 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SNOMEN', SNAME => 'SNOMEN',
SCAPTION => 'Номенклатура', SCAPTION => 'Номенклатура',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_PLAN', SNAME => 'NQUANT_PLAN',
SCAPTION => 'Применяемость', SCAPTION => 'Применяемость',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SPROVIDER', SNAME => 'SPROVIDER',
SCAPTION => 'Поставщик', SCAPTION => 'Поставщик',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true); BVISIBLE => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NDEFICIT', SNAME => 'NDEFICIT',
SCAPTION => 'Дефицит', SCAPTION => 'Дефицит',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => true); BVISIBLE => true);
/* Если спецификация считалась */ /* Если спецификация считалась */
if (NFCPRODPLANSP is not null) then if (NFCPRODPLANSP is not null) then
@ -7403,64 +7403,64 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSELECT', SNAME => 'NSELECT',
SCAPTION => 'Выбран', SCAPTION => 'Выбран',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
NWIDTH => 75); NWIDTH => 75);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SFCROUTLST', SNAME => 'SFCROUTLST',
SCAPTION => 'МЛ', SCAPTION => 'МЛ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true, BORDER => true,
NWIDTH => 120); NWIDTH => 120);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMATRES', SNAME => 'SMATRES',
SCAPTION => 'ДСЕ', SCAPTION => 'ДСЕ',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true, BORDER => true,
NWIDTH => 120); NWIDTH => 120);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SOPER', SNAME => 'SOPER',
SCAPTION => 'Операция', SCAPTION => 'Операция',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SMANPOWER', SNAME => 'SMANPOWER',
SCAPTION => 'Профессия', SCAPTION => 'Профессия',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NQUANT_PLAN', SNAME => 'NQUANT_PLAN',
SCAPTION => 'Количество', SCAPTION => 'Количество',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRESOURCE_NUMB', SNAME => 'NRESOURCE_NUMB',
SCAPTION => 'Численность', SCAPTION => 'Численность',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NLABOUR_PLAN', SNAME => 'NLABOUR_PLAN',
SCAPTION => 'Трудоемкость', SCAPTION => 'Трудоемкость',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SFIO', SNAME => 'SFIO',
SCAPTION => 'ФИО', SCAPTION => 'ФИО',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NPERFORM_FACT', SNAME => 'NPERFORM_FACT',
SCAPTION => 'Рег. номер исполнителя факт', SCAPTION => 'Рег. номер исполнителя факт',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'DBEG_FACT', SNAME => 'DBEG_FACT',
SCAPTION => 'Дата начала факт', SCAPTION => 'Дата начала факт',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_DATE(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SWORKERS_LIST', SNAME => 'SWORKERS_LIST',
SCAPTION => 'Список исполнителей', SCAPTION => 'Список исполнителей',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => false); BVISIBLE => false);
/* Обходим данные */ /* Обходим данные */
begin begin
@ -7662,36 +7662,36 @@ create or replace package body PKG_P8PANELS_MECHREC as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NRN', SNAME => 'NRN',
SCAPTION => 'Рег. номер', SCAPTION => 'Рег. номер',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSELECT', SNAME => 'NSELECT',
SCAPTION => 'Выбран', SCAPTION => 'Выбран',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SFIO', SNAME => 'SFIO',
SCAPTION => 'ФИО', SCAPTION => 'ФИО',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SPROFESSION', SNAME => 'SPROFESSION',
SCAPTION => 'Профессия', SCAPTION => 'Профессия',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NSUM_LABOUR', SNAME => 'NSUM_LABOUR',
SCAPTION => 'Загрузка в н/ч', SCAPTION => 'Загрузка в н/ч',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NLOADING', SNAME => 'NLOADING',
SCAPTION => 'Загрузка в %', SCAPTION => 'Загрузка в %',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BORDER => true); BORDER => true);
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NEQUIPMENT', SNAME => 'NEQUIPMENT',
SCAPTION => 'Рег. номер оборудования', SCAPTION => 'Рег. номер оборудования',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
BVISIBLE => false); BVISIBLE => false);
/* Считываем единицу измерения минут */ /* Считываем единицу измерения минут */
FIND_DICMUNTS_CODE(NFLAG_SMART => 0, FIND_DICMUNTS_CODE(NFLAG_SMART => 0,

File diff suppressed because it is too large Load Diff

View File

@ -1271,7 +1271,7 @@ create or replace package body PKG_P8PANELS_RRPCONFED as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SROW_NAME', SNAME => 'SROW_NAME',
SCAPTION => 'Наименование строки', SCAPTION => 'Наименование строки',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
NWIDTH => NCOL_WIDTH); NWIDTH => NCOL_WIDTH);
/* Остальные колонки это графы настройки РО - строим запрос по графам показателей */ /* Остальные колонки это графы настройки РО - строим запрос по графам показателей */
OPEN_ROWS_COLS_CUR(NRRPCONFSCTN => NRRPCONFSCTN, STABLE => 'RRPCOLUMN', NORDER => NCOL_ORDER, ICURSOR => ICURSOR); OPEN_ROWS_COLS_CUR(NRRPCONFSCTN => NRRPCONFSCTN, STABLE => 'RRPCOLUMN', NORDER => NCOL_ORDER, ICURSOR => ICURSOR);
@ -1286,7 +1286,7 @@ create or replace package body PKG_P8PANELS_RRPCONFED as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => DG_COL_NAME_BY_RRPCOLUMN(NRRPCOLUMN => NCOL_RN), SNAME => DG_COL_NAME_BY_RRPCOLUMN(NRRPCOLUMN => NCOL_RN),
SCAPTION => SCOL_NAME, SCAPTION => SCOL_NAME,
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
NWIDTH => NCOL_WIDTH); NWIDTH => NCOL_WIDTH);
end loop; end loop;
/* Освобождаем курсор */ /* Освобождаем курсор */

View File

@ -362,14 +362,14 @@ create or replace package body PKG_P8PANELS_SAMPLES as
/* Инициализируем таблицу данных */ /* Инициализируем таблицу данных */
RDG := PKG_P8PANELS_VISUAL.TDG_MAKE(BFIXED_HEADER => true, RDG := PKG_P8PANELS_VISUAL.TDG_MAKE(BFIXED_HEADER => true,
NFIXED_COLUMNS => 2, NFIXED_COLUMNS => 2,
SPAGES_POSITION => PKG_P8PANELS_VISUAL.STABLE_PAGES_POSITION_BOTTOM, SPAGES_POSITION => PKG_P8PANELS_VISUAL.TABLE_PAGES_POSITION_BOTTOM(),
SPAGES_ALIGN => PKG_P8PANELS_VISUAL.STABLE_PAGES_ALIGN_RIGHT, SPAGES_ALIGN => PKG_P8PANELS_VISUAL.TABLE_PAGES_ALIGN_RIGHT(),
BMORE_PAGES => case NUSE_MORE_BUTTON when 1 then true else false end); BMORE_PAGES => case NUSE_MORE_BUTTON when 1 then true else false end);
/* Описываем колонки таблицы данных */ /* Описываем колонки таблицы данных */
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SAGNABBR', SNAME => 'SAGNABBR',
SCAPTION => 'Мнемокод', SCAPTION => 'Мнемокод',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SCOND_FROM => 'AgentAbbr', SCOND_FROM => 'AgentAbbr',
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
@ -378,7 +378,7 @@ create or replace package body PKG_P8PANELS_SAMPLES as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SAGNINFO', SNAME => 'SAGNINFO',
SCAPTION => 'Сведения', SCAPTION => 'Сведения',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
BVISIBLE => true, BVISIBLE => true,
BORDER => false, BORDER => false,
BFILTER => false, BFILTER => false,
@ -387,7 +387,7 @@ create or replace package body PKG_P8PANELS_SAMPLES as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SAGNNAME', SNAME => 'SAGNNAME',
SCAPTION => 'Наименование', SCAPTION => 'Наименование',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR(),
SCOND_FROM => 'AgentName', SCOND_FROM => 'AgentName',
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
@ -399,7 +399,7 @@ create or replace package body PKG_P8PANELS_SAMPLES as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'NAGNTYPE', SNAME => 'NAGNTYPE',
SCAPTION => 'Тип', SCAPTION => 'Тип',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(),
SCOND_FROM => 'AgentType', SCOND_FROM => 'AgentType',
BVISIBLE => true, BVISIBLE => true,
BORDER => true, BORDER => true,
@ -415,11 +415,11 @@ create or replace package body PKG_P8PANELS_SAMPLES as
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SFULLNAME', SNAME => 'SFULLNAME',
SCAPTION => 'Полное наименование', SCAPTION => 'Полное наименование',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR());
PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG, PKG_P8PANELS_VISUAL.TDG_ADD_COL_DEF(RDATA_GRID => RDG,
SNAME => 'SAGNIDNUMB', SNAME => 'SAGNIDNUMB',
SCAPTION => 'ИНН', SCAPTION => 'ИНН',
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR); SDATA_TYPE => PKG_P8PANELS_VISUAL.DATA_TYPE_STR());
/* Обходим данные */ /* Обходим данные */
begin begin
/* Добавляем подсказку совместимости */ /* Добавляем подсказку совместимости */
@ -548,9 +548,9 @@ create or replace package body PKG_P8PANELS_SAMPLES as
RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- Атрибуты элемента набора данных RATTR_VALS PKG_P8PANELS_VISUAL.TCHART_DATASET_ITEM_ATTR_VALS; -- Атрибуты элемента набора данных
begin begin
/* Сформируем заголовок графика */ /* Сформируем заголовок графика */
RCH := PKG_P8PANELS_VISUAL.TCHART_MAKE(STYPE => PKG_P8PANELS_VISUAL.SCHART_TYPE_BAR, RCH := PKG_P8PANELS_VISUAL.TCHART_MAKE(STYPE => PKG_P8PANELS_VISUAL.CHART_TYPE_BAR(),
STITLE => 'Топ 5 контрагентов по сумме договоров', STITLE => 'Топ 5 контрагентов по сумме договоров',
SLGND_POS => PKG_P8PANELS_VISUAL.SCHART_LGND_POS_RIGHT); SLGND_POS => PKG_P8PANELS_VISUAL.CHART_LGND_POS_RIGHT());
/* Сформируем набор данных */ /* Сформируем набор данных */
RCH_DS := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => 'Сумма договоров'); RCH_DS := PKG_P8PANELS_VISUAL.TCHART_DATASET_MAKE(SCAPTION => 'Сумма договоров');
/* Обходим договоры, сгруппированные по контрагентам */ /* Обходим договоры, сгруппированные по контрагентам */
@ -728,7 +728,7 @@ create or replace package body PKG_P8PANELS_SAMPLES as
begin begin
/* Инициализируем диаграмму Ганта */ /* Инициализируем диаграмму Ганта */
RG := PKG_P8PANELS_VISUAL.TGANTT_MAKE(STITLE => 'Задачи на ' || TO_CHAR(EXTRACT(year from sysdate)) || ' год', RG := PKG_P8PANELS_VISUAL.TGANTT_MAKE(STITLE => 'Задачи на ' || TO_CHAR(EXTRACT(year from sysdate)) || ' год',
NZOOM => PKG_P8PANELS_VISUAL.NGANTT_ZOOM_MONTH); NZOOM => PKG_P8PANELS_VISUAL.GANTT_ZOOM_MONTH());
/* Добавим динамические атрибуты к задачам */ /* Добавим динамические атрибуты к задачам */
PKG_P8PANELS_VISUAL.TGANTT_ADD_TASK_ATTR(RGANTT => RG, SNAME => 'type', SCAPTION => 'Тип', BVISIBLE => true); PKG_P8PANELS_VISUAL.TGANTT_ADD_TASK_ATTR(RGANTT => RG, SNAME => 'type', SCAPTION => 'Тип', BVISIBLE => true);
PKG_P8PANELS_VISUAL.TGANTT_ADD_TASK_ATTR(RGANTT => RG, PKG_P8PANELS_VISUAL.TGANTT_ADD_TASK_ATTR(RGANTT => RG,
@ -1337,7 +1337,7 @@ create or replace package body PKG_P8PANELS_SAMPLES as
SVALUE => '1000', SVALUE => '1000',
SICON => 'downloading', SICON => 'downloading',
NELEVATION => 2, NELEVATION => 2,
SVARIANT => PKG_P8PANELS_VISUAL.SINDICATOR_VARIANT_ELEVATION, SVARIANT => PKG_P8PANELS_VISUAL.INDICATOR_VARIANT_ELEVATION(),
SBACKGROUND_COLOR => '#63a1df', SBACKGROUND_COLOR => '#63a1df',
SCOLOR => 'black'); SCOLOR => 'black');
/* Сериализуем собранные данные */ /* Сериализуем собранные данные */

View File

@ -114,13 +114,13 @@ create or replace package body PKG_P8PANELS_SETTINGS as
/* Исходим от типа данных */ /* Исходим от типа данных */
case SDATA_TYPE case SDATA_TYPE
/* Строка */ /* Строка */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_STR then when PKG_P8PANELS_VISUAL.DATA_TYPE_STR() then
NRESULT := NDATA_TYPE_STR; NRESULT := NDATA_TYPE_STR;
/* Число */ /* Число */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB then when PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB() then
NRESULT := NDATA_TYPE_NUM; NRESULT := NDATA_TYPE_NUM;
/* Дата */ /* Дата */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE then when PKG_P8PANELS_VISUAL.DATA_TYPE_DATE() then
NRESULT := NDATA_TYPE_DATE; NRESULT := NDATA_TYPE_DATE;
else else
P_EXCEPTION(0, 'Не определен тип данных параметра.'); P_EXCEPTION(0, 'Не определен тип данных параметра.');
@ -141,13 +141,13 @@ create or replace package body PKG_P8PANELS_SETTINGS as
case NDATA_TYPE case NDATA_TYPE
/* Строка */ /* Строка */
when NDATA_TYPE_STR then when NDATA_TYPE_STR then
SRESULT := PKG_P8PANELS_VISUAL.SDATA_TYPE_STR; SRESULT := PKG_P8PANELS_VISUAL.DATA_TYPE_STR();
/* Число */ /* Число */
when NDATA_TYPE_NUM then when NDATA_TYPE_NUM then
SRESULT := PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB; SRESULT := PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB();
/* Дата */ /* Дата */
when NDATA_TYPE_DATE then when NDATA_TYPE_DATE then
SRESULT := PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE; SRESULT := PKG_P8PANELS_VISUAL.DATA_TYPE_DATE();
else else
P_EXCEPTION(0, 'Не определен тип данных параметра.'); P_EXCEPTION(0, 'Не определен тип данных параметра.');
end case; end case;
@ -343,7 +343,7 @@ create or replace package body PKG_P8PANELS_SETTINGS as
end if; end if;
/* Если тип данных не поддерживается */ /* Если тип данных не поддерживается */
if (SDATA_TYPE not in if (SDATA_TYPE not in
(PKG_P8PANELS_VISUAL.SDATA_TYPE_STR, PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB, PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE)) then (PKG_P8PANELS_VISUAL.DATA_TYPE_STR(), PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB(), PKG_P8PANELS_VISUAL.DATA_TYPE_DATE())) then
P_EXCEPTION(0, P_EXCEPTION(0,
'Параметры типа "%s" не поддерживаются.', 'Параметры типа "%s" не поддерживаются.',
COALESCE(TO_CHAR(SDATA_TYPE), '<НЕ УКАЗАН>')); COALESCE(TO_CHAR(SDATA_TYPE), '<НЕ УКАЗАН>'));
@ -1018,10 +1018,10 @@ create or replace package body PKG_P8PANELS_SETTINGS as
/* Исходим от типа данных */ /* Исходим от типа данных */
case SDATA_TYPE case SDATA_TYPE
/* Строка */ /* Строка */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_STR then when PKG_P8PANELS_VISUAL.DATA_TYPE_STR() then
SVALUE_STR := SVALUE; SVALUE_STR := SVALUE;
/* Число */ /* Число */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB then when PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB() then
/* Конвертируем в число */ /* Конвертируем в число */
begin begin
NVALUE_NUM := TO_NUMBER(SVALUE); NVALUE_NUM := TO_NUMBER(SVALUE);
@ -1031,7 +1031,7 @@ create or replace package body PKG_P8PANELS_SETTINGS as
'Ошибка преобразования значения "' || SVALUE || '" в число.'); 'Ошибка преобразования значения "' || SVALUE || '" в число.');
end; end;
/* Дата */ /* Дата */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE then when PKG_P8PANELS_VISUAL.DATA_TYPE_DATE() then
begin begin
DVALUE_DATE := TO_DATE(SVALUE, 'yyyy-mm-dd'); DVALUE_DATE := TO_DATE(SVALUE, 'yyyy-mm-dd');
exception exception
@ -1058,13 +1058,13 @@ create or replace package body PKG_P8PANELS_SETTINGS as
/* Исходим от типа данных */ /* Исходим от типа данных */
case SDATA_TYPE case SDATA_TYPE
/* Строка */ /* Строка */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_STR then when PKG_P8PANELS_VISUAL.DATA_TYPE_STR() then
SRESULT := SVALUE_STR; SRESULT := SVALUE_STR;
/* Число */ /* Число */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_NUMB then when PKG_P8PANELS_VISUAL.DATA_TYPE_NUMB() then
SRESULT := TO_CHAR(NVALUE_NUM); SRESULT := TO_CHAR(NVALUE_NUM);
/* Дата */ /* Дата */
when PKG_P8PANELS_VISUAL.SDATA_TYPE_DATE then when PKG_P8PANELS_VISUAL.DATA_TYPE_DATE() then
SRESULT := TO_CHAR(DVALUE_DATE, 'yyyy-mm-dd'); SRESULT := TO_CHAR(DVALUE_DATE, 'yyyy-mm-dd');
else else
P_EXCEPTION(0, 'Не определен тип данных параметра.'); P_EXCEPTION(0, 'Не определен тип данных параметра.');

View File

@ -372,6 +372,68 @@ create or replace package PKG_P8PANELS_VISUAL as
SCOLOR PKG_STD.TSTRING := null -- Цвет шрифта и иконки (HTML-код, null - использовать цвет по умолчанию для состояния) SCOLOR PKG_STD.TSTRING := null -- Цвет шрифта и иконки (HTML-код, null - использовать цвет по умолчанию для состояния)
); );
/* Функции констант - типы данных */
function DATA_TYPE_STR return varchar2; -- Тип данных "строка"
function DATA_TYPE_NUMB return varchar2; -- Тип данных "число"
function DATA_TYPE_DATE return varchar2; -- Тип данных "дата"
/* Функции констант - направление сортировки */
function ORDER_DIRECTION_ASC return varchar2; -- По возрастанию
function ORDER_DIRECTION_DESC return varchar2; -- По убыванию
/* Функции констант - таблица - расположение области страниц по горизонтали */
function TABLE_PAGES_ALIGN_LEFT return varchar2; -- Слева
function TABLE_PAGES_ALIGN_RIGHT return varchar2; -- Справа
function TABLE_PAGES_ALIGN_CENTER return varchar2; -- По середине
/* Функции констант - таблица - расположение области страниц по вертикали */
function TABLE_PAGES_POSITION_TOP return varchar2; -- Наверху
function TABLE_PAGES_POSITION_BOTTOM return varchar2; -- Внизу
function TABLE_PAGES_POSITION_BOTH return varchar2; -- Наверху и внизу
/* Функции констант - диаграмма Ганта - масштаб */
function GANTT_ZOOM_QUARTER_DAY return number; -- Четверть дня
function GANTT_ZOOM_HALF_DAY return number; -- Пол дня
function GANTT_ZOOM_DAY return number; -- День
function GANTT_ZOOM_WEEK return number; -- Неделя
function GANTT_ZOOM_MONTH return number; -- Месяц
/* Функции констант - график - тип */
function CHART_TYPE_BAR return varchar2; -- Столбчатая
function CHART_TYPE_LINE return varchar2; -- Линейная
function CHART_TYPE_PIE return varchar2; -- Круговая
function CHART_TYPE_DOUGHNUT return varchar2; -- Кольцевая
/* Функции констант - график - расположение легенды */
function CHART_LGND_POS_LEFT return varchar2; -- Слева
function CHART_LGND_POS_RIGHT return varchar2; -- Справа
function CHART_LGND_POS_TOP return varchar2; -- Наверху
function CHART_LGND_POS_BOTTOM return varchar2; -- Внизу
/* Функции констант - циклограмма - масштаб */
function CYCLOGRAM_ZOOM_MIN return number; -- Минимальный (0.2 от исходного)
function CYCLOGRAM_ZOOM_TINY return number; -- Мелкий (0.4 от исходного)
function CYCLOGRAM_ZOOM_SMALL return number; -- Уменьшенный (0.7 от исходного)
function CYCLOGRAM_ZOOM_DEFAULT return number; -- Исходный
function CYCLOGRAM_ZOOM_LARGE return number; -- Увеличенный (1.5 от исходного)
function CYCLOGRAM_ZOOM_HUGE return number; -- Большой (2 от исходного)
function CYCLOGRAM_ZOOM_MAX return number; -- Максимальный (2.5 от исходного)
/* Функции констант - циклограмма - оформление */
function CYCLOGRAM_GROUP_DEF_WIDTH return number; -- Высота заголовка группы (по умолчанию)
function CYCLOGRAM_GROUP_DEF_HEIGHT return number; -- Ширина заголовка группы (по умолчанию)
function CYCLOGRAM_LINE_HEIGHT return number; -- Высота строк циклограммы
/* Функции констант - индикатор - состояния */
function INDICATOR_STATE_UNDEFINED return varchar2; -- Неопределено
function INDICATOR_STATE_OK return varchar2; -- Позитивное
function INDICATOR_STATE_ERR return varchar2; -- Негативное
function INDICATOR_STATE_WARN return varchar2; -- Пограничное
/* Функции констант - индикатор - варианты исполнения */
function INDICATOR_VARIANT_ELEVATION return varchar2; -- Парящий
function INDICATOR_VARIANT_OUTLINED return varchar2; -- Плоский с рамкой
/* Расчет диапаона выдаваемых записей */ /* Расчет диапаона выдаваемых записей */
procedure UTL_ROWS_LIMITS_CALC procedure UTL_ROWS_LIMITS_CALC
( (
@ -922,6 +984,68 @@ create or replace package body PKG_P8PANELS_VISUAL as
SCOND_FROM_POSTFIX constant PKG_STD.TSTRING := 'From'; -- Постфикс наименования нижней границы условия отбора SCOND_FROM_POSTFIX constant PKG_STD.TSTRING := 'From'; -- Постфикс наименования нижней границы условия отбора
SCOND_TO_POSTFIX constant PKG_STD.TSTRING := 'To'; -- Постфикс наименования верхней границы условия отбора SCOND_TO_POSTFIX constant PKG_STD.TSTRING := 'To'; -- Постфикс наименования верхней границы условия отбора
/* Функции констант - типы данных */
function DATA_TYPE_STR return varchar2 as begin return SDATA_TYPE_STR; end; -- Тип данных "строка"
function DATA_TYPE_NUMB return varchar2 as begin return SDATA_TYPE_NUMB; end; -- Тип данных "число"
function DATA_TYPE_DATE return varchar2 as begin return SDATA_TYPE_DATE; end; -- Тип данных "дата"
/* Функции констант - направление сортировки */
function ORDER_DIRECTION_ASC return varchar2 as begin return SORDER_DIRECTION_ASC; end; -- По возрастанию
function ORDER_DIRECTION_DESC return varchar2 as begin return SORDER_DIRECTION_DESC; end; -- По убыванию
/* Функции констант - таблица - расположение области страниц по горизонтали */
function TABLE_PAGES_ALIGN_LEFT return varchar2 as begin return STABLE_PAGES_ALIGN_LEFT; end; -- Слева
function TABLE_PAGES_ALIGN_RIGHT return varchar2 as begin return STABLE_PAGES_ALIGN_RIGHT; end; -- Справа
function TABLE_PAGES_ALIGN_CENTER return varchar2 as begin return STABLE_PAGES_ALIGN_CENTER; end; -- По середине
/* Функции констант - таблица - расположение области страниц по вертикали */
function TABLE_PAGES_POSITION_TOP return varchar2 as begin return STABLE_PAGES_POSITION_TOP; end; -- Наверху
function TABLE_PAGES_POSITION_BOTTOM return varchar2 as begin return STABLE_PAGES_POSITION_BOTTOM; end; -- Внизу
function TABLE_PAGES_POSITION_BOTH return varchar2 as begin return STABLE_PAGES_POSITION_BOTH; end; -- Наверху и внизу
/* Функции констант - диаграмма Ганта - масштаб */
function GANTT_ZOOM_QUARTER_DAY return number as begin return NGANTT_ZOOM_QUARTER_DAY; end; -- Четверть дня
function GANTT_ZOOM_HALF_DAY return number as begin return NGANTT_ZOOM_HALF_DAY; end; -- Пол дня
function GANTT_ZOOM_DAY return number as begin return NGANTT_ZOOM_DAY; end; -- День
function GANTT_ZOOM_WEEK return number as begin return NGANTT_ZOOM_WEEK; end; -- Неделя
function GANTT_ZOOM_MONTH return number as begin return NGANTT_ZOOM_MONTH; end; -- Месяц
/* Функции констант - график - тип */
function CHART_TYPE_BAR return varchar2 as begin return SCHART_TYPE_BAR; end; -- Столбчатая
function CHART_TYPE_LINE return varchar2 as begin return SCHART_TYPE_LINE; end; -- Линейная
function CHART_TYPE_PIE return varchar2 as begin return SCHART_TYPE_PIE; end; -- Круговая
function CHART_TYPE_DOUGHNUT return varchar2 as begin return SCHART_TYPE_DOUGHNUT; end; -- Кольцевая
/* Функции констант - график - расположение легенды */
function CHART_LGND_POS_LEFT return varchar2 as begin return SCHART_LGND_POS_LEFT; end; -- Слева
function CHART_LGND_POS_RIGHT return varchar2 as begin return SCHART_LGND_POS_RIGHT; end; -- Справа
function CHART_LGND_POS_TOP return varchar2 as begin return SCHART_LGND_POS_TOP; end; -- Наверху
function CHART_LGND_POS_BOTTOM return varchar2 as begin return SCHART_LGND_POS_BOTTOM; end; -- Внизу
/* Функции констант - циклограмма - масштаб */
function CYCLOGRAM_ZOOM_MIN return number as begin return NCYCLOGRAM_ZOOM_MIN; end; -- Минимальный (0.2 от исходного)
function CYCLOGRAM_ZOOM_TINY return number as begin return NCYCLOGRAM_ZOOM_TINY; end; -- Мелкий (0.4 от исходного)
function CYCLOGRAM_ZOOM_SMALL return number as begin return NCYCLOGRAM_ZOOM_SMALL; end; -- Уменьшенный (0.7 от исходного)
function CYCLOGRAM_ZOOM_DEFAULT return number as begin return NCYCLOGRAM_ZOOM_DEFAULT; end; -- Исходный
function CYCLOGRAM_ZOOM_LARGE return number as begin return NCYCLOGRAM_ZOOM_LARGE; end; -- Увеличенный (1.5 от исходного)
function CYCLOGRAM_ZOOM_HUGE return number as begin return NCYCLOGRAM_ZOOM_HUGE; end; -- Большой (2 от исходного)
function CYCLOGRAM_ZOOM_MAX return number as begin return NCYCLOGRAM_ZOOM_MAX; end; -- Максимальный (2.5 от исходного)
/* Функции констант - циклограмма - оформление */
function CYCLOGRAM_GROUP_DEF_WIDTH return number as begin return NCYCLOGRAM_GROUP_DEF_WIDTH; end; -- Высота заголовка группы (по умолчанию)
function CYCLOGRAM_GROUP_DEF_HEIGHT return number as begin return NCYCLOGRAM_GROUP_DEF_HEIGHT; end; -- Ширина заголовка группы (по умолчанию)
function CYCLOGRAM_LINE_HEIGHT return number as begin return NCYCLOGRAM_LINE_HEIGHT; end; -- Высота строк циклограммы
/* Функции констант - индикатор - состояния */
function INDICATOR_STATE_UNDEFINED return varchar2 as begin return SINDICATOR_STATE_UNDEFINED; end; -- Неопределено
function INDICATOR_STATE_OK return varchar2 as begin return SINDICATOR_STATE_OK; end; -- Позитивное
function INDICATOR_STATE_ERR return varchar2 as begin return SINDICATOR_STATE_ERR; end; -- Негативное
function INDICATOR_STATE_WARN return varchar2 as begin return SINDICATOR_STATE_WARN; end; -- Пограничное
/* Функции констант - индикатор - варианты исполнения */
function INDICATOR_VARIANT_ELEVATION return varchar2 as begin return SINDICATOR_VARIANT_ELEVATION; end; -- Парящий
function INDICATOR_VARIANT_OUTLINED return varchar2 as begin return SINDICATOR_VARIANT_OUTLINED; end; -- Плоский с рамкой
/* Расчет диапаона выдаваемых записей */ /* Расчет диапаона выдаваемых записей */
procedure UTL_ROWS_LIMITS_CALC procedure UTL_ROWS_LIMITS_CALC
( (