Главная » 1С Предприятие » ВИДЫ РАСЧЕТОВ

0

7.1.4.   СВОЙСТВА ВИДОВ  РАСЧЕТОВ

7.3.1.1.  НЕСОВМЕСТИМЫЕ . ВЫТЕСНЕНИЕ   РАСЧЕТА

Введем еще несколько понятий.

Назовем  интервалом действия расчета промежуток времени между датой начала  и датой окончания расчета, включающий и сами даты.

Назовем виды расчетов (ВР)  несовместимыми, если соответствующие им расчеты ЖЗ не могут иметь пересекающихся интервалов действия. Расчеты  с такими ВР также будем  называть  несовместимыми.  Несовместимость  расчетов  преодолевается при  их записи в ЖЗ за счет эффекта вытеснения.

Рассмотрим  ситуацию, когда расчеты  А и Б являются несовместимыми, расчет  А с приведенным  на рис. 7.4, а интервалом действия уже введен и вводится расчет  Б. Возможны случаи:

1.            Интервалы  действия расчетов  различны.  Тогда  расчет  Б будет благополучно  введен.

2.             Интервалы  действия расчетов совпадают, тогда в ЖЗ останется один расчет: либо А,  либо Б.  Это  зависит от  направления  вытеснения,  которое  устанавливается в конфигурации для несовместимых ВР при их создании или редактировании. Например, если Б вытесняет А, то А удаляется  из ЖЗ, а Б вводится. При обратном направлении вытеснения Б введен не будет.

3.             Интервал  действия расчета  Б  полностью лежит в  интервале действия расчета  А, но А вытесняет Б. Расчет Б не вводится.

4.              Интервал  действия расчета  Б  полностью лежит в  интервале действия расчета  А, но теперь  уже Б вытесняет А. Расчет Б вводится, расчет А разбивается на два расчета А1 и А2, такие, что интервал действия расчета  А1 лежит на временной оси слева от интервала расчета Б, а интервал А2 справа (рис. 7.4, б).

5.               Интервалы  действия расчетов А и Б частично пересекаются, причем А вытесняет Б. Тогда А остается  полностью и вводится часть Б1 расчета Б, такая, что интервал этой части соприкасается на временной  оси с интервалом А либо слева, либо справа (в зависимости от характера пересечения) (рис. 7.4, в).

6.               Интервалы  действия расчетов  А и  Б  частично  пересекаются, но  теперь  уже Б вытесняет  А. Тогда  Б вводится полностью и  остается  часть  А1 расчета  А, такая, что  интервал этой  части  соприкасается на  временной  оси  с интервалом Б  либо слева, либо справа (рис. 7.4, г).

Рис. 7.4. Вытеснение расчета: а интервал действия расчета А до ввода Б;

б Б полностью лежит в А и вытесняет его; в -А и Б частично пересекаются, А вытесняе г А и Б частично пересекаются, Б вытесняет А

В качестве расчета  Б может  выступать  как  расчет, имеющий с А тот же  ВР, так и расчет с иным ВР.

ВР, который может вытеснять сам себя, называется самовытесняющимся.

Настройка вытеснения ВР (направление вытеснения), так же как и приоритет, задаютcat в конфигурации при создании или редактировании ВР. В программе можно, применив методы  видов расчетов ВытесняетВидРасчета и ВытесняетсяВидомРасчета, узнать, каким образом взаимодействуют два расчета, употребленные с этими методами.

7.3.1.2.  ДЛИННЫЕ  РАСЧЕТЫ

Расчет  называется  длинным, если он начинается  в одном расчетном периоде, а заканчивается  в  другом.  Длинные  расчеты   могут  существовать  только   в  документах. В 1С длинный  расчет  при  вводе разбивается на обычные,  такие, что каждый  из них принадлежит к одному расчетному периоду (рис. 7.5).

Рис.  7.5. Длинный расчет А разбивается  в ЖЗ на два обычных А1 и А2, лежащих  соответственно  в расчетных периодах  РП1  и РП2

7.1.5.    ПЕРЕЧЕНЬ ВИДОВ  РАСЧЕТОВ ПРЕДПРИЯТИЯ

Для  определенности  условимся, что на нашем  предприятии используются  приведенные  в  табл.  7.2  ВР, в  которой сокращение  ХО, употребленное в  заголовке  5-го столбца, расшифровывается как хозяйственная операция.

ВР  предприятия

Таблица 7.2

ВР

