(М) ГРУППИРОВКА ЦПЗ ДЛЯ БУХГАЛТЕРСКОГО ЗАКРЫТИЯ И ФАКТ. СЕБЕСТОИМОСТИ.

 

Неполное описание: 04.07.2012 появился ещё параметр GR_prR267.

 

Сразу несколько предприятий поставило задачу распределения затрат нескольких ЦПЗ между изделиями целой группы подразделений.

 

До сих пор существовал настройка только однозначного соответствия:

Подразделение на счёте 43 (место выработки по R10)   -   ЦПЗ по справочнику R267.

 

Описывалось это соответствие в справочнике подразделений (R10):

 

                              Рис. 1

 

Такое заполнение спр-ка означало, что затраты с ЦПЗ 5  будут распределены только между изделиями, выработанными

в подразделении 11.  Затраты ЦПЗ 12 - только между изделиями подразделения 17, ...

 

На предыдущем рисунке был спр-к R10. Теперь смотрим спр-к ЦПЗ R267:

 

               Рис. 2

 

Цветом выделены ЦПЗ, однозначно соответствующие подразделениям, где вырабатывается продукция.

 

ТЕПЕРЬ ПОСТАВЛЕНА ЗАДАЧА: подразделения 11,17,19 нужно объединить в одну группу (х/з 2), 

а подразделения 29 и 35 нужно объединить в другую группу (х/з 4).

 

В свете задачи объединения подразделений:

  на изделия группы х/з 2 (изделия, выработанные в подразделениях 11,17,19) нужно распределить

  затраты ВСЕХ ЦПЗ в имени которые встречается №2 - то есть ЦПЗ с кодами 5,7,9,12,16,24,26,33,37 (ссылка *) -

  список может меняться по мере добавления новых ЦПЗ в R267;

 

  на изделия группы х/з 4 (изделия, выработанные в подразделениях 29,35) нужно распределить

  затраты ВСЕХ ЦПЗ в имени которые встречается №4 - то есть ЦПЗ с кодами 3,13,14,15,25,27,34,36,38 (ссылка **) -

  список может меняться по мере добавления новых ЦПЗ в R267.

 

Но в некоторых случаях затраты ЦПЗ 5, 7, 12, 13, 14 нужно распределять ТОЛЬКО между ассортиментом соответствующих

подразделений (по спр-ку R10 это коды соответственно 11, 19, 17, 29, 35).

 

Для того, чтобы привязать несколько подразделений к группе ЦПЗ, созданы 3 параллельных параметра:

 

 

Количество элементов (через точку с запятой) в каждом параметре должно совпадать.

 

Итак, мы создали группы "х/з2", "х/з4", ... - имена произвольные.

В имени нельзя использовать пробел, скобки ()[], точку, запятую, апостроф ', кавычки " (ссылка ***).

 

Группе с именем "х/з2" соответствуют все ЦПЗ из спр-ка R267, в наименовании которых встречается сочетание "№2".

А по спр-ку подразделений (R10) группе х/з2 соответствуют коды 11,17,19.

...

Группе с именем "к2"  соответствуют: по спр-ку ЦПЗ  код 5, а по спр-ку подразделений - код 11.

...

Группа "остальныеЦПЗ" объединяет все ЦПЗ, в наименовании которых НЕ встречается символ "№".

Соответствие по спр-ку подразделений не задано (0).

 

 

Эти 3 параметра можно использовать:

 

1) в справочниках фактической себестоимости R76, R271. Подстановка $$имя_группы  будет заменена на соответствующую

подстроку из параметра Группы кодов ЦПЗ. Например:

 

 

Смотрим первую строку на рисунке выше:

Парный символ $$ означает, что далее идёт подстановка по имени группы.

Символы, следующие за $$ - до ближайшего пробела, скобок ()[], точки, запятой, апострофа ', кавычек " (см. ссылку ***) -

считаются именем группы.  Первой встретится подстановка для х/з2.

В параметре Имена групп ищется такое имя (х/з2) - оно первое. В параметре Группы кодов ЦПЗ выделяется первая подстрока.

Это выражение вернёт коды всех ЦПЗ, где встречается №2, т.е. строку 5,7,9,12 ... (см. 2-й рисунок).

Аналогично подстановка $$х/з4 вернёт строку 3,13,14 ... .

Тогда "Условие отбора..." для первой строки рисунка станет вместо

 

not (DREFL1='R267' and (DANAL1 in ($$х/з2) or DANAL1 in ($$х/з4)))

 

not (DREFL1='R267' and (DANAL1 in (5,7,9,12,16,24,26,33,37) or DANAL1 in (3,13,14,15,25,27,34,36,38))) - см. ссылки * и **

 

2) в проводках Поэтапного закрытия.

Нам потребуется функция Ret_Exp_Groups([имя_группы] [,спр-к'R10'или'R267'] [,вернуть_массивом:=Да]).

Ret_Exp_Groups(имя_группы) - второй параметр отсутствует - вернёт массив массивов {{кодыR267для_имя_группы},{кодыR10для_имя_группы}}.

Ret_Exp_Groups(имя_группы, спр-к) - вернёт массив {кодыпо_спр-к_для_имя_группы}.

Ret_Exp_Groups() - оба параметра отсутствуют - вернёт массив массивов

{ {имя_группы,{кодыR10для_имя_группы},{кодыR267для_имя_группы}}, {}, ...}.

 

Например, Ret_Exp_Groups('к2') - второй параметр отсутствует - вернёт массив массивов {{5},{11}}.

Ret_Exp_Groups('х/з4','R10') вернёт {29,35}.

Ret_Exp_Groups() вернёт { {'х/з2',{5,7,9,12,16,24,26,33,37},{11,17,19}},  {'х/з4',{3,13,14,15,25,27,34,36,38},{29,35}}, {'к2',{5},{11}}, ...}

Ret_Exp_Groups(,,.f.) вернёт { {'х/з2','5,7,9,12,16,24,26,33,37','11,17,19'},  {'х/з4','3,13,14,15,25,27,34,36,38','29,35'}, {'к2','5','11'}, ...}