Navigation:  Стандартные модули комплекса > "Главная книга" > Отчетные формы > Общие принципы настройки >

Описание функций

Previous pageReturn to chapter overviewNext page

Теперь о функциях, которые встретятся вам при настройке отчетных форм на ваш план счетов. Все они написаны в справочнике R266. Вызов этого справочника:

-        CTRL+ALT+F или

-        Сервис – Конфигурация – Библиотека подпрограмм или

-        Модуль Администратор – Справочники – Высветка – R266.

clip0942

 

Далее поиск по имени функции. Сам текст функции – в поле «Текст программы». Описание входных параметров – поле «Описание параметров» и часто – в самом тексте программы.

 

Если вы уже стоите в какой-нибудь программе (в описании реквизита и т.п.) и видите вызов функции, текст которой вам хочется посмотреть, нажмите CTRL+F1 стоя на первой букве наименования функции, а затем ENTER. В этом «быстром» случае вам доступно только поле «Текст программы».

 

Amrt_BU_Inf: возвращает первоначальную стоимость и амортизацию для разных групп ОС (здания, сооружения, машины и оборудование):

{{массив групп=второй параметр или его умолчание}, {первонач. стоимости}, {амортизации}} на конец или начало нужного месяца по заданной паре счетов. Разбивка на группы – согласно полю Название группы (CODEGROUP) в Картотеке ОС (R143). Первоначальная стоимость и амортизация ищутся в оборотной ведомости MTUNммгг.

 

Параметры

1)        массив счетов для анализа инвентарных номеров, например, {‘01’,’02’} или {‘!01’, ‘!02}. По умолчанию – счета из Сервис – Настройки – Системные параметры, закладка План счетов, подзакладка ОС в бухучете {OS_MAINOS, OS_AM_OS}.

 

2)        какие группы ОС анализируем? По умолчанию все CODEGROUP, которые встречаются в картотеке ОС (R143).

 

3)        на (конец/начало) какого месяца собираем сальдо. По умолчанию – текущий месяц.

 

4)        без сообщений о встреченных в оборотной ведомости ошибках. По умолчанию .f. (Нет, то есть с сообщениями).

 

5)        сальдо собирать на начало заданного месяца? По умолчанию .f. (Нет) – на конец.

 

6)        необязательный массив кодов аналитик по R37 – ограничение отбора.

 

Пример. Нужно узнать первоначальную стоимость и амортизацию на начало года и конец текущего месяца по 2-м группам – здания (CODEGROUP=’11’) и сооружения (CODEGROUP=’12’):

arr_beg:=GetGPRV( , {‘11’,’12’}, CToD(’01.01.’+str(CurYear)), .t., .t.) вернет на начало года

{{‘11’,’12’}, {первон_стоим_зданий, первон_стоим_сооруж}, {аморт_зданий, аморт_сооруж}}

arr_end:=GetGPRV( , {‘11’,’12’}, CurDate, .t.) вернет аналогичные данные на конец текущего месяца

 

Amrt_NU_Inf: возвращает согласно срокам полезного использования {{10 первоначальных стоимостей},{10 амортизаций}} на конец заданного месяца по счетам !01-1, !02-1 или заданным. Первоначальная стоимость и амортизация ищутся в оборотной ведомости MTUNммгг.

Параметры

1)        массив счетов для анализа инвентарных номеров. По умолчанию {«!01-1»,»!02-1»}.

 

2)        на конец какого месяца собираем сальдо. По умолчанию – текущий месяц.

 

3)        без сообщений о встреченных в оборотной ведомости ошибках. По умолчанию .f. (Нет, то есть с сообщениями).

 

GetGPRV: возвращает {сумма, кол-во, валюта} или одно из них для заданной корреспонденции по Д и/или К. Обороты ищутся в годовом файле сводных проводок (GPRV!!гг): сумма берется из поля SUM, количество – из поля AMNT, валюта – из поля VAL.

Параметры

1)        что отбирать по дебету: отсутствует ИЛИ 'счет' ИЛИ {'счет',{'спр-к'},{'спр-к'}} ИЛИ {'счет', {'спр-к',{аналитики через зпт}}, {'спр-к',{аналитики через зпт}}}

 

2)        что отбирать по Кредиту: аналогично.

Например, GetGPRV("20-1", "70») вернет сумму всех проводок, дебет которых начинается на 20-1, а кредит – на 70.

GetGPRV( , {"70», {"R160", {1,3,6}}}) вернет сумму всех проводок, кредит которых начинается на 70 и в одной из аналитик которых присутствует R160 с кодами 1,3,6 (то есть для подразделений 1,3,6), дебет – любой.

GetGPRV( , "43-1") вернет кредитовый оборот по 43-1 (по всем счетам, которые начинаются на 43-1).

 

3)        дата – начиная с какого месяца (именно дата, а не месяц, чтобы понимать, за какой ГОД открывать базу GPRV!!гг). По умолчанию – текущая.

 

4)        дата – по какой месяц (включительно) собирать обороты. По умолчанию – текущая.

 

5)        код единицы измерения согласно ОКЕИ по массиву ArrUnits. Описание этого массива вы найдете в Сервис – Конфигурация – Перечисления (R201). Умолчание – с копейками. Влияет только на возвращаемую сумму: собранные количество и валюта возвращаются без пересчета.

 

6)        элиас уже открытой базы GPRV. Если параметр не задан, ищется открытая ранее база с эйлиасом ‘GPRV’, а в случае ее отсутствия с таким эйлиасом открывается GPRV!!гг, где гг – год даты «начиная с какого месяца». База не закрывается – для последующих обращений.

 

7)        что возвращать: сумму (1), кол-во (2), валюту (3). Если параметр не задан или его значение не лежит в диапазоне 1-3, функция вернет массив {сумма, кол-во, валюта}. Параметр задает порядковый номер в этом массиве: если параметр равен 1, вернется только сумма, при параметре, равном 2, вернется только количество, если параметр равен 3, вернется только валюта.

 

8)        с обратным знаком? По умолчанию .f. (Нет). Если передать в качестве параметра .t. (Да), результат вернется с обратным знаком: -сумма или -количество или -валюта или {-сумма, -количество, -валюта}.

 

9)        в качестве количества вместо штук AMNT будут подсчитываться кг: AMNT * вес из справочника изделий. По умолчанию .f. (Нет).

 

Пример Нужно узнать приход продукции в производство в рублях и килограммах за период с января по текущий месяц.

arr:=GetGPRV(‘43’, ‘40’, CToD(’01.01.’+str(CurYear)), CurDate, 383, , , , .t.)

arr[1] – сумма в рублях, arr[2] – килограммы.

 

GetGSLD: возвращает сальдо или обороты на конец/начало заданного месяца в нужных единицах измерения из годовой главной книги (база GSLD!!гг).

 

Параметры

1)        ‘счет’

или {‘счет’, что_вернуть, на_начало_месяца?, с_обратным_знаком?}

или {{‘счет’, что_вернуть, на_начало_месяца?, с_обратным_знаком?}, {…}, {…}, …}

что_вернуть:

‘DO’ – дебетовый оборот,

‘KO’ – кредитовый оборот,

‘DS’ – дебетовое сальдо,

‘KS’ – кредитовое сальдо.

Если ничего не передать, вернется разница дебетовое минус кредитовое сальдо

на_начало_месяца?: .t. , если да. Если ничего не передать, считается .f. (нет).

с_обратным_знаком?: .t. , если да. По умолчанию .f. (нет).

Например,

{{'70','DO',,.t.}} = ДО по 70 с обратным знаком

'62-2' = {{'62-2',,.f.,.f.}} = ДС – КС

 

2)        дата, по умолчанию – текущая CurDate

 

3)        вернуть сумму, а не массив сумм, по умолчанию Да. Имеет смысл, если первым пара метром передается массив счетов. В этом случае результатом может быть или массив сумм той же размерности, что и массив счетов, или итого по всем заданным счетам.

Например, GetGSLD({{‘62’}, {‘76’}}) = GetGSLD({{‘62’}, {‘76’}}, , .t.) вернет одну сумму,

