:SetVar Procedure "ЛК::Информация по текущему ФП" -- financial month period info (current fin.term)
:r $(DropProcedureScript_AUX)
create procedure [$(Procedure)]
   @ИД         uniqueidentifier     = null out, -- not null -- ID
   @Номер      int                  = null out, -- not null -- NO (order number)
   @Название   $(dt_ShortName_AUX)  = null out, -- not null -- name
   @Год        int                  = null out, -- not null -- year
   @Месяц      int                  = null out, -- not null -- month (number)
   @Статус     uniqueidentifier     = null out, -- status
   @Сообщение  $(dt_Message_AUX)    = null out  -- message
AS
/*==================================================================================================
# Flat owner personal cabinet | MyFlat sample project | Author: Sergei Y.Kitáev
----------------------------------------------------------------------------------------------------
#
# OBTAINMENT OF CURRENT FINANCIAL MONTH PERIOD (THAT ONE, WHICH IS NOT CLOSED):
#
# === Usage: ===
# exec @Возврат = [ЛК::Информация по текущему ФП]
#    @ИД       = @<Fin.term ID variable> out,
#    @Номер    = @<Fin.term NO variable> out,
#    @Название = @<Fin.term name variable> out,
#    @Год      = @<Variable for year (number)> out,
#    @Месяц    = @<Variable for month (number)> out
#    @Статус   = @Статус out,
#    @Сообщение= @Сообщение out
#
# Parameter @Статус (status) is set to null (by this implementation).
# Parameter @Сообщение (message) is set to null (by this implementation).
#
--------------------------------------------------------------------------------------------------*/
-- commstat_, commstat_, ...
--:SetVar Status_ "''"
/*================================================================================================*/
$(BEGIN_AUX)
----------------------------------------------------------------------------------------------------
select @Статус=null, @Сообщение=null
----------------------------------------------------------------------------------------------------
declare @СообщениеОшибки $(dt_Message_AUX) -- error message for exception throwing (via raiserror)
----------------------------------------------------------------------------------------------------

select
   @ИД      = [ИД], -- ID
   @Номер   = [Номер], -- NO (order number)
   @Название= [Название], -- name
   @Год     = YEAR ( [Дата начала] ), -- year
   @Месяц   = MONTH( [Дата начала] ) -- month (number)
from
   [Финансовые периоды] (nolock)
where
   [Закрыт] = 0 -- is closed = 0 (not closed)
if @@ROWCOUNT <> 1
begin
   set @СообщениеОшибки = dbo.[AUX:LocalizedText]( -- error message for exception
      'Can not determine curent financial period (month).',
      N'Не удаётся определить текущий финансовый период.' )
   raiserror (@СообщениеОшибки,11,1) -- exception is throwing here
end

----------------------------------------------------------------------------------------------------
$(END_AUX)
/*================================================================================================*/
GO
/*
declare @Возврат int, @Статус uniqueidentifier, @Сообщение nvarchar(max)
declare @ИД uniqueidentifier, @Номер int, @Название nvarchar(50), @Год int, @Месяц int
exec @Возврат = [ЛК::Информация по текущему ФП]
   @ИД      = @ИД       out,  -- ID
   @Номер   = @Номер    out,  -- NO (order number)
   @Название= @Название out,  -- name
   @Год     = @Год      out,  -- year
   @Месяц   = @Месяц    out   -- month (number)
if @Возврат <> 0 -- If return code not equal zero:
   if @RetValue<>0 select @RetValue 'RetValue', @Status 'Status', @Message 'Message'
else
select
   @ИД         'Ид-р фин.периода',  -- ID
   @Номер      'Номер',             -- NO (order number)
   @Название   'Наименование',      -- name
   @Год        'Год',               -- year
   @Месяц      'Месяц (номер)'      -- month (number)
*/
