© Tillypad 2008-2014
Панель «Запрос» содержит текст SQL-запроса к базе данных, используемого при формировании данных для расчета размера скидки (наценки):
На панели расположено многострочное текстовое поле для ввода SQL-запроса.
Информация, необходимая для расчета размера скидки или наценки, содержится в базе данных комплекса. Отбор данных, необходимых для расчета конкретной скидки или наценки, производится с помощью запросов, написанных на языке SQL-запросов).
(Контекстное меню поля на панели «Запрос» содержит команду «Тест запроса». Команда доступна только если в поле панели «Запрос» введен текст запроса. С помощью этой команды текст запроса проверяется на наличие ошибок, и по результатам проверки открывается окно с результатом выполнения запроса.
При тестировании запроса необходимо выбрать значения параметров фильтрации на всех шагах фильтра. После успешного выполнения запроса открывается окно сообщения об успешном выполнении запроса.
Если в процессе выполнения запроса были обнаружены ошибки в запросе, то выводится окно сообщения об ошибке.
CREATE TABLE #Guest( g_ID UNIQUEIDENTIFIER -- ID гостевого счета ) CREATE TABLE #Orders( ordr_ID UNIQUEIDENTIFIER PRIMARY KEY, -- ID заказа ordr_orst_ID INT, -- ID статуса заказа ordr_Date DATETIME, -- Дата заказа ordr_sprv_ID UNIQUEIDENTIFIER NULL, -- ID привилегии заказа ordr_Time INT, -- ordr_WeekTime INT -- ) CREATE TABLE #OrderItems ( -- элементы заказа -- информационные и используемые при добавлении позиций поля i_ID UNIQUEIDENTIFIER PRIMARY KEY, -- ID элемента заказа i_ordr_ID UNIQUEIDENTIFIER, -- ID заказа i_PriceOriginal NUMERIC(18,4), -- Цена без скидок и надбавок -- информационные поля i_Date DATETIME, -- Дата регистрации заказа i_pcit_ID UNIQUEIDENTIFIER, -- ID элемента пречека i_LastPriceDiscount NUMERIC(18,4) NULL, -- Сумма ранее начисленной скидки. Выставляется только если i_pcit_ID не NULL i_LastPriceMargin NUMERIC(18,4) NULL, -- Сумма ранее начисленной надбавки. Выставляется только если i_pcit_ID не NULL i_LastPrice NUMERIC(18,4) NULL, -- Цена после ранее начисленной скидки/надбавки. Выставляется только если i_pcit_ID не NULL -- информационные, изменяемые и используемые при добавлении позиций поля i_master_ID UNIQUEIDENTIFIER, -- ID элемента родителя i_mitm_ID UNIQUEIDENTIFIER, -- ID элемента прейскуранта i_slgr_ID UNIQUEIDENTIFIER, -- ID отдела продаж i_mvtp_ID UNIQUEIDENTIFIER, -- ID единицы измерения прейскуранта i_Order INT, -- Порядок i_Count INT, -- Количество i_Volume NUMERIC(18,6), -- Объем i_PriceDiscount NUMERIC(18,4) DEFAULT 0, -- Скидка i_PriceMargin NUMERIC(18,4) DEFAULT 0, -- Надбавка i_VAT NUMERIC(18,3) DEFAULT 0, -- Ставка НДС i_SeatNumber INT NULL, -- Номер посадки i_Course INT NULL, -- Курс i_Comment NVARCHAR(MAX) COLLATE DATABASE_DEFAULT, -- Комментарий -- управляющие поля i_ModifyAction INT DEFAULT 1, -- 1 - добавить, 2 - изменить, 3 - удалить -- служебные поля i_Price AS (i_PriceOriginal - i_PriceDiscount + i_PriceMargin), -- Цена i_ForUpdate BIT DEFAULT 0, -- Признак того, что данный элемент надо перерассчитывать i_IsPayed BIT DEFAULT 0 -- Признак того, что данный элемент был оплачен ) CREATE TABLE #OrderTimeItems( -- повременные услуги заказа -- информационные поля t_ID UNIQUEIDENTIFIER PRIMARY KEY, -- ID тарификации повременной услуги заказа t_orti_ID UNIQUEIDENTIFIER, -- ID повременной услуги заказа t_ordr_ID UNIQUEIDENTIFIER, -- ID заказа t_plac_ID UNIQUEIDENTIFIER, -- ID места размещения t_pcit_ID UNIQUEIDENTIFIER, -- ID элемента пречека t_LastPriceDiscount NUMERIC(18,4) NULL, -- Сумма ранее начисленной скидки. Выставляется только если i_pcit_ID не NULL t_LastPriceMargin NUMERIC(18,4) NULL, -- Сумма ранее начисленной надбавки. Выставляется только если i_pcit_ID не NULL t_LastPrice NUMERIC(18,4) NULL, -- Цена после ранее начисленной скидки/надбавки. Выставляется только если i_pcit_ID не NULL t_PriceOriginal NUMERIC(18,4), -- Цена без скидок и надбавок -- информационные и изменяемые поля t_master_ID UNIQUEIDENTIFIER, -- ID элемента родителя t_mitm_ID UNIQUEIDENTIFIER, -- ID элемента прейскуранта t_slgr_ID UNIQUEIDENTIFIER, -- ID отдела продаж t_mvtp_ID UNIQUEIDENTIFIER, -- ID единицы измерения прейскуранта t_Order INT, -- Порядок t_DateBegin DATETIME, -- Дата начала действия t_Duration INT, -- Продолжительность t_PriceDiscount NUMERIC(18,4) DEFAULT 0, -- Скидка t_PriceMargin NUMERIC(18,4) DEFAULT 0, -- Надбавка t_VAT NUMERIC(18,3) DEFAULT 0, -- Ставка НДС -- управляющие поля t_ModifyAction INT DEFAULT 1, -- 1 - добавить, 2 - изменить, 3 - удалить -- служебные поля t_Price AS (t_PriceOriginal - t_PriceDiscount + t_PriceMargin), -- Цена t_ForUpdate BIT DEFAULT 0, -- Признак того, что данный элемент надо перерассчитывать t_IsPayed BIT DEFAULT 0 -- Признак того, что данный элемент был оплачен ) CREATE TABLE #GuestDiscountPointOperations( -- начисляемые баллы p_ID UNIQUEIDENTIFIER PRIMARY KEY, -- ID записи p_dspt_ID UNIQUEIDENTIFIER, -- ID типа баллов p_Value INT DEFAULT 0 -- Количество баллов )