а GetGSLD({{‘62’}, {‘76’}}, , .f.) вернет массив сумм {свернутое_сальдо_62, свернутое_сальдо_76}

 

4) код единицы измерения согласно ОКЕИ по массиву ArrUnits. Описание этого массива вы найдете в Сервис – Конфигурация – Перечисления (R201). Умолчание – с копейками. Влияет только на возвращаемую сумму: собранные количество и валюта возвращаются без пересчета.

 

5) алиас, по умолчанию 'GSLD'. Если на момент вызова функции GSLD!!гг вами уже открыт с каким-то нестандартным эйлиасом (не GSLD), вы можете указать его в качестве параметра. По умолчанию ищется уже открытый алиас GSLD, а при его отсутствии открывается GSLD!!гг (где гг – год согласно дате – второму параметру) с эйлиасом GSLD (и уже не закрывается – для ускорения последующих обращений).

 

6) необязательный массив аналитик в виде {‘спр’, {код, код, код , …}} – ограничение отбора.

 

Пример

Нужно узнать ВХОДЯЩЕЕ дебетовое сальдо текущего месяца в тысячах рублей по всем субсчетам 60-5, кроме 60-5-4:

GetGSLD({{"60-5»,"DS",.t.}, {"60-5-4»,"DS",.t.,.t.}}, , , 384)

 

Подчеркнем, что GetGPRV может вернуть оборот по корреспонденции счетов: Д такого-то счета К такого-то, например, оборот Д 20 К 70. А GetGSLD может вернуть либо только дебетовый, либо только кредитовый оборот конкретного счета или его начала: Д 20 при любом кредите либо К 70 при любом дебете. И источники сведений у этих функций разные – см. описание выше.

 

O: суммирование полей SUM (сумма), AMNT (количество), VAL (валюта) из ежемесячных файлов проводок PRVSммгг (или годового файла сводных проводок GPRV!!гг) по условиям для дебета, кредита, аналитик. При поиске в PRVS функции должна вызываться в области проводок PRVS->(O(....)).

 

Параметры

2 первых параметра – что отбирать по дебету и кредиту – синтаксис точно такой же, как для аналогичных параметров GetGPRV (см. выше), например:

O( , "70-1") кредит начинается на "70-1», дебет – любой

O("26», "70") дебет начинается на «26», кредит на "70"

O("26», {"70", {"R160»,1}}) дебет начинается на «26», кредит на "70», и одна из кредитовых аналитик – код 1 по справочнику

O({'70',{'R160',{1,2}}},'69') означает фильтр

DEBT=«70» И (DREFL='R160' И (DANAL=1 ИЛИ DANAL=2)) И KRED="69"

O({'70',{'R160',1,'R01',2}},'69') означает отбор по фильтру

DEBT=«70» И ((DREFL="R160» И DANAL=1) ИЛИ (DREFL='R01' И DANAL=2)) И KRED="69"

O({'70',{'R160',1},{'R207',6}},'69') означает отбор по фильтру

DEBT=«70» И DREFL="R160» И DANAL=1 И DREFL="R207» И DANAL=6 И KRED="69"

O('70',{'94',{‘R13’,{55,57}}}) означает фильтр

DEBT=«70» И KRED="94" И KREFL="R13" И (KANAL=1 ИЛИ KANAL=2))

3) использовать ли фильтр – целесообразно при небольшом количестве аналитик – увеличивает скорость обработки.

При отсутствии 4–го параметра функция возвращает массив {сумма, кол-во, в валюте}

4)        при наличии 4-го параметра – индекса в массиве – возвращается только один элемент массива: «сумма» (Ind=1) или «кол-во» (Ind=2), или «в валюте» (Ind=3).

5)        вернуть суммы(у) с обратным знаком – по умолчанию Нет (.f.).

6)        возвращать вес, а не кол-во (Amnt * R11Wght(KOD,REFL)) – по умолчанию Нет (.f.).

7)        означает, что активна GPRV, а не PRVS. Это месяц (MONTH), в пределах которого происходит отбор.