(М) ГРУППИРОВКА
ЦПЗ ДЛЯ БУХГАЛТЕРСКОГО ЗАКРЫТИЯ И ФАКТ. СЕБЕСТОИМОСТИ.
Неполное
описание: 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'}, ...}