Описание встроенного языка системы 1С Предприятие


         

Сторно


Признак сторнирующей записи.

Синтаксис:

Сторно

Англоязычный синоним:

Storno

Описание:

Атрибут типа «число», принимает два значения: 1 — для сторнирующих за­писей журнала расчетов и 0 — для обычных записей. Признак «сторно» равен 1 не только для простых сторно-записей, но и для рассчитанных, отредактиро­ванных вручную или зафиксированных (не подлежащих редактированию) сторно-записей.

Сторнирующие записи могут появляться в журнале расчетов в результате выполнения методов ВвестиРасчет, ЗаписатьРасчет и им подобных, если при этом затрагиваются один или несколько прошлых расчетных периодов и вводимый вид расчета является «вытесняющим». При этом система автомати­чески вводит необходимые сторнирующие записи. Для таких записей (введен­ных системным образом) признак сторнирования не может быть переопреде­лен.

Если сторнирующая запись введена программным образом, т. е. атрибут Сторно задан за счет применения метода УстановитьРеквизит или непо­средственным присвоением:

ЖрнРасчета = СоздатьОбъект("ЖурналРасчета.Зарплата");

ЖрнРасчета.Сторно = 1;

тогда он может быть переопределен программным образом.

Пример:



*

Процедура ПровестиРасчет()

   // календарь

   Календ = Объект.Категория.Получить(ДатаОкончания).Календарь;

   // размер оклада

   Оклад = Объект.Оклад.Получить(ДатаОкончания);

   Дней = Календ.Дней(ДатаНачала, ДатаОкончания);

   ВсегоДней = Календ.Дней(НачалоПериодаПоДате(ДатаНачала),

                КонецПериодаПоДате(ДатаНачала));

   Если ВсегоДней > 0 Тогда

      Результат = Окр(Оклад * Дней / ВсегоДней);

      // если запись-сторно — поставим отрицательные дни!

      Дни = ?(Сторно = 1, -Дней, Дней);

   Иначе

      Результат = 0;

      Дни = 0;

      Сообщить("Неправильный календарь!");

   КонецЕсли;

КонецПроцедуры

*

// вводим сторнирующие рассчитанные записи

ВР = ВидРасчета.ДоплатаКОкладу;

ЖрнЗарплата.УстановитьРеквизит("Сторно", 1);

ЖрнЗарплата.УстановитьРеквизит("Рассчитана", 1);

ЖрнЗарплата.ВвестиРасчет(Сотрудник, ВР, , , Сумма * Процент);

См. также: УстановитьРеквизит, ВвестиРасчет, ЗаписатьРасчет, Рассчитана



Содержание раздела