Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang2.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
2.52 Mб
Скачать

ПриоритетВытеснения

Приоритет вытеснения вида расчета.

Синтаксис:

ПриоритетВытеснения

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

ReplacePriority

Описание:

Атрибут типа «число». Представляет собой число, соответствующее приори­тету вытеснения вида расчета, заданному при конфигурировании. Система ис­пользует приоритет вытеснения при разрешении ситуации, когда полностью или частично пересекаются периоды действия видов расчета. Например, когда метод журнала расчетов ВвестиРасчет вводит расчет в «занятый» временной интервал.

Для невытесняющих видов расчета значение этого атрибута равно нулю.

Замечание. Атрибут сохранен для поддержания совместимости с предыдущи­ми версиями программы. Вместо использования данного атрибута реко­мендуется использовать методы ВытесняетВидРасчета и ВытесняетсяВидомРасчета.

Пример:

*

ВР01 = ВидРасчета.ПоОкладу;

Сообщить("Это расчет "+ВР01.Наименование+" с очередностью "+ВР01.Очередность);

*

Процедура ПровестиДокумент()

ЖрнЗарплата.ВыбратьЗаписиПоОбъекту(Сотрудник, Начало, Окончание};

Можно = 1;

Пока ЖрнЗарплата.ПолучитьЗапись() > 0 Цикл

Если ЖрнЗарплата.ВидРасч.ПриоритетВытеснения >=

ВидРасчета.ОплатаБЛ.ПриоритетВытеснения Тогда

Можно = 0;

КонецЕсли;

КонецЦикла;

Если Начало > Окончание Тогда

Можно = 0;

КонецЕсли;

Если Можно = 1 Тогда

ЖрнЗарплата.ВвестиРасчет(Сотрудник, ВидРасчета.ОплатаБЛ, Начало,

Окончание, 0);

Если Начало < ЖрнЗарплата.НачалоТекущегоПериода() Тогда

Перерасчет(ГруппаРасчетов.ПересчДляБЛ, Сотрудник, ТекущийДокумент(),

Начало, Окончание);

КонецЕсли;

Иначе

Предупреждение("Некорректный больничный лист!

| Проверьте и исправьте даты начала и окончания.

| После этого закройте документ, повторно откройте

| и проведите его");

НеПроводитьДокумент();

КонецЕсли;

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

См. также: методы журнала расчетов ВвестиРасчет, ЗаписатьРасчет

Методы видов расчета ПолучитьАтрибут

Получить доступ к объекту вида расчета конкретного вида по его имени.

Синтаксис:

ПолучитьАтрибут(<ИмяВидаРасчета>)

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

GetAttrib

Параметры:

<ИмяВидаРасчета>

Строковое выражение, содержащее идентифика­тор вида расчета, как он задан в конфигураторе.

Возвращаемое значение:

Объект вид расчета.

Описание:

Метод ПолучитьАтрибут позволяет получить доступ к объекту вида рас­чета конкретного вида по его имени, как оно задано в конфигураторе.

Этот метод применяется только к объекту глобально контекста ВидРасчета.

Пример:

Начисл = ВидРасчета.ПолучитьАтрибут("Начисления");

ВходитВГруппу

Определяет входимость вида расчетов в группу видов расчета.

Синтаксис:

ВходитВГруппу(<Группа>)

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

BelongsToGroup

Параметры:

<Группа>

Группа расчетов, входимость в которую проверя­ется.

Возвращаемое значение:

Число: 1 — если вид расчета входит в группу <Группа>; 0 в противном слу­чае.

Описание:

Этот метод предназначен для определения входимости вида расчета в кон­кретную группу расчетов.

Пример:

*

// В журнале расчетов зарплаты посчитаем все начисления

// для текущего сотрудника

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

// Начало и конец текущего периода журнала

НТП = ЖР.НачалоТекущегоПериода();

КТП = ЖР.КонецТекущегоПериода();

Группа = Группа.ВсеНачисления;

Всего = 0;

ЖР.ВыбратьЗаписиПоОбъекту(Объект, НТП, КТП);

Пока ЖР.ПолучитьЗапись() = 1 Цикл

Если (ЖР.ВидРасч.ВходитВГруппу(Группа)=1) Тогда

Всего = Всего + ЖР.Результат;

КонецЕсли;

КонецЦикла;

// ...

*

Пока ЖрнЗарплата.ПолучитьЗапись() > 0 Цикл

Если ЖрнЗарплата.ВидРасч = ВидРасчета.РайонныйКоэФйициент Тогда

СуммаРайонн = СуммаРайонн + ЖрнЗарплата.Результат;

КонецЕсли;

Если ЖрнЗарплата.ВидРасч = ВидРасчета.СевернаяНадбавка Тогда

СуммаСеверн = СуммаСеверн + ЖрнЗарплата.Результат;

КонецЕсли;

Если ЖрнЗарплата.ВидРасч.ВходитВГруппу(Группа) = 1 Тогда

Сумма = Сумма + ЖрнЗарплата.Результат;

Если ТипРасчета = 1 Тогда

Дней = Дней + КалендОтп.Дней(ЖрнЗарплата.ДатаНачала,

ЖрнЗарплата.ДатаОкончания);

Иначе

Дней = Дней + ЖрнЗарплата.Дни;

КонецЕсли;

КонецЕсли;

КонецЦикла;

См. также: СодержитВидРасчета

Выбран

Возвращает признак того, выбран конкретный вид расчета или нет.

Синтаксис:

Выбран()

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

Selected

Возвращаемое значение:

Число: 1 — если конкретный вид расчета выбран; 0 в противном случае.

Описание:

Этот метод предназначен для определения, не является ли «пустым» значе­ние переменной или реквизита типа «ВидРасчета».

Вид расчета (в отличие от группы расчетов, например) в рамках описывае­мого встроенного языка — сохраняемый агрегатный тип данных, т. е. объекты этого типа могут сохраняться в информационной базе. Например, реквизиты справочника, документа или журнала расчетов, могут иметь тип «ВидРасчета» и, следовательно, хранить ссылки на конкретные виды расчетов. При этом час­то необходимо иметь возможность определить выбрано ли конкретное значение для реквизита (например, справочника или документа) этого типа.

Пример:

// Допл — объект типа "группа расчетов"

Допл = ГруппаРасчетов.Доплаты;

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

// Док — ссылка на документ, имеющий реквизит Сотрудник

ЖЗ.ВыбратьЗаписиПоОбъекту(Док.Сотрудник);

Пока ЖЗ.ПолучитьЗапись() = 1 Цикл

Если ЖЗ.ВидРасч.ВходитВГРуппу(Допл) = 1 Тогда

// предполагается, что документы-основания этих

// видов расчета имеют реквизит ВР

Если ЖЗ.Документ.ВР.Выбран() = 0 Тогда

Сообщить("Не указан конкретный вид расчета в документе!");

КонецЕсли;

КонецЕсли;

КонецЦикла;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]