Идентификатор

/ Синоним

Результат

Очередность

ХО

Документ

Дебет

ВР0

НачСальдо_2 / Начальное сальдо

Начальное сальдо прежнего периода + Дебет Кредит + Сторно

1

2013000

НачПериода_2

ВР1

Оклад_2 / Оклад

Оклад * всегоЧасов / всегоЧасовПоКалендарю

1

2013000

Табель

ВР2

Тариф_2 / Тариф

Тариф * всегоЧасов

1

2013000

"

ВРЗ

ПремияКоэф_2/ Премия коэффициентом

всегоЧасов * к3, где к3 устанавливаемый руководителем коэффициент. По умолчанию к3 = 10 для всех сотрудников

5

2013001

Премия

ВР4

ПремияСум_2 / Премия суммой

Сумма премии

1

2013001

"

ВР5

Премия1234_2/ Премия 1234

(ВР1 | ВР2 + ВРЗ + ВР4) * к5, где к5 постоянный для всех сотрудников коэффициент

10

2013001

"

Кредит

ВР6

НДФЛ_2/Налог на доходы физических лиц

(ВР1 | ВР2 + ВРЗ + ВР4 + ВР5) * ставкаНалога

15

2017002

Табель

ВР7

ВБанк_2 / Перечисление в банк

Целая часть от (ВР0 + ВР1 | ВР2 + ВРЗ + ВР4 + ВР5 ВР6)

20

2300100

"

Замечания:

1.            Начальное сальдо  это долг за предприятием, если больше  нуля, или долг за работником в противном случае

2.             Коэффициент к5 и ставкаНалога добавляются в конфигурацию 1С как периодические константы.

3.             ВР Тариф_2, поскольку все сотрудники справочника Сотрудники_2 "сидят" на окладе, в конфигурацию не вводится. Чтобы  им воспользоваться, нужно  модифицировать справочник Сотрудники_2, добавив  в него реквизиты флагОклада и Тариф, задавая  флагОклада   равным  единице,  если  оплата   сотрудника  осуществляется по окладу, или равным нулю, если по тарифу.

Приведенных ВР вполне достаточно для демонстрации средств встроенного языка 1С, поддерживающих расчеты  и их журнал.

Расчеты с ВР НачСальдо_2, Оклад_2 | Тариф_2, НДФЛ_2  и ВБанк_2 являются обязательными  и  присутствуют в  ЖЗ  для  каждого сотрудника.  В  принципе они  могли  бы вводиться одним документом, например  Табель.  Однако с целью  демонстрации  методов ВР и журнала расчетов  начальное  сальдо будем вводить непосредственно  в  модуле формы списка ЖЗ, связывая с ВР НачСальдо_2 документ НачПериода_2. Это допустимо,  поскольку  начальное  сальдо  не  зависит  от  иных расчетов  текущего  месяца.  Остальные обязательные  расчеты  будет добавлять в ЖЗ документ Табель.

Премии  являются   дополнительными   расчетами  и  могут  не  появляться  в  ЖЗ  (или появляться не в полном объеме) для отдельных сотрудников. Премия суммой в общем случае  может  быть  назначена сотруднику  несколько раз  по  разным поводам.  Это  обстоятельство надо  учесть  при  расчете  зависящих от этой  премии  записей, то  есть  расчетов с ВР Премия1234_2, НДФЛ 2 и ВБанк_2.

Для всех премий предусмотрим один документ Премия_2.

Результаты  ВР5-7  зависят от результатов  других расчетов, поэтому  подобного  рода ВР называются зависимыми. Они, понятно,  должны оцениваться после каждого изменения  результатов  расчетов, от  которых  они  зависят. Это  достигается  за  счет  программирования перерасчетов.

Все приведенные в  табл.  7.2 расчеты,  конечно  же, реализуются  интерактивными средствами  1С.  Но  наша  задача  освоение возможностей  встроенного языка программирования, поэтому мы остановимся  на вопросах создания  документов, порождающих расчеты,  проведения этих документов, то есть ввода в ЖЗ расчетов и организации последующих  вычислений.

Документы,   связанные  с   расчетами,   мы   будем   размещать   в   перечисленных

в табл. 7.3 журналах документов.

Журналы документов, порождающих расчеты

Таблица 7.3

Журнал  документов

Ускоритель

Документ

Расчеты

Alt+U

НачПериода_2, Премия_2

Табель

Alt+B

Табель

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии